Skip to content

feat: migrate prod and data grafana auth to the internal cloud zitadel - #1696

Merged
zackpollard merged 1 commit into
mainfrom
feat/migrate-grafana-prod-data-to-cloud-zitadel
Jun 17, 2026
Merged

feat: migrate prod and data grafana auth to the internal cloud zitadel#1696
zackpollard merged 1 commit into
mainfrom
feat/migrate-grafana-prod-data-to-cloud-zitadel

Conversation

@zackpollard

Copy link
Copy Markdown
Member

No description provided.

point the monitoring (prod) and pipelines/data grafana generic_oauth at
auth.internal.futo.org, source the client ids from the cloud zitadel
1password items, and enable oauth_allow_insecure_email_lookup so existing
users re-link by verified email on the sub change instead of failing.
@zackpollard
zackpollard requested a review from a team as a code owner June 17, 2026 12:08
@github-actions

Copy link
Copy Markdown
--- kubernetes/apps/monitoring/grafana/secrets Kustomization: flux-system/grafana-secrets ExternalSecret: flux-system/grafana-prod-oauth-clientid

+++ kubernetes/apps/monitoring/grafana/secrets Kustomization: flux-system/grafana-secrets ExternalSecret: flux-system/grafana-prod-oauth-clientid

@@ -8,13 +8,13 @@

     kustomize.toolkit.fluxcd.io/namespace: flux-system
   name: grafana-prod-oauth-clientid
   namespace: flux-system
 spec:
   data:
   - remoteRef:
-      key: ZITADEL_OAUTH_CLIENT_ID_GRAFANA_MONITORING_PROD
+      key: FUTO_ZITADEL_OAUTH_CLIENT_ID_GRAFANA_MONITORING_PROD
     secretKey: GRAFANA_OAUTH_CLIENT_ID
   refreshInterval: 20s
   secretStoreRef:
     kind: ClusterSecretStore
     name: 1p-tf
 
--- kubernetes/apps/pipelines/data/grafana/secrets Kustomization: flux-system/data-pipeline-grafana-secrets ExternalSecret: flux-system/grafana-data-pipeline-oauth-clientid

+++ kubernetes/apps/pipelines/data/grafana/secrets Kustomization: flux-system/data-pipeline-grafana-secrets ExternalSecret: flux-system/grafana-data-pipeline-oauth-clientid

@@ -8,13 +8,13 @@

     kustomize.toolkit.fluxcd.io/namespace: flux-system
   name: grafana-data-pipeline-oauth-clientid
   namespace: flux-system
 spec:
   data:
   - remoteRef:
-      key: ZITADEL_OAUTH_CLIENT_ID_GRAFANA_DATA_PROD
+      key: FUTO_ZITADEL_OAUTH_CLIENT_ID_GRAFANA_DATA_PROD
     secretKey: GRAFANA_OAUTH_CLIENT_ID
   refreshInterval: 20s
   secretStoreRef:
     kind: ClusterSecretStore
     name: 1p-tf
 
--- kubernetes/apps/pipelines/data/grafana/app Kustomization: flux-system/data-pipeline-grafana Grafana: data/grafana

+++ kubernetes/apps/pipelines/data/grafana/app Kustomization: flux-system/data-pipeline-grafana Grafana: data/grafana

@@ -8,23 +8,25 @@

     kustomize.toolkit.fluxcd.io/name: data-pipeline-grafana
     kustomize.toolkit.fluxcd.io/namespace: flux-system
   name: grafana
   namespace: data
 spec:
   config:
+    auth:
+      oauth_allow_insecure_email_lookup: 'true'
     auth.generic_oauth:
       allow_assign_grafana_admin: 'true'
-      api_url: https://zitadel.internal.immich.cloud/oidc/v1/userinfo
-      auth_url: https://zitadel.internal.immich.cloud/oauth/v2/authorize
+      api_url: https://auth.internal.futo.org/oidc/v1/userinfo
+      auth_url: https://auth.internal.futo.org/oauth/v2/authorize
       auto_login: 'true'
       client_id: ''
       client_secret: ''
       enabled: 'true'
       role_attribute_path: role
       scopes: openid email profile groups offline_access
-      token_url: https://zitadel.internal.immich.cloud/oauth/v2/token
+      token_url: https://auth.internal.futo.org/oauth/v2/token
       use_pkce: 'true'
     database:
       wal: 'true'
     server:
       root_url: https://grafana.data.immich.cloud/
     users:
--- kubernetes/apps/monitoring/grafana/app Kustomization: flux-system/grafana Grafana: monitoring/grafana

+++ kubernetes/apps/monitoring/grafana/app Kustomization: flux-system/grafana Grafana: monitoring/grafana

@@ -8,23 +8,25 @@

     kustomize.toolkit.fluxcd.io/name: grafana
     kustomize.toolkit.fluxcd.io/namespace: flux-system
   name: grafana
   namespace: monitoring
 spec:
   config:
+    auth:
+      oauth_allow_insecure_email_lookup: 'true'
     auth.generic_oauth:
       allow_assign_grafana_admin: 'true'
-      api_url: https://zitadel.internal.immich.cloud/oidc/v1/userinfo
-      auth_url: https://zitadel.internal.immich.cloud/oauth/v2/authorize
+      api_url: https://auth.internal.futo.org/oidc/v1/userinfo
+      auth_url: https://auth.internal.futo.org/oauth/v2/authorize
       auto_login: 'true'
       client_id: ''
       client_secret: ''
       enabled: 'true'
       role_attribute_path: role
       scopes: openid email profile groups offline_access
-      token_url: https://zitadel.internal.immich.cloud/oauth/v2/token
+      token_url: https://auth.internal.futo.org/oauth/v2/token
       use_pkce: 'true'
     database:
       wal: 'true'
     rendering:
       callback_url: http://grafana-service:3000/
       server_url: http://grafana-image-renderer:8081/render

@zackpollard
zackpollard merged commit 81b510a into main Jun 17, 2026
20 checks passed
@zackpollard
zackpollard deleted the feat/migrate-grafana-prod-data-to-cloud-zitadel branch June 17, 2026 12:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants