landing-stats: make collector multi-stack reusable
This commit is contained in:
parent
e1cc6d7141
commit
b6c3225e97
7 changed files with 291 additions and 58 deletions
|
|
@ -1,12 +1,21 @@
|
|||
# taler-landing — central stats (hernani user systemd)
|
||||
# taler-landing — generic multi-stack landing stats
|
||||
|
||||
Public landing numbers on
|
||||
One collector (`collect_bank_stats.py` + `collect-landing-stats.sh`) for any
|
||||
currency / stack. **Defaults = GOA / hacktivism**; stage TESTPAYSAN uses a
|
||||
profile file.
|
||||
|
||||
Public landing numbers (example GOA):
|
||||
|
||||
- https://bank.hacktivism.ch/intro/ → `stats.json`
|
||||
- https://exchange.hacktivism.ch/intro/ → `stats.json`
|
||||
- https://taler.hacktivism.ch/intro/ → `stats.json`
|
||||
|
||||
are produced by **one host process** as user **`hernani`**, not by three unrelated in-container crons.
|
||||
Stage TESTPAYSAN (shared bank feed on all three hosts):
|
||||
|
||||
- https://stage.bank.lefrancpaysan.ch/intro/stats.json
|
||||
(same file also under stage.exchange / stage.monnaie landings)
|
||||
|
||||
Produced by **one host process** (user systemd timer), not three crons.
|
||||
|
||||
## Why host / user systemd
|
||||
|
||||
|
|
@ -77,16 +86,37 @@ Preferred order:
|
|||
|
||||
Explorer password optional (shared-pool balance).
|
||||
|
||||
## Profiles
|
||||
|
||||
| File | Stack |
|
||||
|------|--------|
|
||||
| `profiles/goa.env` | hacktivism GOA (container publish) |
|
||||
| `profiles/stage-testpaysan.env` | FrancPaysan stage; **shared** host `stats.json` |
|
||||
|
||||
```bash
|
||||
# Stage (on stagepaysan):
|
||||
STACK_PROFILE=stage-testpaysan ./scripts/taler-landing/install-landing-stats-host.sh
|
||||
# or: francpaysan-admin-log/scripts/stagepaysan/install-landing-stats.sh
|
||||
```
|
||||
|
||||
`~/.config/taler-landing/stack.env` is sourced on each run.
|
||||
|
||||
## Env overrides
|
||||
|
||||
| Env | Default | Meaning |
|
||||
|-----|---------|---------|
|
||||
| `BANK_URL` | `http://127.0.0.1:9012` | libeufin loopback |
|
||||
| `BANK_CURRENCY` | *(auto)* | `GOA` / `TESTPAYSAN` / … |
|
||||
| `SCAN_SKIP` | `exchange` | usernames excluded from flow |
|
||||
| `COLLECT_BANK` / `_EXCHANGE` / `_MERCHANT` | `1` | phase switches |
|
||||
| `COLLECT_RESOURCES` | `1` | container RSS/loadavg merge |
|
||||
| `HOST_STATS_DIRS` | empty | space-separated host dirs for **shared** bank `stats.json` |
|
||||
| `PUBLISH_PODMAN` | `1` | also `podman cp` into container landings |
|
||||
| `TX_PAGE` | `500` | transactions page size |
|
||||
| `MAX_TX_PAGES` | `0` | `0` = unlimited pages / account |
|
||||
| `ACCOUNTS_DELTA` | `-10000` | account list window |
|
||||
| `ADMIN_LOG` | `%h/src/koopa/koopa-admin-log` | refresh in-container scripts |
|
||||
| `STATS_SOURCE_LABEL` | `host collect_bank_stats.py` | `stats.source` field |
|
||||
|
||||
## UI alt names
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue