apiVersion: secrets.hashicorp.com/v1beta1 kind: VaultAuth metadata: name: default namespace: argo-opnsense-certificate spec: method: kubernetes mount: kubernetes kubernetes: role: argo-opnsense-certificate-kv serviceAccount: opnsense-certificate-vso vaultConnectionRef: vault/vault --- apiVersion: secrets.hashicorp.com/v1beta1 kind: VaultStaticSecret metadata: name: opnsense-certificate-credentials namespace: argo-opnsense-certificate spec: type: kv-v2 mount: secret path: opnsense/certificate-rotator destination: name: opnsense-certificate-credentials create: true overwrite: true transformation: excludeRaw: true excludes: - .* templates: key: text: '{{ get .Secrets "key" }}' secret: text: '{{ get .Secrets "secret" }}' vaultAuthRef: default --- apiVersion: secrets.hashicorp.com/v1beta1 kind: VaultStaticSecret metadata: name: quay-cluster-pull namespace: argo-opnsense-certificate spec: type: kv-v2 mount: secret path: quay/robots/cluster_pull destination: name: quay-cluster-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 }}"}}} refreshAfter: 1h vaultAuthRef: default --- apiVersion: secrets.hashicorp.com/v1beta1 kind: VaultStaticSecret metadata: name: opnsense-certificate-bootstrap-ca namespace: argo-opnsense-certificate spec: type: kv-v2 mount: secret path: opnsense/web-certificate destination: name: opnsense-certificate-bootstrap-ca create: true overwrite: true transformation: excludeRaw: true excludes: - .* templates: ca.crt: text: | {{ get .Secrets "ca.crt" }} vaultAuthRef: default --- apiVersion: secrets.hashicorp.com/v1beta1 kind: VaultDynamicSecret metadata: name: opnsense-certificate-vault-ca namespace: argo-opnsense-certificate spec: mount: pki path: cert/ca requestHTTPMethod: GET refreshAfter: 1h destination: name: opnsense-certificate-vault-ca create: true overwrite: true transformation: excludeRaw: true excludes: - .* templates: ca.crt: text: | {{ get .Secrets "certificate" }} vaultAuthRef: default --- apiVersion: secrets.hashicorp.com/v1beta1 kind: VaultDynamicSecret metadata: name: opnsense-certificate-managed-ca namespace: argo-opnsense-certificate spec: mount: pki_opnsense path: cert/ca requestHTTPMethod: GET refreshAfter: 1h destination: name: opnsense-certificate-managed-ca create: true overwrite: true transformation: excludeRaw: true excludes: - .* templates: ca.crt: text: | {{ get .Secrets "certificate" }} vaultAuthRef: default