apiVersion: external-secrets.io/v1beta1
kind: ExternalSecret
metadata:
  name: db-creds-ext
spec:
  dataFrom:
  - extract:
      key: sovereign-creds
  refreshInterval: 1h
  secretStoreRef:
    name: gcp-provider
    kind: ClusterSecretStore
  target:
    name: db-creds
    creationPolicy: Owner
---
apiVersion: iam.cnrm.cloud.google.com/v1beta1
kind: IAMPolicyMember
metadata:
  name: essa-sovereign-creds
spec:
  member: serviceAccount:ext-sec-${cluster_hash}@${gcp_project_id}.iam.gserviceaccount.com
  resourceRef:
    apiVersion: secretmanager.cnrm.cloud.google.com/v1beta1
    kind: SecretManagerSecret
    external: projects/${gcp_project_id}/secrets/sovereign-creds
  role: roles/secretmanager.secretAccessor