• Joined on 2026-03-14
admin pushed to main at homelab/compose-files 2026-07-30 21:24:31 -07:00
8afe0049c4 pgha-dryrun.yaml: switch from CLONE_WITH_BASEBACKUP to Patroni standby_cluster (continuous streaming) to close the pre-cutover write gap
admin pushed to main at homelab/compose-files 2026-07-30 15:56:45 -07:00
499402cd0d postgresql-ha-staging.yaml: port dry-run fixes (bugs 1,2,4,5) - $$(...) escaping (incl. CLONE_PASSWORD), ETCD3_HOSTS, post_init_wrapper.sh SUPERUSER role fix
admin pushed to main at homelab/compose-files 2026-07-30 15:55:28 -07:00
7e8e3388f4 postgresql.yaml: port dry-run fixes (bugs 1,2,4,5) - $$(...) escaping, ETCD3_HOSTS, post_init_wrapper.sh SUPERUSER role fix
admin pushed to main at homelab/compose-files 2026-07-29 09:32:11 -07:00
b7f0d9dbfb pgha dry-run: fix bug 5 - grant SUPERUSER to placeholder postgres role
admin pushed to main at homelab/compose-files 2026-07-29 07:21:35 -07:00
e8e506dc4d add: post_init_wrapper.sh to work around Spilo's hardcoded 'postgres' role name assumption in post_init.sh. Does not fork/modify Spilo's script — creates missing role then execs the original unchanged.
admin pushed to main at homelab/compose-files 2026-07-29 06:35:26 -07:00
7529e6cb36 fix: override bootstrap.post_init via SPILO_CONFIGURATION to create missing 'postgres' role before Spilo's real post_init.sh runs. Spilo hardcodes ALTER VIEW...OWNER TO postgres with no way to parameterize, which fails since our superuser is PGadmin not postgres.
admin pushed to main at homelab/compose-files 2026-07-28 21:27:16 -07:00
b86784fe3a fix: legacy container needs pg_hba.conf replication rule for pg_basebackup — added initdb.d hook script. Disposable test only, uses 'trust' since this container is not auth-representative.
admin pushed to main at homelab/compose-files 2026-07-28 21:10:14 -07:00
1dcb5ec467 fix: use ETCD3_HOSTS not ETCD_HOSTS — confirmed against spilo source that etcd/etcd3 are distinct DCS backends (v2 vs v3 API). Our etcd 3.5.9 containers have v2 API disabled, causing 404s with the old var name.
admin pushed to main at homelab/compose-files 2026-07-28 21:03:57 -07:00
83480aa23b fix: escape \$(...) as \$\$(...) in patroni command blocks — Compose interpolation was choking on \$( before the shell ever saw it (invalid interpolation format error)
admin pushed to main at homelab/compose-files 2026-07-28 11:12:21 -07:00
20e1210441 postgresql: add disposable dry-run test stack for cutover validation (pgha-test, own network + data dirs, zero prod impact)
admin pushed to main at homelab/compose-files 2026-07-28 11:07:04 -07:00
f4f0749969 postgresql: add cutover staging compose (ADR-0001 Phase 3). Lives in cutover/ subdir — deliberately excluded from stack-deploy.sh folder merge. Deployed only by cutover script as separate postgresqlha stack.
admin pushed to main at homelab/compose-files 2026-07-28 08:53:58 -07:00
87ae54fb3f postgresql: add HAProxy config for Patroni-aware TCP routing (ADR-0001 Phase 2)
admin pushed to main at homelab/compose-files 2026-07-28 08:53:45 -07:00
c8d45e9e61 postgresql: add folder-based Patroni+etcd+HAProxy HA stack draft (ADR-0001 Phase 2). NOT deployed — bootstrap tier, manual deploy only. Coexists with flat postgresql.yaml until cutover.
admin pushed to main at homelab/compose-files 2026-07-28 07:20:54 -07:00
9a5b028e07 postgresql: document replication + patroni secrets (ADR-0001 Phase 1)
admin pushed to main at homelab/compose-files 2026-07-28 07:20:41 -07:00
0f26d31a02 postgresql: add replication + patroni Woodpecker secrets to provision-secrets step (ADR-0001 Phase 1)
admin pushed to main at homelab/compose-files 2026-07-27 13:36:18 -07:00
6789d2530a vaultwarden: retry #8 -- trigger after fixing pipeline compile error (dollar-brace literal in comments)
admin pushed to main at homelab/compose-files 2026-07-27 13:35:15 -07:00
e0a6b7d233 deploy.yml: fix pipeline compile error 'missing closing brace' -- the documentation comment itself contained a literal dollar-brace sequence with invalid contents (dollar-brace CI_...), which Woodpecker's substitution engine parses even inside comments. Rewrote header to describe the rules in words without any literal dollar-brace sequences. Also removed backtick-quoted dollar-brace remnants from the vaultwarden case comment.
admin pushed to main at homelab/compose-files 2026-07-27 12:53:01 -07:00
9b3bba636c vaultwarden: retry #7 -- trigger after fixing Woodpecker compile-time ${VAR} substitution root cause
admin pushed to main at homelab/compose-files 2026-07-27 12:50:23 -07:00
6757b0dfe1 deploy.yml: THE ACTUAL ROOT CAUSE FIX. Woodpecker substitutes ${VAR} at pipeline-compile time from its CI metadata map, where secrets do not exist -- so every braced reference to a secret-backed env var (SWARM_MANAGER_IP, all provisioning values) was silently blanked before the shell ever ran. Proven by debug output showing eval "val=\$$v" arriving as val=\$v ($$ unescaped to $) and lengths matching var NAMES. Fix: escape all runtime secret refs as $${VAR}; keep ${CI_PIPELINE_FILES} braced (compile-time is correct for CI metadata). Removes flawed debug step; adds header documenting the substitution rules.
admin pushed to main at homelab/compose-files 2026-07-27 12:39:54 -07:00
7a81bc73bd deploy.yml: add temporary debug-secrets-all step declaring the identical 31-secret environment block as provision-secrets, printing byte length of every var (never values). Runs as its own step so it completes even when provision-secrets fails, telling us in one run whether all secrets are empty, only some, or only swarm_manager_ip.