quorate/services/ca-sync/k8s/vault.yaml

69 lines
1.4 KiB
YAML
Raw Normal View History

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" }}'