feat(deploy): k8s manifests for microk8s (vncmail.sandbox.vnc.de)

Bulwark is stateful (local /app/data) — Vercel serverless (read-only fs)
crashes it. Deploy as a container with 4 persistent volumes on microk8s,
alongside bulwark.sandbox.vnc.de. Adds deploy/k8s/ (namespace, pvc, deployment,
service, ingress, secret template, runbook) + rewrites setup doc off Vercel.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Bernd Rodler
2026-08-03 17:09:54 +02:00
co-authored by Claude Opus 4.8
parent 83a9c5a809
commit a3d551b640
11 changed files with 347 additions and 32 deletions
+50
View File
@@ -0,0 +1,50 @@
# Four persistent volumes — mirror the fork's docker-compose volumes.
# storageClassName: microk8s default is "microk8s-hostpath". Match your
# cluster: `kubectl get sc`. Change all four if yours differs.
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: vncmail-settings
namespace: vncmail
spec:
accessModes: [ReadWriteOnce]
storageClassName: microk8s-hostpath
resources:
requests:
storage: 1Gi
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: vncmail-admin
namespace: vncmail
spec:
accessModes: [ReadWriteOnce]
storageClassName: microk8s-hostpath
resources:
requests:
storage: 256Mi
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: vncmail-admin-state
namespace: vncmail
spec:
accessModes: [ReadWriteOnce]
storageClassName: microk8s-hostpath
resources:
requests:
storage: 256Mi
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: vncmail-telemetry
namespace: vncmail
spec:
accessModes: [ReadWriteOnce]
storageClassName: microk8s-hostpath
resources:
requests:
storage: 256Mi