2026-01-02 01:12:35 -03:00
|
|
|
# services/vaultwarden/deployment.yaml
|
|
|
|
|
apiVersion: apps/v1
|
|
|
|
|
kind: Deployment
|
|
|
|
|
metadata:
|
|
|
|
|
name: vaultwarden
|
|
|
|
|
namespace: vaultwarden
|
|
|
|
|
spec:
|
|
|
|
|
replicas: 1
|
2026-01-03 17:07:48 -03:00
|
|
|
strategy:
|
2026-01-03 17:12:46 -03:00
|
|
|
type: RollingUpdate
|
|
|
|
|
rollingUpdate:
|
|
|
|
|
maxSurge: 0
|
|
|
|
|
maxUnavailable: 1
|
2026-01-02 01:12:35 -03:00
|
|
|
selector:
|
|
|
|
|
matchLabels:
|
|
|
|
|
app: vaultwarden
|
|
|
|
|
template:
|
|
|
|
|
metadata:
|
|
|
|
|
labels:
|
|
|
|
|
app: vaultwarden
|
2026-01-14 12:28:10 -03:00
|
|
|
annotations:
|
|
|
|
|
vault.hashicorp.com/agent-inject: "true"
|
|
|
|
|
vault.hashicorp.com/role: "vaultwarden"
|
|
|
|
|
vault.hashicorp.com/agent-inject-secret-vaultwarden-env.sh: "kv/data/atlas/vaultwarden/vaultwarden-db-url"
|
|
|
|
|
vault.hashicorp.com/agent-inject-template-vaultwarden-env.sh: |
|
2026-01-14 13:40:29 -03:00
|
|
|
{{ with secret "kv/data/atlas/vaultwarden/vaultwarden-db-url" }}
|
2026-01-14 12:28:10 -03:00
|
|
|
export DATABASE_URL="{{ .Data.data.DATABASE_URL }}"
|
2026-01-14 13:40:29 -03:00
|
|
|
{{ end }}
|
|
|
|
|
{{ with secret "kv/data/atlas/vaultwarden/vaultwarden-admin" }}
|
2026-01-14 12:28:10 -03:00
|
|
|
export ADMIN_TOKEN="{{ .Data.data.ADMIN_TOKEN }}"
|
2026-01-14 13:40:29 -03:00
|
|
|
{{ end }}
|
2026-01-19 02:17:16 -03:00
|
|
|
{{ with secret "kv/data/atlas/mailu/mailu-initial-account-secret" }}
|
|
|
|
|
export SMTP_PASSWORD="{{ .Data.data.password }}"
|
2026-01-14 13:40:29 -03:00
|
|
|
{{ end }}
|
2026-01-02 01:12:35 -03:00
|
|
|
spec:
|
2026-01-14 02:54:59 -03:00
|
|
|
serviceAccountName: vaultwarden-vault
|
2026-01-18 03:09:40 -03:00
|
|
|
nodeSelector:
|
|
|
|
|
kubernetes.io/arch: arm64
|
|
|
|
|
node-role.kubernetes.io/worker: "true"
|
2026-01-02 01:12:35 -03:00
|
|
|
containers:
|
|
|
|
|
- name: vaultwarden
|
|
|
|
|
image: vaultwarden/server:1.33.2
|
2026-01-14 02:54:59 -03:00
|
|
|
command: ["/bin/sh", "-c"]
|
|
|
|
|
args:
|
|
|
|
|
- >-
|
2026-01-14 12:28:10 -03:00
|
|
|
. /vault/secrets/vaultwarden-env.sh
|
2026-01-14 02:54:59 -03:00
|
|
|
&& exec /start.sh
|
2026-01-02 01:12:35 -03:00
|
|
|
env:
|
|
|
|
|
- name: SIGNUPS_ALLOWED
|
2026-01-03 16:55:02 -03:00
|
|
|
value: "false"
|
|
|
|
|
- name: INVITATIONS_ALLOWED
|
2026-01-02 01:12:35 -03:00
|
|
|
value: "true"
|
2026-01-03 17:44:24 -03:00
|
|
|
- name: DOMAIN
|
|
|
|
|
value: "https://vault.bstein.dev"
|
2026-01-18 03:00:24 -03:00
|
|
|
- name: DB_CONNECTION_RETRIES
|
|
|
|
|
value: "0"
|
|
|
|
|
- name: DATABASE_TIMEOUT
|
|
|
|
|
value: "60"
|
|
|
|
|
- name: DATABASE_MIN_CONNS
|
|
|
|
|
value: "2"
|
|
|
|
|
- name: DATABASE_MAX_CONNS
|
|
|
|
|
value: "20"
|
|
|
|
|
- name: DATABASE_IDLE_TIMEOUT
|
|
|
|
|
value: "600"
|
2026-01-03 17:44:24 -03:00
|
|
|
- name: SMTP_HOST
|
2026-01-19 02:31:41 -03:00
|
|
|
value: "mail.bstein.dev"
|
2026-01-03 17:44:24 -03:00
|
|
|
- name: SMTP_PORT
|
2026-01-14 10:07:31 -03:00
|
|
|
value: "587"
|
2026-01-03 17:44:24 -03:00
|
|
|
- name: SMTP_SECURITY
|
|
|
|
|
value: "starttls"
|
2026-01-03 17:54:27 -03:00
|
|
|
- name: SMTP_ACCEPT_INVALID_HOSTNAMES
|
2026-01-14 10:07:31 -03:00
|
|
|
value: "false"
|
2026-01-03 17:54:27 -03:00
|
|
|
- name: SMTP_ACCEPT_INVALID_CERTS
|
2026-01-14 10:07:31 -03:00
|
|
|
value: "false"
|
2026-01-19 02:17:16 -03:00
|
|
|
- name: SMTP_USERNAME
|
|
|
|
|
value: "no-reply-vaultwarden@bstein.dev"
|
2026-01-03 17:44:24 -03:00
|
|
|
- name: SMTP_FROM
|
2026-01-14 10:07:31 -03:00
|
|
|
value: "no-reply-vaultwarden@bstein.dev"
|
2026-01-03 17:44:24 -03:00
|
|
|
- name: SMTP_FROM_NAME
|
2026-01-14 10:07:31 -03:00
|
|
|
value: "Vaultwarden"
|
2026-01-02 01:12:35 -03:00
|
|
|
ports:
|
|
|
|
|
- name: http
|
|
|
|
|
containerPort: 80
|
|
|
|
|
protocol: TCP
|
|
|
|
|
volumeMounts:
|
|
|
|
|
- name: vaultwarden-data
|
|
|
|
|
mountPath: /data
|
|
|
|
|
volumes:
|
|
|
|
|
- name: vaultwarden-data
|
|
|
|
|
persistentVolumeClaim:
|
|
|
|
|
claimName: vaultwarden-data
|