apiVersion: external-secrets.io/v1beta1
kind: ExternalSecret
metadata:
  name: proxy-auth0-secret
spec:
  refreshInterval: 1h           # rate SecretManager pulls GCPSM
  secretStoreRef:
    kind: ClusterSecretStore
    name: default               # name of the SecretStore (or kind specified)
  target:
    name: proxy-auth0-client  # name of the k8s Secret to be created
    creationPolicy: Owner
  dataFrom:
  - extract:
      key: staging-proxy-auth0-client   # secret name in GCP Secret Manager, the content of secret is a JSON {"Auth0ClientID": "xxx", "Auth0ClientSecret": "yyy"}. As documented here https://external-secrets.io/v0.6.1/guides/all-keys-one-secret/
---
apiVersion: external-secrets.io/v1beta1
kind: ExternalSecret
metadata:
  name: o11y-auth0-secret
spec:
  refreshInterval: 1h           # rate SecretManager pulls GCPSM
  secretStoreRef:
    kind: ClusterSecretStore
    name: default               # name of the SecretStore (or kind specified)
  target:
    name: o11y-auth0-client  # name of the k8s Secret to be created
    creationPolicy: Owner
  dataFrom:
  - extract:
      key: staging-o11y-auth0-client
---
apiVersion: external-secrets.io/v1beta1
kind: ExternalSecret
metadata:
  name: common-external-secrets
spec:
  refreshInterval: 1h           # rate ESO pulls AWS Secret Manager
  secretStoreRef:
    kind: ClusterSecretStore
    name: default               # name of the SecretStore (or kind specified)
  target:
    name: common-external-secrets  # name of the k8s Secret to be created
    creationPolicy: Owner
  data:
    - secretKey: "auth_key"
      remoteRef:
        key: staging-config-manager-account-xregion-auth-key   # name of the AWS Secret Manager secret key
    - secretKey: "clinic_activity_token"
      remoteRef:
        key: staging-config-manager-clinic-activity-key   # name of the AWS Secret Manager secret key
    - secretKey: "dp_compat_auth_key"
      remoteRef:
        key: staging-dp-compat-xregion-auth-key  # name of the GCP Secret Manager secret key