PublicDashboards: Modal warns when using unsupported datasources (#58926)

Adds warning to pubdash modal when dashboard uses datasources not supported by pubdash
This commit is contained in:
owensmallwood
2022-12-01 10:02:10 -06:00
committed by GitHub
parent d2c129fbac
commit 97e81ecbde
8 changed files with 159 additions and 77 deletions
@@ -10,30 +10,27 @@ import (
"github.com/grafana/grafana/pkg/services/publicdashboards/commands/generate_datasources"
)
var goTemplate = `
var tsDatasourcesTemplate = `
// Code generated by go generate; DO NOT EDIT.
package publicdashboards
var SupportedDatasources = map[string]bool{
export const supportedDatasources = new Set<string>([
{{- range . }}
"{{ printf "%s" . }}": true,
'{{ printf "%s" . }}',
{{- end }}
}
])
`
func main() {
baseUrl := "https://grafana.com"
slugs, err := generate_datasources.GetCompatibleDatasources(baseUrl)
tsTemplate := template.Must(template.New("").Parse(tsDatasourcesTemplate))
myTemplate := template.Must(template.New("").Parse(goTemplate))
file, err := os.Create("supported_datasources_gen.go")
// Generate supported datasources for Typescript
tsFile, err := os.Create("./../../../public/app/features/dashboard/components/ShareModal/SharePublicDashboard/SupportedPubdashDatasources.ts")
if err != nil {
fmt.Println(err)
}
err = myTemplate.Execute(file, slugs)
err = tsTemplate.Execute(tsFile, slugs)
if err != nil {
fmt.Println(err)
}
@@ -1,65 +0,0 @@
// Code generated by go generate; DO NOT EDIT.
package publicdashboards
var SupportedDatasources = map[string]bool{
"aquaqanalytics-kdbbackend-datasource": true,
"cloudwatch": true,
"dlopes7-appdynamics-datasource": true,
"doitintl-bigquery-datasource": true,
"elasticsearch": true,
"frser-sqlite-datasource": true,
"grafadruid-druid-datasource": true,
"grafana-athena-datasource": true,
"grafana-azure-data-explorer-datasource": true,
"grafana-azure-monitor-datasource": true,
"grafana-bigquery-datasource": true,
"grafana-clickhouse-datasource": true,
"grafana-databricks-datasource": true,
"grafana-datadog-datasource": true,
"grafana-db2-datasource": true,
"grafana-dynatrace-datasource": true,
"grafana-es-open-distro-datasource": true,
"grafana-github-datasource": true,
"grafana-honeycomb-datasource": true,
"grafana-iot-sitewise-datasource": true,
"grafana-jira-datasource": true,
"grafana-mock-datasource": true,
"grafana-mongodb-datasource": true,
"grafana-newrelic-datasource": true,
"grafana-odbc-datasource": true,
"grafana-opcua-datasource": true,
"grafana-opensearch-datasource": true,
"grafana-oracle-datasource": true,
"grafana-orbit-datasource": true,
"grafana-redshift-datasource": true,
"grafana-salesforce-datasource": true,
"grafana-saphana-datasource": true,
"grafana-sentry-datasource": true,
"grafana-servicenow-datasource": true,
"grafana-snowflake-datasource": true,
"grafana-splunk-datasource": true,
"grafana-splunk-monitoring-datasource": true,
"grafana-timestream-datasource": true,
"grafana-wavefront-datasource": true,
"grafana-x-ray-datasource": true,
"graphite": true,
"hadesarchitect-cassandra-datasource": true,
"influxdb": true,
"innius-grpc-datasource": true,
"kniepdennis-neo4j-datasource": true,
"loki": true,
"marcusolsson-csv-datasource": true,
"marcusolsson-ynab-datasource": true,
"mssql": true,
"mysql": true,
"opentsdb": true,
"postgres": true,
"prometheus": true,
"redis-datasource": true,
"sentinelone-dataset-datasource": true,
"tdengine-datasource": true,
"vertamedia-clickhouse-datasource": true,
"vertica-grafana-datasource": true,
"yesoreyeram-infinity-datasource": true,
}