The GOA shop e2e path used to walk every product template every run, which was slow and often hit balance or time budgets after the first few pays. Keep the full catalog in E2E_SHOP_PRODUCTS (id|name|amount, synced with the merchant landing). Each e2e run shuffles that list and pays only E2E_SHOP_PICK_N products (default 2). Shop pays pin instance goa-shop for public template POSTs; settlement payto matches the landing shop popup. Docs in README.md and TESTS.md describe the pick behaviour and env overrides. |
||
|---|---|---|
| 2026 | ||
| benchmarks | ||
| configs | ||
| host | ||
| ops | ||
| scripts | ||
| .gitignore | ||
| README.md | ||
| SECRETS.md | ||
koopa-admin-log
Ops log and config mirror for host koopa (openSUSE Tumbleweed).
Day logs: 2026/ (major only, written same day). Topic notes: YYYY-MM-DD--topic.md.
Secrets: not in this repo — see SECRETS.md and sibling koopa-admin-secrets.
Git origin
| origin | https://git.hacktivism.ch/hernani/koopa-admin-log.git |
| Web | https://git.hacktivism.ch/hernani/koopa-admin-log |
| SSH | ssh://git@git.hacktivism.ch:9200/hernani/koopa-admin-log.git |
Hosted on Forgejo rootless (this host). See 2026/2026-07-10--admin-log-origin-forgejo.md.
Layout
host/ # openSUSE host-level config + overview
overview/services.md # graphical service map
systemd/ firewalld/ caddy/ network/
configs/ # mirrored app configs (caddy, taler, forgejo, …)
taler-hacktivism/ # merchant container taler-hacktivism
taler-hacktivism-bank/ # bank container (image …-banking)
taler-exchange/ # exchange conf (inside ansible container)
taler-exchange-ansible/ # container taler-hacktivism-exchange-ansible
forgejo/ # rootless git.hacktivism.ch
castopod/ bonfire/ prime/ # compose mirrors (no secret values)
tor/ # KoopaRelay ORPort 8080
scripts/ # merchant, exchange, monitoring helpers
taler-merchant/ # merchant-model start scripts
taler-exchange/ # same model; archive/ = greenfield bootstrap
2026/ # day logs + dated topic notes
Live containers (podman)
Authoritative snapshot of host koopa: host/overview/LIVE.md (refreshed from live).
| Name (podman) | Role | Host port |
|---|---|---|
taler-hacktivism |
merchant | 9010 (+ landing 9015) |
taler-hacktivism-exchange-ansible |
exchange (Ansible/systemd) | 9011 (+ landing 9014) |
taler-hacktivism-bank |
libeufin-bank (GOA) | 9012 (+ landing 9013) |
koopa-castopod (+ mariadb/redis) |
Castopod | 9020 |
koopa-bonfire (+ postgres) |
Bonfire | 9021 |
koopa-prime-jellyfin |
Jellyfin | 9022 |
koopa-prime-qbittorrent |
qBittorrent | 9023 |
koopa-forgejo (+ postgres) |
Forgejo rootless | 9024 + SSH 9200 |
Start model (Taler merchant/bank): root start_base_services_* → /usr/local/bin/start_*.sh.
Start model (exchange): ~/ansible-taler-exchange/ → run-container-koopa.sh + deploy-hacktivism-goa.sh.
Start model (user apps): hernani → cd ~/koopa-* && podman-compose up -d.
Public hosts: taler. / exchange. / bank. / castopod. / bonfire. / prime. / bt. / git.hacktivism.ch
(Caddy → 9010–9015 / 9020–9024; git-SSH host 9200 direct).
Service details: configs/taler-hacktivism*, configs/taler-exchange*, configs/forgejo/, scripts/*.
Host-wide picture: host/overview/services.md.
Port table: configs/ports.md.
Router: ../vecigate-admin-log.
Benchmarks (drive from the local machine, measure on koopa): benchmarks/
→ amount ladder: benchmarks/amount-ladder/.
Exchange snapshot/restore (GOA, local images only):
→ 2026/2026-07-09--exchange-snapshot-and-restore.md
Exchange /keys + Wire + bank account (diagram):
configs/taler-exchange/README.md (section “/keys, Wire and Account”).
Castopod pilot content (FOSS Airwaves, user ngi, free licenses):
2026/2026-07-09--castopod-content.md → https://castopod.hacktivism.ch/
Bonfire FEDERATE + guest public (2026-07-10):
2026/2026-07-10--bonfire-federate.md → https://bonfire.hacktivism.ch/
(ground zero: 2026/2026-07-09--bonfire-ground-zero.md)
Forgejo rootless (git.hacktivism.ch, no free registration, SSH :9200):
2026/2026-07-10--forgejo-rootless.md → https://git.hacktivism.ch/