add app vaultwarden

This commit is contained in:
2024-07-19 15:54:42 +10:00
parent 5877fcb72c
commit 4c00fb1450
9 changed files with 143 additions and 1 deletions

View File

@@ -1,6 +1,6 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- ./development.yaml
- deployment.yaml
- ./service.yaml
- ./ingress.yaml

View File

@@ -0,0 +1,66 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: vaultwarden
namespace: vaultwarden
labels:
app.kubernetes.io/name: vaultwarden
spec:
selector:
matchLabels:
app.kubernetes.io/name: vaultwarden
template:
metadata:
labels:
app.kubernetes.io/name: vaultwarden
spec:
securityContext:
runAsUser: 1000
runAsGroup: 1000
containers:
- securityContext:
runAsUser: 1000
runAsNonRoot: true
runAsGroup: 1000
name: vaultwarden
image: vaultwarden/server:1.31.0
env:
- name: DOMAIN
value: https://vaultwarden.cluster.edward.sydney
- name: SIGNUPS_ALLOWED
value: "true"
- name: DB_USERNAME
valueFrom:
secretKeyRef:
name: vaultwarden-secrets
key: db_username
- name: DB_PASSWORD
valueFrom:
secretKeyRef:
name: vaultwarden-secrets
key: db_password
- name: DB_HOST
valueFrom:
secretKeyRef:
name: vaultwarden-secrets
key: db_host
- name: DB_NAME
valueFrom:
secretKeyRef:
name: vaultwarden-secrets
key: db_name
- name: DATABASE_URL
value: postgresql://$DB_USERNAME:$DB_PASSWORD@$DB_HOST:5432/$DB_NAME
ports:
- protocol: TCP
containerPort: 80
name: http
volumeMounts:
- name: vaultwarden-data
mountPath: /data
volumes:
- name: vaultwarden-data
hostPath:
path: /mnt/nfs/AppData/vaultwarden/data
type: Directory

View File

@@ -0,0 +1,5 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- ./deployment.yaml
- ./service.yaml

View File

@@ -0,0 +1,17 @@
apiVersion: v1
kind: Service
metadata:
name: vaultwarden
namespace: vaultwarden
labels:
app.kubernetes.io/name: vaultwarden
spec:
selector:
app.kubernetes.io/name: vaultwarden
type: ClusterIP
internalTrafficPolicy: Cluster
ports:
- protocol: TCP
port: 11080
targetPort: 80
name: http

View File

@@ -0,0 +1,12 @@
{
"appName": "vaultwarden",
"userGivenName": "vaultwarden",
"namespace": "vaultwarden",
"destNamespace": "vaultwarden",
"destServer": "https://kubernetes.default.svc",
"srcPath": "apps/vaultwarden/env/k3s-cluster",
"srcRepoURL": "https://github.com/3dwardch3ng/home-cluster-ops.git",
"srcTargetRevision": "",
"labels": null,
"annotations": null
}

View File

@@ -0,0 +1,21 @@
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: vaultwarden-ingress
namespace: vaultwarden
annotations:
nginx.ingress.kubernetes.io/ssl-redirect: "false"
nginx.ingress.kubernetes.io/use-regex: "true"
spec:
ingressClassName: nginx
rules:
- host: "vaultwarden.cluster.edward.sydney"
http:
paths:
- pathType: Prefix
path: "/"
backend:
service:
name: vaultwarden
port:
number: 11080

View File

@@ -0,0 +1,5 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- ../../base
- ./ingress.yaml

View File

@@ -0,0 +1,16 @@
apiVersion: v1
kind: Secret
metadata:
annotations:
argocd.argoproj.io/sync-options: Prune=false
sealedsecrets.bitnami.com/cluster-wide: "true"
sealedsecrets.bitnami.com/managed: "true"
creationTimestamp: null
name: vaultwarden-secrets
namespace: vaultwarden
type: Opaque
stringData:
db_host: "postgresql-primary.postgresql.svc.cluster.local"
db_name: "vaultwarden"
db_username: "vaultwarden_user"
db_password: "ZBNNFohNbMajoV.Cojthxvf2"