diff --git a/public/app/plugins/datasource/loki/configuration/ConfigEditor.tsx b/public/app/plugins/datasource/loki/configuration/ConfigEditor.tsx index 80ab23accde..64403d5328d 100644 --- a/public/app/plugins/datasource/loki/configuration/ConfigEditor.tsx +++ b/public/app/plugins/datasource/loki/configuration/ConfigEditor.tsx @@ -1,7 +1,12 @@ import React from 'react'; -import { DataSourcePluginOptionsEditorProps, DataSourceSettings } from '@grafana/data'; -import { AlertingSettings, DataSourceHttpSettings } from '@grafana/ui'; +import { + DataSourcePluginOptionsEditorProps, + DataSourceSettings, + onUpdateDatasourceJsonDataOptionChecked, +} from '@grafana/data'; +import { config } from '@grafana/runtime'; +import { AlertingSettings, DataSourceHttpSettings, InlineField, InlineSwitch } from '@grafana/ui'; import { LokiOptions } from '../types'; @@ -27,6 +32,7 @@ const setDerivedFields = makeJsonUpdater('derivedFields'); export const ConfigEditor = (props: Props) => { const { options, onOptionsChange } = props; + const socksProxy = config.featureToggles.secureSocksDatasourceProxy; return ( <> @@ -37,6 +43,25 @@ export const ConfigEditor = (props: Props) => { onChange={onOptionsChange} /> + {socksProxy && ( + <> +

Secure Socks Proxy

+
+
+ + + +
+ + )} + options={options} onOptionsChange={onOptionsChange} />
diff --git a/public/app/plugins/datasource/loki/types.ts b/public/app/plugins/datasource/loki/types.ts index ec900a654ab..574d3e1a52f 100644 --- a/public/app/plugins/datasource/loki/types.ts +++ b/public/app/plugins/datasource/loki/types.ts @@ -56,6 +56,7 @@ export interface LokiOptions extends DataSourceJsonData { derivedFields?: DerivedFieldConfig[]; alertmanager?: string; keepCookies?: string[]; + enableSecureSocksProxy?: boolean; } export interface LokiStats { diff --git a/public/app/plugins/datasource/prometheus/configuration/ConfigEditor.tsx b/public/app/plugins/datasource/prometheus/configuration/ConfigEditor.tsx index 8eea6fe4146..f1ca5d5806a 100644 --- a/public/app/plugins/datasource/prometheus/configuration/ConfigEditor.tsx +++ b/public/app/plugins/datasource/prometheus/configuration/ConfigEditor.tsx @@ -1,8 +1,12 @@ import React, { useRef } from 'react'; import { SIGV4ConnectionConfig } from '@grafana/aws-sdk'; -import { DataSourcePluginOptionsEditorProps, DataSourceSettings } from '@grafana/data'; -import { AlertingSettings, DataSourceHttpSettings, Alert } from '@grafana/ui'; +import { + DataSourcePluginOptionsEditorProps, + DataSourceSettings, + onUpdateDatasourceJsonDataOptionChecked, +} from '@grafana/data'; +import { AlertingSettings, DataSourceHttpSettings, Alert, InlineField, InlineSwitch } from '@grafana/ui'; import { config } from 'app/core/config'; import { PromOptions } from '../types'; @@ -25,6 +29,8 @@ export const ConfigEditor = (props: Props) => { azureSettingsUI: AzureAuthSettings, }; + const socksProxy = config.featureToggles.secureSocksDatasourceProxy; + return ( <> {options.access === 'direct' && ( @@ -43,6 +49,25 @@ export const ConfigEditor = (props: Props) => { renderSigV4Editor={} /> + {socksProxy && ( + <> +

Secure Socks Proxy

+
+
+ + + +
+ + )} + options={options} onOptionsChange={onOptionsChange} /> diff --git a/public/app/plugins/datasource/prometheus/types.ts b/public/app/plugins/datasource/prometheus/types.ts index 7c3093859bc..cd105690fec 100644 --- a/public/app/plugins/datasource/prometheus/types.ts +++ b/public/app/plugins/datasource/prometheus/types.ts @@ -34,6 +34,7 @@ export interface PromOptions extends DataSourceJsonData { exemplarTraceIdDestinations?: ExemplarTraceIdDestination[]; prometheusType?: PromApplication; prometheusVersion?: string; + enableSecureSocksProxy?: boolean; } export enum PromQueryType {