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

76 lines
1.8 KiB
YAML
Raw Permalink 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
containers:
- name: vault
image: hashicorp/vault:latest
args: ["server"]
2026-06-08 10:16:03 -04:00
securityContext:
capabilities:
add: ["IPC_LOCK"]
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
2026-06-11 13:49:15 -04:00
persistentVolumeClaim:
claimName: keykeeper-data-pvc
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: keykeeper-data-pvc
namespace: vault
labels:
recurring-job.longhorn.io/source: "enabled"
recurring-job-group.longhorn.io/app-config-group: "enabled"
spec:
accessModes:
- ReadWriteOnce
storageClassName: longhorn
resources:
requests:
storage: 1Gi