apiVersion: v1 kind: ServiceAccount metadata: name: zot-vso namespace: project-delivery automountServiceAccountToken: false --- apiVersion: secrets.hashicorp.com/v1beta1 kind: VaultAuth metadata: name: zot namespace: project-delivery spec: method: kubernetes mount: kubernetes kubernetes: role: pg-image-writer serviceAccount: pg-image-zot-vso vaultConnectionRef: vault/vault --- apiVersion: secrets.hashicorp.com/v1beta1 kind: VaultStaticSecret metadata: name: writer namespace: project-delivery spec: type: kv-v2 mount: secret path: zot/pg-image refreshAfter: 1h destination: name: pg-image-writer create: true overwrite: true type: kubernetes.io/dockerconfigjson transformation: excludeRaw: true excludes: [.*] templates: .dockerconfigjson: text: | {{- $user := get .Secrets "username" -}} {{- $password := get .Secrets "password" -}} {"auths":{"zot.quorate.internal":{"username":"{{ $user }}","password":"{{ $password }}","auth":"{{ printf "%s:%s" $user $password | b64enc }}"}}} vaultAuthRef: pg-image-zot