apiVersion: v1 kind: ServiceAccount metadata: name: ca-sync namespace: vault --- apiVersion: v1 kind: ServiceAccount metadata: name: ca-sync-vso namespace: vault --- apiVersion: secrets.hashicorp.com/v1beta1 kind: VaultAuth metadata: name: ca-sync namespace: vault spec: method: kubernetes mount: kubernetes kubernetes: role: ca-sync-pull serviceAccount: ca-sync-vso vaultConnectionRef: vault/vault --- apiVersion: secrets.hashicorp.com/v1beta1 kind: VaultStaticSecret metadata: name: ca-sync-pull namespace: vault spec: type: kv-v2 mount: secret path: quay/robots/cluster_pull refreshAfter: 1h vaultAuthRef: ca-sync destination: name: ca-sync-pull create: true overwrite: true type: kubernetes.io/dockerconfigjson transformation: excludeRaw: true excludes: [.*] templates: .dockerconfigjson: text: '{"auths":{"registry.quorate.internal":{"auth":"{{ printf "%s:%s" (get .Secrets "username") (get .Secrets "token") | b64enc }}"}}}' --- apiVersion: secrets.hashicorp.com/v1beta1 kind: VaultDynamicSecret metadata: name: ca-sync-root namespace: vault spec: vaultAuthRef: ca-sync mount: pki path: cert/ca requestHTTPMethod: GET refreshAfter: 1h destination: create: true overwrite: true name: ca-sync-root transformation: excludeRaw: true excludes: [.*] templates: ca.crt: text: '{{ get .Secrets "certificate" }}'