Files
project-gitops/platform/shared-services/vault/base/vault-deployment.yaml
T

92 lines
2.6 KiB
YAML

apiVersion: apps/v1
kind: Deployment
metadata:
name: vault
spec:
replicas: 1
strategy:
type: Recreate
selector:
matchLabels:
app: vault
template:
metadata:
labels:
app: vault
spec:
serviceAccountName: vault-server
containers:
- name: vault
image: hashicorp/vault:1.18.5@sha256:750bb37c1638fa194ab37053a81618c61bb0491ddec6fccac87c07a8e6cd8166
command:
- /bin/sh
- -ec
env:
- name: VAULT_ADDR
value: http://127.0.0.1:8200
- name: POD_IP
valueFrom:
fieldRef:
fieldPath: status.podIP
- name: VAULT_API_ADDR
value: http://$(POD_IP):8200
- name: VAULT_CLUSTER_ADDR
value: http://$(POD_IP):8201
args:
- |
cp /vault/config/vault.hcl /tmp/vault.hcl
exec vault server -config=/tmp/vault.hcl
ports:
- containerPort: 8200
name: http
- containerPort: 8201
name: cluster
volumeMounts:
- name: vault-config
mountPath: /vault/config
readOnly: true
- name: vault-data
mountPath: /vault/data
readinessProbe:
exec:
command:
- sh
- -c
- vault status -address=http://127.0.0.1:8200 >/dev/null 2>&1
initialDelaySeconds: 10
periodSeconds: 10
timeoutSeconds: 5
livenessProbe:
exec:
command:
- sh
- -c
- vault status -address=http://127.0.0.1:8200 >/dev/null 2>&1; code=$?; [ "$code" -eq 0 ] || [ "$code" -eq 2 ]
initialDelaySeconds: 20
periodSeconds: 15
timeoutSeconds: 5
startupProbe:
exec:
command:
- sh
- -c
- vault status -address=http://127.0.0.1:8200 >/dev/null 2>&1; code=$?; [ "$code" -eq 0 ] || [ "$code" -eq 2 ]
periodSeconds: 5
timeoutSeconds: 5
failureThreshold: 30
resources:
requests:
cpu: 100m
memory: 256Mi
limits:
cpu: 500m
memory: 512Mi
volumes:
- name: vault-config
configMap:
name: vault-config
defaultMode: 0555
- name: vault-data
persistentVolumeClaim:
claimName: vault-data