configs: rename dirs to match live koopa containers

Reflect host naming in git paths:
- configs/taler-hacktivism/ (was taler-merchant) → container taler-hacktivism
- configs/taler-hacktivism-bank/ (was taler-bank) → container …-bank,
  image taler-hacktivism-banking:live
- configs/taler-exchange-ansible/ already matches …-exchange-ansible
- configs/taler-exchange/ = conf inside that exchange container

Update LIVE.md, README, ports/refs. No secret values.
This commit is contained in:
Hernâni Marques 2026-07-10 16:02:52 +02:00 committed by Hernâni Marques
parent b5c1bf7591
commit 54ebdb7d7a
No known key found for this signature in database
27 changed files with 93 additions and 66 deletions

View file

@ -0,0 +1,98 @@
# Bank — live container `taler-hacktivism-bank`
**Reflected from host koopa.**
| Item | Live |
|------|------|
| Container | **`taler-hacktivism-bank`** |
| Image | **`localhost/taler-hacktivism-banking:live`** |
| Ports | **9012** (API), **9013** (landing) |
| Site | `https://bank.hacktivism.ch` |
Config path in this repo: **`configs/taler-hacktivism-bank/`** (was `configs/taler-bank/`).
Scripts: `scripts/taler-bank/`. Secrets: `koopa-admin-secrets/.../taler-bank/``/root/bank-*-password.txt`.
---
Image: `docker.io/library/debian:trixie` + package `libeufin-bank`
Publish: **9012/tcp only**
Labels: `org.hacktivism.service=taler-bank`, `host_port=9012`, `site=bank.hacktivism.ch`, `currency=GOA`
## Role
Regional **GOA Exploration Bank** for GNU Taler:
- **No IBAN**, no libeufin-nexus, no fiat conversion (`ALLOW_CONVERSION = no`)
- **`WIRE_TYPE = x-taler-bank`** (payto://x-taler-bank/bank.hacktivism.ch/…)
- Wallet default exchange: `https://exchange.hacktivism.ch/`
- Mobile withdraw: Bank SPA → login → **Withdraw** → Taler Wallet (QR / deeplink)
## Config layout (merchant/exchange pattern)
| Path in container | Mirror |
|-------------------|--------|
| `libeufin-bank.conf` | includes: `libeufin-bank.conf.includes.txt` |
| **`bank-overrides.conf`** | **`bank-overrides.conf`** |
## Manual start
| Path | User | Role |
|------|------|------|
| `/root/start_base_services_for_taler_bank.sh` | **root** | logs, postgres, DB ensure → shell as `libeufin-bank` |
| `/usr/local/bin/start_bank.sh` | **libeufin-bank** | start / `--restart` `libeufin-bank serve` |
| `/usr/local/bin/check_bank-health.sh` | any | health |
## Ports / Caddy
| Port | Role |
|------|------|
| 9012 | libeufin-bank HTTP (podman pasta) |
| 9001 | Caddy HTTPS `bank.hacktivism.ch` → 127.0.0.1:9012 |
**DNS:** A/AAAA for `bank.hacktivism.ch` → koopa public IP (required for TLS/ACME and phones).
## Accounts (typical)
| Login | Purpose |
|-------|---------|
| `admin` | bank admin (password on host `/root/bank-admin-password.txt`) |
| `exchange` | Taler exchange wire account (`is_taler_exchange`) |
| `explorer` | demo user for phone withdraw (`debit_threshold` for regional GOA) |
## Mobile withdraw (GOA)
1. Install **GNU Taler Wallet** (Android / iOS / browser).
2. Open **https://bank.hacktivism.ch/** (after DNS + cert work).
3. Login as `explorer` (or registered user with debt headroom).
4. **Withdraw** → amount in GOA → open / scan with wallet.
5. Wallet uses `DEFAULT_EXCHANGE` = exchange.hacktivism.ch.
Exchange must have wire account pointing at this bank (payto + wire gateway credentials) and offline **enable-account** for `/keys` withdraw to fully work.
**Details (diagram `/keys` ↔ Wire ↔ Account):**
`configs/taler-exchange/README.md` → section **/keys, Wire and Account**.
## Public landing (withdraw QR)
English intro + QR: **`https://bank.hacktivism.ch/`** → `/intro/`
Details: `configs/bank-landing/`. Refresh demo URI: `scripts/taler-bank/make-demo-withdraw-qr.sh`.
### Wallet says “transfer money” — auto-confirm
Normal Taler bank flow after the wallet selects the exchange:
1. Withdrawal status → **`selected`**
2. Bank must **`POST …/withdrawals/$ID/confirm`** → wires GOA user → exchange
3. Exchange **wirewatch** sees credit → wallet can finish withdraw
For the demo QR (`explorer`), automate step 2:
```bash
# once
/root/auto-confirm-withdrawals.sh
# loop (e.g. every 4s)
nohup /root/auto-confirm-withdrawals.sh --loop 4 >>/var/log/auto-confirm-withdrawals.log 2>&1 &
```
Script: `scripts/taler-bank/auto-confirm-withdrawals.sh`
Watches IDs in `/var/www/bank-landing/withdraw.uri` and `withdraw-watch.ids`.

View file

@ -0,0 +1,39 @@
# Regional GOA bank — no IBAN / Nexus / fiat conversion.
# Container: /etc/libeufin/bank-overrides.conf
# Inlined last from /etc/libeufin/libeufin-bank.conf via @inline@ bank-overrides.conf
[libeufin-bank]
CURRENCY = GOA
WIRE_TYPE = x-taler-bank
BASE_URL = https://bank.hacktivism.ch/
NAME = "GOA Exploration Bank"
SERVE = tcp
PORT = 9012
BIND_TO = 0.0.0.0
DEFAULT_DEBT_LIMIT = GOA:100000
ALLOW_REGISTRATION = yes
ALLOW_CONVERSION = no
REGISTRATION_BONUS = GOA:0
WIRE_TRANSFER_FEES = GOA:0
DEFAULT_EXCHANGE = https://exchange.hacktivism.ch/
[currency-goa]
ENABLED = YES
name = "GOA exploration currency"
code = GOA
fractional_input_digits = 8
fractional_normal_digits = 0
fractional_trailing_zero_digits = 0
alt_unit_names_are_symbols = NO
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"}
[currency-kudos]
ENABLED = NO
[currency-testkudos]
ENABLED = NO
[currency-euro]
ENABLED = NO
[currency-swiss-francs]
ENABLED = NO
[currency-netzbon]
ENABLED = NO

View file

@ -0,0 +1,7 @@
# /etc/libeufin/libeufin-bank.conf (package entrypoint)
# Site overrides last:
@inline@ bank-overrides.conf
# DB (package default in /usr/share/libeufin/config.d/bank.conf):
# [libeufin-bankdb-postgres]
# CONFIG = postgres:///libeufin