Plugins: Remove secure socks proxy feature toggle (#66611)

This commit is contained in:
Stephanie Hingtgen
2023-04-18 12:11:23 -05:00
committed by GitHub
parent 743fdc159b
commit 255d8f3326
35 changed files with 44 additions and 102 deletions

View File

@ -84,7 +84,6 @@ Alpha features might be changed or removed without prior notice.
| `mysqlAnsiQuotes` | Use double quotes to escape keyword in a MySQL query |
| `showTraceId` | Show trace ids for requests |
| `datasourceOnboarding` | Enable data source onboarding page |
| `secureSocksDatasourceProxy` | Enable secure socks tunneling for supported core datasources |
| `authnService` | Use new auth service to perform authentication |
| `alertingBacktesting` | Rule backtesting API for alerting |
| `editPanelCSVDragAndDrop` | Enables drag and drop for CSV and Excel files |

View File

@ -216,6 +216,7 @@ export interface GrafanaConfig {
feedbackLinksEnabled: boolean;
secretsManagerPluginEnabled: boolean;
supportBundlesEnabled: boolean;
secureSocksDSProxyEnabled: boolean;
googleAnalyticsId: string | undefined;
googleAnalytics4Id: string | undefined;
googleAnalytics4SendManualPageViews: boolean;

View File

@ -64,7 +64,6 @@ export interface FeatureToggles {
showTraceId?: boolean;
datasourceOnboarding?: boolean;
emptyDashboardPage?: boolean;
secureSocksDatasourceProxy?: boolean;
authnService?: boolean;
disablePrometheusExemplarSampling?: boolean;
alertingBacktesting?: boolean;

View File

@ -67,6 +67,7 @@ export class GrafanaBootConfig implements GrafanaConfig {
jwtUrlLogin = false;
sigV4AuthEnabled = false;
azureAuthEnabled = false;
secureSocksDSProxyEnabled = false;
samlEnabled = false;
samlName = '';
autoAssignOrg = true;

View File

@ -17,6 +17,7 @@ import { TagsInput } from '../TagsInput/TagsInput';
import { BasicAuthSettings } from './BasicAuthSettings';
import { CustomHeadersSettings } from './CustomHeadersSettings';
import { HttpProxySettings } from './HttpProxySettings';
import { SecureSocksProxySettings } from './SecureSocksProxySettings';
import { TLSAuthSettings } from './TLSAuthSettings';
import { HttpSettingsProps } from './types';
@ -71,6 +72,7 @@ export const DataSourceHttpSettings = (props: HttpSettingsProps) => {
showForwardOAuthIdentityOption,
azureAuthSettings,
renderSigV4Editor,
secureSocksDSProxyEnabled,
} = props;
let urlTooltip;
const [isAccessHelpVisible, setIsAccessHelpVisible] = useState(false);
@ -308,6 +310,7 @@ export const DataSourceHttpSettings = (props: HttpSettingsProps) => {
<CustomHeadersSettings dataSourceConfig={dataSourceConfig} onChange={onChange} />
)}
</>
{secureSocksDSProxyEnabled && <SecureSocksProxySettings options={dataSourceConfig} onOptionsChange={onChange} />}
</div>
);
};

View File

@ -39,4 +39,6 @@ export interface HttpSettingsProps extends HttpSettingsBaseProps {
azureAuthSettings?: AzureAuthSettings;
/** If SIGV4 is enabled, provide an editor for SIGV4 connection config **/
renderSigV4Editor?: React.ReactNode;
/** Show the Secure Socks Datasource Proxy toggle option */
secureSocksDSProxyEnabled?: boolean;
}

View File

@ -187,6 +187,7 @@ type FrontendSettingsDTO struct {
AwsAssumeRoleEnabled bool `json:"awsAssumeRoleEnabled"`
SupportBundlesEnabled bool `json:"supportBundlesEnabled"`
SnapshotEnabled bool `json:"snapshotEnabled"`
SecureSocksDSProxyEnabled bool `json:"secureSocksDSProxyEnabled"`
Azure FrontendSettingsAzureDTO `json:"azure"`

View File

@ -138,6 +138,7 @@ func (hs *HTTPServer) getFrontendSettings(c *contextmodel.ReqContext) (*dtos.Fro
EditorsCanAdmin: hs.Cfg.EditorsCanAdmin,
DisableSanitizeHtml: hs.Cfg.DisableSanitizeHtml,
DateFormats: hs.Cfg.DateFormats,
SecureSocksDSProxyEnabled: hs.Cfg.SecureSocksDSProxy.Enabled,
Auth: dtos.FrontendSettingsAuthDTO{
OAuthSkipOrgRoleUpdateSync: hs.Cfg.OAuthSkipOrgRoleUpdateSync,

View File

@ -11,7 +11,6 @@ import (
"github.com/grafana/grafana/pkg/infra/metrics/metricutil"
"github.com/grafana/grafana/pkg/infra/proxy"
"github.com/grafana/grafana/pkg/infra/tracing"
"github.com/grafana/grafana/pkg/services/featuremgmt"
"github.com/grafana/grafana/pkg/services/validations"
"github.com/grafana/grafana/pkg/setting"
)
@ -55,8 +54,7 @@ func New(cfg *setting.Cfg, validator validations.PluginRequestValidator, tracer
return
}
if cfg.IsFeatureToggleEnabled(featuremgmt.FlagSecureSocksDatasourceProxy) &&
cfg.SecureSocksDSProxy.Enabled && proxy.SecureSocksProxyEnabledOnDS(opts) {
if cfg.SecureSocksDSProxy.Enabled && proxy.SecureSocksProxyEnabledOnDS(opts) {
err = proxy.NewSecureSocksHTTPProxy(&cfg.SecureSocksDSProxy, transport)
if err != nil {
logger.Error("Failed to enable secure socks proxy", "error", err.Error(), "datasource", datasourceName)

View File

@ -310,12 +310,6 @@ var (
Expression: "true", // enabled by default
Owner: grafanaDashboardsSquad,
},
{
Name: "secureSocksDatasourceProxy",
Description: "Enable secure socks tunneling for supported core datasources",
State: FeatureStateAlpha,
Owner: hostedGrafanaTeam,
},
{
Name: "authnService",
Description: "Use new auth service to perform authentication",

View File

@ -45,7 +45,6 @@ accessTokenExpirationCheck,stable,@grafana/grafana-authnz-team,false,false,false
showTraceId,alpha,@grafana/observability-logs,false,false,false,false
datasourceOnboarding,alpha,@grafana/dashboards-squad,false,false,false,false
emptyDashboardPage,stable,@grafana/dashboards-squad,false,false,false,true
secureSocksDatasourceProxy,alpha,@grafana/hosted-grafana-team,false,false,false,false
authnService,alpha,@grafana/grafana-authnz-team,false,false,false,false
disablePrometheusExemplarSampling,stable,@grafana/observability-metrics,false,false,false,false
alertingBacktesting,alpha,@grafana/alerting-squad,false,false,false,false

1 Name State Owner requiresDevMode RequiresLicense RequiresRestart FrontendOnly
45 showTraceId alpha @grafana/observability-logs false false false false
46 datasourceOnboarding alpha @grafana/dashboards-squad false false false false
47 emptyDashboardPage stable @grafana/dashboards-squad false false false true
secureSocksDatasourceProxy alpha @grafana/hosted-grafana-team false false false false
48 authnService alpha @grafana/grafana-authnz-team false false false false
49 disablePrometheusExemplarSampling stable @grafana/observability-metrics false false false false
50 alertingBacktesting alpha @grafana/alerting-squad false false false false

View File

@ -191,10 +191,6 @@ const (
// Enable the redesigned user interface of a dashboard page that includes no panels
FlagEmptyDashboardPage = "emptyDashboardPage"
// FlagSecureSocksDatasourceProxy
// Enable secure socks tunneling for supported core datasources
FlagSecureSocksDatasourceProxy = "secureSocksDatasourceProxy"
// FlagAuthnService
// Use new auth service to perform authentication
FlagAuthnService = "authnService"

View File

@ -274,7 +274,7 @@ func (e *cloudWatchExecutor) newSession(pluginCtx backend.PluginContext, region
}
// work around until https://github.com/grafana/grafana/issues/39089 is implemented
if e.cfg.SecureSocksDSProxy.Enabled && e.features.IsEnabled(featuremgmt.FlagSecureSocksDatasourceProxy) && instance.Settings.SecureSocksProxyEnabled {
if e.cfg.SecureSocksDSProxy.Enabled && instance.Settings.SecureSocksProxyEnabled {
// only update the transport to try to avoid the issue mentioned here https://github.com/grafana/grafana/issues/46365
sess.Config.HTTPClient.Transport = instance.HTTPClient.Transport
}

View File

@ -18,7 +18,6 @@ import (
"github.com/grafana/grafana-plugin-sdk-go/data/sqlutil"
"github.com/grafana/grafana/pkg/infra/log"
"github.com/grafana/grafana/pkg/services/featuremgmt"
"github.com/grafana/grafana/pkg/setting"
"github.com/grafana/grafana/pkg/tsdb/sqleng"
"github.com/grafana/grafana/pkg/util"
@ -95,7 +94,7 @@ func newInstanceSettings(cfg *setting.Cfg) datasource.InstanceFactoryFunc {
driverName := "mssql"
// register a new proxy driver if the secure socks proxy is enabled
if cfg.IsFeatureToggleEnabled(featuremgmt.FlagSecureSocksDatasourceProxy) && cfg.SecureSocksDSProxy.Enabled && jsonData.SecureDSProxy {
if cfg.SecureSocksDSProxy.Enabled && jsonData.SecureDSProxy {
driverName, err = createMSSQLProxyDriver(&cfg.SecureSocksDSProxy, cnnstr)
if err != nil {
return nil, err

View File

@ -21,7 +21,6 @@ import (
"github.com/grafana/grafana/pkg/infra/httpclient"
"github.com/grafana/grafana/pkg/infra/log"
"github.com/grafana/grafana/pkg/services/featuremgmt"
"github.com/grafana/grafana/pkg/setting"
"github.com/grafana/grafana/pkg/tsdb/sqleng"
)
@ -85,7 +84,7 @@ func newInstanceSettings(cfg *setting.Cfg, httpClientProvider httpclient.Provide
}
// register the secure socks proxy dialer context, if enabled
if cfg.IsFeatureToggleEnabled(featuremgmt.FlagSecureSocksDatasourceProxy) && cfg.SecureSocksDSProxy.Enabled && jsonData.SecureDSProxy {
if cfg.SecureSocksDSProxy.Enabled && jsonData.SecureDSProxy {
// UID is only unique per org, the only way to ensure uniqueness is to do it by connection information
uniqueIdentifier := dsInfo.User + dsInfo.DecryptedSecureJSONData["password"] + dsInfo.URL + dsInfo.Database
protocol, err = registerProxyDialerContext(&cfg.SecureSocksDSProxy, protocol, uniqueIdentifier)

View File

@ -15,7 +15,6 @@ import (
"github.com/grafana/grafana-plugin-sdk-go/data/sqlutil"
"github.com/grafana/grafana/pkg/infra/log"
"github.com/grafana/grafana/pkg/services/featuremgmt"
"github.com/grafana/grafana/pkg/setting"
"github.com/grafana/grafana/pkg/tsdb/sqleng"
)
@ -96,7 +95,7 @@ func (s *Service) newInstanceSettings(cfg *setting.Cfg) datasource.InstanceFacto
driverName := "postgres"
// register a proxy driver if the secure socks proxy is enabled
if cfg.IsFeatureToggleEnabled(featuremgmt.FlagSecureSocksDatasourceProxy) && cfg.SecureSocksDSProxy.Enabled && jsonData.SecureDSProxy {
if cfg.SecureSocksDSProxy.Enabled && jsonData.SecureDSProxy {
driverName, err = createPostgresProxyDriver(&cfg.SecureSocksDSProxy, cnnstr)
if err != nil {
return "", nil

View File

@ -4,4 +4,5 @@
showAccessOptions="showAccessOption"
defaultUrl="suggestUrl"
showForwardOAuthIdentityOption="showForwardOAuthIdentityOption"
secureSocksDSProxyEnabled="secureSocksDSProxyEnabled"
/>

View File

@ -81,6 +81,7 @@ export const ConfigEditor = (props: Props) => {
onChange={onOptionsChange}
sigV4AuthToggleEnabled={config.sigV4AuthEnabled}
renderSigV4Editor={<SIGV4ConnectionConfig {...props}></SIGV4ConnectionConfig>}
secureSocksDSProxyEnabled={false} // the proxy is not implemented to work with the alertmanager
/>
</>
);

View File

@ -97,7 +97,7 @@ export class ConfigEditor extends PureComponent<Props, State> {
{error.details && <details style={{ whiteSpace: 'pre-wrap' }}>{error.details}</details>}
</Alert>
)}
{config.featureToggles.secureSocksDatasourceProxy && (
{config.secureSocksDSProxyEnabled && (
<SecureSocksProxySettings options={options} onOptionsChange={onOptionsChange} />
)}
</>

View File

@ -27,7 +27,7 @@ export class ConfigEditor extends PureComponent<Props> {
return (
<>
<ConnectionConfig {...this.props} onOptionsChange={this.handleOnOptionsChange}></ConnectionConfig>
{config.featureToggles.secureSocksDatasourceProxy && (
{config.secureSocksDSProxyEnabled && (
<SecureSocksProxySettings options={options} onOptionsChange={onOptionsChange} />
)}
</>

View File

@ -67,7 +67,7 @@ export const ConfigEditor = (props: Props) => {
</InlineField>
</ConnectionConfig>
{config.featureToggles.secureSocksDatasourceProxy && (
{config.secureSocksDSProxyEnabled && (
<SecureSocksProxySettings options={options} onOptionsChange={onOptionsChange} />
)}

View File

@ -2,7 +2,7 @@ import React, { useEffect, useRef } from 'react';
import { SIGV4ConnectionConfig } from '@grafana/aws-sdk';
import { DataSourcePluginOptionsEditorProps } from '@grafana/data';
import { Alert, DataSourceHttpSettings, SecureSocksProxySettings } from '@grafana/ui';
import { Alert, DataSourceHttpSettings } from '@grafana/ui';
import { config } from 'app/core/config';
import { ElasticsearchOptions } from '../types';
@ -47,12 +47,9 @@ export const ConfigEditor = (props: Props) => {
onChange={onOptionsChange}
sigV4AuthToggleEnabled={config.sigV4AuthEnabled}
renderSigV4Editor={<SIGV4ConnectionConfig {...props}></SIGV4ConnectionConfig>}
secureSocksDSProxyEnabled={config.secureSocksDSProxyEnabled}
/>
{config.featureToggles.secureSocksDatasourceProxy && (
<SecureSocksProxySettings options={options} onOptionsChange={onOptionsChange} />
)}
<ElasticDetails value={options} onChange={onOptionsChange} />
<LogsConfig

View File

@ -6,14 +6,7 @@ import {
onUpdateDatasourceJsonDataOptionSelect,
onUpdateDatasourceJsonDataOptionChecked,
} from '@grafana/data';
import {
Alert,
DataSourceHttpSettings,
InlineFormLabel,
LegacyForms,
Select,
SecureSocksProxySettings,
} from '@grafana/ui';
import { Alert, DataSourceHttpSettings, InlineFormLabel, LegacyForms, Select } from '@grafana/ui';
import { config } from 'app/core/config';
import store from 'app/core/store';
@ -82,10 +75,8 @@ export class ConfigEditor extends PureComponent<Props, State> {
defaultUrl="http://localhost:8080"
dataSourceConfig={options}
onChange={onOptionsChange}
secureSocksDSProxyEnabled={config.secureSocksDSProxyEnabled}
/>
{config.featureToggles.secureSocksDatasourceProxy && (
<SecureSocksProxySettings options={options} onOptionsChange={onOptionsChange} />
)}
<h3 className="page-heading">Graphite details</h3>
<div className="gf-form-group">
<div className="gf-form-inline">

View File

@ -11,16 +11,7 @@ import {
updateDatasourcePluginJsonDataOption,
updateDatasourcePluginResetOption,
} from '@grafana/data';
import {
Alert,
DataSourceHttpSettings,
InfoBox,
InlineField,
InlineFormLabel,
LegacyForms,
SecureSocksProxySettings,
Select,
} from '@grafana/ui';
import { Alert, DataSourceHttpSettings, InfoBox, InlineField, InlineFormLabel, LegacyForms, Select } from '@grafana/ui';
import { config } from 'app/core/config';
import { BROWSER_MODE_DISABLED_MESSAGE } from '../constants';
@ -334,12 +325,9 @@ export class ConfigEditor extends PureComponent<Props, State> {
dataSourceConfig={options}
defaultUrl="http://localhost:8086"
onChange={onOptionsChange}
secureSocksDSProxyEnabled={config.secureSocksDSProxyEnabled}
/>
{config.featureToggles.secureSocksDatasourceProxy && (
<SecureSocksProxySettings options={options} onOptionsChange={onOptionsChange} />
)}
<div className="gf-form-group">
<div>
<h3 className="page-heading">InfluxDB Details</h3>

View File

@ -2,7 +2,7 @@ import React from 'react';
import { DataSourcePluginOptionsEditorProps } from '@grafana/data';
import { config } from '@grafana/runtime';
import { DataSourceHttpSettings, SecureSocksProxySettings } from '@grafana/ui';
import { DataSourceHttpSettings } from '@grafana/ui';
import { NodeGraphSettings } from 'app/core/components/NodeGraphSettings';
import { TraceToLogsSettings } from 'app/core/components/TraceToLogs/TraceToLogsSettings';
import { TraceToMetricsSettings } from 'app/core/components/TraceToMetrics/TraceToMetricsSettings';
@ -18,12 +18,9 @@ export const ConfigEditor = ({ options, onOptionsChange }: Props) => {
dataSourceConfig={options}
showAccessOptions={false}
onChange={onOptionsChange}
secureSocksDSProxyEnabled={config.secureSocksDSProxyEnabled}
/>
{config.featureToggles.secureSocksDatasourceProxy && (
<SecureSocksProxySettings options={options} onOptionsChange={onOptionsChange} />
)}
<div className="gf-form-group">
<TraceToLogsSettings options={options} onOptionsChange={onOptionsChange} />
</div>

View File

@ -2,7 +2,7 @@ import React from 'react';
import { DataSourcePluginOptionsEditorProps, DataSourceSettings } from '@grafana/data';
import { config } from '@grafana/runtime';
import { AlertingSettings, DataSourceHttpSettings, SecureSocksProxySettings } from '@grafana/ui';
import { AlertingSettings, DataSourceHttpSettings } from '@grafana/ui';
import { LokiOptions } from '../types';
@ -36,12 +36,9 @@ export const ConfigEditor = (props: Props) => {
dataSourceConfig={options}
showAccessOptions={false}
onChange={onOptionsChange}
secureSocksDSProxyEnabled={config.secureSocksDSProxyEnabled}
/>
{config.featureToggles.secureSocksDatasourceProxy && (
<SecureSocksProxySettings options={options} onOptionsChange={onOptionsChange} />
)}
<AlertingSettings<LokiOptions> options={options} onOptionsChange={onOptionsChange} />
<MaxLinesField

View File

@ -156,7 +156,7 @@ export const ConfigurationEditor = (props: DataSourcePluginOptionsEditorProps<Ms
)}
</FieldSet>
{config.featureToggles.secureSocksDatasourceProxy && (
{config.secureSocksDSProxyEnabled && (
<SecureSocksProxySettings options={options} onOptionsChange={onOptionsChange} />
)}

View File

@ -152,7 +152,7 @@ export const ConfigurationEditor = (props: DataSourcePluginOptionsEditorProps<My
</InlineField>
</FieldSet>
{config.featureToggles.secureSocksDatasourceProxy && (
{config.secureSocksDSProxyEnabled && (
<SecureSocksProxySettings options={options} onOptionsChange={onOptionsChange} />
)}
{jsonData.tlsAuth || jsonData.tlsAuthWithCACert ? (

View File

@ -2,7 +2,7 @@ import React from 'react';
import { DataSourcePluginOptionsEditorProps } from '@grafana/data';
import { config } from '@grafana/runtime';
import { DataSourceHttpSettings, SecureSocksProxySettings } from '@grafana/ui';
import { DataSourceHttpSettings } from '@grafana/ui';
import { OpenTsdbOptions } from '../types';
@ -17,10 +17,8 @@ export const ConfigEditor = (props: DataSourcePluginOptionsEditorProps<OpenTsdbO
defaultUrl="http://localhost:4242"
dataSourceConfig={options}
onChange={onOptionsChange}
secureSocksDSProxyEnabled={config.secureSocksDSProxyEnabled}
/>
{config.featureToggles.secureSocksDatasourceProxy && (
<SecureSocksProxySettings options={options} onOptionsChange={onOptionsChange} />
)}
<OpenTsdbDetails value={options} onChange={onOptionsChange} />
</>
);

View File

@ -1,7 +1,7 @@
import React from 'react';
import { DataSourcePluginOptionsEditorProps } from '@grafana/data';
import { DataSourceHttpSettings, SecureSocksProxySettings } from '@grafana/ui';
import { DataSourceHttpSettings } from '@grafana/ui';
import { config } from 'app/core/config';
import { ParcaDataSourceOptions } from './types';
@ -18,10 +18,8 @@ export const ConfigEditor = (props: Props) => {
dataSourceConfig={options}
showAccessOptions={false}
onChange={onOptionsChange}
secureSocksDSProxyEnabled={config.secureSocksDSProxyEnabled}
/>
{config.featureToggles.secureSocksDatasourceProxy && (
<SecureSocksProxySettings options={options} onOptionsChange={onOptionsChange} />
)}
</>
);
};

View File

@ -1,13 +1,7 @@
import React from 'react';
import { DataSourcePluginOptionsEditorProps } from '@grafana/data';
import {
DataSourceHttpSettings,
EventsWithValidation,
LegacyForms,
regexValidation,
SecureSocksProxySettings,
} from '@grafana/ui';
import { DataSourceHttpSettings, EventsWithValidation, LegacyForms, regexValidation } from '@grafana/ui';
import { config } from 'app/core/config';
import { PhlareDataSourceOptions } from './types';
@ -24,11 +18,9 @@ export const ConfigEditor = (props: Props) => {
dataSourceConfig={options}
showAccessOptions={false}
onChange={onOptionsChange}
secureSocksDSProxyEnabled={config.secureSocksDSProxyEnabled}
/>
{config.featureToggles.secureSocksDatasourceProxy && (
<SecureSocksProxySettings options={options} onOptionsChange={onOptionsChange} />
)}
<h3 className="page-heading">Querying</h3>
<div className="gf-form-group">
<div className="gf-form-inline">

View File

@ -167,7 +167,7 @@ export const PostgresConfigEditor = (props: DataSourcePluginOptionsEditorProps<P
) : null}
</FieldSet>
{config.featureToggles.secureSocksDatasourceProxy && (
{config.secureSocksDSProxyEnabled && (
<FieldSet label="Secure Socks Proxy">
<InlineField labelWidth={26} label="Enabled" tooltip="Connect to this datasource via the secure socks proxy.">
<InlineSwitch

View File

@ -2,7 +2,7 @@ import React, { useRef } from 'react';
import { SIGV4ConnectionConfig } from '@grafana/aws-sdk';
import { DataSourcePluginOptionsEditorProps, DataSourceSettings } from '@grafana/data';
import { AlertingSettings, DataSourceHttpSettings, Alert, SecureSocksProxySettings } from '@grafana/ui';
import { AlertingSettings, DataSourceHttpSettings, Alert } from '@grafana/ui';
import { config } from 'app/core/config';
import { PromOptions } from '../types';
@ -41,12 +41,9 @@ export const ConfigEditor = (props: Props) => {
sigV4AuthToggleEnabled={config.sigV4AuthEnabled}
azureAuthSettings={azureAuthSettings}
renderSigV4Editor={<SIGV4ConnectionConfig {...props}></SIGV4ConnectionConfig>}
secureSocksDSProxyEnabled={config.secureSocksDSProxyEnabled}
/>
{config.featureToggles.secureSocksDatasourceProxy && (
<SecureSocksProxySettings options={options} onOptionsChange={onOptionsChange} />
)}
<AlertingSettings<PromOptions> options={options} onOptionsChange={onOptionsChange} />
<PromSettings options={options} onOptionsChange={onOptionsChange} />

View File

@ -2,7 +2,7 @@ import React from 'react';
import { DataSourcePluginOptionsEditorProps } from '@grafana/data';
import { config } from '@grafana/runtime';
import { DataSourceHttpSettings, SecureSocksProxySettings } from '@grafana/ui';
import { DataSourceHttpSettings } from '@grafana/ui';
import { NodeGraphSettings } from 'app/core/components/NodeGraphSettings';
import { TraceToLogsSettings } from 'app/core/components/TraceToLogs/TraceToLogsSettings';
import { TraceToMetricsSettings } from 'app/core/components/TraceToMetrics/TraceToMetricsSettings';
@ -24,12 +24,9 @@ export const ConfigEditor = ({ options, onOptionsChange }: Props) => {
dataSourceConfig={options}
showAccessOptions={false}
onChange={onOptionsChange}
secureSocksDSProxyEnabled={config.secureSocksDSProxyEnabled}
/>
{config.featureToggles.secureSocksDatasourceProxy && (
<SecureSocksProxySettings options={options} onOptionsChange={onOptionsChange} />
)}
<div className="gf-form-group">
<TraceToLogsSettings options={options} onOptionsChange={onOptionsChange} />
</div>

View File

@ -2,7 +2,7 @@ import React from 'react';
import { DataSourcePluginOptionsEditorProps } from '@grafana/data';
import { config } from '@grafana/runtime';
import { DataSourceHttpSettings, SecureSocksProxySettings } from '@grafana/ui';
import { DataSourceHttpSettings } from '@grafana/ui';
import { NodeGraphSettings } from 'app/core/components/NodeGraphSettings';
import { TraceToLogsSettings } from 'app/core/components/TraceToLogs/TraceToLogsSettings';
import { TraceToMetricsSettings } from 'app/core/components/TraceToMetrics/TraceToMetricsSettings';
@ -18,12 +18,9 @@ export const ConfigEditor = ({ options, onOptionsChange }: Props) => {
dataSourceConfig={options}
showAccessOptions={false}
onChange={onOptionsChange}
secureSocksDSProxyEnabled={config.secureSocksDSProxyEnabled}
/>
{config.featureToggles.secureSocksDatasourceProxy && (
<SecureSocksProxySettings options={options} onOptionsChange={onOptionsChange} />
)}
<div className="gf-form-group">
<TraceToLogsSettings options={options} onOptionsChange={onOptionsChange} />
</div>