k3s/services/vault/keykeeper/keykeeper-deployment.yaml

60 lines
1.5 KiB
YAML
Raw Normal View History

apiVersion: apps/v1
kind: Deployment
metadata:
name: vault-keykeeper
namespace: vault
spec:
replicas: 1
selector:
matchLabels:
app: vault-keykeeper
template:
metadata:
labels:
app: vault-keykeeper
spec:
2026-04-07 13:14:18 -04:00
serviceAccountName: vault # Allows k8s auth for autounsealing
nodeSelector:
app: keykeeper # Should be Robin/some non-server node with a /keykeeper local dir
containers:
- name: vault
image: hashicorp/vault:latest
args: ["server"]
env:
- name: VAULT_LOCAL_CONFIG
value: |
2026-04-07 13:14:18 -04:00
ui = true
storage "file" {
path = "/vault/file"
}
listener "tcp" {
address = "0.0.0.0:8200"
tls_disable = 1
}
disable_mlock = true
- name: VAULT_API_ADDR
2026-04-07 13:14:18 -04:00
value: "http://vault-keykeeper.vault.svc.cluster.local:8200"
- name: SKIP_SETCAP
value: "true"
- name: VAULT_ADDR
value: "http://127.0.0.1:8200"
- name: VAULT_K8S_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- name: VAULT_K8S_POD_NAME
valueFrom:
fieldRef:
fieldPath: metadata.name
ports:
- containerPort: 8200
2026-04-07 13:14:18 -04:00
name: web-ui
volumeMounts:
- name: vault-data
mountPath: /vault/file
volumes:
- name: vault-data
hostPath:
path: /vaultkeeper
type: DirectoryOrCreate