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: |
|
|
|
|
|
{{- with secret "kv/data/atlas/vaultwarden/vaultwarden-db-url" -}}
|
|
|
|
|
export DATABASE_URL="{{ .Data.data.DATABASE_URL }}"
|
|
|
|
|
{{- end }}
|
|
|
|
|
{{- with secret "kv/data/atlas/vaultwarden/vaultwarden-admin" -}}
|
|
|
|
|
export ADMIN_TOKEN="{{ .Data.data.ADMIN_TOKEN }}"
|
|
|
|
|
{{- end }}
|
|
|
|
|
{{- with secret "kv/data/atlas/shared/postmark-relay" -}}
|
|
|
|
|
export SMTP_USERNAME="{{ index .Data.data "relay-username" }}"
|
|
|
|
|
export SMTP_PASSWORD="{{ index .Data.data "relay-password" }}"
|
|
|
|
|
{{- end }}
|
2026-01-02 01:12:35 -03:00
|
|
|
spec:
|
2026-01-14 02:54:59 -03:00
|
|
|
serviceAccountName: vaultwarden-vault
|
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"
|
|
|
|
|
- name: SMTP_HOST
|
2026-01-14 10:07:31 -03:00
|
|
|
value: "smtp.postmarkapp.com"
|
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-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
|