titan-iac/services/vault/k8s-auth-config-cronjob.yaml

61 lines
1.9 KiB
YAML
Raw Normal View History

# services/vault/k8s-auth-config-cronjob.yaml
apiVersion: batch/v1
kind: CronJob
metadata:
name: vault-k8s-auth-config
namespace: vault
labels:
atlas.bstein.dev/glue: "true"
spec:
schedule: "*/15 * * * *"
suspend: false
concurrencyPolicy: Forbid
successfulJobsHistoryLimit: 1
failedJobsHistoryLimit: 3
jobTemplate:
spec:
backoffLimit: 1
template:
spec:
2026-01-15 02:06:28 -03:00
serviceAccountName: vault-admin
restartPolicy: Never
nodeSelector:
kubernetes.io/arch: arm64
node-role.kubernetes.io/worker: "true"
containers:
- name: configure-k8s-auth
image: hashicorp/vault:1.17.6
imagePullPolicy: IfNotPresent
command:
2026-01-14 01:35:06 -03:00
- sh
- /scripts/vault_k8s_auth_configure.sh
env:
- name: VAULT_ADDR
2026-01-17 03:17:36 -03:00
value: http://10.43.57.249:8200
2026-01-15 01:52:24 -03:00
- name: VAULT_K8S_ROLE
2026-01-15 02:06:28 -03:00
value: vault-admin
- name: VAULT_TOKEN
valueFrom:
secretKeyRef:
name: vault-init
key: root_token
2026-01-15 02:14:08 -03:00
- name: VAULT_K8S_TOKEN_REVIEWER_JWT_FILE
value: /var/run/secrets/vault-token-reviewer/token
- name: VAULT_K8S_ROLE_TTL
value: 1h
volumeMounts:
- name: k8s-auth-config-script
mountPath: /scripts
readOnly: true
2026-01-15 02:14:08 -03:00
- name: token-reviewer
mountPath: /var/run/secrets/vault-token-reviewer
readOnly: true
volumes:
- name: k8s-auth-config-script
configMap:
name: vault-k8s-auth-config-script
defaultMode: 0555
2026-01-15 02:14:08 -03:00
- name: token-reviewer
secret:
secretName: vault-admin-token-reviewer