blob: d2faede75c38c565a523539569b3c37b2cc94e27 [file] [log] [blame]
---
apiVersion: v1
kind: Namespace
metadata:
name: app-vault
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: data
namespace: app-vault
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 10Gi
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: server
namespace: app-vault
spec:
selector:
matchLabels:
app: server
replicas: 1
template:
metadata:
labels:
app: server
spec:
volumes:
- name: data
persistentVolumeClaim:
claimName: data
containers:
- name: server
image: vaultwarden/server:1.22.2
imagePullPolicy: IfNotPresent
env:
- name: ROCKET_PORT
value: "80"
- name: DISABLE_ADMIN_TOKEN
value: "true"
- name: DOMAIN
value: "https://vault.pcloud"
ports:
- name: http
containerPort: 80
protocol: TCP
volumeMounts:
- name: data
mountPath: /data
---
apiVersion: v1
kind: Service
metadata:
name: server
namespace: app-vault
spec:
type: ClusterIP
selector:
app: server
ports:
- name: http
port: 80
targetPort: http
protocol: TCP
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: ingress
namespace: app-vault
annotations:
cert-manager.io/cluster-issuer: "selfsigned-ca"
acme.cert-manager.io/http01-edit-in-place: "true"
spec:
ingressClassName: nginx-private
tls:
- hosts:
- vault.pcloud
secretName: cert-vault.pcloud
rules:
- host: vault.pcloud
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: server
port:
name: http