From 65bcddc185d9504f2633176537d94c1d03f3e88a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hern=C3=A2ni=20Marques?= Date: Fri, 18 Sep 2026 11:52:23 +0200 Subject: [PATCH] ops: goa-regio-ng default CTR for ensure/systemd bank+merchant apps --- .../order.conf | 2 +- configs/systemd/user/goa-regio-ng.service | 15 ++++++++++++++ .../user/goa-regio-ng.service.d/apps.conf | 4 ++++ configs/systemd/user/taler-bank-apps.service | 7 ++++--- .../systemd/user/taler-landing-stats.service | 4 ++-- .../systemd/user/taler-merchant-apps.service | 7 ++++--- scripts/taler-shared/ensure-taler-apps.sh | 12 ++++++----- .../taler-shared/install-ensure-taler-apps.sh | 20 +++++++++++++++---- 8 files changed, 53 insertions(+), 18 deletions(-) create mode 100644 configs/systemd/user/goa-regio-ng.service create mode 100644 configs/systemd/user/goa-regio-ng.service.d/apps.conf diff --git a/configs/systemd/user/container-koopa-paivana.service.d/order.conf b/configs/systemd/user/container-koopa-paivana.service.d/order.conf index c0678cc..92b7e6f 100644 --- a/configs/systemd/user/container-koopa-paivana.service.d/order.conf +++ b/configs/systemd/user/container-koopa-paivana.service.d/order.conf @@ -1,4 +1,4 @@ [Unit] # Paivana needs merchant private API — start after merchant apps, not only container shell -After=taler-merchant-apps.service container-taler-hacktivism.service +After=taler-merchant-apps.service goa-regio-ng.service Wants=taler-merchant-apps.service diff --git a/configs/systemd/user/goa-regio-ng.service b/configs/systemd/user/goa-regio-ng.service new file mode 100644 index 0000000..ace6f55 --- /dev/null +++ b/configs/systemd/user/goa-regio-ng.service @@ -0,0 +1,15 @@ +[Unit] +Description=goa-regio-ng Taler AIO container (vanilla live 9010-9015) +Documentation=file:%h/src/koopa/koopa-admin-log/scripts/taler-shared/goa-regio-ng/README.md +After=network-online.target +Wants=network-online.target + +[Service] +Type=oneshot +RemainAfterExit=yes +TimeoutStartSec=120 +ExecStart=/usr/bin/podman start goa-regio-ng +ExecStop=/usr/bin/podman stop -t 20 goa-regio-ng + +[Install] +WantedBy=default.target diff --git a/configs/systemd/user/goa-regio-ng.service.d/apps.conf b/configs/systemd/user/goa-regio-ng.service.d/apps.conf new file mode 100644 index 0000000..332262d --- /dev/null +++ b/configs/systemd/user/goa-regio-ng.service.d/apps.conf @@ -0,0 +1,4 @@ +[Unit] +# Pull in in-container bank/merchant apps after the AIO shell is up +Wants=taler-bank-apps.service taler-merchant-apps.service +Before=taler-bank-apps.service taler-merchant-apps.service diff --git a/configs/systemd/user/taler-bank-apps.service b/configs/systemd/user/taler-bank-apps.service index 7eb3ef2..0dada1f 100644 --- a/configs/systemd/user/taler-bank-apps.service +++ b/configs/systemd/user/taler-bank-apps.service @@ -1,13 +1,14 @@ [Unit] -Description=Start Taler bank apps inside taler-hacktivism-bank +Description=Start Taler bank apps inside goa-regio-ng (auto-confirm + demo-withdraw) Documentation=file:%h/src/koopa/koopa-admin-log/scripts/taler-shared/ensure-taler-apps.sh -After=network-online.target container-taler-hacktivism-bank.service -Wants=network-online.target container-taler-hacktivism-bank.service +After=network-online.target goa-regio-ng.service +Wants=network-online.target goa-regio-ng.service [Service] Type=oneshot RemainAfterExit=yes TimeoutStartSec=300 +EnvironmentFile=-%h/.config/taler-landing/stack.env ExecStart=%h/.local/bin/ensure-taler-apps.sh bank [Install] diff --git a/configs/systemd/user/taler-landing-stats.service b/configs/systemd/user/taler-landing-stats.service index cc6bd88..f9e49b5 100644 --- a/configs/systemd/user/taler-landing-stats.service +++ b/configs/systemd/user/taler-landing-stats.service @@ -3,8 +3,8 @@ Description=Taler landing stats (bank full scan + exchange/merchant) Documentation=file:%h/src/koopa/koopa-admin-log/scripts/taler-landing/README.md After=network-online.target Wants=network-online.target -# Prefer after containers are up (ignore if unit names differ) -After=container-taler-hacktivism-bank.service container-taler-hacktivism.service +# Prefer after AIO container + in-container apps are up +After=goa-regio-ng.service After=taler-bank-apps.service taler-merchant-apps.service [Service] diff --git a/configs/systemd/user/taler-merchant-apps.service b/configs/systemd/user/taler-merchant-apps.service index 22deacd..e4d24bc 100644 --- a/configs/systemd/user/taler-merchant-apps.service +++ b/configs/systemd/user/taler-merchant-apps.service @@ -1,14 +1,15 @@ [Unit] -Description=Start Taler merchant apps inside taler-hacktivism +Description=Start Taler merchant apps inside goa-regio-ng Documentation=file:%h/src/koopa/koopa-admin-log/scripts/taler-shared/ensure-taler-apps.sh -After=network-online.target container-taler-hacktivism.service -Wants=network-online.target container-taler-hacktivism.service +After=network-online.target goa-regio-ng.service +Wants=network-online.target goa-regio-ng.service [Service] Type=oneshot RemainAfterExit=yes # Merchant start_base + helpers can take a while after cold boot TimeoutStartSec=300 +EnvironmentFile=-%h/.config/taler-landing/stack.env ExecStart=%h/.local/bin/ensure-taler-apps.sh merchant [Install] diff --git a/scripts/taler-shared/ensure-taler-apps.sh b/scripts/taler-shared/ensure-taler-apps.sh index 58dca1a..5fa1014 100644 --- a/scripts/taler-shared/ensure-taler-apps.sh +++ b/scripts/taler-shared/ensure-taler-apps.sh @@ -2,7 +2,8 @@ # Host (hernani@koopa): start Taler *apps inside* merchant/bank containers. # # Containers use CMD sleep infinity — podman start alone is not enough. -# Called by user systemd units after container-taler-*.service. +# Called by user systemd units after goa-regio-ng.service (vanilla AIO). +# Override MER_CTR/BANK_CTR via env or ~/.config/taler-landing/stack.env. # # Usage: # ensure-taler-apps.sh # merchant + bank + helpers @@ -11,8 +12,8 @@ # ensure-taler-apps.sh status set -euo pipefail -MER_CTR="${MER_CTR:-taler-hacktivism}" -BANK_CTR="${BANK_CTR:-taler-hacktivism-bank}" +MER_CTR="${MER_CTR:-goa-regio-ng}" +BANK_CTR="${BANK_CTR:-goa-regio-ng}" AUTO_LOOP_SECS="${AUTO_CONFIRM_LOOP_SECS:-2}" WAIT_SECS="${WAIT_SECS:-90}" @@ -140,8 +141,9 @@ ensure_bank_helpers() { } status() { - echo "=== containers ===" - podman ps -a --filter name='taler-hacktivism' --format '{{.Names}} {{.Status}}' + echo "=== containers (MER_CTR=$MER_CTR BANK_CTR=$BANK_CTR) ===" + podman ps -a --format '{{.Names}} {{.Status}}' \ + | awk '/goa-regio-ng|taler-hacktivism/ {print}' echo "=== merchant procs (sample) ===" podman exec "$MER_CTR" bash -lc "ps -eo args= | grep -E 'taler-merchant-httpd|postgres -D|nginx: master' | grep -v grep || true" 2>/dev/null || echo "(container down)" echo "=== bank procs (sample) ===" diff --git a/scripts/taler-shared/install-ensure-taler-apps.sh b/scripts/taler-shared/install-ensure-taler-apps.sh index 60f2367..83d589d 100644 --- a/scripts/taler-shared/install-ensure-taler-apps.sh +++ b/scripts/taler-shared/install-ensure-taler-apps.sh @@ -1,6 +1,8 @@ #!/usr/bin/env bash # Install ensure-taler-apps + user systemd units on this host (hernani@koopa). # Run from admin-log checkout or with ADMIN_LOG set. +# Defaults target goa-regio-ng (vanilla AIO). Legacy hacktivism drop-ins stay +# installable but are not required after cutover. set -euo pipefail ROOT="$(cd "$(dirname "$0")/../.." && pwd)" @@ -14,14 +16,20 @@ mkdir -p "$BIN_DST" "$UNIT_DST" install -m 0755 "$ADMIN_LOG/scripts/taler-shared/ensure-taler-apps.sh" \ "$BIN_DST/ensure-taler-apps.sh" +install -m 0644 "$UNIT_SRC/goa-regio-ng.service" "$UNIT_DST/" install -m 0644 "$UNIT_SRC/taler-merchant-apps.service" "$UNIT_DST/" install -m 0644 "$UNIT_SRC/taler-bank-apps.service" "$UNIT_DST/" +install -m 0644 "$UNIT_SRC/taler-landing-stats.service" "$UNIT_DST/" mkdir -p \ + "$UNIT_DST/goa-regio-ng.service.d" \ "$UNIT_DST/container-taler-hacktivism.service.d" \ "$UNIT_DST/container-taler-hacktivism-bank.service.d" \ "$UNIT_DST/container-koopa-paivana.service.d" +install -m 0644 "$UNIT_SRC/goa-regio-ng.service.d/apps.conf" \ + "$UNIT_DST/goa-regio-ng.service.d/apps.conf" +# Legacy drop-ins (harmless if old container units stay disabled) install -m 0644 "$UNIT_SRC/container-taler-hacktivism.service.d/apps.conf" \ "$UNIT_DST/container-taler-hacktivism.service.d/apps.conf" install -m 0644 "$UNIT_SRC/container-taler-hacktivism-bank.service.d/apps.conf" \ @@ -30,14 +38,18 @@ install -m 0644 "$UNIT_SRC/container-koopa-paivana.service.d/order.conf" \ "$UNIT_DST/container-koopa-paivana.service.d/order.conf" systemctl --user daemon-reload -systemctl --user enable taler-merchant-apps.service taler-bank-apps.service +systemctl --user enable goa-regio-ng.service \ + taler-merchant-apps.service taler-bank-apps.service echo "Installed:" echo " $BIN_DST/ensure-taler-apps.sh" +echo " $UNIT_DST/goa-regio-ng.service (enabled)" echo " $UNIT_DST/taler-{merchant,bank}-apps.service (enabled)" -echo " drop-ins: container-taler-hacktivism{,-bank}.service.d/apps.conf" -echo " drop-in: container-koopa-paivana.service.d/order.conf" +echo " $UNIT_DST/taler-landing-stats.service (After=goa-regio-ng)" +echo " drop-in: goa-regio-ng.service.d/apps.conf" +echo " drop-in: container-koopa-paivana.service.d/order.conf" echo -echo "Start now (if containers already up):" +echo "Start now (if container already up):" +echo " systemctl --user start goa-regio-ng.service" echo " systemctl --user start taler-merchant-apps.service taler-bank-apps.service" echo " $BIN_DST/ensure-taler-apps.sh status"