goa: lab-local regio-ng config and loopback ports

This commit is contained in:
Hernâni Marques 2026-09-04 16:18:08 +02:00
parent a2eac75dd3
commit 0450f3738f
No known key found for this signature in database
4 changed files with 119 additions and 1 deletions

View file

@ -0,0 +1,51 @@
# Lab local on koopa (parallel to live)
Does **not** touch live GOA (`taler-hacktivism*`, **90109015**) or **9080** (`koopa-nym`).
| Lab | Container | Host binds (loopback only) |
|-----|-----------|----------------------------|
| **goa-regio-ng** | `goa-regio-ng` | `127.0.0.1:9180→80`, `127.0.0.1:9322→22` |
| **mytops-local** | `mytops-local` | `127.0.0.1:8288→80` |
## goa-regio-ng
- Tree on laptop/koopa: `~/src/regio-local/`
- Inventory (canonical copy here): [`goa-regio-ng-koopa.yml`](./goa-regio-ng-koopa.yml)
- Ansible from magikoopa: ProxyCommand → `hernani@koopa``127.0.0.1:9322`
- Master: `koopa-admin-secrets/backups/goa/current/exchange-offline/master.priv`
```bash
rsync -az ~/src/regio-local/ hernani@koopa:src/regio-local/
ssh hernani@koopa 'cd ~/src/regio-local && REGIO_HTTP_PORT=9180 REGIO_SSH_PORT=9322 REGIO_BIND=127.0.0.1 ./scripts/01-build-run.sh'
REGIO_PODMAN_SSH=hernani@koopa REGIO_INVENTORY=$HOME/git/admin-logs/koopa-admin-log/configs/lab-local/goa-regio-ng-koopa.yml \
~/src/regio-local/scripts/03-deploy.sh
REGIO_HTTP_PORT=9180 REGIO_PROBE_SSH=hernani@koopa ~/src/regio-local/scripts/04-probe.sh
```
Never `REGIO_PUBLISH_KOOPA_PORTS=1` on koopa next to live GOA.
## mytops-local
- **Verified 2026-09-04:** koopa `127.0.0.1:8288/config`**200**; laptop same stack on **8088****200**. Daylog: `2026/2026-09-04--mytops-local-podman.md`. FIND: [`../koopa-setup`](../koopa-setup) · ports: [`../ports.md`](../ports.md).
- Tree: `mytops-admin-log` **`master`** (`mytops-local/wip:…`; rsync to `~/src/mytops-admin-log` on koopa; `.git` optional). Stage live-restore on betel still TODO.
- Config snippet: [`mytops-local.toml`](./mytops-local.toml) — port **8288** on koopa
- Orchestrator: `MYTOPS_LOCAL_HTTP_PORT=8288 ./scripts/taler-merchant/setup-local.sh`
- If `taler-merchant-dbconfig` fails (no postgres socket): `systemctl enable --now postgresql` inside the container, then dbconfig + `taler-merchant.target` again
```bash
# on koopa: image + container (repo bind)
podman build -t localhost/mytops-debian-systemd:trixie -f Containerfile.mytops-local .
podman rm -f mytops-local 2>/dev/null || true
podman run -d --name mytops-local --hostname mytops-local \
--systemd=always --cap-add SYS_ADMIN --security-opt label=disable \
-v /sys/fs/cgroup:/sys/fs/cgroup:rw --tmpfs /run --tmpfs /run/lock \
-p 127.0.0.1:8288:80 \
-v "$HOME/src/mytops-admin-log:/root/mytops-admin-log:ro" \
localhost/mytops-debian-systemd:trixie /sbin/init
# apply koopa URL then setup (needs RW copy of config or run apply on host tree)
podman exec mytops-local bash -lc \
'cd /root/mytops-admin-log && MYTOPS_LOCAL_HTTP_PORT=8288 ./scripts/taler-merchant/setup-local.sh'
curl -sS -o /dev/null -w '%{http_code}\n' http://127.0.0.1:8288/config # expect 200
```
Laptop default remains **8088**; koopa lab uses **8288** so both can coexist with regio **9180**.

View file

