From a1280ee7046077972db2280a95cc32ee7b7b32cf Mon Sep 17 00:00:00 2001 From: Radar231 Date: Mon, 13 Sep 2021 18:55:16 -0400 Subject: [PATCH] initial checkin --- README.md | 12 ++++++++++ vaultwarden_deployment.yml | 48 ++++++++++++++++++++++++++++++++++++++ vaultwarden_ingress.yml | 19 +++++++++++++++ vaultwarden_pv.yml | 21 +++++++++++++++++ vaultwarden_pvc.yml | 19 +++++++++++++++ vaultwarden_service.yml | 14 +++++++++++ 6 files changed, 133 insertions(+) create mode 100644 README.md create mode 100644 vaultwarden_deployment.yml create mode 100644 vaultwarden_ingress.yml create mode 100644 vaultwarden_pv.yml create mode 100644 vaultwarden_pvc.yml create mode 100644 vaultwarden_service.yml diff --git a/README.md b/README.md new file mode 100644 index 0000000..baa11da --- /dev/null +++ b/README.md @@ -0,0 +1,12 @@ +# vaultwarden k8s manifest + +## Introduction + +This deploys a vaultwarden server. + +## Links + +* https://hub.docker.com/r/vaultwarden/server +* https://github.com/dani-garcia/vaultwarden +* https://github.com/dani-garcia/vaultwarden/wiki + diff --git a/vaultwarden_deployment.yml b/vaultwarden_deployment.yml new file mode 100644 index 0000000..e543b81 --- /dev/null +++ b/vaultwarden_deployment.yml @@ -0,0 +1,48 @@ +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: vaultwarden +spec: + selector: + matchLabels: + app: vaultwarden + replicas: 1 + strategy: + type: Recreate + template: + metadata: + labels: + app: vaultwarden + spec: + affinity: + nodeAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + nodeSelectorTerms: + - matchExpressions: + - key: beta.kubernetes.io/arch + operator: In + values: + - arm64 + containers: + - name: vaultwarden + image: vaultwarden/server + env: + - name: PUID + value: "1000" + - name: PGID + value: "1000" + - name: TZ + value: "America/Toronto" + ports: + - containerPort: 80 + name: "vaultwarden" + volumeMounts: + - name: vaultwarden + mountPath: "/data" + volumes: + - name: vaultwarden + persistentVolumeClaim: + claimName: vaultwarden-pvc + +# EOF diff --git a/vaultwarden_ingress.yml b/vaultwarden_ingress.yml new file mode 100644 index 0000000..38a629b --- /dev/null +++ b/vaultwarden_ingress.yml @@ -0,0 +1,19 @@ +--- +apiVersion: extensions/v1beta1 +kind: Ingress +metadata: + name: vaultwarden + annotations: + kubernetes.io/ingress.class: traefik +spec: + rules: + - host: vaultwarden.lan + http: + paths: + - path: / + pathType: Prefix + backend: + serviceName: vaultwarden + servicePort: 80 + +# EOF diff --git a/vaultwarden_pv.yml b/vaultwarden_pv.yml new file mode 100644 index 0000000..2260955 --- /dev/null +++ b/vaultwarden_pv.yml @@ -0,0 +1,21 @@ +--- +apiVersion: v1 +kind: PersistentVolume +metadata: + name: vaultwarden-pv + labels: + name: vaultwarden-pv +spec: + storageClassName: manual + capacity: + storage: 1Gi + accessModes: + - ReadWriteOnce + mountOptions: + - hard + - nfsvers=4.0 + nfs: + server: 192.168.7.11 + path: "/volume1/k8s-storage/vaultwarden-data" + +# EOF diff --git a/vaultwarden_pvc.yml b/vaultwarden_pvc.yml new file mode 100644 index 0000000..fee4d98 --- /dev/null +++ b/vaultwarden_pvc.yml @@ -0,0 +1,19 @@ +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: vaultwarden-pvc + labels: + app: vaultwarden +spec: + accessModes: + - ReadWriteOnce + storageClassName: "manual" + resources: + requests: + storage: 1Gi + selector: + matchLabels: + name: vaultwarden-pv + +# EOF diff --git a/vaultwarden_service.yml b/vaultwarden_service.yml new file mode 100644 index 0000000..0680f81 --- /dev/null +++ b/vaultwarden_service.yml @@ -0,0 +1,14 @@ +--- +apiVersion: v1 +kind: Service +metadata: + name: vaultwarden +spec: + ports: + - name: http80 + port: 80 + selector: + # apply service to any pod with label app: nginx + app: vaultwarden + +# EOF