mirror of
https://github.com/block/buzz.git
synced 2026-11-12 04:12:21 +00:00
Baseline the mesh lanes redeploy onto: build image -> helm install quickstart HA (3 replicas) -> 3/3 Ready. Repeatable via deploy/local/build-and-deploy.sh; evidence dir per run. Chart fixes for multi-replica quickstart: - Bucket-init as a NORMAL resource (revision-suffixed), not a helm hook: the relay's A3 S3 conformance probe is startup-fatal and does not create the bucket, so a post-install hook deadlocks against --wait (relay never Ready without the bucket) and a pre-install hook deadlocks against MinIO (a normal resource). Running the Job alongside MinIO + the Deployment lets its until-loop gate cleanly. - Relay initContainer waits for the bucket before start, replacing the transient CrashLoopBackOff with a deterministic gate. Dockerfile: optional EXTRA_CA_CERTS + NPM_REGISTRY build-args for builds behind a TLS-intercepting corporate proxy / registry mirror. No-op on public CI (args unset). HA values: replicaCount 3 + persistence.git.enabled=false (per-pod emptyDir; the default single RWO PVC cannot multi-attach across pods). Co-authored-by: npub17jjz49l9jjmhhk7cac63j8yt9z555n9cw8vk7v5jz4vzw4ppld5qgj57cc <f4a42a97e594b77bdbd8ee35191c8b28a94a4cb871d96f32921558275421fb68@sprout-oss.stage.blox.sqprod.co> Signed-off-by: npub17jjz49l9jjmhhk7cac63j8yt9z555n9cw8vk7v5jz4vzw4ppld5qgj57cc <f4a42a97e594b77bdbd8ee35191c8b28a94a4cb871d96f32921558275421fb68@sprout-oss.stage.blox.sqprod.co>
45 lines
1.9 KiB
YAML
45 lines
1.9 KiB
YAML
# Local docker-desktop HA testbed: quickstart bundled services + 3 replicas.
|
|
#
|
|
# This is the baseline every mesh build redeploys onto (mesh lane, thread
|
|
# fa90bba8 / kickoff 5a760d8d). It layers the HA shape on top of the CI
|
|
# quickstart set (ci/quickstart-values.yaml): bundled Postgres/Redis/MinIO,
|
|
# chart-autogenerated secrets, membership enforcement off.
|
|
#
|
|
# Two lines carry HA:
|
|
# replicaCount: 3 — chart hard-requires Redis for buzz-pubsub
|
|
# (quickstart provides it); the git-hook HMAC
|
|
# secret autogenerates chart-side (secret-chart.yaml).
|
|
# persistence.git.enabled — false → per-pod emptyDir. The default (true) is a
|
|
# single ReadWriteOnce PVC that cannot multi-attach
|
|
# across 3 pods on one node; it would wedge 2/3.
|
|
# Object store + Postgres are the source of truth
|
|
# for git state, not local disk (values.yaml docs
|
|
# emptyDir as the correct multi-replica choice).
|
|
quickstart: true
|
|
postgresql:
|
|
enabled: true
|
|
redis:
|
|
enabled: true
|
|
minio:
|
|
enabled: true
|
|
relayUrl: wss://buzz.test.local
|
|
ownerPubkey: "0000000000000000000000000000000000000000000000000000000000000001"
|
|
relay:
|
|
# Testbed, not business-logic validation — same rationale as CI quickstart.
|
|
requireRelayMembership: false
|
|
podDisruptionBudget:
|
|
enabled: false
|
|
|
|
# ── HA shape ──────────────────────────────────────────────────────────────
|
|
replicaCount: 3
|
|
persistence:
|
|
git:
|
|
enabled: false
|
|
|
|
# Locally-built image; docker-desktop k8s shares the docker image store, so
|
|
# IfNotPresent resolves the tag with no push / `kind load` step.
|
|
image:
|
|
repository: buzz-relay
|
|
tag: mesh-local
|
|
pullPolicy: IfNotPresent
|