From 86a953386336090a24b69f11bab3033a7b6e9c7a Mon Sep 17 00:00:00 2001 From: Robert Horvath Date: Fri, 19 Apr 2024 19:12:59 +0200 Subject: [PATCH] Chore: Replace backend platform codeownership (#86010) * Replace backend platform codeownership * fix go.mod with work sync * fix go.mod Signed-off-by: Dave Henderson --------- Signed-off-by: Dave Henderson Co-authored-by: Dave Henderson --- .github/CODEOWNERS | 192 +- go.mod | 148 +- pkg/services/featuremgmt/codeowners.go | 4 +- pkg/services/featuremgmt/registry.go | 12 +- pkg/services/featuremgmt/toggles_gen.csv | 12 +- pkg/services/featuremgmt/toggles_gen.json | 3877 ++++++++++----------- scripts/modowners/README.md | 6 +- scripts/modowners/modowners_test.go | 12 +- 8 files changed, 2085 insertions(+), 2178 deletions(-) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 7f3caec3c36..f6ba469e722 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -58,105 +58,104 @@ # END Technical documentation # Backend code -/go.mod @grafana/backend-platform -/go.sum @grafana/backend-platform +/go.mod @grafana/grafana-backend-group +/go.sum @grafana/grafana-backend-group /go.work @grafana/grafana-app-platform-squad /go.work.sum @grafana/grafana-app-platform-squad -/.bingo/ @grafana/backend-platform -/pkg/README.md @grafana/backend-platform -/pkg/ruleguard.rules.go @grafana/backend-platform -/.bra.toml @grafana/backend-platform -/.golangci.toml @grafana/backend-platform -/build.go @grafana/backend-platform -/scripts/modowners/ @grafana/backend-platform +/.bingo/ @grafana/grafana-backend-group +/pkg/README.md @grafana/grafana-backend-group +/pkg/ruleguard.rules.go @grafana/grafana-backend-group +/.bra.toml @grafana/grafana-backend-group +/.golangci.toml @grafana/grafana-backend-group +/build.go @grafana/grafana-backend-services-squad +/scripts/modowners/ @grafana/grafana-backend-services-squad /hack/ @grafana/grafana-app-platform-squad -/pkg/api/ @grafana/backend-platform +/pkg/api/ @grafana/grafana-backend-group /pkg/apis/ @grafana/grafana-app-platform-squad -/pkg/bus/ @grafana/backend-platform -/pkg/cmd/ @grafana/backend-platform +/pkg/bus/ @grafana/grafana-search-and-storage +/pkg/cmd/ @grafana/grafana-backend-group /pkg/cmd/grafana/apiserver @grafana/grafana-app-platform-squad /pkg/components/apikeygen/ @grafana/identity-access-team /pkg/components/satokengen/ @grafana/identity-access-team -/pkg/components/dashdiffs/ @grafana/backend-platform -/pkg/components/imguploader/ @grafana/backend-platform -/pkg/components/loki/ @grafana/backend-platform -/pkg/components/null/ @grafana/backend-platform -/pkg/components/simplejson/ @grafana/backend-platform -/pkg/events/ @grafana/backend-platform -/pkg/extensions/ @grafana/backend-platform -/pkg/ifaces/ @grafana/backend-platform -/pkg/infra/appcontext/ @grafana/backend-platform -/pkg/infra/db/ @grafana/backend-platform -/pkg/infra/localcache/ @grafana/backend-platform -/pkg/infra/log/ @grafana/backend-platform -/pkg/infra/metrics/ @grafana/backend-platform -/pkg/infra/network/ @grafana/backend-platform -/pkg/infra/process/ @grafana/backend-platform -/pkg/infra/remotecache/ @grafana/backend-platform -/pkg/infra/serverlock/ @grafana/backend-platform -/pkg/infra/slugify/ @grafana/backend-platform -/pkg/infra/tracing/ @grafana/backend-platform -/pkg/infra/usagestats/ @grafana/backend-platform -/pkg/middleware/ @grafana/backend-platform -/pkg/mocks/ @grafana/backend-platform -/pkg/models/ @grafana/backend-platform -/pkg/server/ @grafana/backend-platform +/pkg/components/dashdiffs/ @grafana/grafana-app-platform-squad +/pkg/components/imguploader/ @grafana/grafana-backend-group +/pkg/components/loki/ @grafana/grafana-backend-group +/pkg/components/null/ @grafana/grafana-backend-group +/pkg/components/simplejson/ @grafana/grafana-backend-group +/pkg/events/ @grafana/grafana-backend-group +/pkg/extensions/ @grafana/grafana-backend-group +/pkg/ifaces/ @grafana/grafana-backend-group +/pkg/infra/appcontext/ @grafana/grafana-backend-group +/pkg/infra/db/ @grafana/grafana-backend-group +/pkg/infra/localcache/ @grafana/grafana-backend-group +/pkg/infra/log/ @grafana/grafana-backend-group +/pkg/infra/metrics/ @grafana/grafana-backend-group +/pkg/infra/network/ @grafana/grafana-backend-group +/pkg/infra/process/ @grafana/grafana-backend-group +/pkg/infra/remotecache/ @grafana/grafana-backend-group +/pkg/infra/serverlock/ @grafana/grafana-backend-group +/pkg/infra/slugify/ @grafana/grafana-backend-group +/pkg/infra/tracing/ @grafana/grafana-backend-group +/pkg/infra/usagestats/ @grafana/grafana-backend-group +/pkg/middleware/ @grafana/grafana-backend-group +/pkg/mocks/ @grafana/grafana-backend-group +/pkg/models/ @grafana/grafana-backend-group +/pkg/server/ @grafana/grafana-backend-group /pkg/apiserver @grafana/grafana-app-platform-squad /pkg/apimachinery @grafana/grafana-app-platform-squad /pkg/promlib @grafana/observability-metrics -/pkg/services/annotations/ @grafana/backend-platform +/pkg/services/annotations/ @grafana/grafana-search-and-storage /pkg/services/apikey/ @grafana/identity-access-team -/pkg/services/cleanup/ @grafana/backend-platform -/pkg/services/contexthandler/ @grafana/backend-platform +/pkg/services/cleanup/ @grafana/grafana-backend-group +/pkg/services/contexthandler/ @grafana/grafana-backend-group /pkg/services/correlations/ @grafana/explore-squad -/pkg/services/dashboardimport/ @grafana/backend-platform -/pkg/services/dashboards/ @grafana/backend-platform -/pkg/services/dashboardversion/ @grafana/backend-platform -/pkg/services/encryption/ @grafana/backend-platform -/pkg/services/folder/ @grafana/backend-platform +/pkg/services/dashboardimport/ @grafana/grafana-backend-group +/pkg/services/dashboards/ @grafana/grafana-app-platform-squad +/pkg/services/dashboardversion/ @grafana/grafana-backend-group +/pkg/services/encryption/ @grafana/grafana-operator-experience-squad +/pkg/services/folder/ @grafana/grafana-search-and-storage /pkg/services/apiserver @grafana/grafana-app-platform-squad -/pkg/services/hooks/ @grafana/backend-platform -/pkg/services/kmsproviders/ @grafana/backend-platform -/pkg/services/licensing/ @grafana/backend-platform -/pkg/services/navtree/ @grafana/backend-platform -/pkg/services/notifications/ @grafana/backend-platform -/pkg/services/org/ @grafana/backend-platform +/pkg/services/hooks/ @grafana/grafana-backend-group +/pkg/services/kmsproviders/ @grafana/grafana-operator-experience-squad +/pkg/services/licensing/ @grafana/grafana-operator-experience-squad +/pkg/services/navtree/ @grafana/grafana-backend-group +/pkg/services/notifications/ @grafana/grafana-backend-group +/pkg/services/org/ @grafana/grafana-backend-group /pkg/services/playlist/ @grafana/grafana-app-platform-squad -/pkg/services/preference/ @grafana/backend-platform -/pkg/services/provisioning/ @grafana/backend-platform -/pkg/services/query/ @grafana/backend-platform -/pkg/services/queryhistory/ @grafana/backend-platform -/pkg/services/quota/ @grafana/backend-platform -/pkg/services/rendering/ @grafana/backend-platform -/pkg/services/screenshot/ @grafana/backend-platform -/pkg/services/search/ @grafana/backend-platform -/pkg/services/searchusers/ @grafana/backend-platform -/pkg/services/secrets/ @grafana/backend-platform -/pkg/services/shorturls/ @grafana/backend-platform -/pkg/services/sqlstore/ @grafana/backend-platform +/pkg/services/preference/ @grafana/grafana-backend-group +/pkg/services/provisioning/ @grafana/grafana-search-and-storage +/pkg/services/query/ @grafana/grafana-app-platform-squad +/pkg/services/queryhistory/ @grafana/grafana-app-platform-squad +/pkg/services/quota/ @grafana/grafana-search-and-storage +/pkg/services/screenshot/ @grafana/grafana-backend-group +/pkg/services/search/ @grafana/grafana-search-and-storage +/pkg/services/searchusers/ @grafana/grafana-search-and-storage +/pkg/services/secrets/ @grafana/grafana-operator-experience-squad +/pkg/services/shorturls/ @grafana/grafana-backend-group +/pkg/services/sqlstore/ @grafana/grafana-search-and-storage /pkg/services/ssosettings/ @grafana/identity-access-team -/pkg/services/star/ @grafana/backend-platform -/pkg/services/stats/ @grafana/backend-platform -/pkg/services/tag/ @grafana/backend-platform +/pkg/services/star/ @grafana/grafana-search-and-storage +/pkg/services/stats/ @grafana/grafana-backend-group +/pkg/services/tag/ @grafana/grafana-search-and-storage /pkg/services/team/ @grafana/identity-access-team -/pkg/services/temp_user/ @grafana/backend-platform -/pkg/services/updatechecker/ @grafana/backend-platform +/pkg/services/temp_user/ @grafana/grafana-backend-group +/pkg/services/updatechecker/ @grafana/grafana-backend-group /pkg/services/user/ @grafana/identity-access-team -/pkg/services/validations/ @grafana/backend-platform -/pkg/setting/ @grafana/backend-platform -/pkg/tests/ @grafana/backend-platform +/pkg/services/validations/ @grafana/grafana-backend-group +/pkg/setting/ @grafana/grafana-backend-services-squad +/pkg/tests/ @grafana/grafana-backend-services-squad /pkg/tests/apis/ @grafana/grafana-app-platform-squad /pkg/tests/api/correlations/ @grafana/explore-squad -/pkg/tsdb/grafanads/ @grafana/backend-platform -/pkg/tsdb/legacydata/ @grafana/backend-platform -/pkg/tsdb/opentsdb/ @grafana/backend-platform -/pkg/util/ @grafana/backend-platform -/pkg/web/ @grafana/backend-platform +/pkg/tsdb/grafanads/ @grafana/grafana-backend-group +/pkg/tsdb/legacydata/ @grafana/grafana-backend-group +/pkg/tsdb/opentsdb/ @grafana/grafana-backend-group +/pkg/util/ @grafana/grafana-backend-group +/pkg/web/ @grafana/grafana-backend-group -/pkg/infra/kvstore/ @grafana/backend-platform -/pkg/infra/fs/ @grafana/backend-platform -/pkg/infra/x/ @grafana/backend-platform +/pkg/infra/kvstore/ @grafana/grafana-backend-group +/pkg/infra/fs/ @grafana/grafana-backend-group +/pkg/infra/x/ @grafana/grafana-backend-group # devenv @@ -170,11 +169,11 @@ /devenv/bulk-dashboards/ @grafana/dashboards-squad /devenv/bulk-folders/ @grafana/grafana-frontend-platform -/devenv/create_docker_compose.sh @grafana/backend-platform +/devenv/create_docker_compose.sh @grafana/grafana-backend-services-squad /devenv/alert_rules.yaml @grafana/alerting-backend-product /devenv/dashboards.yaml @grafana/dashboards-squad -/devenv/datasources.yaml @grafana/backend-platform -/devenv/datasources_docker.yaml @grafana/backend-platform +/devenv/datasources.yaml @grafana/grafana-backend-group +/devenv/datasources_docker.yaml @grafana/grafana-backend-group /devenv/dev-dashboards-without-uid/ @grafana/dashboards-squad /devenv/dev-dashboards/ @grafana/dashboards-squad /devenv/docker/blocks/alert_webhook_listener/ @grafana/alerting-backend-product @@ -190,7 +189,7 @@ /devenv/docker/blocks/jaeger/ @grafana/observability-traces-and-profiling /devenv/docker/blocks/maildev/ @grafana/alerting-frontend /devenv/docker/blocks/mariadb/ @grafana/oss-big-tent -/devenv/docker/blocks/memcached/ @grafana/backend-platform +/devenv/docker/blocks/memcached/ @grafana/grafana-backend-group /devenv/docker/blocks/mimir_backend/ @grafana/alerting-backend-product /devenv/docker/blocks/mssql/ @grafana/partner-datasources /devenv/docker/blocks/mssql_arm64/ @grafana/partner-datasources @@ -207,7 +206,7 @@ /devenv/docker/blocks/prometheus_random_data/ @grafana/observability-metrics /devenv/docker/blocks/pyroscope/ @grafana/observability-traces-and-profiling /devenv/docker/blocks/redis/ @bergquist -/devenv/docker/blocks/sensugo/ @grafana/backend-platform +/devenv/docker/blocks/sensugo/ @grafana/grafana-backend-group /devenv/docker/blocks/slow_proxy/ @bergquist /devenv/docker/blocks/smtp/ @bergquist /devenv/docker/blocks/tempo/ @grafana/observability-traces-and-profiling @@ -215,16 +214,16 @@ /devenv/docker/blocks/zipkin/ @grafana/observability-traces-and-profiling /devenv/docker/blocks/webdav/ @grafana/alerting-backend-product /devenv/docker/buildcontainer/ @bergquist -/devenv/docker/compose_header.yml @grafana/backend-platform +/devenv/docker/compose_header.yml @grafana/grafana-backend-services-squad /devenv/docker/debtest/ @bergquist /devenv/docker/ha-test-unified-alerting/ @grafana/alerting-backend-product -/devenv/docker/ha_test/ @grafana/backend-platform -/devenv/docker/loadtest/ @grafana/backend-platform -/devenv/docker/rpmtest/ @grafana/backend-platform +/devenv/docker/ha_test/ @grafana/grafana-backend-services-squad +/devenv/docker/loadtest/ @grafana/grafana-backend-services-squad +/devenv/docker/rpmtest/ @grafana/grafana-backend-services-squad /devenv/jsonnet/ @grafana/dataviz-squad /devenv/local-npm/ @grafana/frontend-ops /devenv/vscode/ @grafana/frontend-ops -/devenv/setup.sh @grafana/backend-platform +/devenv/setup.sh @grafana/grafana-backend-services-squad # Emails /emails/ @grafana/alerting-frontend @@ -267,8 +266,8 @@ /pkg/tsdb/mssql/ @grafana/partner-datasources # Database migrations -/pkg/services/sqlstore/migrations/ @grafana/backend-platform @grafana/hosted-grafana-team -*_mig.go @grafana/backend-platform @grafana/hosted-grafana-team +/pkg/services/sqlstore/migrations/ @grafana/grafana-search-and-storage +*_mig.go @grafana/grafana-search-and-storage # Grafana app platform /pkg/services/live/ @grafana/grafana-app-platform-squad @@ -303,7 +302,7 @@ /pkg/services/plugindashboards/ @grafana/plugins-platform-backend # Backend code docs -/contribute/backend/ @grafana/backend-platform +/contribute/backend/ @grafana/grafana-backend-group /crowdin.yml @grafana/grafana-frontend-platform @@ -485,7 +484,7 @@ playwright.config.ts @grafana/plugins-platform-frontend /public/test/ @grafana/grafana-frontend-platform /public/test/helpers/alertingRuleEditor.tsx @grafana/alerting-frontend /public/views/ @grafana/grafana-frontend-platform -/public/views/swagger.html @grafana/backend-platform +/public/views/swagger.html @grafana/grafana-backend-group /public/app/features/explore/Logs/ @grafana/observability-logs @@ -495,9 +494,9 @@ playwright.config.ts @grafana/plugins-platform-frontend /public/app/features/explore/FlameGraph/ @grafana/observability-traces-and-profiling /public/app/features/explore/TraceView/ @grafana/observability-traces-and-profiling -/public/api-merged.json @grafana/backend-platform -/public/api-enterprise-spec.json @grafana/backend-platform -/public/openapi3.json @grafana/backend-platform +/public/api-merged.json @grafana/grafana-backend-group +/public/api-enterprise-spec.json @grafana/grafana-backend-group +/public/openapi3.json @grafana/grafana-backend-group /public/app/angular/ @torkelo /public/app/app.ts @grafana/frontend-ops /public/app/dev.ts @grafana/frontend-ops @@ -583,12 +582,13 @@ playwright.config.ts @grafana/plugins-platform-frontend /public/app/features/manage-dashboards/components/SnapshotListTable.tsx @grafana/sharing-squad /pkg/services/dashboardsnapshots/ @grafana/sharing-squad /pkg/services/publicdashboards/ @grafana/sharing-squad +/pkg/services/rendering/ @grafana/sharing-squad # SSE - Server Side Expressions /pkg/expr/ @grafana/observability-metrics # Cloud middleware -/grafana-mixin/ @grafana/hosted-grafana-team +/grafana-mixin/ @grafana/grafana-backend-services-squad # Grafana authentication and authorization /pkg/login/ @grafana/identity-access-team diff --git a/go.mod b/go.mod index ae161435a33..ef4b86c7da1 100644 --- a/go.mod +++ b/go.mod @@ -16,57 +16,57 @@ replace cuelang.org/go => github.com/grafana/cue v0.0.0-20230926092038-971951014 replace github.com/prometheus/prometheus => github.com/prometheus/prometheus v0.49.0 require ( - cloud.google.com/go/storage v1.37.0 // @grafana/backend-platform + cloud.google.com/go/storage v1.37.0 // @grafana/grafana-backend-group cuelang.org/go v0.6.0-0.dev // @grafana/grafana-as-code github.com/Azure/azure-sdk-for-go v68.0.0+incompatible // @grafana/partner-datasources - github.com/Azure/go-autorest/autorest v0.11.29 // @grafana/backend-platform + github.com/Azure/go-autorest/autorest v0.11.29 // @grafana/grafana-backend-group github.com/BurntSushi/toml v1.3.2 // @grafana/identity-access-team - github.com/Masterminds/semver v1.5.0 // @grafana/backend-platform - github.com/VividCortex/mysqlerr v0.0.0-20170204212430-6c6b55f8796f // @grafana/backend-platform + github.com/Masterminds/semver v1.5.0 // @grafana/grafana-backend-group + github.com/VividCortex/mysqlerr v0.0.0-20170204212430-6c6b55f8796f // @grafana/grafana-backend-group github.com/aws/aws-sdk-go v1.50.8 // @grafana/aws-datasources - github.com/beevik/etree v1.2.0 // @grafana/backend-platform + github.com/beevik/etree v1.2.0 // @grafana/grafana-backend-group github.com/benbjohnson/clock v1.3.5 // @grafana/alerting-squad-backend github.com/blang/semver/v4 v4.0.0 // @grafana/grafana-release-guild - github.com/bradfitz/gomemcache v0.0.0-20190913173617-a41fca850d0b // @grafana/backend-platform + github.com/bradfitz/gomemcache v0.0.0-20190913173617-a41fca850d0b // @grafana/grafana-backend-group github.com/centrifugal/centrifuge v0.30.2 // @grafana/grafana-app-platform-squad github.com/crewjam/saml v0.4.13 // @grafana/identity-access-team - github.com/fatih/color v1.15.0 // @grafana/backend-platform - github.com/gchaincl/sqlhooks v1.3.0 // @grafana/backend-platform + github.com/fatih/color v1.15.0 // @grafana/grafana-backend-group + github.com/gchaincl/sqlhooks v1.3.0 // @grafana/grafana-search-and-storage github.com/go-ldap/ldap/v3 v3.4.4 // @grafana/identity-access-team github.com/go-openapi/strfmt v0.22.0 // @grafana/alerting-squad-backend - github.com/go-redis/redis/v8 v8.11.5 // @grafana/backend-platform - github.com/go-sourcemap/sourcemap v2.1.3+incompatible // @grafana/backend-platform - github.com/go-sql-driver/mysql v1.7.1 // @grafana/backend-platform - github.com/go-stack/stack v1.8.1 // @grafana/backend-platform - github.com/gobwas/glob v0.2.3 // @grafana/backend-platform + github.com/go-redis/redis/v8 v8.11.5 // @grafana/grafana-backend-group + github.com/go-sourcemap/sourcemap v2.1.3+incompatible // @grafana/grafana-backend-group + github.com/go-sql-driver/mysql v1.7.1 // @grafana/grafana-search-and-storage + github.com/go-stack/stack v1.8.1 // @grafana/grafana-backend-group + github.com/gobwas/glob v0.2.3 // @grafana/grafana-backend-group github.com/gofrs/uuid v4.4.0+incompatible // indirect github.com/gogo/protobuf v1.3.2 // @grafana/alerting-squad-backend github.com/golang/mock v1.6.0 // @grafana/alerting-squad-backend github.com/golang/snappy v0.0.4 // @grafana/alerting-squad-backend - github.com/google/go-cmp v0.6.0 // @grafana/backend-platform - github.com/google/uuid v1.6.0 // @grafana/backend-platform - github.com/google/wire v0.5.0 // @grafana/backend-platform + github.com/google/go-cmp v0.6.0 // @grafana/grafana-backend-group + github.com/google/uuid v1.6.0 // @grafana/grafana-backend-group + github.com/google/wire v0.5.0 // @grafana/grafana-backend-group github.com/gorilla/websocket v1.5.0 // @grafana/grafana-app-platform-squad github.com/grafana/alerting v0.0.0-20240409171830-e039a7f57a92 // @grafana/alerting-squad-backend github.com/grafana/cuetsy v0.1.11 // @grafana/grafana-as-code github.com/grafana/grafana-aws-sdk v0.25.0 // @grafana/aws-datasources github.com/grafana/grafana-azure-sdk-go/v2 v2.0.1 // @grafana/partner-datasources github.com/grafana/grafana-plugin-sdk-go v0.224.0 // @grafana/plugins-platform-backend - github.com/grpc-ecosystem/go-grpc-middleware v1.4.0 // @grafana/backend-platform + github.com/grpc-ecosystem/go-grpc-middleware v1.4.0 // @grafana/grafana-backend-group github.com/hashicorp/go-hclog v1.6.3 // @grafana/plugins-platform-backend github.com/hashicorp/go-plugin v1.6.0 // @grafana/plugins-platform-backend - github.com/hashicorp/go-version v1.6.0 // @grafana/backend-platform + github.com/hashicorp/go-version v1.6.0 // @grafana/grafana-backend-group github.com/hashicorp/hcl/v2 v2.17.0 // @grafana/alerting-squad-backend github.com/influxdata/influxdb-client-go/v2 v2.12.3 // @grafana/observability-metrics github.com/influxdata/line-protocol v0.0.0-20210311194329-9aa0e372d097 // @grafana/grafana-app-platform-squad - github.com/jmespath/go-jmespath v0.4.0 // @grafana/backend-platform - github.com/json-iterator/go v1.1.12 // @grafana/backend-platform - github.com/lib/pq v1.10.9 // @grafana/backend-platform - github.com/linkedin/goavro/v2 v2.10.0 // @grafana/backend-platform - github.com/m3db/prometheus_remote_client_golang v0.4.4 // @grafana/backend-platform + github.com/jmespath/go-jmespath v0.4.0 // @grafana/grafana-backend-group + github.com/json-iterator/go v1.1.12 // @grafana/grafana-backend-group + github.com/lib/pq v1.10.9 // @grafana/grafana-backend-group + github.com/linkedin/goavro/v2 v2.10.0 // @grafana/grafana-backend-group + github.com/m3db/prometheus_remote_client_golang v0.4.4 // @grafana/grafana-backend-group github.com/magefile/mage v1.15.0 // @grafana/grafana-release-guild - github.com/mattn/go-isatty v0.0.19 // @grafana/backend-platform - github.com/mattn/go-sqlite3 v1.14.19 // @grafana/backend-platform + github.com/mattn/go-isatty v0.0.19 // @grafana/grafana-backend-group + github.com/mattn/go-sqlite3 v1.14.19 // @grafana/grafana-backend-group github.com/matttproud/golang_protobuf_extensions v1.0.4 // @grafana/alerting-squad-backend github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f // @grafana/grafana-operator-experience-squad github.com/opentracing/opentracing-go v1.2.0 // indirect @@ -75,42 +75,42 @@ require ( github.com/pkg/errors v0.9.1 // indirect github.com/prometheus/alertmanager v0.26.0 // @grafana/alerting-squad-backend github.com/prometheus/client_golang v1.18.0 // @grafana/alerting-squad-backend - github.com/prometheus/client_model v0.5.0 // @grafana/backend-platform + github.com/prometheus/client_model v0.5.0 // @grafana/grafana-backend-group github.com/prometheus/common v0.46.0 // @grafana/alerting-squad-backend github.com/prometheus/prometheus v1.8.2-0.20221021121301-51a44e6657c3 // @grafana/alerting-squad-backend - github.com/robfig/cron/v3 v3.0.1 // @grafana/backend-platform - github.com/russellhaering/goxmldsig v1.4.0 // @grafana/backend-platform + github.com/robfig/cron/v3 v3.0.1 // @grafana/grafana-backend-group + github.com/russellhaering/goxmldsig v1.4.0 // @grafana/grafana-backend-group github.com/scottlepp/go-duck v0.0.15 // @grafana/grafana-app-platform-squad - github.com/stretchr/testify v1.9.0 // @grafana/backend-platform - github.com/teris-io/shortid v0.0.0-20171029131806-771a37caa5cf // @grafana/backend-platform - github.com/ua-parser/uap-go v0.0.0-20211112212520-00c877edfe0f // @grafana/backend-platform + github.com/stretchr/testify v1.9.0 // @grafana/grafana-backend-group + github.com/teris-io/shortid v0.0.0-20171029131806-771a37caa5cf // @grafana/grafana-backend-group + github.com/ua-parser/uap-go v0.0.0-20211112212520-00c877edfe0f // @grafana/grafana-backend-group github.com/uber/jaeger-client-go v2.30.0+incompatible // indirect - github.com/urfave/cli/v2 v2.25.0 // @grafana/backend-platform - github.com/vectordotdev/go-datemath v0.1.1-0.20220323213446-f3954d0b18ae // @grafana/backend-platform - github.com/yudai/gojsondiff v1.0.0 // @grafana/backend-platform - go.opentelemetry.io/collector/pdata v1.0.1 // @grafana/backend-platform + github.com/urfave/cli/v2 v2.25.0 // @grafana/grafana-backend-group + github.com/vectordotdev/go-datemath v0.1.1-0.20220323213446-f3954d0b18ae // @grafana/grafana-backend-group + github.com/yudai/gojsondiff v1.0.0 // @grafana/grafana-backend-group + go.opentelemetry.io/collector/pdata v1.0.1 // @grafana/grafana-backend-group go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace v0.49.0 // @grafana/grafana-operator-experience-squad - go.opentelemetry.io/otel/exporters/jaeger v1.10.0 // @grafana/backend-platform - go.opentelemetry.io/otel/sdk v1.24.0 // @grafana/backend-platform - go.opentelemetry.io/otel/trace v1.24.0 // @grafana/backend-platform - golang.org/x/crypto v0.21.0 // @grafana/backend-platform + go.opentelemetry.io/otel/exporters/jaeger v1.10.0 // @grafana/grafana-backend-group + go.opentelemetry.io/otel/sdk v1.24.0 // @grafana/grafana-backend-group + go.opentelemetry.io/otel/trace v1.24.0 // @grafana/grafana-backend-group + golang.org/x/crypto v0.21.0 // @grafana/grafana-backend-group golang.org/x/exp v0.0.0-20231206192017-f3f8817b8deb // @grafana/alerting-squad-backend golang.org/x/net v0.22.0 // @grafana/oss-big-tent @grafana/partner-datasources golang.org/x/oauth2 v0.18.0 // @grafana/identity-access-team golang.org/x/sync v0.6.0 // @grafana/alerting-squad-backend - golang.org/x/time v0.5.0 // @grafana/backend-platform + golang.org/x/time v0.5.0 // @grafana/grafana-backend-group golang.org/x/tools v0.17.0 // @grafana/grafana-as-code gonum.org/v1/gonum v0.12.0 // @grafana/observability-metrics - google.golang.org/api v0.162.0 // @grafana/backend-platform + google.golang.org/api v0.162.0 // @grafana/grafana-backend-group google.golang.org/grpc v1.63.2 // @grafana/plugins-platform-backend google.golang.org/protobuf v1.33.0 // @grafana/plugins-platform-backend gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc // indirect gopkg.in/ini.v1 v1.67.0 // @grafana/alerting-squad-backend - gopkg.in/mail.v2 v2.3.1 // @grafana/backend-platform + gopkg.in/mail.v2 v2.3.1 // @grafana/grafana-backend-group gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // @grafana/alerting-squad-backend - xorm.io/builder v0.3.6 // indirect; @grafana/backend-platform - xorm.io/core v0.7.3 // @grafana/backend-platform + xorm.io/builder v0.3.6 // indirect; @grafana/grafana-backend-group + xorm.io/core v0.7.3 // @grafana/grafana-backend-group xorm.io/xorm v0.8.2 // @grafana/alerting-squad-backend ) @@ -137,7 +137,7 @@ require ( github.com/docker/go-units v0.5.0 // indirect github.com/edsrzf/mmap-go v1.1.0 // indirect github.com/emicklei/proto v1.10.0 // indirect - github.com/go-kit/log v0.2.1 // @grafana/backend-platform + github.com/go-kit/log v0.2.1 // @grafana/grafana-backend-group github.com/go-logfmt/logfmt v0.6.0 // indirect github.com/go-openapi/analysis v0.22.2 // indirect github.com/go-openapi/errors v0.21.0 // indirect @@ -148,15 +148,15 @@ require ( github.com/go-openapi/spec v0.20.14 // indirect github.com/go-openapi/swag v0.22.9 // indirect github.com/go-openapi/validate v0.23.0 // indirect - github.com/golang-jwt/jwt/v4 v4.5.0 // @grafana/backend-platform + github.com/golang-jwt/jwt/v4 v4.5.0 // @grafana/grafana-backend-group github.com/golang-sql/civil v0.0.0-20220223132316-b832511892a9 // indirect github.com/golang/glog v1.2.0 // indirect github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect - github.com/golang/protobuf v1.5.4 // @grafana/backend-platform + github.com/golang/protobuf v1.5.4 // @grafana/grafana-backend-group github.com/google/btree v1.1.2 // indirect github.com/google/flatbuffers v23.5.26+incompatible // indirect - github.com/googleapis/gax-go/v2 v2.12.0 // @grafana/backend-platform - github.com/gorilla/mux v1.8.1 // @grafana/backend-platform + github.com/googleapis/gax-go/v2 v2.12.0 // @grafana/grafana-backend-group + github.com/gorilla/mux v1.8.1 // @grafana/grafana-backend-group github.com/grafana/grafana-google-sdk-go v0.1.0 // @grafana/partner-datasources github.com/grpc-ecosystem/go-grpc-prometheus v1.2.1-0.20191002090509-6af20e3a5340 // indirect; @grafana/plugins-platform-backend github.com/hashicorp/errwrap v1.1.0 // indirect @@ -180,7 +180,7 @@ require ( github.com/mpvl/unique v0.0.0-20150818121801-cbe035fff7de // indirect github.com/oklog/run v1.1.0 // indirect github.com/oklog/ulid v1.3.1 // indirect - github.com/olekukonko/tablewriter v0.0.5 // @grafana/backend-platform + github.com/olekukonko/tablewriter v0.0.5 // @grafana/grafana-backend-group github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/prometheus/common/sigv4 v0.1.0 // indirect github.com/prometheus/exporter-toolkit v0.11.0 // indirect @@ -201,37 +201,37 @@ require ( go.uber.org/atomic v1.11.0 // @grafana/alerting-squad-backend go.uber.org/goleak v1.3.0 // @grafana/grafana-search-and-storage golang.org/x/sys v0.18.0 // indirect - golang.org/x/text v0.14.0 // @grafana/backend-platform + golang.org/x/text v0.14.0 // @grafana/grafana-backend-group golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 // indirect google.golang.org/appengine v1.6.8 // indirect - google.golang.org/genproto v0.0.0-20240227224415-6ceb2ff114de // indirect; @grafana/backend-platform + google.golang.org/genproto v0.0.0-20240227224415-6ceb2ff114de // indirect; @grafana/grafana-backend-group ) require ( - cloud.google.com/go/kms v1.15.7 // @grafana/backend-platform - github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.5.1 // @grafana/backend-platform - github.com/Azure/azure-sdk-for-go/sdk/keyvault/azkeys v0.9.0 // @grafana/backend-platform - github.com/Azure/azure-storage-blob-go v0.15.0 // @grafana/backend-platform - github.com/Azure/go-autorest/autorest/adal v0.9.23 // @grafana/backend-platform + cloud.google.com/go/kms v1.15.7 // @grafana/grafana-backend-group + github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.5.1 // @grafana/grafana-backend-group + github.com/Azure/azure-sdk-for-go/sdk/keyvault/azkeys v0.9.0 // @grafana/grafana-backend-group + github.com/Azure/azure-storage-blob-go v0.15.0 // @grafana/grafana-backend-group + github.com/Azure/go-autorest/autorest/adal v0.9.23 // @grafana/grafana-backend-group github.com/armon/go-radix v1.0.0 // @grafana/grafana-app-platform-squad - github.com/blugelabs/bluge v0.1.9 // @grafana/backend-platform - github.com/blugelabs/bluge_segment_api v0.2.0 // @grafana/backend-platform + github.com/blugelabs/bluge v0.1.9 // @grafana/grafana-backend-group + github.com/blugelabs/bluge_segment_api v0.2.0 // @grafana/grafana-backend-group github.com/bufbuild/connect-go v1.10.0 // @grafana/observability-traces-and-profiling - github.com/dlmiddlecote/sqlstats v1.0.2 // @grafana/backend-platform + github.com/dlmiddlecote/sqlstats v1.0.2 // @grafana/grafana-backend-group github.com/drone/drone-cli v1.6.1 // @grafana/grafana-release-guild - github.com/golang-migrate/migrate/v4 v4.7.0 // @grafana/backend-platform + github.com/golang-migrate/migrate/v4 v4.7.0 // @grafana/grafana-backend-group github.com/google/go-github v17.0.0+incompatible // @grafana/grafana-release-guild github.com/google/go-github/v45 v45.2.0 // @grafana/grafana-release-guild github.com/grafana/codejen v0.0.3 // @grafana/dataviz-squad - github.com/grafana/dskit v0.0.0-20240104111617-ea101a3b86eb // @grafana/backend-platform + github.com/grafana/dskit v0.0.0-20240104111617-ea101a3b86eb // @grafana/grafana-backend-group github.com/huandu/xstrings v1.3.2 // @grafana/partner-datasources - github.com/jmoiron/sqlx v1.3.5 // @grafana/backend-platform + github.com/jmoiron/sqlx v1.3.5 // @grafana/grafana-backend-group github.com/matryer/is v1.4.0 // @grafana/grafana-as-code - github.com/urfave/cli v1.22.14 // @grafana/backend-platform + github.com/urfave/cli v1.22.14 // @grafana/grafana-backend-group go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.49.0 // @grafana/plugins-platform-backend - go.opentelemetry.io/contrib/propagators/jaeger v1.22.0 // @grafana/backend-platform - go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.24.0 // @grafana/backend-platform - go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.24.0 // @grafana/backend-platform + go.opentelemetry.io/contrib/propagators/jaeger v1.22.0 // @grafana/grafana-backend-group + go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.24.0 // @grafana/grafana-backend-group + go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.24.0 // @grafana/grafana-backend-group gocloud.dev v0.25.0 // @grafana/grafana-app-platform-squad ) @@ -247,14 +247,14 @@ require ( github.com/grafana/tempo v1.5.1-0.20230524121406-1dc1bfe7085b // @grafana/observability-traces-and-profiling github.com/microsoft/go-mssqldb v1.6.1-0.20240214161942-b65008136246 // @grafana/grafana-bi-squad github.com/redis/go-redis/v9 v9.1.0 // @grafana/alerting-squad-backend - go.opentelemetry.io/contrib/samplers/jaegerremote v0.18.0 // @grafana/backend-platform - golang.org/x/mod v0.14.0 // @grafana/backend-platform + go.opentelemetry.io/contrib/samplers/jaegerremote v0.18.0 // @grafana/grafana-backend-group + golang.org/x/mod v0.14.0 // @grafana/grafana-backend-group k8s.io/utils v0.0.0-20230726121419-3b25d923346b // @grafana/partner-datasources ) require ( github.com/spf13/cobra v1.8.0 // @grafana/grafana-app-platform-squad - go.opentelemetry.io/otel v1.24.0 // @grafana/backend-platform + go.opentelemetry.io/otel v1.24.0 // @grafana/grafana-backend-group k8s.io/api v0.29.2 // @grafana/grafana-app-platform-squad k8s.io/apimachinery v0.29.2 // @grafana/grafana-app-platform-squad k8s.io/apiserver v0.29.2 // @grafana/grafana-app-platform-squad @@ -388,7 +388,7 @@ require ( github.com/Azure/azure-sdk-for-go/sdk/azcore v1.10.0 // indirect github.com/Azure/azure-sdk-for-go/sdk/keyvault/internal v0.7.0 // indirect github.com/AzureAD/microsoft-authentication-library-for-go v1.2.1 // indirect - github.com/Masterminds/sprig/v3 v3.2.2 // @grafana/backend-platform + github.com/Masterminds/sprig/v3 v3.2.2 // @grafana/grafana-backend-group github.com/Microsoft/go-winio v0.6.1 // indirect github.com/ProtonMail/go-crypto v0.0.0-20230828082145-3c4c8a2d2371 // @grafana/plugins-platform-backend github.com/RoaringBitmap/roaring v0.9.4 // indirect @@ -419,7 +419,7 @@ require ( github.com/mschoch/smat v0.2.0 // indirect github.com/pierrec/lz4/v4 v4.1.18 // indirect github.com/valyala/fasttemplate v1.2.2 // indirect - github.com/wk8/go-ordered-map v1.0.0 // @grafana/backend-platform + github.com/wk8/go-ordered-map v1.0.0 // @grafana/grafana-backend-group github.com/xlab/treeprint v1.2.0 // @grafana/observability-traces-and-profiling go.opentelemetry.io/proto/otlp v1.1.0 // indirect ) @@ -428,7 +428,7 @@ require ( github.com/antlr/antlr4/runtime/Go/antlr/v4 v4.0.0-20230305170008-8188dc5388df // indirect github.com/golang-jwt/jwt/v5 v5.2.1 // indirect github.com/google/gnostic-models v0.6.8 // indirect - github.com/grafana/grafana-openapi-client-go v0.0.0-20231213163343-bd475d63fb79 // @grafana/backend-platform + github.com/grafana/grafana-openapi-client-go v0.0.0-20231213163343-bd475d63fb79 // @grafana/grafana-backend-group github.com/moby/spdystream v0.2.0 // indirect github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f // indirect ) @@ -437,7 +437,7 @@ require k8s.io/code-generator v0.29.1 // @grafana/grafana-app-platform-squad require github.com/spyzhov/ajson v0.9.0 // @grafana/grafana-app-platform-squad -require github.com/fullstorydev/grpchan v1.1.1 // @grafana/backend-platform +require github.com/fullstorydev/grpchan v1.1.1 // @grafana/grafana-backend-group // This needs to be here for other projects that import grafana/grafana // For local development grafana/grafana will always use the local files diff --git a/pkg/services/featuremgmt/codeowners.go b/pkg/services/featuremgmt/codeowners.go index a303f74f9b2..2269fd6a1d1 100644 --- a/pkg/services/featuremgmt/codeowners.go +++ b/pkg/services/featuremgmt/codeowners.go @@ -10,7 +10,9 @@ const ( grafanaExploreSquad codeowner = "@grafana/explore-squad" grafanaDatavizSquad codeowner = "@grafana/dataviz-squad" grafanaFrontendPlatformSquad codeowner = "@grafana/grafana-frontend-platform" - grafanaBackendPlatformSquad codeowner = "@grafana/backend-platform" + grafanaBackendGroup codeowner = "@grafana/grafana-backend-group" + grafanaBackendServicesSquad codeowner = "@grafana/grafana-backend-services-squad" + grafanaSearchAndStorageSquad codeowner = "@grafana/search-and-storage" grafanaPluginsPlatformSquad codeowner = "@grafana/plugins-platform-backend" grafanaAsCodeSquad codeowner = "@grafana/grafana-as-code" identityAccessTeam codeowner = "@grafana/identity-access-team" diff --git a/pkg/services/featuremgmt/registry.go b/pkg/services/featuremgmt/registry.go index 31ff12fdaa2..0e6575e57c3 100644 --- a/pkg/services/featuremgmt/registry.go +++ b/pkg/services/featuremgmt/registry.go @@ -245,7 +245,7 @@ var ( Name: "mysqlAnsiQuotes", Description: "Use double quotes to escape keyword in a MySQL query", Stage: FeatureStageExperimental, - Owner: grafanaBackendPlatformSquad, + Owner: grafanaSearchAndStorageSquad, }, { Name: "accessControlOnCall", @@ -258,7 +258,7 @@ var ( Name: "nestedFolders", Description: "Enable folder nesting", Stage: FeatureStageGeneralAvailability, - Owner: grafanaBackendPlatformSquad, + Owner: grafanaSearchAndStorageSquad, Expression: "true", // enabled by default }, { @@ -320,7 +320,7 @@ var ( Name: "individualCookiePreferences", Description: "Support overriding cookie preferences per user", Stage: FeatureStageExperimental, - Owner: grafanaBackendPlatformSquad, + Owner: grafanaBackendGroup, }, { Name: "prometheusMetricEncyclopedia", @@ -412,7 +412,7 @@ var ( Name: "unifiedRequestLog", Description: "Writes error logs to the request logger", Stage: FeatureStageExperimental, - Owner: grafanaBackendPlatformSquad, + Owner: grafanaBackendGroup, }, { Name: "renderAuthJWT", @@ -594,7 +594,7 @@ var ( Name: "permissionsFilterRemoveSubquery", Description: "Alternative permission filter implementation that does not use subqueries for fetching the dashboard folder", Stage: FeatureStageExperimental, - Owner: grafanaBackendPlatformSquad, + Owner: grafanaBackendGroup, }, { Name: "prometheusConfigOverhaulAuth", @@ -831,7 +831,7 @@ var ( Description: "Enable searching for dashboards using panel title in search v1", RequiresDevMode: true, Stage: FeatureStageExperimental, - Owner: grafanaBackendPlatformSquad, + Owner: grafanaSearchAndStorageSquad, }, { Name: "managedPluginsInstall", diff --git a/pkg/services/featuremgmt/toggles_gen.csv b/pkg/services/featuremgmt/toggles_gen.csv index 6b6a95141b5..b6781497f9d 100644 --- a/pkg/services/featuremgmt/toggles_gen.csv +++ b/pkg/services/featuremgmt/toggles_gen.csv @@ -30,9 +30,9 @@ grpcServer,preview,@grafana/grafana-app-platform-squad,false,false,false unifiedStorage,experimental,@grafana/grafana-app-platform-squad,true,true,false cloudWatchCrossAccountQuerying,GA,@grafana/aws-datasources,false,false,false showDashboardValidationWarnings,experimental,@grafana/dashboards-squad,false,false,false -mysqlAnsiQuotes,experimental,@grafana/backend-platform,false,false,false +mysqlAnsiQuotes,experimental,@grafana/search-and-storage,false,false,false accessControlOnCall,preview,@grafana/identity-access-team,false,false,false -nestedFolders,GA,@grafana/backend-platform,false,false,false +nestedFolders,GA,@grafana/search-and-storage,false,false,false nestedFolderPicker,GA,@grafana/grafana-frontend-platform,false,false,true alertingBacktesting,experimental,@grafana/alerting-squad,false,false,false editPanelCSVDragAndDrop,experimental,@grafana/dataviz-squad,false,false,true @@ -40,7 +40,7 @@ alertingNoNormalState,preview,@grafana/alerting-squad,false,false,false logsContextDatasourceUi,GA,@grafana/observability-logs,false,false,true lokiQuerySplitting,GA,@grafana/observability-logs,false,false,true lokiQuerySplittingConfig,experimental,@grafana/observability-logs,false,false,true -individualCookiePreferences,experimental,@grafana/backend-platform,false,false,false +individualCookiePreferences,experimental,@grafana/grafana-backend-group,false,false,false prometheusMetricEncyclopedia,GA,@grafana/observability-metrics,false,false,true influxdbBackendMigration,GA,@grafana/observability-metrics,false,false,true influxqlStreamingParser,experimental,@grafana/observability-metrics,false,false,false @@ -53,7 +53,7 @@ disableSSEDataplane,experimental,@grafana/observability-metrics,false,false,fals alertStateHistoryLokiSecondary,experimental,@grafana/alerting-squad,false,false,false alertStateHistoryLokiPrimary,experimental,@grafana/alerting-squad,false,false,false alertStateHistoryLokiOnly,experimental,@grafana/alerting-squad,false,false,false -unifiedRequestLog,experimental,@grafana/backend-platform,false,false,false +unifiedRequestLog,experimental,@grafana/grafana-backend-group,false,false,false renderAuthJWT,preview,@grafana/grafana-as-code,false,false,false refactorVariablesTimeRange,preview,@grafana/dashboards-squad,false,false,false enableElasticsearchBackendQuerying,GA,@grafana/observability-logs,false,false,false @@ -78,7 +78,7 @@ grafanaAPIServerWithExperimentalAPIs,experimental,@grafana/grafana-app-platform- grafanaAPIServerEnsureKubectlAccess,experimental,@grafana/grafana-app-platform-squad,true,true,false featureToggleAdminPage,experimental,@grafana/grafana-operator-experience-squad,false,true,false awsAsyncQueryCaching,GA,@grafana/aws-datasources,false,false,false -permissionsFilterRemoveSubquery,experimental,@grafana/backend-platform,false,false,false +permissionsFilterRemoveSubquery,experimental,@grafana/grafana-backend-group,false,false,false prometheusConfigOverhaulAuth,GA,@grafana/observability-metrics,false,false,false configurableSchedulerTick,experimental,@grafana/alerting-squad,false,true,false alertingNoDataErrorExecution,GA,@grafana/alerting-squad,false,true,false @@ -110,7 +110,7 @@ lokiStructuredMetadata,GA,@grafana/observability-logs,false,false,false teamHttpHeaders,preview,@grafana/identity-access-team,false,false,false awsDatasourcesNewFormStyling,preview,@grafana/aws-datasources,false,false,true cachingOptimizeSerializationMemoryUsage,experimental,@grafana/grafana-operator-experience-squad,false,false,false -panelTitleSearchInV1,experimental,@grafana/backend-platform,true,false,false +panelTitleSearchInV1,experimental,@grafana/search-and-storage,true,false,false managedPluginsInstall,GA,@grafana/plugins-platform-backend,false,false,false prometheusPromQAIL,experimental,@grafana/observability-metrics,false,false,true prometheusCodeModeMetricNamesSearch,experimental,@grafana/observability-metrics,false,false,true diff --git a/pkg/services/featuremgmt/toggles_gen.json b/pkg/services/featuremgmt/toggles_gen.json index 24304131755..ee818f42a22 100644 --- a/pkg/services/featuremgmt/toggles_gen.json +++ b/pkg/services/featuremgmt/toggles_gen.json @@ -3,354 +3,11 @@ "apiVersion": "featuretoggle.grafana.app/v0alpha1", "metadata": {}, "items": [ - { - "metadata": { - "name": "awsAsyncQueryCaching", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Enable caching for async queries for Redshift and Athena. Requires that the datasource has caching and async query support enabled", - "stage": "GA", - "codeowner": "@grafana/aws-datasources" - } - }, - { - "metadata": { - "name": "panelTitleSearchInV1", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Enable searching for dashboards using panel title in search v1", - "stage": "experimental", - "codeowner": "@grafana/backend-platform", - "requiresDevMode": true - } - }, - { - "metadata": { - "name": "featureHighlights", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Highlight Grafana Enterprise features", - "stage": "GA", - "codeowner": "@grafana/grafana-as-code", - "allowSelfServe": true - } - }, - { - "metadata": { - "name": "lokiQuerySplitting", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Split large interval queries into subqueries with smaller time intervals", - "stage": "GA", - "codeowner": "@grafana/observability-logs", - "frontend": true, - "allowSelfServe": true - } - }, - { - "metadata": { - "name": "logsInfiniteScrolling", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Enables infinite scrolling for the Logs panel in Explore and Dashboards", - "stage": "experimental", - "codeowner": "@grafana/observability-logs", - "frontend": true - } - }, - { - "metadata": { - "name": "onPremToCloudMigrations", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "In-development feature that will allow users to easily migrate their on-prem Grafana instances to Grafana Cloud.", - "stage": "experimental", - "codeowner": "@grafana/grafana-operator-experience-squad" - } - }, - { - "metadata": { - "name": "groupByVariable", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Enable groupBy variable support in scenes dashboards", - "stage": "experimental", - "codeowner": "@grafana/dashboards-squad", - "hideFromAdminPage": true, - "hideFromDocs": true - } - }, - { - "metadata": { - "name": "scopeFilters", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Enables the use of scope filters in Grafana", - "stage": "experimental", - "codeowner": "@grafana/dashboards-squad", - "hideFromAdminPage": true, - "hideFromDocs": true - } - }, - { - "metadata": { - "name": "prometheusIncrementalQueryInstrumentation", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Adds RudderStack events to incremental queries", - "stage": "experimental", - "codeowner": "@grafana/observability-metrics", - "frontend": true - } - }, - { - "metadata": { - "name": "alertmanagerRemotePrimary", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Enable Grafana to have a remote Alertmanager instance as the primary Alertmanager.", - "stage": "experimental", - "codeowner": "@grafana/alerting-squad" - } - }, - { - "metadata": { - "name": "returnToPrevious", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Enables the return to previous context functionality", - "stage": "preview", - "codeowner": "@grafana/grafana-frontend-platform", - "frontend": true - } - }, - { - "metadata": { - "name": "extraThemes", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Enables extra themes", - "stage": "experimental", - "codeowner": "@grafana/grafana-frontend-platform", - "frontend": true - } - }, - { - "metadata": { - "name": "reportingRetries", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Enables rendering retries for the reporting feature", - "stage": "preview", - "codeowner": "@grafana/sharing-squad", - "requiresRestart": true - } - }, - { - "metadata": { - "name": "prometheusPromQAIL", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Prometheus and AI/ML to assist users in creating a query", - "stage": "experimental", - "codeowner": "@grafana/observability-metrics", - "frontend": true - } - }, - { - "metadata": { - "name": "panelTitleSearch", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Search for dashboards using panel title", - "stage": "preview", - "codeowner": "@grafana/grafana-app-platform-squad", - "hideFromAdminPage": true - } - }, - { - "metadata": { - "name": "autoMigrateWorldmapPanel", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Migrate old worldmap panel to supported geomap panel - broken out from autoMigrateOldPanels to enable granular tracking", - "stage": "preview", - "codeowner": "@grafana/dataviz-squad", - "frontend": true - } - }, - { - "metadata": { - "name": "grafanaAPIServerWithExperimentalAPIs", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Register experimental APIs with the k8s API server", - "stage": "experimental", - "codeowner": "@grafana/grafana-app-platform-squad", - "requiresDevMode": true, - "requiresRestart": true - } - }, - { - "metadata": { - "name": "prometheusConfigOverhaulAuth", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Update the Prometheus configuration page with the new auth component", - "stage": "GA", - "codeowner": "@grafana/observability-metrics" - } - }, - { - "metadata": { - "name": "transformationsVariableSupport", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Allows using variables in transformations", - "stage": "preview", - "codeowner": "@grafana/dataviz-squad", - "frontend": true - } - }, - { - "metadata": { - "name": "publicDashboards", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "[Deprecated] Public dashboards are now enabled by default; to disable them, use the configuration setting. This feature toggle will be removed in the next major version.", - "stage": "GA", - "codeowner": "@grafana/sharing-squad", - "allowSelfServe": true - } - }, - { - "metadata": { - "name": "autoMigratePiechartPanel", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Migrate old piechart panel to supported piechart panel - broken out from autoMigrateOldPanels to enable granular tracking", - "stage": "preview", - "codeowner": "@grafana/dataviz-squad", - "frontend": true - } - }, - { - "metadata": { - "name": "queryServiceRewrite", - "resourceVersion": "1713422970838", - "creationTimestamp": "2024-04-09T05:07:41Z", - "annotations": { - "grafana.app/updatedTimestamp": "2024-04-18 06:49:30.838977 +0000 UTC" - } - }, - "spec": { - "description": "Rewrite requests targeting /ds/query to the query service", - "stage": "experimental", - "codeowner": "@grafana/grafana-app-platform-squad", - "requiresRestart": true - } - }, - { - "metadata": { - "name": "prometheusCodeModeMetricNamesSearch", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Enables search for metric names in Code Mode, to improve performance when working with an enormous number of metric names", - "stage": "experimental", - "codeowner": "@grafana/observability-metrics", - "frontend": true - } - }, - { - "metadata": { - "name": "tableSharedCrosshair", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Enables shared crosshair in table panel", - "stage": "experimental", - "codeowner": "@grafana/dataviz-squad", - "frontend": true - } - }, - { - "metadata": { - "name": "unifiedStorage", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "SQL-based k8s storage", - "stage": "experimental", - "codeowner": "@grafana/grafana-app-platform-squad", - "requiresDevMode": true, - "requiresRestart": true - } - }, - { - "metadata": { - "name": "configurableSchedulerTick", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Enable changing the scheduler base interval via configuration option unified_alerting.scheduler_tick_interval", - "stage": "experimental", - "codeowner": "@grafana/alerting-squad", - "requiresRestart": true, - "hideFromDocs": true - } - }, { "metadata": { "name": "extractFieldsNameDeduplication", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" }, "spec": { "description": "Make sure extracted field names are unique in the dataframe", @@ -361,704 +18,22 @@ }, { "metadata": { - "name": "ssoSettingsApi", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" + "name": "logRowsPopoverMenu", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" }, "spec": { - "description": "Enables the SSO settings API and the OAuth configuration UIs in Grafana", - "stage": "preview", - "codeowner": "@grafana/identity-access-team", - "allowSelfServe": true - } - }, - { - "metadata": { - "name": "lokiMetricDataplane", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Changes metric responses from Loki to be compliant with the dataplane specification.", + "description": "Enable filtering menu displayed when text of a log line is selected", "stage": "GA", "codeowner": "@grafana/observability-logs", - "allowSelfServe": true - } - }, - { - "metadata": { - "name": "disableSSEDataplane", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Disables dataplane specific processing in server side expressions.", - "stage": "experimental", - "codeowner": "@grafana/observability-metrics" - } - }, - { - "metadata": { - "name": "unifiedRequestLog", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Writes error logs to the request logger", - "stage": "experimental", - "codeowner": "@grafana/backend-platform" - } - }, - { - "metadata": { - "name": "autoMigrateOldPanels", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Migrate old angular panels to supported versions (graph, table-old, worldmap, etc)", - "stage": "preview", - "codeowner": "@grafana/dataviz-squad", - "frontend": true - } - }, - { - "metadata": { - "name": "canvasPanelNesting", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Allow elements nesting", - "stage": "experimental", - "codeowner": "@grafana/dataviz-squad", - "frontend": true, - "hideFromAdminPage": true - } - }, - { - "metadata": { - "name": "cachingOptimizeSerializationMemoryUsage", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "If enabled, the caching backend gradually serializes query responses for the cache, comparing against the configured `[caching]max_value_mb` value as it goes. This can can help prevent Grafana from running out of memory while attempting to cache very large query responses.", - "stage": "experimental", - "codeowner": "@grafana/grafana-operator-experience-squad" - } - }, - { - "metadata": { - "name": "pluginsSkipHostEnvVars", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Disables passing host environment variable to plugin processes", - "stage": "experimental", - "codeowner": "@grafana/plugins-platform-backend" - } - }, - { - "metadata": { - "name": "groupToNestedTableTransformation", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Enables the group to nested table transformation", - "stage": "preview", - "codeowner": "@grafana/dataviz-squad", - "frontend": true - } - }, - { - "metadata": { - "name": "cloudWatchNewLabelParsing", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Updates CloudWatch label parsing to be more accurate", - "stage": "GA", - "codeowner": "@grafana/aws-datasources" - } - }, - { - "metadata": { - "name": "publicDashboardsScene", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Enables public dashboard rendering using scenes", - "stage": "experimental", - "codeowner": "@grafana/sharing-squad", - "frontend": true - } - }, - { - "metadata": { - "name": "aiGeneratedDashboardChanges", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Enable AI powered features for dashboards to auto-summary changes when saving", - "stage": "experimental", - "codeowner": "@grafana/dashboards-squad", - "frontend": true - } - }, - { - "metadata": { - "name": "kubernetesAggregator", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Enable grafana aggregator", - "stage": "experimental", - "codeowner": "@grafana/grafana-app-platform-squad", - "requiresRestart": true - } - }, - { - "metadata": { - "name": "cloudRBACRoles", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Enabled grafana cloud specific RBAC roles", - "stage": "experimental", - "codeowner": "@grafana/identity-access-team", - "requiresRestart": true, - "hideFromDocs": true - } - }, - { - "metadata": { - "name": "alertingSaveStatePeriodic", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Writes the state periodically to the database, asynchronous to rule evaluation", - "stage": "privatePreview", - "codeowner": "@grafana/alerting-squad" - } - }, - { - "metadata": { - "name": "externalCorePlugins", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Allow core plugins to be loaded as external", - "stage": "experimental", - "codeowner": "@grafana/plugins-platform-backend" - } - }, - { - "metadata": { - "name": "alertingSimplifiedRouting", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Enables users to easily configure alert notifications by specifying a contact point directly when editing or creating an alert rule", - "stage": "GA", - "codeowner": "@grafana/alerting-squad" - } - }, - { - "metadata": { - "name": "alertStateHistoryLokiPrimary", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Enable a remote Loki instance as the primary source for state history reads.", - "stage": "experimental", - "codeowner": "@grafana/alerting-squad" - } - }, - { - "metadata": { - "name": "vizAndWidgetSplit", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Split panels between visualizations and widgets", - "stage": "experimental", - "codeowner": "@grafana/dashboards-squad", - "frontend": true - } - }, - { - "metadata": { - "name": "alertingInsights", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Show the new alerting insights landing page", - "stage": "GA", - "codeowner": "@grafana/alerting-squad", - "frontend": true, - "hideFromAdminPage": true - } - }, - { - "metadata": { - "name": "cloudWatchBatchQueries", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Runs CloudWatch metrics queries as separate batches", - "stage": "preview", - "codeowner": "@grafana/aws-datasources" - } - }, - { - "metadata": { - "name": "enablePluginsTracingByDefault", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z", - "deletionTimestamp": "2024-04-11T13:21:52Z" - }, - "spec": { - "description": "Enable plugin tracing for all external plugins", - "stage": "GA", - "codeowner": "@grafana/plugins-platform-backend", - "requiresRestart": true - } - }, - { - "metadata": { - "name": "mysqlAnsiQuotes", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Use double quotes to escape keyword in a MySQL query", - "stage": "experimental", - "codeowner": "@grafana/backend-platform" - } - }, - { - "metadata": { - "name": "influxdbRunQueriesInParallel", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Enables running InfluxDB Influxql queries in parallel", - "stage": "privatePreview", - "codeowner": "@grafana/observability-metrics" - } - }, - { - "metadata": { - "name": "pdfTables", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Enables generating table data as PDF in reporting", - "stage": "preview", - "codeowner": "@grafana/sharing-squad" - } - }, - { - "metadata": { - "name": "authAPIAccessTokenAuth", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Enables the use of Auth API access tokens for authentication", - "stage": "experimental", - "codeowner": "@grafana/identity-access-team", - "hideFromAdminPage": true, - "hideFromDocs": true - } - }, - { - "metadata": { - "name": "autoMigrateXYChartPanel", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Migrate old XYChart panel to new XYChart2 model", - "stage": "preview", - "codeowner": "@grafana/dataviz-squad", - "frontend": true - } - }, - { - "metadata": { - "name": "libraryPanelRBAC", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Enables RBAC support for library panels", - "stage": "experimental", - "codeowner": "@grafana/dashboards-squad", - "requiresRestart": true - } - }, - { - "metadata": { - "name": "teamHttpHeaders", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Enables Team LBAC for datasources to apply team headers to the client requests", - "stage": "preview", - "codeowner": "@grafana/identity-access-team" - } - }, - { - "metadata": { - "name": "panelFilterVariable", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Enables use of the `systemPanelFilterVar` variable to filter panels in a dashboard", - "stage": "experimental", - "codeowner": "@grafana/dashboards-squad", - "frontend": true, - "hideFromDocs": true - } - }, - { - "metadata": { - "name": "newDashboardWithFiltersAndGroupBy", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Enables filters and group by variables on all new dashboards. Variables are added only if default data source supports filtering.", - "stage": "experimental", - "codeowner": "@grafana/dashboards-squad", - "hideFromAdminPage": true, - "hideFromDocs": true - } - }, - { - "metadata": { - "name": "featureToggleAdminPage", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Enable admin page for managing feature toggles from the Grafana front-end", - "stage": "experimental", - "codeowner": "@grafana/grafana-operator-experience-squad", - "requiresRestart": true - } - }, - { - "metadata": { - "name": "angularDeprecationUI", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Display Angular warnings in dashboards and panels", - "stage": "GA", - "codeowner": "@grafana/plugins-platform-backend", - "frontend": true - } - }, - { - "metadata": { - "name": "grafanaAPIServerEnsureKubectlAccess", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Start an additional https handler and write kubectl options", - "stage": "experimental", - "codeowner": "@grafana/grafana-app-platform-squad", - "requiresDevMode": true, - "requiresRestart": true - } - }, - { - "metadata": { - "name": "kubernetesSnapshots", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Routes snapshot requests from /api to the /apis endpoint", - "stage": "experimental", - "codeowner": "@grafana/grafana-app-platform-squad", - "requiresRestart": true - } - }, - { - "metadata": { - "name": "recoveryThreshold", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Enables feature recovery threshold (aka hysteresis) for threshold server-side expression", - "stage": "GA", - "codeowner": "@grafana/alerting-squad", - "requiresRestart": true - } - }, - { - "metadata": { - "name": "betterPageScrolling", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Removes CustomScrollbar from the UI, relying on native browser scrollbars", - "stage": "GA", - "codeowner": "@grafana/grafana-frontend-platform", - "frontend": true - } - }, - { - "metadata": { - "name": "cloudWatchCrossAccountQuerying", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Enables cross-account querying in CloudWatch datasources", - "stage": "GA", - "codeowner": "@grafana/aws-datasources", - "allowSelfServe": true - } - }, - { - "metadata": { - "name": "lokiQuerySplittingConfig", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Give users the option to configure split durations for Loki queries", - "stage": "experimental", - "codeowner": "@grafana/observability-logs", - "frontend": true - } - }, - { - "metadata": { - "name": "recordedQueriesMulti", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Enables writing multiple items from a single query within Recorded Queries", - "stage": "GA", - "codeowner": "@grafana/observability-metrics" - } - }, - { - "metadata": { - "name": "awsDatasourcesTempCredentials", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Support temporary security credentials in AWS plugins for Grafana Cloud customers", - "stage": "experimental", - "codeowner": "@grafana/aws-datasources" - } - }, - { - "metadata": { - "name": "addFieldFromCalculationStatFunctions", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Add cumulative and window functions to the add field from calculation transformation", - "stage": "preview", - "codeowner": "@grafana/dataviz-squad", - "frontend": true - } - }, - { - "metadata": { - "name": "regressionTransformation", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Enables regression analysis transformation", - "stage": "preview", - "codeowner": "@grafana/dataviz-squad", - "frontend": true - } - }, - { - "metadata": { - "name": "autoMigrateStatPanel", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Migrate old stat panel to supported stat panel - broken out from autoMigrateOldPanels to enable granular tracking", - "stage": "preview", - "codeowner": "@grafana/dataviz-squad", - "frontend": true - } - }, - { - "metadata": { - "name": "grpcServer", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Run the GRPC server", - "stage": "preview", - "codeowner": "@grafana/grafana-app-platform-squad", - "hideFromAdminPage": true - } - }, - { - "metadata": { - "name": "enableElasticsearchBackendQuerying", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Enable the processing of queries and responses in the Elasticsearch data source through backend", - "stage": "GA", - "codeowner": "@grafana/observability-logs", - "allowSelfServe": true - } - }, - { - "metadata": { - "name": "enableDatagridEditing", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Enables the edit functionality in the datagrid panel", - "stage": "preview", - "codeowner": "@grafana/dataviz-squad", - "frontend": true - } - }, - { - "metadata": { - "name": "lokiFormatQuery", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Enables the ability to format Loki queries", - "stage": "experimental", - "codeowner": "@grafana/observability-logs", - "frontend": true - } - }, - { - "metadata": { - "name": "influxdbSqlSupport", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z", - "deletionTimestamp": "2024-04-18T12:35:02Z" - }, - "spec": { - "description": "Enable InfluxDB SQL query language support with new querying UI", - "stage": "GA", - "codeowner": "@grafana/observability-metrics", - "requiresRestart": true, - "allowSelfServe": true - } - }, - { - "metadata": { - "name": "alertingNoDataErrorExecution", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Changes how Alerting state manager handles execution of NoData/Error", - "stage": "GA", - "codeowner": "@grafana/alerting-squad", - "requiresRestart": true - } - }, - { - "metadata": { - "name": "pluginsAPIMetrics", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Sends metrics of public grafana packages usage by plugins", - "stage": "experimental", - "codeowner": "@grafana/plugins-platform-backend", - "frontend": true - } - }, - { - "metadata": { - "name": "correlations", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Correlations page", - "stage": "GA", - "codeowner": "@grafana/explore-squad", - "allowSelfServe": true - } - }, - { - "metadata": { - "name": "showDashboardValidationWarnings", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Show warnings when dashboards do not validate against the schema", - "stage": "experimental", - "codeowner": "@grafana/dashboards-squad" - } - }, - { - "metadata": { - "name": "canvasPanelPanZoom", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Allow pan and zoom in canvas panel", - "stage": "preview", - "codeowner": "@grafana/dataviz-squad", "frontend": true } }, { "metadata": { "name": "oauthRequireSubClaim", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" }, "spec": { "description": "Require that sub claims is present in oauth tokens.", @@ -1071,8 +46,8 @@ { "metadata": { "name": "disableEnvelopeEncryption", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" }, "spec": { "description": "Disable envelope encryption (emergency only)", @@ -1081,442 +56,11 @@ "hideFromAdminPage": true } }, - { - "metadata": { - "name": "datasourceQueryMultiStatus", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Introduce HTTP 207 Multi Status for api/ds/query", - "stage": "experimental", - "codeowner": "@grafana/plugins-platform-backend" - } - }, - { - "metadata": { - "name": "formatString", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Enable format string transformer", - "stage": "preview", - "codeowner": "@grafana/dataviz-squad", - "frontend": true - } - }, - { - "metadata": { - "name": "alertingNoNormalState", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Stop maintaining state of alerts that are not firing", - "stage": "preview", - "codeowner": "@grafana/alerting-squad", - "hideFromAdminPage": true - } - }, - { - "metadata": { - "name": "pluginsDynamicAngularDetectionPatterns", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z", - "deletionTimestamp": "2024-04-11T13:53:48Z" - }, - "spec": { - "description": "Enables fetching Angular detection patterns for plugins from GCOM and fallback to hardcoded ones", - "stage": "GA", - "codeowner": "@grafana/plugins-platform-backend" - } - }, - { - "metadata": { - "name": "dashboardEmbed", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z", - "deletionTimestamp": "2024-04-19T10:27:36Z" - }, - "spec": { - "description": "Allow embedding dashboard for external use in Code editors", - "stage": "experimental", - "codeowner": "@grafana/grafana-as-code", - "frontend": true - } - }, - { - "metadata": { - "name": "lokiRunQueriesInParallel", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Enables running Loki queries in parallel", - "stage": "privatePreview", - "codeowner": "@grafana/observability-logs" - } - }, - { - "metadata": { - "name": "idForwarding", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Generate signed id token for identity that can be forwarded to plugins and external services", - "stage": "experimental", - "codeowner": "@grafana/identity-access-team" - } - }, - { - "metadata": { - "name": "panelMonitoring", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Enables panel monitoring through logs and measurements", - "stage": "GA", - "codeowner": "@grafana/dataviz-squad", - "frontend": true - } - }, - { - "metadata": { - "name": "flameGraphItemCollapsing", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Allow collapsing of flame graph items", - "stage": "experimental", - "codeowner": "@grafana/observability-traces-and-profiling", - "frontend": true - } - }, - { - "metadata": { - "name": "newFolderPicker", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Enables the nested folder picker without having nested folders enabled", - "stage": "experimental", - "codeowner": "@grafana/grafana-frontend-platform", - "frontend": true - } - }, - { - "metadata": { - "name": "exploreContentOutline", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Content outline sidebar", - "stage": "GA", - "codeowner": "@grafana/explore-squad", - "frontend": true, - "allowSelfServe": true - } - }, - { - "metadata": { - "name": "nestedFolderPicker", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Enables the new folder picker to work with nested folders. Requires the nestedFolders feature toggle", - "stage": "GA", - "codeowner": "@grafana/grafana-frontend-platform", - "frontend": true, - "allowSelfServe": true - } - }, - { - "metadata": { - "name": "expressionParser", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Enable new expression parser", - "stage": "experimental", - "codeowner": "@grafana/grafana-app-platform-squad", - "requiresRestart": true - } - }, - { - "metadata": { - "name": "alertmanagerRemoteOnly", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Disable the internal Alertmanager and only use the external one defined.", - "stage": "experimental", - "codeowner": "@grafana/alerting-squad" - } - }, - { - "metadata": { - "name": "dashboardSceneForViewers", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Enables dashboard rendering using Scenes for viewer roles", - "stage": "experimental", - "codeowner": "@grafana/dashboards-squad", - "frontend": true - } - }, - { - "metadata": { - "name": "topnav", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Enables topnav support in external plugins. The new Grafana navigation cannot be disabled.", - "stage": "deprecated", - "codeowner": "@grafana/grafana-frontend-platform" - } - }, - { - "metadata": { - "name": "lokiLogsDataplane", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Changes logs responses from Loki to be compliant with the dataplane specification.", - "stage": "experimental", - "codeowner": "@grafana/observability-logs" - } - }, - { - "metadata": { - "name": "mlExpressions", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Enable support for Machine Learning in server-side expressions", - "stage": "experimental", - "codeowner": "@grafana/alerting-squad" - } - }, - { - "metadata": { - "name": "kubernetesPlaylists", - "resourceVersion": "1713248683044", - "creationTimestamp": "2024-04-09T05:07:41Z", - "annotations": { - "grafana.app/updatedTimestamp": "2024-04-16 06:24:43.044143 +0000 UTC" - } - }, - "spec": { - "description": "Use the kubernetes API in the frontend for playlists, and route /api/playlist requests to k8s", - "stage": "GA", - "codeowner": "@grafana/grafana-app-platform-squad", - "requiresRestart": true - } - }, - { - "metadata": { - "name": "alertmanagerRemoteSecondary", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Enable Grafana to sync configuration and state with a remote Alertmanager.", - "stage": "experimental", - "codeowner": "@grafana/alerting-squad" - } - }, - { - "metadata": { - "name": "influxdbBackendMigration", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Query InfluxDB InfluxQL without the proxy", - "stage": "GA", - "codeowner": "@grafana/observability-metrics", - "frontend": true - } - }, - { - "metadata": { - "name": "pluginsFrontendSandbox", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Enables the plugins frontend sandbox", - "stage": "experimental", - "codeowner": "@grafana/plugins-platform-backend", - "frontend": true - } - }, - { - "metadata": { - "name": "editPanelCSVDragAndDrop", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Enables drag and drop for CSV and Excel files", - "stage": "experimental", - "codeowner": "@grafana/dataviz-squad", - "frontend": true - } - }, - { - "metadata": { - "name": "prometheusMetricEncyclopedia", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Adds the metrics explorer component to the Prometheus query builder as an option in metric select", - "stage": "GA", - "codeowner": "@grafana/observability-metrics", - "frontend": true, - "allowSelfServe": true - } - }, - { - "metadata": { - "name": "dataplaneFrontendFallback", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Support dataplane contract field name change for transformations and field name matchers where the name is different", - "stage": "GA", - "codeowner": "@grafana/observability-metrics", - "frontend": true, - "allowSelfServe": true - } - }, - { - "metadata": { - "name": "faroDatasourceSelector", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Enable the data source selector within the Frontend Apps section of the Frontend Observability", - "stage": "preview", - "codeowner": "@grafana/app-o11y", - "frontend": true - } - }, - { - "metadata": { - "name": "lokiStructuredMetadata", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Enables the loki data source to request structured metadata from the Loki server", - "stage": "GA", - "codeowner": "@grafana/observability-logs" - } - }, - { - "metadata": { - "name": "sqlExpressions", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Enables using SQL and DuckDB functions as Expressions.", - "stage": "experimental", - "codeowner": "@grafana/grafana-app-platform-squad" - } - }, - { - "metadata": { - "name": "live-service-web-worker", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "This will use a webworker thread to processes events rather than the main thread", - "stage": "experimental", - "codeowner": "@grafana/grafana-app-platform-squad", - "frontend": true - } - }, - { - "metadata": { - "name": "disableAngular", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Dynamic flag to disable angular at runtime. The preferred method is to set `angular_support_enabled` to `false` in the [security] settings, which allows you to change the state at runtime.", - "stage": "preview", - "codeowner": "@grafana/dataviz-squad", - "frontend": true, - "hideFromAdminPage": true - } - }, - { - "metadata": { - "name": "usePrometheusFrontendPackage", - "resourceVersion": "1712841379965", - "creationTimestamp": "2024-04-09T05:07:41Z", - "deletionTimestamp": "2024-04-12T23:12:45Z", - "annotations": { - "grafana.app/updatedTimestamp": "2024-04-11 13:16:19.965312 +0000 UTC" - } - }, - "spec": { - "description": "Use the @grafana/prometheus frontend package in core Prometheus.", - "stage": "GA", - "codeowner": "@grafana/observability-metrics", - "frontend": true - } - }, - { - "metadata": { - "name": "alertingBacktesting", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Rule backtesting API for alerting", - "stage": "experimental", - "codeowner": "@grafana/alerting-squad" - } - }, - { - "metadata": { - "name": "prometheusDataplane", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Changes responses to from Prometheus to be compliant with the dataplane specification. In particular, when this feature toggle is active, the numeric `Field.Name` is set from 'Value' to the value of the `__name__` label.", - "stage": "GA", - "codeowner": "@grafana/observability-metrics", - "allowSelfServe": true - } - }, { "metadata": { "name": "lokiPredefinedOperations", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" }, "spec": { "description": "Adds predefined query operations to Loki query editor", @@ -1527,12 +71,12 @@ }, { "metadata": { - "name": "autoMigrateTablePanel", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" + "name": "addFieldFromCalculationStatFunctions", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" }, "spec": { - "description": "Migrate old table panel to supported table panel - broken out from autoMigrateOldPanels to enable granular tracking", + "description": "Add cumulative and window functions to the add field from calculation transformation", "stage": "preview", "codeowner": "@grafana/dataviz-squad", "frontend": true @@ -1540,289 +84,21 @@ }, { "metadata": { - "name": "nestedFolders", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" + "name": "unifiedRequestLog", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" }, "spec": { - "description": "Enable folder nesting", - "stage": "GA", - "codeowner": "@grafana/backend-platform" - } - }, - { - "metadata": { - "name": "sqlDatasourceDatabaseSelection", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Enables previous SQL data source dataset dropdown behavior", - "stage": "preview", - "codeowner": "@grafana/dataviz-squad", - "frontend": true, - "hideFromAdminPage": true - } - }, - { - "metadata": { - "name": "logsExploreTableVisualisation", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "A table visualisation for logs in Explore", - "stage": "GA", - "codeowner": "@grafana/observability-logs", - "frontend": true - } - }, - { - "metadata": { - "name": "logRowsPopoverMenu", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Enable filtering menu displayed when text of a log line is selected", - "stage": "GA", - "codeowner": "@grafana/observability-logs", - "frontend": true - } - }, - { - "metadata": { - "name": "alertingQueryOptimization", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Optimizes eligible queries in order to reduce load on datasources", - "stage": "GA", - "codeowner": "@grafana/alerting-squad" - } - }, - { - "metadata": { - "name": "promQLScope", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "In-development feature that will allow injection of labels into prometheus queries.", + "description": "Writes error logs to the request logger", "stage": "experimental", - "codeowner": "@grafana/observability-metrics" - } - }, - { - "metadata": { - "name": "nodeGraphDotLayout", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Changed the layout algorithm for the node graph", - "stage": "experimental", - "codeowner": "@grafana/observability-traces-and-profiling", - "frontend": true - } - }, - { - "metadata": { - "name": "disableSecretsCompatibility", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Disable duplicated secret storage in legacy tables", - "stage": "experimental", - "codeowner": "@grafana/hosted-grafana-team", - "requiresRestart": true - } - }, - { - "metadata": { - "name": "logRequestsInstrumentedAsUnknown", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Logs the path for requests that are instrumented as unknown", - "stage": "experimental", - "codeowner": "@grafana/hosted-grafana-team" - } - }, - { - "metadata": { - "name": "metricsSummary", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Enables metrics summary queries in the Tempo data source", - "stage": "experimental", - "codeowner": "@grafana/observability-traces-and-profiling", - "frontend": true - } - }, - { - "metadata": { - "name": "renderAuthJWT", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Uses JWT-based auth for rendering instead of relying on remote cache", - "stage": "preview", - "codeowner": "@grafana/grafana-as-code", - "hideFromAdminPage": true - } - }, - { - "metadata": { - "name": "refactorVariablesTimeRange", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Refactor time range variables flow to reduce number of API calls made when query variables are chained", - "stage": "preview", - "codeowner": "@grafana/dashboards-squad", - "hideFromAdminPage": true - } - }, - { - "metadata": { - "name": "annotationPermissionUpdate", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Change the way annotation permissions work by scoping them to folders and dashboards.", - "stage": "GA", - "codeowner": "@grafana/identity-access-team" - } - }, - { - "metadata": { - "name": "kubernetesFeatureToggles", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Use the kubernetes API for feature toggle management in the frontend", - "stage": "experimental", - "codeowner": "@grafana/grafana-operator-experience-squad", - "frontend": true, - "hideFromAdminPage": true - } - }, - { - "metadata": { - "name": "autoMigrateGraphPanel", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Migrate old graph panel to supported time series panel - broken out from autoMigrateOldPanels to enable granular tracking", - "stage": "preview", - "codeowner": "@grafana/dataviz-squad", - "frontend": true - } - }, - { - "metadata": { - "name": "frontendSandboxMonitorOnly", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Enables monitor only in the plugin frontend sandbox (if enabled)", - "stage": "experimental", - "codeowner": "@grafana/plugins-platform-backend", - "frontend": true - } - }, - { - "metadata": { - "name": "alertStateHistoryLokiOnly", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Disable Grafana alerts from emitting annotations when a remote Loki instance is available.", - "stage": "experimental", - "codeowner": "@grafana/alerting-squad" - } - }, - { - "metadata": { - "name": "dashboardScene", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Enables dashboard rendering using scenes for all roles", - "stage": "experimental", - "codeowner": "@grafana/dashboards-squad", - "frontend": true - } - }, - { - "metadata": { - "name": "newPDFRendering", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "New implementation for the dashboard-to-PDF rendering", - "stage": "preview", - "codeowner": "@grafana/sharing-squad" - } - }, - { - "metadata": { - "name": "queryOverLive", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Use Grafana Live WebSocket to execute backend queries", - "stage": "experimental", - "codeowner": "@grafana/grafana-app-platform-squad", - "frontend": true - } - }, - { - "metadata": { - "name": "dashboardSceneSolo", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Enables rendering dashboards using scenes for solo panels", - "stage": "experimental", - "codeowner": "@grafana/dashboards-squad", - "frontend": true - } - }, - { - "metadata": { - "name": "permissionsFilterRemoveSubquery", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Alternative permission filter implementation that does not use subqueries for fetching the dashboard folder", - "stage": "experimental", - "codeowner": "@grafana/backend-platform" + "codeowner": "@grafana/grafana-backend-group" } }, { "metadata": { "name": "enableNativeHTTPHistogram", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" }, "spec": { "description": "Enables native HTTP Histograms", @@ -1830,163 +106,11 @@ "codeowner": "@grafana/hosted-grafana-team" } }, - { - "metadata": { - "name": "jitterAlertRulesWithinGroups", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Distributes alert rule evaluations more evenly over time, including spreading out rules within the same group", - "stage": "preview", - "codeowner": "@grafana/alerting-squad", - "requiresRestart": true, - "hideFromDocs": true - } - }, - { - "metadata": { - "name": "influxqlStreamingParser", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Enable streaming JSON parser for InfluxDB datasource InfluxQL query language", - "stage": "experimental", - "codeowner": "@grafana/observability-metrics" - } - }, - { - "metadata": { - "name": "alertStateHistoryLokiSecondary", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Enable Grafana to write alert state history to an external Loki instance in addition to Grafana annotations.", - "stage": "experimental", - "codeowner": "@grafana/alerting-squad" - } - }, - { - "metadata": { - "name": "logsContextDatasourceUi", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Allow datasource to provide custom UI for context view", - "stage": "GA", - "codeowner": "@grafana/observability-logs", - "frontend": true, - "allowSelfServe": true - } - }, - { - "metadata": { - "name": "traceQLStreaming", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Enables response streaming of TraceQL queries of the Tempo data source", - "stage": "GA", - "codeowner": "@grafana/observability-traces-and-profiling", - "frontend": true - } - }, - { - "metadata": { - "name": "wargamesTesting", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Placeholder feature flag for internal testing", - "stage": "experimental", - "codeowner": "@grafana/hosted-grafana-team" - } - }, - { - "metadata": { - "name": "externalServiceAccounts", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Automatic service account and token setup for plugins", - "stage": "preview", - "codeowner": "@grafana/identity-access-team", - "hideFromAdminPage": true - } - }, - { - "metadata": { - "name": "publicDashboardsEmailSharing", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Enables public dashboard sharing to be restricted to only allowed emails", - "stage": "preview", - "codeowner": "@grafana/sharing-squad", - "hideFromAdminPage": true, - "hideFromDocs": true - } - }, - { - "metadata": { - "name": "storage", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Configurable storage for dashboards, datasources, and resources", - "stage": "experimental", - "codeowner": "@grafana/grafana-app-platform-squad" - } - }, - { - "metadata": { - "name": "individualCookiePreferences", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Support overriding cookie preferences per user", - "stage": "experimental", - "codeowner": "@grafana/backend-platform" - } - }, - { - "metadata": { - "name": "sseGroupByDatasource", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Send query to the same datasource in a single request when using server side expressions. The `cloudWatchBatchQueries` feature toggle should be enabled if this used with CloudWatch.", - "stage": "experimental", - "codeowner": "@grafana/observability-metrics" - } - }, - { - "metadata": { - "name": "managedPluginsInstall", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Install managed plugins directly from plugins catalog", - "stage": "GA", - "codeowner": "@grafana/plugins-platform-backend" - } - }, { "metadata": { "name": "ssoSettingsSAML", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" }, "spec": { "description": "Use the new SSO Settings API to configure the SAML connector", @@ -1998,47 +122,21 @@ }, { "metadata": { - "name": "lokiExperimentalStreaming", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" + "name": "wargamesTesting", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" }, "spec": { - "description": "Support new streaming approach for loki (prototype, needs special loki build)", + "description": "Placeholder feature flag for internal testing", "stage": "experimental", - "codeowner": "@grafana/observability-logs" - } - }, - { - "metadata": { - "name": "accessControlOnCall", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Access control primitives for OnCall", - "stage": "preview", - "codeowner": "@grafana/identity-access-team", - "hideFromAdminPage": true - } - }, - { - "metadata": { - "name": "dashgpt", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" - }, - "spec": { - "description": "Enable AI powered features in dashboards", - "stage": "GA", - "codeowner": "@grafana/dashboards-squad", - "frontend": true + "codeowner": "@grafana/hosted-grafana-team" } }, { "metadata": { "name": "awsDatasourcesNewFormStyling", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" }, "spec": { "description": "Applies new form styling for configuration and query editors in AWS plugins", @@ -2049,22 +147,589 @@ }, { "metadata": { - "name": "exploreMetrics", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" + "name": "aiGeneratedDashboardChanges", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" }, "spec": { - "description": "Enables the new Explore Metrics core app", - "stage": "GA", + "description": "Enable AI powered features for dashboards to auto-summary changes when saving", + "stage": "experimental", "codeowner": "@grafana/dashboards-squad", "frontend": true } }, + { + "metadata": { + "name": "topnav", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Enables topnav support in external plugins. The new Grafana navigation cannot be disabled.", + "stage": "deprecated", + "codeowner": "@grafana/grafana-frontend-platform" + } + }, + { + "metadata": { + "name": "sqlDatasourceDatabaseSelection", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Enables previous SQL data source dataset dropdown behavior", + "stage": "preview", + "codeowner": "@grafana/dataviz-squad", + "frontend": true, + "hideFromAdminPage": true + } + }, + { + "metadata": { + "name": "canvasPanelNesting", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Allow elements nesting", + "stage": "experimental", + "codeowner": "@grafana/dataviz-squad", + "frontend": true, + "hideFromAdminPage": true + } + }, + { + "metadata": { + "name": "returnToPrevious", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Enables the return to previous context functionality", + "stage": "preview", + "codeowner": "@grafana/grafana-frontend-platform", + "frontend": true + } + }, + { + "metadata": { + "name": "lokiFormatQuery", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Enables the ability to format Loki queries", + "stage": "experimental", + "codeowner": "@grafana/observability-logs", + "frontend": true + } + }, + { + "metadata": { + "name": "angularDeprecationUI", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Display Angular warnings in dashboards and panels", + "stage": "GA", + "codeowner": "@grafana/plugins-platform-backend", + "frontend": true + } + }, + { + "metadata": { + "name": "groupToNestedTableTransformation", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Enables the group to nested table transformation", + "stage": "preview", + "codeowner": "@grafana/dataviz-squad", + "frontend": true + } + }, + { + "metadata": { + "name": "publicDashboards", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "[Deprecated] Public dashboards are now enabled by default; to disable them, use the configuration setting. This feature toggle will be removed in the next major version.", + "stage": "GA", + "codeowner": "@grafana/sharing-squad", + "allowSelfServe": true + } + }, + { + "metadata": { + "name": "storage", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Configurable storage for dashboards, datasources, and resources", + "stage": "experimental", + "codeowner": "@grafana/grafana-app-platform-squad" + } + }, + { + "metadata": { + "name": "prometheusMetricEncyclopedia", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Adds the metrics explorer component to the Prometheus query builder as an option in metric select", + "stage": "GA", + "codeowner": "@grafana/observability-metrics", + "frontend": true, + "allowSelfServe": true + } + }, + { + "metadata": { + "name": "grafanaAPIServerEnsureKubectlAccess", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Start an additional https handler and write kubectl options", + "stage": "experimental", + "codeowner": "@grafana/grafana-app-platform-squad", + "requiresDevMode": true, + "requiresRestart": true + } + }, + { + "metadata": { + "name": "nodeGraphDotLayout", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Changed the layout algorithm for the node graph", + "stage": "experimental", + "codeowner": "@grafana/observability-traces-and-profiling", + "frontend": true + } + }, + { + "metadata": { + "name": "autoMigratePiechartPanel", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Migrate old piechart panel to supported piechart panel - broken out from autoMigrateOldPanels to enable granular tracking", + "stage": "preview", + "codeowner": "@grafana/dataviz-squad", + "frontend": true + } + }, + { + "metadata": { + "name": "alertingNoNormalState", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Stop maintaining state of alerts that are not firing", + "stage": "preview", + "codeowner": "@grafana/alerting-squad", + "hideFromAdminPage": true + } + }, + { + "metadata": { + "name": "kubernetesPlaylists", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Use the kubernetes API in the frontend for playlists, and route /api/playlist requests to k8s", + "stage": "GA", + "codeowner": "@grafana/grafana-app-platform-squad", + "requiresRestart": true + } + }, + { + "metadata": { + "name": "teamHttpHeaders", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Enables Team LBAC for datasources to apply team headers to the client requests", + "stage": "preview", + "codeowner": "@grafana/identity-access-team" + } + }, + { + "metadata": { + "name": "live-service-web-worker", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "This will use a webworker thread to processes events rather than the main thread", + "stage": "experimental", + "codeowner": "@grafana/grafana-app-platform-squad", + "frontend": true + } + }, + { + "metadata": { + "name": "autoMigrateTablePanel", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Migrate old table panel to supported table panel - broken out from autoMigrateOldPanels to enable granular tracking", + "stage": "preview", + "codeowner": "@grafana/dataviz-squad", + "frontend": true + } + }, + { + "metadata": { + "name": "onPremToCloudMigrations", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "In-development feature that will allow users to easily migrate their on-prem Grafana instances to Grafana Cloud.", + "stage": "experimental", + "codeowner": "@grafana/grafana-operator-experience-squad" + } + }, + { + "metadata": { + "name": "correlations", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Correlations page", + "stage": "GA", + "codeowner": "@grafana/explore-squad", + "allowSelfServe": true + } + }, + { + "metadata": { + "name": "grpcServer", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Run the GRPC server", + "stage": "preview", + "codeowner": "@grafana/grafana-app-platform-squad", + "hideFromAdminPage": true + } + }, + { + "metadata": { + "name": "unifiedStorage", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "SQL-based k8s storage", + "stage": "experimental", + "codeowner": "@grafana/grafana-app-platform-squad", + "requiresDevMode": true, + "requiresRestart": true + } + }, + { + "metadata": { + "name": "nestedFolderPicker", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Enables the new folder picker to work with nested folders. Requires the nestedFolders feature toggle", + "stage": "GA", + "codeowner": "@grafana/grafana-frontend-platform", + "frontend": true, + "allowSelfServe": true + } + }, + { + "metadata": { + "name": "editPanelCSVDragAndDrop", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Enables drag and drop for CSV and Excel files", + "stage": "experimental", + "codeowner": "@grafana/dataviz-squad", + "frontend": true + } + }, + { + "metadata": { + "name": "sseGroupByDatasource", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Send query to the same datasource in a single request when using server side expressions. The `cloudWatchBatchQueries` feature toggle should be enabled if this used with CloudWatch.", + "stage": "experimental", + "codeowner": "@grafana/observability-metrics" + } + }, + { + "metadata": { + "name": "autoMigrateStatPanel", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Migrate old stat panel to supported stat panel - broken out from autoMigrateOldPanels to enable granular tracking", + "stage": "preview", + "codeowner": "@grafana/dataviz-squad", + "frontend": true + } + }, + { + "metadata": { + "name": "disableAngular", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Dynamic flag to disable angular at runtime. The preferred method is to set `angular_support_enabled` to `false` in the [security] settings, which allows you to change the state at runtime.", + "stage": "preview", + "codeowner": "@grafana/dataviz-squad", + "frontend": true, + "hideFromAdminPage": true + } + }, + { + "metadata": { + "name": "reportingRetries", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Enables rendering retries for the reporting feature", + "stage": "preview", + "codeowner": "@grafana/sharing-squad", + "requiresRestart": true + } + }, + { + "metadata": { + "name": "accessActionSets", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Introduces action sets for resource permissions", + "stage": "experimental", + "codeowner": "@grafana/identity-access-team" + } + }, + { + "metadata": { + "name": "mysqlAnsiQuotes", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Use double quotes to escape keyword in a MySQL query", + "stage": "experimental", + "codeowner": "@grafana/search-and-storage" + } + }, + { + "metadata": { + "name": "influxdbBackendMigration", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Query InfluxDB InfluxQL without the proxy", + "stage": "GA", + "codeowner": "@grafana/observability-metrics", + "frontend": true + } + }, + { + "metadata": { + "name": "alertStateHistoryLokiSecondary", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Enable Grafana to write alert state history to an external Loki instance in addition to Grafana annotations.", + "stage": "experimental", + "codeowner": "@grafana/alerting-squad" + } + }, + { + "metadata": { + "name": "transformationsVariableSupport", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Allows using variables in transformations", + "stage": "preview", + "codeowner": "@grafana/dataviz-squad", + "frontend": true + } + }, + { + "metadata": { + "name": "lokiStructuredMetadata", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Enables the loki data source to request structured metadata from the Loki server", + "stage": "GA", + "codeowner": "@grafana/observability-logs" + } + }, + { + "metadata": { + "name": "managedPluginsInstall", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Install managed plugins directly from plugins catalog", + "stage": "GA", + "codeowner": "@grafana/plugins-platform-backend" + } + }, + { + "metadata": { + "name": "alertmanagerRemotePrimary", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Enable Grafana to have a remote Alertmanager instance as the primary Alertmanager.", + "stage": "experimental", + "codeowner": "@grafana/alerting-squad" + } + }, + { + "metadata": { + "name": "regressionTransformation", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Enables regression analysis transformation", + "stage": "preview", + "codeowner": "@grafana/dataviz-squad", + "frontend": true + } + }, + { + "metadata": { + "name": "autoMigrateGraphPanel", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Migrate old graph panel to supported time series panel - broken out from autoMigrateOldPanels to enable granular tracking", + "stage": "preview", + "codeowner": "@grafana/dataviz-squad", + "frontend": true + } + }, + { + "metadata": { + "name": "disableSSEDataplane", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Disables dataplane specific processing in server side expressions.", + "stage": "experimental", + "codeowner": "@grafana/observability-metrics" + } + }, + { + "metadata": { + "name": "enableElasticsearchBackendQuerying", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Enable the processing of queries and responses in the Elasticsearch data source through backend", + "stage": "GA", + "codeowner": "@grafana/observability-logs", + "allowSelfServe": true + } + }, + { + "metadata": { + "name": "flameGraphItemCollapsing", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Allow collapsing of flame graph items", + "stage": "experimental", + "codeowner": "@grafana/observability-traces-and-profiling", + "frontend": true + } + }, + { + "metadata": { + "name": "influxqlStreamingParser", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Enable streaming JSON parser for InfluxDB datasource InfluxQL query language", + "stage": "experimental", + "codeowner": "@grafana/observability-metrics" + } + }, + { + "metadata": { + "name": "dataplaneFrontendFallback", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Support dataplane contract field name change for transformations and field name matchers where the name is different", + "stage": "GA", + "codeowner": "@grafana/observability-metrics", + "frontend": true, + "allowSelfServe": true + } + }, + { + "metadata": { + "name": "pluginsFrontendSandbox", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Enables the plugins frontend sandbox", + "stage": "experimental", + "codeowner": "@grafana/plugins-platform-backend", + "frontend": true + } + }, { "metadata": { "name": "lokiQueryHints", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" }, "spec": { "description": "Enables query hints for Loki", @@ -2073,11 +738,600 @@ "frontend": true } }, + { + "metadata": { + "name": "autoMigrateWorldmapPanel", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Migrate old worldmap panel to supported geomap panel - broken out from autoMigrateOldPanels to enable granular tracking", + "stage": "preview", + "codeowner": "@grafana/dataviz-squad", + "frontend": true + } + }, + { + "metadata": { + "name": "nestedFolders", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Enable folder nesting", + "stage": "GA", + "codeowner": "@grafana/search-and-storage" + } + }, + { + "metadata": { + "name": "enableDatagridEditing", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Enables the edit functionality in the datagrid panel", + "stage": "preview", + "codeowner": "@grafana/dataviz-squad", + "frontend": true + } + }, + { + "metadata": { + "name": "featureToggleAdminPage", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Enable admin page for managing feature toggles from the Grafana front-end", + "stage": "experimental", + "codeowner": "@grafana/grafana-operator-experience-squad", + "requiresRestart": true + } + }, + { + "metadata": { + "name": "prometheusConfigOverhaulAuth", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Update the Prometheus configuration page with the new auth component", + "stage": "GA", + "codeowner": "@grafana/observability-metrics" + } + }, + { + "metadata": { + "name": "dashboardScene", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Enables dashboard rendering using scenes for all roles", + "stage": "experimental", + "codeowner": "@grafana/dashboards-squad", + "frontend": true + } + }, + { + "metadata": { + "name": "logsInfiniteScrolling", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Enables infinite scrolling for the Logs panel in Explore and Dashboards", + "stage": "experimental", + "codeowner": "@grafana/observability-logs", + "frontend": true + } + }, + { + "metadata": { + "name": "kubernetesAggregator", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Enable grafana aggregator", + "stage": "experimental", + "codeowner": "@grafana/grafana-app-platform-squad", + "requiresRestart": true + } + }, + { + "metadata": { + "name": "alertStateHistoryLokiOnly", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Disable Grafana alerts from emitting annotations when a remote Loki instance is available.", + "stage": "experimental", + "codeowner": "@grafana/alerting-squad" + } + }, + { + "metadata": { + "name": "faroDatasourceSelector", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Enable the data source selector within the Frontend Apps section of the Frontend Observability", + "stage": "preview", + "codeowner": "@grafana/app-o11y", + "frontend": true + } + }, + { + "metadata": { + "name": "frontendSandboxMonitorOnly", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Enables monitor only in the plugin frontend sandbox (if enabled)", + "stage": "experimental", + "codeowner": "@grafana/plugins-platform-backend", + "frontend": true + } + }, + { + "metadata": { + "name": "annotationPermissionUpdate", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Change the way annotation permissions work by scoping them to folders and dashboards.", + "stage": "GA", + "codeowner": "@grafana/identity-access-team" + } + }, + { + "metadata": { + "name": "panelFilterVariable", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Enables use of the `systemPanelFilterVar` variable to filter panels in a dashboard", + "stage": "experimental", + "codeowner": "@grafana/dashboards-squad", + "frontend": true, + "hideFromDocs": true + } + }, + { + "metadata": { + "name": "groupByVariable", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Enable groupBy variable support in scenes dashboards", + "stage": "experimental", + "codeowner": "@grafana/dashboards-squad", + "hideFromAdminPage": true, + "hideFromDocs": true + } + }, + { + "metadata": { + "name": "lokiQuerySplittingConfig", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Give users the option to configure split durations for Loki queries", + "stage": "experimental", + "codeowner": "@grafana/observability-logs", + "frontend": true + } + }, + { + "metadata": { + "name": "lokiLogsDataplane", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Changes logs responses from Loki to be compliant with the dataplane specification.", + "stage": "experimental", + "codeowner": "@grafana/observability-logs" + } + }, + { + "metadata": { + "name": "dashboardSceneSolo", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Enables rendering dashboards using scenes for solo panels", + "stage": "experimental", + "codeowner": "@grafana/dashboards-squad", + "frontend": true + } + }, + { + "metadata": { + "name": "alertingSimplifiedRouting", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Enables users to easily configure alert notifications by specifying a contact point directly when editing or creating an alert rule", + "stage": "GA", + "codeowner": "@grafana/alerting-squad" + } + }, + { + "metadata": { + "name": "authAPIAccessTokenAuth", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Enables the use of Auth API access tokens for authentication", + "stage": "experimental", + "codeowner": "@grafana/identity-access-team", + "hideFromAdminPage": true, + "hideFromDocs": true + } + }, + { + "metadata": { + "name": "prometheusDataplane", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Changes responses to from Prometheus to be compliant with the dataplane specification. In particular, when this feature toggle is active, the numeric `Field.Name` is set from 'Value' to the value of the `__name__` label.", + "stage": "GA", + "codeowner": "@grafana/observability-metrics", + "allowSelfServe": true + } + }, + { + "metadata": { + "name": "prometheusCodeModeMetricNamesSearch", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Enables search for metric names in Code Mode, to improve performance when working with an enormous number of metric names", + "stage": "experimental", + "codeowner": "@grafana/observability-metrics", + "frontend": true + } + }, + { + "metadata": { + "name": "lokiQuerySplitting", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Split large interval queries into subqueries with smaller time intervals", + "stage": "GA", + "codeowner": "@grafana/observability-logs", + "frontend": true, + "allowSelfServe": true + } + }, + { + "metadata": { + "name": "awsDatasourcesTempCredentials", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Support temporary security credentials in AWS plugins for Grafana Cloud customers", + "stage": "experimental", + "codeowner": "@grafana/aws-datasources" + } + }, + { + "metadata": { + "name": "grafanaAPIServerWithExperimentalAPIs", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Register experimental APIs with the k8s API server", + "stage": "experimental", + "codeowner": "@grafana/grafana-app-platform-squad", + "requiresDevMode": true, + "requiresRestart": true + } + }, + { + "metadata": { + "name": "pluginsSkipHostEnvVars", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Disables passing host environment variable to plugin processes", + "stage": "experimental", + "codeowner": "@grafana/plugins-platform-backend" + } + }, + { + "metadata": { + "name": "alertingSaveStatePeriodic", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Writes the state periodically to the database, asynchronous to rule evaluation", + "stage": "privatePreview", + "codeowner": "@grafana/alerting-squad" + } + }, + { + "metadata": { + "name": "expressionParser", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Enable new expression parser", + "stage": "experimental", + "codeowner": "@grafana/grafana-app-platform-squad", + "requiresRestart": true + } + }, + { + "metadata": { + "name": "disableSecretsCompatibility", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Disable duplicated secret storage in legacy tables", + "stage": "experimental", + "codeowner": "@grafana/hosted-grafana-team", + "requiresRestart": true + } + }, + { + "metadata": { + "name": "cloudWatchCrossAccountQuerying", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Enables cross-account querying in CloudWatch datasources", + "stage": "GA", + "codeowner": "@grafana/aws-datasources", + "allowSelfServe": true + } + }, + { + "metadata": { + "name": "mlExpressions", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Enable support for Machine Learning in server-side expressions", + "stage": "experimental", + "codeowner": "@grafana/alerting-squad" + } + }, + { + "metadata": { + "name": "externalCorePlugins", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Allow core plugins to be loaded as external", + "stage": "experimental", + "codeowner": "@grafana/plugins-platform-backend" + } + }, + { + "metadata": { + "name": "idForwarding", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Generate signed id token for identity that can be forwarded to plugins and external services", + "stage": "experimental", + "codeowner": "@grafana/identity-access-team" + } + }, + { + "metadata": { + "name": "kubernetesSnapshots", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Routes snapshot requests from /api to the /apis endpoint", + "stage": "experimental", + "codeowner": "@grafana/grafana-app-platform-squad", + "requiresRestart": true + } + }, + { + "metadata": { + "name": "prometheusPromQAIL", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Prometheus and AI/ML to assist users in creating a query", + "stage": "experimental", + "codeowner": "@grafana/observability-metrics", + "frontend": true + } + }, + { + "metadata": { + "name": "recordedQueriesMulti", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Enables writing multiple items from a single query within Recorded Queries", + "stage": "GA", + "codeowner": "@grafana/observability-metrics" + } + }, + { + "metadata": { + "name": "logsExploreTableVisualisation", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "A table visualisation for logs in Explore", + "stage": "GA", + "codeowner": "@grafana/observability-logs", + "frontend": true + } + }, + { + "metadata": { + "name": "formatString", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Enable format string transformer", + "stage": "preview", + "codeowner": "@grafana/dataviz-squad", + "frontend": true + } + }, + { + "metadata": { + "name": "ssoSettingsApi", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Enables the SSO settings API and the OAuth configuration UIs in Grafana", + "stage": "preview", + "codeowner": "@grafana/identity-access-team", + "allowSelfServe": true + } + }, + { + "metadata": { + "name": "cloudWatchNewLabelParsing", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Updates CloudWatch label parsing to be more accurate", + "stage": "GA", + "codeowner": "@grafana/aws-datasources" + } + }, + { + "metadata": { + "name": "lokiMetricDataplane", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Changes metric responses from Loki to be compliant with the dataplane specification.", + "stage": "GA", + "codeowner": "@grafana/observability-logs", + "allowSelfServe": true + } + }, + { + "metadata": { + "name": "alertingInsights", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Show the new alerting insights landing page", + "stage": "GA", + "codeowner": "@grafana/alerting-squad", + "frontend": true, + "hideFromAdminPage": true + } + }, + { + "metadata": { + "name": "awsAsyncQueryCaching", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Enable caching for async queries for Redshift and Athena. Requires that the datasource has caching and async query support enabled", + "stage": "GA", + "codeowner": "@grafana/aws-datasources" + } + }, + { + "metadata": { + "name": "libraryPanelRBAC", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Enables RBAC support for library panels", + "stage": "experimental", + "codeowner": "@grafana/dashboards-squad", + "requiresRestart": true + } + }, + { + "metadata": { + "name": "externalServiceAccounts", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Automatic service account and token setup for plugins", + "stage": "preview", + "codeowner": "@grafana/identity-access-team", + "hideFromAdminPage": true + } + }, + { + "metadata": { + "name": "cloudRBACRoles", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Enabled grafana cloud specific RBAC roles", + "stage": "experimental", + "codeowner": "@grafana/identity-access-team", + "requiresRestart": true, + "hideFromDocs": true + } + }, + { + "metadata": { + "name": "sqlExpressions", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Enables using SQL and DuckDB functions as Expressions.", + "stage": "experimental", + "codeowner": "@grafana/grafana-app-platform-squad" + } + }, { "metadata": { "name": "scenes", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" }, "spec": { "description": "Experimental framework to build interactive dashboards", @@ -2086,11 +1340,23 @@ "frontend": true } }, + { + "metadata": { + "name": "alertStateHistoryLokiPrimary", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Enable a remote Loki instance as the primary source for state history reads.", + "stage": "experimental", + "codeowner": "@grafana/alerting-squad" + } + }, { "metadata": { "name": "transformationsRedesign", - "resourceVersion": "1712639261786", - "creationTimestamp": "2024-04-09T05:07:41Z" + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" }, "spec": { "description": "Enables the transformations redesign", @@ -2102,47 +1368,421 @@ }, { "metadata": { - "name": "actionSets", - "resourceVersion": "1712934405418", - "creationTimestamp": "2024-04-12T15:06:45Z", - "deletionTimestamp": "2024-04-12T15:17:53Z" + "name": "recoveryThreshold", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" }, "spec": { - "description": "Introduces action sets for resource permissions", - "stage": "experimental", - "codeowner": "@grafana/identity-access-team" - } - }, - { - "metadata": { - "name": "accessActionSets", - "resourceVersion": "1712935073026", - "creationTimestamp": "2024-04-12T15:17:53Z" - }, - "spec": { - "description": "Introduces action sets for resource permissions", - "stage": "experimental", - "codeowner": "@grafana/identity-access-team" - } - }, - { - "metadata": { - "name": "disableNumericMetricsSortingInExpressions", - "resourceVersion": "1713208725143", - "creationTimestamp": "2024-04-15T19:18:45Z" - }, - "spec": { - "description": "In server-side expressions, disable the sorting of numeric-kind metrics by their metric name or labels.", - "stage": "experimental", - "codeowner": "@grafana/observability-metrics", + "description": "Enables feature recovery threshold (aka hysteresis) for threshold server-side expression", + "stage": "GA", + "codeowner": "@grafana/alerting-squad", "requiresRestart": true } }, + { + "metadata": { + "name": "panelTitleSearchInV1", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Enable searching for dashboards using panel title in search v1", + "stage": "experimental", + "codeowner": "@grafana/search-and-storage", + "requiresDevMode": true + } + }, + { + "metadata": { + "name": "alertmanagerRemoteSecondary", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Enable Grafana to sync configuration and state with a remote Alertmanager.", + "stage": "experimental", + "codeowner": "@grafana/alerting-squad" + } + }, + { + "metadata": { + "name": "publicDashboardsScene", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Enables public dashboard rendering using scenes", + "stage": "experimental", + "codeowner": "@grafana/sharing-squad", + "frontend": true + } + }, + { + "metadata": { + "name": "prometheusIncrementalQueryInstrumentation", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Adds RudderStack events to incremental queries", + "stage": "experimental", + "codeowner": "@grafana/observability-metrics", + "frontend": true + } + }, + { + "metadata": { + "name": "alertingBacktesting", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Rule backtesting API for alerting", + "stage": "experimental", + "codeowner": "@grafana/alerting-squad" + } + }, + { + "metadata": { + "name": "logsContextDatasourceUi", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Allow datasource to provide custom UI for context view", + "stage": "GA", + "codeowner": "@grafana/observability-logs", + "frontend": true, + "allowSelfServe": true + } + }, + { + "metadata": { + "name": "refactorVariablesTimeRange", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Refactor time range variables flow to reduce number of API calls made when query variables are chained", + "stage": "preview", + "codeowner": "@grafana/dashboards-squad", + "hideFromAdminPage": true + } + }, + { + "metadata": { + "name": "extraThemes", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Enables extra themes", + "stage": "experimental", + "codeowner": "@grafana/grafana-frontend-platform", + "frontend": true + } + }, + { + "metadata": { + "name": "metricsSummary", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Enables metrics summary queries in the Tempo data source", + "stage": "experimental", + "codeowner": "@grafana/observability-traces-and-profiling", + "frontend": true + } + }, + { + "metadata": { + "name": "panelMonitoring", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Enables panel monitoring through logs and measurements", + "stage": "GA", + "codeowner": "@grafana/dataviz-squad", + "frontend": true + } + }, + { + "metadata": { + "name": "showDashboardValidationWarnings", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Show warnings when dashboards do not validate against the schema", + "stage": "experimental", + "codeowner": "@grafana/dashboards-squad" + } + }, + { + "metadata": { + "name": "accessControlOnCall", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Access control primitives for OnCall", + "stage": "preview", + "codeowner": "@grafana/identity-access-team", + "hideFromAdminPage": true + } + }, + { + "metadata": { + "name": "queryServiceRewrite", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Rewrite requests targeting /ds/query to the query service", + "stage": "experimental", + "codeowner": "@grafana/grafana-app-platform-squad", + "requiresRestart": true + } + }, + { + "metadata": { + "name": "canvasPanelPanZoom", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Allow pan and zoom in canvas panel", + "stage": "preview", + "codeowner": "@grafana/dataviz-squad", + "frontend": true + } + }, + { + "metadata": { + "name": "tableSharedCrosshair", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Enables shared crosshair in table panel", + "stage": "experimental", + "codeowner": "@grafana/dataviz-squad", + "frontend": true + } + }, + { + "metadata": { + "name": "kubernetesFeatureToggles", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Use the kubernetes API for feature toggle management in the frontend", + "stage": "experimental", + "codeowner": "@grafana/grafana-operator-experience-squad", + "frontend": true, + "hideFromAdminPage": true + } + }, + { + "metadata": { + "name": "featureHighlights", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Highlight Grafana Enterprise features", + "stage": "GA", + "codeowner": "@grafana/grafana-as-code", + "allowSelfServe": true + } + }, + { + "metadata": { + "name": "datasourceQueryMultiStatus", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Introduce HTTP 207 Multi Status for api/ds/query", + "stage": "experimental", + "codeowner": "@grafana/plugins-platform-backend" + } + }, + { + "metadata": { + "name": "scopeFilters", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Enables the use of scope filters in Grafana", + "stage": "experimental", + "codeowner": "@grafana/dashboards-squad", + "hideFromAdminPage": true, + "hideFromDocs": true + } + }, + { + "metadata": { + "name": "publicDashboardsEmailSharing", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Enables public dashboard sharing to be restricted to only allowed emails", + "stage": "preview", + "codeowner": "@grafana/sharing-squad", + "hideFromAdminPage": true, + "hideFromDocs": true + } + }, + { + "metadata": { + "name": "newPDFRendering", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "New implementation for the dashboard-to-PDF rendering", + "stage": "preview", + "codeowner": "@grafana/sharing-squad" + } + }, + { + "metadata": { + "name": "lokiRunQueriesInParallel", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Enables running Loki queries in parallel", + "stage": "privatePreview", + "codeowner": "@grafana/observability-logs" + } + }, + { + "metadata": { + "name": "queryService", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Register /apis/query.grafana.app/ -- will eventually replace /api/ds/query", + "stage": "experimental", + "codeowner": "@grafana/grafana-app-platform-squad", + "requiresRestart": true + } + }, + { + "metadata": { + "name": "cloudWatchBatchQueries", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Runs CloudWatch metrics queries as separate batches", + "stage": "preview", + "codeowner": "@grafana/aws-datasources" + } + }, + { + "metadata": { + "name": "betterPageScrolling", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Removes CustomScrollbar from the UI, relying on native browser scrollbars", + "stage": "GA", + "codeowner": "@grafana/grafana-frontend-platform", + "frontend": true + } + }, + { + "metadata": { + "name": "panelTitleSearch", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Search for dashboards using panel title", + "stage": "preview", + "codeowner": "@grafana/grafana-app-platform-squad", + "hideFromAdminPage": true + } + }, + { + "metadata": { + "name": "autoMigrateOldPanels", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Migrate old angular panels to supported versions (graph, table-old, worldmap, etc)", + "stage": "preview", + "codeowner": "@grafana/dataviz-squad", + "frontend": true + } + }, + { + "metadata": { + "name": "dashgpt", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Enable AI powered features in dashboards", + "stage": "GA", + "codeowner": "@grafana/dashboards-squad", + "frontend": true + } + }, + { + "metadata": { + "name": "dashboardSceneForViewers", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Enables dashboard rendering using Scenes for viewer roles", + "stage": "experimental", + "codeowner": "@grafana/dashboards-squad", + "frontend": true + } + }, + { + "metadata": { + "name": "queryOverLive", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Use Grafana Live WebSocket to execute backend queries", + "stage": "experimental", + "codeowner": "@grafana/grafana-app-platform-squad", + "frontend": true + } + }, + { + "metadata": { + "name": "lokiExperimentalStreaming", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Support new streaming approach for loki (prototype, needs special loki build)", + "stage": "experimental", + "codeowner": "@grafana/observability-logs" + } + }, { "metadata": { "name": "queryServiceFromUI", - "resourceVersion": "1713422970838", - "creationTimestamp": "2024-04-18T06:49:30Z" + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" }, "spec": { "description": "Routes requests to the new query service", @@ -2153,19 +1793,284 @@ }, { "metadata": { - "name": "queryService", - "resourceVersion": "1713504737045", - "creationTimestamp": "2024-04-18T06:49:30Z", - "annotations": { - "grafana.app/updatedTimestamp": "2024-04-19 05:32:17.045343 +0000 UTC" - } + "name": "exploreMetrics", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" }, "spec": { - "description": "Register /apis/query.grafana.app/ -- will eventually replace /api/ds/query", + "description": "Enables the new Explore Metrics core app", + "stage": "GA", + "codeowner": "@grafana/dashboards-squad", + "frontend": true + } + }, + { + "metadata": { + "name": "newDashboardWithFiltersAndGroupBy", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Enables filters and group by variables on all new dashboards. Variables are added only if default data source supports filtering.", "stage": "experimental", - "codeowner": "@grafana/grafana-app-platform-squad", + "codeowner": "@grafana/dashboards-squad", + "hideFromAdminPage": true, + "hideFromDocs": true + } + }, + { + "metadata": { + "name": "individualCookiePreferences", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Support overriding cookie preferences per user", + "stage": "experimental", + "codeowner": "@grafana/grafana-backend-group" + } + }, + { + "metadata": { + "name": "alertingNoDataErrorExecution", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Changes how Alerting state manager handles execution of NoData/Error", + "stage": "GA", + "codeowner": "@grafana/alerting-squad", "requiresRestart": true } + }, + { + "metadata": { + "name": "disableNumericMetricsSortingInExpressions", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "In server-side expressions, disable the sorting of numeric-kind metrics by their metric name or labels.", + "stage": "experimental", + "codeowner": "@grafana/observability-metrics", + "requiresRestart": true + } + }, + { + "metadata": { + "name": "logRequestsInstrumentedAsUnknown", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Logs the path for requests that are instrumented as unknown", + "stage": "experimental", + "codeowner": "@grafana/hosted-grafana-team" + } + }, + { + "metadata": { + "name": "vizAndWidgetSplit", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Split panels between visualizations and widgets", + "stage": "experimental", + "codeowner": "@grafana/dashboards-squad", + "frontend": true + } + }, + { + "metadata": { + "name": "pluginsAPIMetrics", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Sends metrics of public grafana packages usage by plugins", + "stage": "experimental", + "codeowner": "@grafana/plugins-platform-backend", + "frontend": true + } + }, + { + "metadata": { + "name": "alertmanagerRemoteOnly", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Disable the internal Alertmanager and only use the external one defined.", + "stage": "experimental", + "codeowner": "@grafana/alerting-squad" + } + }, + { + "metadata": { + "name": "jitterAlertRulesWithinGroups", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Distributes alert rule evaluations more evenly over time, including spreading out rules within the same group", + "stage": "preview", + "codeowner": "@grafana/alerting-squad", + "requiresRestart": true, + "hideFromDocs": true + } + }, + { + "metadata": { + "name": "promQLScope", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "In-development feature that will allow injection of labels into prometheus queries.", + "stage": "experimental", + "codeowner": "@grafana/observability-metrics" + } + }, + { + "metadata": { + "name": "influxdbRunQueriesInParallel", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Enables running InfluxDB Influxql queries in parallel", + "stage": "privatePreview", + "codeowner": "@grafana/observability-metrics" + } + }, + { + "metadata": { + "name": "traceQLStreaming", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Enables response streaming of TraceQL queries of the Tempo data source", + "stage": "GA", + "codeowner": "@grafana/observability-traces-and-profiling", + "frontend": true + } + }, + { + "metadata": { + "name": "newFolderPicker", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Enables the nested folder picker without having nested folders enabled", + "stage": "experimental", + "codeowner": "@grafana/grafana-frontend-platform", + "frontend": true + } + }, + { + "metadata": { + "name": "renderAuthJWT", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Uses JWT-based auth for rendering instead of relying on remote cache", + "stage": "preview", + "codeowner": "@grafana/grafana-as-code", + "hideFromAdminPage": true + } + }, + { + "metadata": { + "name": "alertingQueryOptimization", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Optimizes eligible queries in order to reduce load on datasources", + "stage": "GA", + "codeowner": "@grafana/alerting-squad" + } + }, + { + "metadata": { + "name": "configurableSchedulerTick", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Enable changing the scheduler base interval via configuration option unified_alerting.scheduler_tick_interval", + "stage": "experimental", + "codeowner": "@grafana/alerting-squad", + "requiresRestart": true, + "hideFromDocs": true + } + }, + { + "metadata": { + "name": "cachingOptimizeSerializationMemoryUsage", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "If enabled, the caching backend gradually serializes query responses for the cache, comparing against the configured `[caching]max_value_mb` value as it goes. This can can help prevent Grafana from running out of memory while attempting to cache very large query responses.", + "stage": "experimental", + "codeowner": "@grafana/grafana-operator-experience-squad" + } + }, + { + "metadata": { + "name": "permissionsFilterRemoveSubquery", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Alternative permission filter implementation that does not use subqueries for fetching the dashboard folder", + "stage": "experimental", + "codeowner": "@grafana/grafana-backend-group" + } + }, + { + "metadata": { + "name": "pdfTables", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Enables generating table data as PDF in reporting", + "stage": "preview", + "codeowner": "@grafana/sharing-squad" + } + }, + { + "metadata": { + "name": "exploreContentOutline", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Content outline sidebar", + "stage": "GA", + "codeowner": "@grafana/explore-squad", + "frontend": true, + "allowSelfServe": true + } + }, + { + "metadata": { + "name": "autoMigrateXYChartPanel", + "resourceVersion": "1713545444177", + "creationTimestamp": "2024-04-19T16:50:44Z" + }, + "spec": { + "description": "Migrate old XYChart panel to new XYChart2 model", + "stage": "preview", + "codeowner": "@grafana/dataviz-squad", + "frontend": true + } } ] } \ No newline at end of file diff --git a/scripts/modowners/README.md b/scripts/modowners/README.md index 06640dab31c..186778b150d 100644 --- a/scripts/modowners/README.md +++ b/scripts/modowners/README.md @@ -10,7 +10,7 @@ Currently `validate-modfile` is non-blocking, but will eventually become a block ### Example of ownership assignment -`cloud.google.com/go/storage v1.30.1 // @grafana/backend-platform` +`cloud.google.com/go/storage v1.30.1 // @grafana/grafana-backend-group` ## Utilities @@ -45,7 +45,7 @@ Example output: @grafana/plugins-platform-backend 7 @grafana/grafana-operator-experience-squad 3 @grafana/dataviz-squad 1 -@grafana/backend-platform 75 +@grafana/grafana-backend-group 75 @grafana/grafana-as-code 11 @grafana/identity-access-team 6 @grafana/partner-datasources 4 @@ -58,7 +58,7 @@ Example CLI command to get the owner for a specific dependency (you must use `de Example output: ``` -@grafana/backend-platform +@grafana/grafana-backend-group ``` ### `module` diff --git a/scripts/modowners/modowners_test.go b/scripts/modowners/modowners_test.go index 795f49bfcaf..639e939d08e 100644 --- a/scripts/modowners/modowners_test.go +++ b/scripts/modowners/modowners_test.go @@ -37,17 +37,17 @@ func TestCheck(t *testing.T) { {"Test valid modfile", "go.mod", ` require ( cloud.google.com/go/storage v1.28.1 // @delivery - cuelang.org/go v0.5.0 // @as-code @backend-platform + cuelang.org/go v0.5.0 // @as-code @grafana/grafana-backend-group github.com/Azure/azure-sdk-for-go v65.0.0+incompatible // indirect, @delivery - github.com/Masterminds/semver v1.5.0 // @delivery @backend-platform + github.com/Masterminds/semver v1.5.0 // @delivery @grafana/grafana-backend-group ) `, []string{"go.mod"}, true, ""}, {"Test invalid modfile", "go.mod", ` require ( cloud.google.com/go/storage v1.28.1 - cuelang.org/go v0.5.0 // @as-code @backend-platform + cuelang.org/go v0.5.0 // @as-code @grafana/grafana-backend-group github.com/Azure/azure-sdk-for-go v65.0.0+incompatible // indirect, @delivery - github.com/Masterminds/semver v1.5.0 // @delivery @backend-platform + github.com/Masterminds/semver v1.5.0 // @delivery @grafana/grafana-backend-group ) `, []string{"go.mod"}, false, "cloud.google.com/go/storage@v1.28.1\n"}, } { @@ -72,9 +72,9 @@ func TestModules(t *testing.T) { filesystem := fstest.MapFS{"go.mod": &fstest.MapFile{Data: []byte(` require ( cloud.google.com/go/storage v1.28.1 - cuelang.org/go v0.5.0 // @as-code @backend-platform + cuelang.org/go v0.5.0 // @as-code @grafana/grafana-backend-group github.com/Azure/azure-sdk-for-go v65.0.0+incompatible // indirect, @delivery - github.com/Masterminds/semver v1.5.0 // @delivery @backend-platform + github.com/Masterminds/semver v1.5.0 // @delivery @grafana/grafana-backend-group ) `)}}