From 83480aa23be4785d711cdd61df538b7f52ef5efd Mon Sep 17 00:00:00 2001 From: admin Date: Tue, 28 Jul 2026 21:03:56 -0700 Subject: [PATCH] =?UTF-8?q?fix:=20escape=20\$(...)=20as=20\$\$(...)=20in?= =?UTF-8?q?=20patroni=20command=20blocks=20=E2=80=94=20Compose=20interpola?= =?UTF-8?q?tion=20was=20choking=20on=20\$(=20before=20the=20shell=20ever?= =?UTF-8?q?=20saw=20it=20(invalid=20interpolation=20format=20error)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- postgresql/cutover/test/pgha-dryrun.yaml | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/postgresql/cutover/test/pgha-dryrun.yaml b/postgresql/cutover/test/pgha-dryrun.yaml index fae0e76..44f6d5a 100644 --- a/postgresql/cutover/test/pgha-dryrun.yaml +++ b/postgresql/cutover/test/pgha-dryrun.yaml @@ -12,6 +12,11 @@ # # Deploy: docker stack deploy -c pgha-test # Teardown: docker stack rm pgha-test && rm -rf /volume1/docker/PostgreSQL/dryrun +# +# NOTE: command: blocks use $$(...) not $(...) — Compose's own variable +# interpolation parses $( as an attempted ${VAR} reference and fails with +# "invalid interpolation format" / "you may need to escape any $ with +# another $". $$ escapes to a literal $ for the shell at runtime. # ───────────────────────────────────────────────────────────────────────── version: "3.6" @@ -115,10 +120,10 @@ services: - /bin/sh - -c - | - export PGPASSWORD_SUPERUSER="$(cat /run/secrets/postgresql_password)" - export PGPASSWORD_STANDBY="$(cat /run/secrets/postgresql_replication_password)" - export PATRONI_RESTAPI_PASSWORD="$(cat /run/secrets/postgresql_patroni_password)" - export CLONE_PASSWORD="$(cat /run/secrets/postgresql_password)" + export PGPASSWORD_SUPERUSER="$$(cat /run/secrets/postgresql_password)" + export PGPASSWORD_STANDBY="$$(cat /run/secrets/postgresql_replication_password)" + export PATRONI_RESTAPI_PASSWORD="$$(cat /run/secrets/postgresql_patroni_password)" + export CLONE_PASSWORD="$$(cat /run/secrets/postgresql_password)" exec /bin/sh /launch.sh init environment: SCOPE: pgha-test @@ -153,10 +158,10 @@ services: - /bin/sh - -c - | - export PGPASSWORD_SUPERUSER="$(cat /run/secrets/postgresql_password)" - export PGPASSWORD_STANDBY="$(cat /run/secrets/postgresql_replication_password)" - export PATRONI_RESTAPI_PASSWORD="$(cat /run/secrets/postgresql_patroni_password)" - export CLONE_PASSWORD="$(cat /run/secrets/postgresql_password)" + export PGPASSWORD_SUPERUSER="$$(cat /run/secrets/postgresql_password)" + export PGPASSWORD_STANDBY="$$(cat /run/secrets/postgresql_replication_password)" + export PATRONI_RESTAPI_PASSWORD="$$(cat /run/secrets/postgresql_patroni_password)" + export CLONE_PASSWORD="$$(cat /run/secrets/postgresql_password)" exec /bin/sh /launch.sh init environment: SCOPE: pgha-test