82b86072ee
Stalwart is the mailbox server for the mail migration and runs multi-node from the start, so it needs a coordinator and a shared in-memory store. - run Stalwart as a 3-replica StatefulSet with a headless Service, topology spread and a PDB - add the `mail-valkey` ValkeyCluster as in-memory store and coordinator - keep data in CNPG Postgres and blobs in cephrgw S3 - converge settings from plan.ndjson in a PostSync Job, then roll the StatefulSet - add a global `spam-to-junk` Sieve script filing rspamd-tagged mail into Junk and stopping - exempt LMTP from the inbound throttles, as all inbound mail comes from the smarthost - label pods as smarthost clients and move the client LoadBalancer to 198.18.200.18 Reviewed-on: #539 Co-authored-by: unkin-agent <unkin-agent@unkin.net> Co-committed-by: unkin-agent <unkin-agent@unkin.net>
20 lines
479 B
YAML
20 lines
479 B
YAML
---
|
|
# Fallback admin (username/password) for STALWART_RECOVERY_ADMIN and the apply
|
|
# Job, from kv/kubernetes/namespace/mail/default/admin.
|
|
apiVersion: secrets.hashicorp.com/v1beta1
|
|
kind: VaultStaticSecret
|
|
metadata:
|
|
name: stalwart-admin
|
|
namespace: mail
|
|
spec:
|
|
destination:
|
|
create: true
|
|
name: stalwart-admin
|
|
overwrite: true
|
|
hmacSecretData: true
|
|
mount: kv
|
|
path: kubernetes/namespace/mail/default/admin
|
|
refreshAfter: 5m
|
|
type: kv-v2
|
|
vaultAuthRef: default
|