@ -0,0 +1,59 @@
# goa-regio-ng on koopa — parallel lab; does NOT use live 90109015 or 9080 (nym).
# Host binds on koopa: 127.0.0.1:9180→80, 127.0.0.1:9322→22.
# Ansible from magikoopa via ProxyCommand into koopa loopback.
#
# Live GOA (untouched): taler-hacktivism{,-bank,-exchange-ansible} on 90109015.
regional_currency:
hosts:
goa-regio-ng:
ansible_host: 127.0.0.1
ansible_port: 9322
ansible_user: root
ansible_ssh_private_key_file: "{{ lookup('ansible.builtin.env', 'HOME') }}/src/regio-local/ssh/regio_local_ed25519"
ansible_ssh_common_args: >-
-o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null
-o ProxyCommand="ssh -W 127.0.0.1:%p -o StrictHostKeyChecking=no hernani@koopa"
ansible_python_interpreter: /usr/bin/python3
regional_currency_currency: GOA
regional_currency_currency_name: "GOA exploration currency"
regional_currency_domain: goa.local
regional_currency_bank_name: "GOA Exploration Bank"
regional_currency_bank_admin_password: "change-me"
regional_currency_bank_port: 8080
regional_currency_bank_bind: "127.0.0.1"
regional_currency_enable_tls: false
regional_currency_enable_conversion: false
regional_currency_testing_deployment: true
regional_currency_enable_exchange_terms: false
regional_currency_enable_exchange_privacy: false
regional_currency_podman_systemd_relax: true
# Dual merchant (CHF package + regional GOA); regio-style BASE_URLs (no :9180).
regional_currency_merchant_currency: CHF
regional_currency_merchant_regional_exchange_section: goa
regional_currency_merchant_disable_exchanges:
- kudos
regional_currency_merchant_disable_currencies:
- KUDOS
regional_currency_disable_currencies:
- kudos
- testkudos
- euro
- swiss-francs
- netzbon
regional_currency_round_unit: "GOA:0.00000001"
regional_currency_tiny_amount: "GOA:0.00000001"
regional_currency_fractional_input_digits: 8
regional_currency_fractional_normal_digits: 0
regional_currency_fractional_trailing_zero_digits: 0
regional_currency_alt_unit_names: '{"24":"Yotta-GOA","21":"Zetta-GOA","18":"Exa-GOA","15":"Peta-GOA","12":"Tera-GOA","9":"Giga-GOA","6":"Mega-GOA","3":"Kilo-GOA","0":"GOA","-1":"Deci-GOA","-2":"Centi-GOA","-3":"Milli-GOA","-6":"Micro-GOA","-7":"Deci-Micro-GOA","-8":"Atomic-GOA"}'
regional_currency_common_amounts: "GOA:10 GOA:20 GOA:50 GOA:100 GOA:200 GOA:1000"
regional_currency_static_coins_file: goa-exchange-coins.conf
regional_currency_coin_withdraw_duration: 7 days
regional_currency_default_debt_limit: "GOA:4503599627370496"
regional_currency_exchange_master_public_key_expected: "TW6K5FXF81VYCAH0YWYX0SX98KBBSJ42VX27WAX01FTFH400QG10"
regional_currency_exchange_master_priv_src: "{{ lookup('ansible.builtin.env', 'HOME') }}/git/admin-logs/koopa-admin-secrets/backups/goa/current/exchange-offline/master.priv"

View file

@ -0,0 +1,6 @@
# Drop-in values for mytops-admin-log config.toml [mytops-local] when running on koopa.
# Laptop lab keeps 8088; koopa lab uses 8288 (avoid 901x live GOA, 9080 nym, 9180 goa-regio-ng).
[mytops-local]
base_url = "http://127.0.0.1:8288/"
forwarded_host = "127.0.0.1:8288"

View file

@ -32,4 +32,6 @@ Git SSH needs separate NAT/firewall **9200/tcp** if exposed to WAN.
| **9080** | podman **`koopa-nym`** HTTP API (mapped from container 8080; Tor keeps **8080**) |
| **19000** | optional nym entry WS (gateway mode) |
| **51822/udp** | optional nym WireGuard (dVPN path) |
| **9180** | lab **`goa-regio-ng`** HTTP (loopback only; see `configs/lab-local/`) |
| **9322** | lab **`goa-regio-ng`** SSH/ansible (loopback only) |
| **8288** | lab **`mytops-local`** HTTP (loopback only) |