diff --git a/docs/sources/datasources/influxdb/_index.md b/docs/sources/datasources/influxdb/_index.md
index ca4ed0281115..295cf0cb6e15 100644
--- a/docs/sources/datasources/influxdb/_index.md
+++ b/docs/sources/datasources/influxdb/_index.md
@@ -126,10 +126,11 @@ Configure these options if you select the InfluxQL (classic InfluxDB) query lang
Configure these options if you select the SQL query language:
-| Name | Description |
-| ------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| **Database** | Sets the ID of the bucket to query. Copy this from the Buckets page of the InfluxDB UI. |
-| **Token** | API token used for SQL queries. It can be generated on InfluxDB Cloud dashboard under [Load Data > API Tokens](https://docs.influxdata.com/influxdb/cloud-serverless/get-started/setup/#create-an-all-access-api-token) menu. |
+| Name | Description |
+| ----------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| **Database** | Sets the ID of the bucket to query. Copy this from the Buckets page of the InfluxDB UI. |
+| **Token** | API token used for SQL queries. It can be generated on InfluxDB Cloud dashboard under [Load Data > API Tokens](https://docs.influxdata.com/influxdb/cloud-serverless/get-started/setup/#create-an-all-access-api-token) menu. |
+| **Insecure Connection** | Disable gRPC TLS security. |
### Configure Flux
diff --git a/pkg/tsdb/influxdb/fsql/fsql.go b/pkg/tsdb/influxdb/fsql/fsql.go
index 99e4b55628d7..52ed6614d04e 100644
--- a/pkg/tsdb/influxdb/fsql/fsql.go
+++ b/pkg/tsdb/influxdb/fsql/fsql.go
@@ -105,7 +105,7 @@ func runnerFromDataSource(dsInfo *models.DatasourceInfo) (*runner, error) {
md.Set("Authorization", fmt.Sprintf("Bearer %s", dsInfo.Token))
}
- fsqlClient, err := newFlightSQLClient(addr, md, dsInfo.SecureGrpc)
+ fsqlClient, err := newFlightSQLClient(addr, md, !dsInfo.InsecureGrpc)
if err != nil {
return nil, err
}
diff --git a/pkg/tsdb/influxdb/fsql/fsql_test.go b/pkg/tsdb/influxdb/fsql/fsql_test.go
index 523a83dcbb46..b2eb94f5b0d0 100644
--- a/pkg/tsdb/influxdb/fsql/fsql_test.go
+++ b/pkg/tsdb/influxdb/fsql/fsql_test.go
@@ -57,13 +57,13 @@ func (suite *FSQLTestSuite) TestIntegration_QueryData() {
resp, err := Query(
context.Background(),
&models.DatasourceInfo{
- HTTPClient: nil,
- Token: "secret",
- URL: "http://localhost:12345",
- DbName: "influxdb",
- Version: "test",
- HTTPMode: "proxy",
- SecureGrpc: false,
+ HTTPClient: nil,
+ Token: "secret",
+ URL: "http://localhost:12345",
+ DbName: "influxdb",
+ Version: "test",
+ HTTPMode: "proxy",
+ InsecureGrpc: true,
},
backend.QueryDataRequest{
Queries: []backend.DataQuery{
diff --git a/pkg/tsdb/influxdb/influxdb.go b/pkg/tsdb/influxdb/influxdb.go
index 0023ee7b384f..48a376e5db7e 100644
--- a/pkg/tsdb/influxdb/influxdb.go
+++ b/pkg/tsdb/influxdb/influxdb.go
@@ -82,7 +82,7 @@ func newInstanceSettings(httpClientProvider httpclient.Provider) datasource.Inst
DefaultBucket: jsonData.DefaultBucket,
Organization: jsonData.Organization,
MaxSeries: maxSeries,
- SecureGrpc: true,
+ InsecureGrpc: jsonData.InsecureGrpc,
Token: settings.DecryptedSecureJSONData["token"],
Timeout: opts.Timeouts.Timeout,
}
diff --git a/pkg/tsdb/influxdb/models/datasource_info.go b/pkg/tsdb/influxdb/models/datasource_info.go
index 8baf8d2e48b1..2e953ed4a794 100644
--- a/pkg/tsdb/influxdb/models/datasource_info.go
+++ b/pkg/tsdb/influxdb/models/datasource_info.go
@@ -21,5 +21,5 @@ type DatasourceInfo struct {
Timeout time.Duration
// FlightSQL grpc connection
- SecureGrpc bool `json:"secureGrpc"`
+ InsecureGrpc bool `json:"insecureGrpc"`
}
diff --git a/public/app/plugins/datasource/influxdb/components/editor/config/InfluxSQLConfig.tsx b/public/app/plugins/datasource/influxdb/components/editor/config/InfluxSQLConfig.tsx
index b0134b21cc2e..defdb0b0eaba 100644
--- a/public/app/plugins/datasource/influxdb/components/editor/config/InfluxSQLConfig.tsx
+++ b/public/app/plugins/datasource/influxdb/components/editor/config/InfluxSQLConfig.tsx
@@ -8,7 +8,7 @@ import {
onUpdateDatasourceSecureJsonDataOption,
updateDatasourcePluginResetOption,
} from '@grafana/data';
-import { Field, InlineLabel, Input, SecretInput, useStyles2 } from '@grafana/ui';
+import { Field, InlineLabel, InlineSwitch, Input, SecretInput, useStyles2 } from '@grafana/ui';
import { InfluxOptions, InfluxSecureJsonData } from '../../../types';
@@ -57,6 +57,25 @@ export const InfluxSqlConfig = (props: Props) => {
isConfigured={Boolean(secureJsonFields && secureJsonFields.token)}
/>
+ Insecure Connection}
+ className={styles.horizontalField}
+ >
+ {
+ onOptionsChange({
+ ...options,
+ jsonData: {
+ ...jsonData,
+ insecureGrpc: event.currentTarget.checked,
+ },
+ });
+ }}
+ />
+
);
};
diff --git a/public/app/plugins/datasource/influxdb/types.ts b/public/app/plugins/datasource/influxdb/types.ts
index b9e257e3fe99..d81cfd0cc153 100644
--- a/public/app/plugins/datasource/influxdb/types.ts
+++ b/public/app/plugins/datasource/influxdb/types.ts
@@ -23,6 +23,7 @@ export interface InfluxOptions extends DataSourceJsonData {
// With SQL
metadata?: Array>;
+ insecureGrpc?: boolean;
}
/**