From 67e3e576d0c0999933435f8d50517cd0061617a7 Mon Sep 17 00:00:00 2001 From: Brendan O'Handley Date: Thu, 12 Oct 2023 12:46:49 -0400 Subject: [PATCH] Prometheus: Fix config bug for sigv4 auth (#76390) fix config bug for selecting sigv4 --- .../DataSourceHttpSettingsOverhaul.tsx | 22 +++++++++---------- .../plugins/datasource/prometheus/types.ts | 1 + 2 files changed, 12 insertions(+), 11 deletions(-) diff --git a/public/app/plugins/datasource/prometheus/configuration/DataSourceHttpSettingsOverhaul.tsx b/public/app/plugins/datasource/prometheus/configuration/DataSourceHttpSettingsOverhaul.tsx index 6f145144441..51b84c12f0e 100644 --- a/public/app/plugins/datasource/prometheus/configuration/DataSourceHttpSettingsOverhaul.tsx +++ b/public/app/plugins/datasource/prometheus/configuration/DataSourceHttpSettingsOverhaul.tsx @@ -1,7 +1,7 @@ import React, { useState } from 'react'; import { DataSourceSettings } from '@grafana/data'; -import { Auth, ConnectionSettings, convertLegacyAuthProps } from '@grafana/experimental'; +import { Auth, ConnectionSettings, convertLegacyAuthProps, AuthMethod } from '@grafana/experimental'; import { SecureSocksProxySettings, useTheme2 } from '@grafana/ui'; import { AzureAuthSettings } from '@grafana/ui/src/components/DataSourceSettings/types'; @@ -127,21 +127,12 @@ export const DataSourcehttpSettingsOverhaul = (props: Props) => { />
{ - // handle selecting of custom methods // sigV4Id if (sigV4AuthToggleEnabled) { setSigV4Selected(method === sigV4Id); - // mutate jsonData here to store the selected option because of auth component issue with onOptionsChange being overridden - options.jsonData.sigV4Auth = method === sigV4Id; } // Azure @@ -150,7 +141,16 @@ export const DataSourcehttpSettingsOverhaul = (props: Props) => { azureAuthSettings.setAzureAuthEnabled(options, method === azureAuthId); } - newAuthProps.onAuthMethodSelect(method); + onOptionsChange({ + ...options, + basicAuth: method === AuthMethod.BasicAuth, + withCredentials: method === AuthMethod.CrossSiteCredentials, + jsonData: { + ...options.jsonData, + sigV4Auth: method === sigV4Id, + oauthPassThru: method === AuthMethod.OAuthForward, + }, + }); }} // If your method is selected pass its id to `selectedMethod`, // otherwise pass the id from converted legacy data diff --git a/public/app/plugins/datasource/prometheus/types.ts b/public/app/plugins/datasource/prometheus/types.ts index 266a0f089a0..5c5c4a6ac40 100644 --- a/public/app/plugins/datasource/prometheus/types.ts +++ b/public/app/plugins/datasource/prometheus/types.ts @@ -46,6 +46,7 @@ export interface PromOptions extends DataSourceJsonData { incrementalQueryOverlapWindow?: string; disableRecordingRules?: boolean; sigV4Auth?: boolean; + oauthPassThru?: boolean; } export type ExemplarTraceIdDestination = {