add vault

This commit is contained in:
James Andariese 2023-04-27 20:56:37 -05:00
parent fe7c1936ee
commit 7699c49a46
6 changed files with 122 additions and 0 deletions

53
vault/deployment.yaml Normal file
View File

@ -0,0 +1,53 @@
apiVersion: apps/v1
kind: Deployment
metadata:
namespace: vault
name: vault
spec:
replicas: 1
selector:
matchLabels:
app: vault
strategy:
type: Recreate
template:
metadata:
labels:
app: vault
spec:
containers:
- env:
- name: VAULT_ADDR
value: "http://127.0.0.1:8200"
- name: VAULT_LOCAL_CONFIG
value: |
storage "file" {
path = "/vault/file"
}
listener "tcp" {
address = "0.0.0.0:8200"
tls_disable = 1
}
api_addr = "https://vault.strudelline.net"
ui = true
disable_mlock = true # k8s can't swap anyway
image: hashicorp/vault:1.13.1
args:
- server
name: vault
volumeMounts:
- mountPath: /vault/logs
name: vault-logs
- mountPath: /vault/file
name: vault-file
restartPolicy: Always
volumes:
- name: vault-file
persistentVolumeClaim:
claimName: vault-file
- name: vault-logs
persistentVolumeClaim:
claimName: vault-logs

24
vault/ingress.yaml Normal file
View File

@ -0,0 +1,24 @@
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: vault
namespace: vault
annotations:
haproxy-ingress.github.io/ssl-redirect: "true"
spec:
ingressClassName: haproxy
rules:
- host: vault.strudelline.net
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: vault
port:
number: 8200
tls:
- hosts:
- vault.strudelline.net
secretName: wildcard-tls

12
vault/nfs-file-vol.yaml Normal file
View File

@ -0,0 +1,12 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: vault-file
namespace: vault
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 1Gi
storageClassName: nfs

12
vault/nfs-logs-vol.yaml Normal file
View File

@ -0,0 +1,12 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: vault-logs
namespace: vault
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 1Gi
storageClassName: nfs

4
vault/ns.yaml Normal file
View File

@ -0,0 +1,4 @@
apiVersion: v1
kind: Namespace
metadata:
name: vault

17
vault/svc.yaml Normal file
View File

@ -0,0 +1,17 @@
apiVersion: v1
kind: Service
metadata:
labels:
app: vault
name: vault
namespace: vault
spec:
selector:
app: vault
ports:
- name: http
port: 8200
protocol: TCP
targetPort: 8200
#clusterIP: None
type: ClusterIP