--- apiVersion: v1 kind: ServiceAccount metadata: name: grafana-vso namespace: grafana --- apiVersion: secrets.hashicorp.com/v1beta1 kind: VaultAuth metadata: name: default namespace: grafana spec: method: kubernetes mount: kubernetes kubernetes: role: grafana serviceAccount: grafana-vso vaultConnectionRef: vault/vault --- apiVersion: secrets.hashicorp.com/v1beta1 kind: VaultStaticSecret metadata: name: grafana-oidc-zitadel namespace: grafana spec: type: kv-v2 mount: secret path: grafana/oidc/zitadel destination: name: grafana-oidc-zitadel create: true refreshAfter: 1h vaultAuthRef: default --- apiVersion: secrets.hashicorp.com/v1beta1 kind: VaultDynamicSecret metadata: name: grafana-db namespace: grafana spec: mount: database path: static-creds/grafana allowStaticCreds: true refreshAfter: 5m destination: name: grafana-db create: true vaultAuthRef: default --- apiVersion: secrets.hashicorp.com/v1beta1 kind: VaultStaticSecret metadata: name: grafana-s3 namespace: grafana spec: type: kv-v2 mount: secret path: versitygw/users/grafana destination: name: grafana-s3 create: true refreshAfter: 1h vaultAuthRef: default --- apiVersion: secrets.hashicorp.com/v1beta1 kind: VaultStaticSecret metadata: name: grafana-rcon namespace: grafana spec: type: kv-v2 mount: secret path: minecraft/rcon destination: name: grafana-rcon create: true transformation: excludeRaw: true excludes: [.*] templates: password: text: '{{ get .Secrets "password" }}' refreshAfter: 1h vaultAuthRef: default --- apiVersion: secrets.hashicorp.com/v1beta1 kind: VaultDynamicSecret metadata: name: grafana-ca namespace: grafana spec: mount: pki path: cert/ca requestHTTPMethod: GET destination: name: grafana-ca create: true transformation: excludeRaw: true excludes: [.*] templates: ca.crt: text: '{{ get .Secrets "certificate" }}' refreshAfter: 1h vaultAuthRef: default --- apiVersion: secrets.hashicorp.com/v1beta1 kind: VaultStaticSecret metadata: name: grafana-pull namespace: grafana spec: type: kv-v2 mount: secret path: quay/oauth/project-delivery-reader refreshAfter: 5m destination: name: grafana-pull create: true type: kubernetes.io/dockerconfigjson transformation: excludeRaw: true excludes: [.*] templates: .dockerconfigjson: text: | {{- $token := get .Secrets "token" -}} {"auths":{"registry.quorate.internal":{"username":"$oauthtoken","password":"{{ $token }}","auth":"{{ printf "%s:%s" "$oauthtoken" $token | b64enc }}"}}} vaultAuthRef: default --- apiVersion: secrets.hashicorp.com/v1beta1 kind: VaultStaticSecret metadata: name: grafana-vmauth-metrics-token namespace: grafana spec: type: kv-v2 mount: secret path: victoriametrics/vmauth/query destination: name: grafana-vmauth-metrics-token create: true refreshAfter: 1h vaultAuthRef: default --- apiVersion: secrets.hashicorp.com/v1beta1 kind: VaultStaticSecret metadata: name: grafana-vmauth-logs-token namespace: grafana spec: type: kv-v2 mount: secret path: victorialogs/vmauth/query destination: name: grafana-vmauth-logs-token create: true refreshAfter: 1h vaultAuthRef: default