release 1.4.1: generic docs and canonical install path
Docs use generic ops/outside-runner wording; install path ~/src/taler-monitoring. VERSION 1.4.1 patch on top of the 1.4.0 scheme release.
This commit is contained in:
parent
d2e0a28e5e
commit
4f092b90cc
15 changed files with 75 additions and 50 deletions
|
|
@ -55,7 +55,7 @@ command -v qrencode zbarimg
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## firecuda-external (macOS, outside-only timer)
|
## outside-runner (macOS, outside-only timer)
|
||||||
|
|
||||||
| Need | Notes |
|
| Need | Notes |
|
||||||
|------|--------|
|
|------|--------|
|
||||||
|
|
|
||||||
|
|
@ -51,7 +51,7 @@ sibling `~/src/koopa/koopa-admin-secrets`.
|
||||||
### Local file (recommended on laptop)
|
### Local file (recommended on laptop)
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
cd ~/src/koopa/src/taler-monitoring
|
cd ~/src/taler-monitoring
|
||||||
cp secrets.env.example secrets.env # gitignored
|
cp secrets.env.example secrets.env # gitignored
|
||||||
$EDITOR secrets.env
|
$EDITOR secrets.env
|
||||||
./taler-monitoring.sh e2e
|
./taler-monitoring.sh e2e
|
||||||
|
|
@ -387,5 +387,5 @@ If pages are missing publicly: `sudo ~/koopa-caddy/apply-monitoring-live.sh` on
|
||||||
|
|
||||||
## Version on monitoring pages (v1.3+ / sticky bar)
|
## Version on monitoring pages (v1.3+ / sticky bar)
|
||||||
|
|
||||||
The sticky bar shows the suite **tag** (e.g. `v1.3.3`) and links to that tag on Forgejo.
|
The sticky bar shows the suite **tag** (e.g. `v1.4.1`) and links to that tag on Forgejo.
|
||||||
Planned **v1.4.0**: fuller L10n (fr-CH for FrancPaysan, de-CH for hacktivism/Taler CH).
|
Planned **v1.4.0**: fuller L10n (fr-CH for FrancPaysan, de-CH for hacktivism/Taler CH).
|
||||||
|
|
|
||||||
2
TESTS.md
2
TESTS.md
|
|
@ -163,7 +163,7 @@ Skip SPA block: `CHECK_WEBUI_SPA=0`.
|
||||||
| **`full`** | `urls inside versions sanity server e2e ladder auth401` |
|
| **`full`** | `urls inside versions sanity server e2e ladder auth401` |
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
cd ~/src/koopa/src/taler-monitoring
|
cd ~/src/taler-monitoring
|
||||||
# secrets.env with bank admin + merchant tokens (see secrets.env.example)
|
# secrets.env with bank admin + merchant tokens (see secrets.env.example)
|
||||||
./taler-monitoring.sh -d hacktivism.ch full
|
./taler-monitoring.sh -d hacktivism.ch full
|
||||||
# same, explicit:
|
# same, explicit:
|
||||||
|
|
|
||||||
2
VERSION
2
VERSION
|
|
@ -1 +1 @@
|
||||||
1.4.0
|
1.4.1
|
||||||
49
VERSIONS.md
49
VERSIONS.md
|
|
@ -3,21 +3,36 @@
|
||||||
Release history for the standalone **taler-monitoring** suite
|
Release history for the standalone **taler-monitoring** suite
|
||||||
(https://git.hacktivism.ch/hernani/taler-monitoring).
|
(https://git.hacktivism.ch/hernani/taler-monitoring).
|
||||||
|
|
||||||
|
## Version scheme
|
||||||
|
|
||||||
|
Tags and `VERSION` use **MAJOR.FEATURE.FIX** (three components):
|
||||||
|
|
||||||
|
| Part | Meaning |
|
||||||
|
|------|---------|
|
||||||
|
| **MAJOR** | Breaking changes to CLI, layout, or host-agent contract |
|
||||||
|
| **FEATURE** | New capabilities (phases, HTML features, i18n packs, …) |
|
||||||
|
| **FIX** | Bugfixes and docs that do not add a feature |
|
||||||
|
|
||||||
|
Git tags: `vMAJOR.FEATURE.FIX` (e.g. `v1.4.1`). File `VERSION` omits the `v` prefix.
|
||||||
|
|
||||||
| Tag | Date (UTC) | Notes |
|
| Tag | Date (UTC) | Notes |
|
||||||
|-----|------------|--------|
|
|-----|------------|--------|
|
||||||
| **v1.3.4** | 2026-07-18 | **Bugfix:** summary line printed raw `$(i18n_text …)` instead of message; aptdeploy remote rsync path `src/src/…`; monpages detects merchant code 21 on any HTTP status + checks bare URLs (no trailing slash); host-agent logs expected public FQDNs. |
|
| **v1.5.0** | *planned* | **L10n** packs for user-facing strings that need localization: **fr-CH** (FrancPaysan) and **de-CH** (hacktivism / Taler CH German). |
|
||||||
| **v1.3.3** | 2026-07-18 | **Docs/fix:** `VERSIONS.md` is git/suite only (no Android blob, no dead `koopa-admin-log` cadence paths); Android stays in `android-test/GUI-AUTOMATION-NOTES.md`. monpages in TESTS; README/host-agent/DEPENDENCIES cleanup. |
|
| **v1.4.1** | 2026-07-18 | **Docs/versioning:** canonical tree `~/src/taler-monitoring`; docs use generic ops/outside-runner wording (no client hostnames); tags always **MAJOR.FEATURE.FIX**. |
|
||||||
| **v1.3.2** | 2026-07-18 | **Bugfix:** drop remaining `koopa-admin-log` suite paths — host-agent/install, path unit, aptdeploy dedupe use **only** `~/src/taler-monitoring`. Reinstall systemd units. |
|
| **v1.3.4** | 2026-07-18 | Summary i18n, monpages code-21, aptdeploy rsync path. |
|
||||||
| **v1.4.0** | *planned* | **L10n** for user-facing outputs that need localization: **fr-CH** (FrancPaysan, Suisse romande) and **de-CH** (hacktivism / Taler CH German). Not implemented yet — after **1.3.x**. |
|
| **v1.3.3** | 2026-07-18 | GIT notes vs GUI notes; monpages in TESTS. |
|
||||||
| **v1.3.1** | 2026-07-18 | **Bugfix:** silent skip when `DEPLOY_WWW_ROOT` not writable left public pages missing (merchant JSON code 21). **monpages** phase + host-agent post-check: verify monitoring HTML via **FQDN** (`https://<host>/monitoring/` etc.). |
|
| **v1.3.2** | 2026-07-18 | Suite paths only `~/src/taler-monitoring` (no admin-log suite tree). |
|
||||||
| **v1.3** | 2026-07-18 | Sticky bar shows **suite version** and links to the Forgejo **tag** (`…/src/tag/vX.Y.Z`). (supersedes tag name **v1.3.0**) |
|
| **v1.3.1** | 2026-07-18 | monpages FQDN check + deploy no longer silent-skip. |
|
||||||
| **v1.2** | 2026-07-18 | Language selection: `--lang` / `TALER_MON_LANG` (en\|fr). |
|
| **v1.3.0** | 2026-07-18 | Sticky bar suite version + Forgejo tag link. |
|
||||||
| **v1.1** | 2026-07-18 | i18n chrome: English default; French for FrancPaysan. |
|
| **v1.2.0** | 2026-07-18 | Language selection: `--lang` / `TALER_MON_LANG` (en\|fr). |
|
||||||
| **v1.0** / **v1** | 2026-07-18 | Initial standalone release (split from `koopa-admin-log`). |
|
| **v1.1.0** | 2026-07-18 | i18n chrome: English default; French for FrancPaysan. |
|
||||||
|
| **v1.0.0** | 2026-07-18 | Initial standalone release. |
|
||||||
|
|
||||||
## Sticky bar version (v1.3+)
|
Older short tags (`v1`, `v1.0`, `v1.1`, `v1.2`, `v1.3`) are obsolete; use the three-component tags above.
|
||||||
|
|
||||||
Generated HTML shows the installed release tag (e.g. `v1.3.1`) next to the host line.
|
## Sticky bar version (v1.3.0+)
|
||||||
|
|
||||||
|
Generated HTML shows the installed release tag (e.g. `v1.4.1`) next to the host line.
|
||||||
Clicking opens the tag page on Forgejo:
|
Clicking opens the tag page on Forgejo:
|
||||||
|
|
||||||
`https://git.hacktivism.ch/hernani/taler-monitoring/src/tag/<tag>`
|
`https://git.hacktivism.ch/hernani/taler-monitoring/src/tag/<tag>`
|
||||||
|
|
@ -26,22 +41,22 @@ Resolved via `git describe --tags` after `update-suite.sh`, with fallback to the
|
||||||
|
|
||||||
## Public monitoring pages (v1.3.1+)
|
## Public monitoring pages (v1.3.1+)
|
||||||
|
|
||||||
Host-agent must publish under `DEPLOY_WWW_ROOT` **and** Caddy must `handle` the paths.
|
Host-agent must publish under `DEPLOY_WWW_ROOT` **and** the reverse proxy must `handle` the paths.
|
||||||
If not, public FQDNs return merchant **JSON code 21**.
|
If not, public FQDNs return merchant **JSON code 21**.
|
||||||
|
|
||||||
| Check | How |
|
| Check | How |
|
||||||
|-------|-----|
|
|-------|-----|
|
||||||
| Phase | `./taler-monitoring.sh monpages` (or `pages`) |
|
| Phase | `./taler-monitoring.sh monpages` (or `pages`) |
|
||||||
| Auto | host-agent default phases include `monpages`; post-check after HTML write |
|
| Auto | host-agent default phases include `monpages`; post-check after HTML write |
|
||||||
| URLs | `https://$MON_HOSTS$HTML_URL_OK` (e.g. `https://taler.hacktivism.ch/monitoring/`) |
|
| URLs | `https://$MON_HOSTS$HTML_URL_OK` |
|
||||||
|
|
||||||
Bug (fixed in 1.3.1): rsync to `/var/www/monitoring-sites` was **silently skipped** when not writable, so staging had pages but FQDNs never did. Now that is an **ERROR**, and monpages fails until live apply:
|
On the stack host (e.g. koopa), publish + Caddy handles:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
sudo ~/koopa-caddy/apply-monitoring-live.sh
|
sudo ~/koopa-caddy/apply-monitoring-live.sh
|
||||||
```
|
```
|
||||||
|
|
||||||
## Language (v1.2+)
|
## Language (v1.2.0+)
|
||||||
|
|
||||||
| Method | Example |
|
| Method | Example |
|
||||||
|--------|---------|
|
|--------|---------|
|
||||||
|
|
@ -49,11 +64,11 @@ sudo ~/koopa-caddy/apply-monitoring-live.sh
|
||||||
| Env | `TALER_MON_LANG=en` or `fr` |
|
| Env | `TALER_MON_LANG=en` or `fr` |
|
||||||
| Auto | `*lefrancpaysan*` → fr, else en |
|
| Auto | `*lefrancpaysan*` → fr, else en |
|
||||||
|
|
||||||
**Note:** Full locale packs (fr-CH / de-CH) for all check messages are scheduled for **v1.4.0**, not 1.3.x.
|
Full locale packs (fr-CH / de-CH) are scheduled for **v1.5.0**.
|
||||||
|
|
||||||
## Pin a release
|
## Pin a release
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
git clone https://git.hacktivism.ch/hernani/taler-monitoring.git ~/src/taler-monitoring
|
git clone https://git.hacktivism.ch/hernani/taler-monitoring.git ~/src/taler-monitoring
|
||||||
cd ~/src/taler-monitoring && git checkout v1.3.4
|
cd ~/src/taler-monitoring && git checkout v1.4.1
|
||||||
```
|
```
|
||||||
|
|
|
||||||
|
|
@ -116,7 +116,7 @@ GUI=1 ./run-android-build-and-smoke.sh
|
||||||
## Platform capability flags (planned + defaults)
|
## Platform capability flags (planned + defaults)
|
||||||
|
|
||||||
Automation can run on hosts that support **Android only**, **GUI tooling only**
|
Automation can run on hosts that support **Android only**, **GUI tooling only**
|
||||||
(conceptual), or **both**. Flags keep that explicit for CI and laptops.
|
(conceptual), or **both**. Flags keep that explicit for CI and workstations.
|
||||||
|
|
||||||
### Proposed env flags
|
### Proposed env flags
|
||||||
|
|
||||||
|
|
@ -152,7 +152,7 @@ with **`-no-window`** and still keep **graphics logic** in the guest:
|
||||||
# or let smoke auto-start headless AVD when no phone is plugged in
|
# or let smoke auto-start headless AVD when no phone is plugged in
|
||||||
STACK=goa ./run-android-gui-smoke.sh
|
STACK=goa ./run-android-gui-smoke.sh
|
||||||
|
|
||||||
# laptop: show the emulator window
|
# ops workstation: show the emulator window
|
||||||
WINDOWED=1 ./start-android-emulator.sh --wait
|
WINDOWED=1 ./start-android-emulator.sh --wait
|
||||||
# or: EMULATOR_HEADLESS=0 EMULATOR_GPU=host ./start-android-emulator.sh --wait
|
# or: EMULATOR_HEADLESS=0 EMULATOR_GPU=host ./start-android-emulator.sh --wait
|
||||||
```
|
```
|
||||||
|
|
|
||||||
|
|
@ -104,7 +104,7 @@ Canonical notes (minimal variant, **flags**, Linux defaults):
|
||||||
```bash
|
```bash
|
||||||
# headless AVD only (default path for servers)
|
# headless AVD only (default path for servers)
|
||||||
./start-android-emulator.sh --wait
|
./start-android-emulator.sh --wait
|
||||||
# windowed (laptops)
|
# windowed (workstations with display)
|
||||||
WINDOWED=1 ./start-android-emulator.sh --wait
|
WINDOWED=1 ./start-android-emulator.sh --wait
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -31,7 +31,7 @@ Thin wrappers only set stack defaults:
|
||||||
| `koopa-taler-deploy-test-apt-src-trixie-testing-upgrade` | **upgrade** for testing suite |
|
| `koopa-taler-deploy-test-apt-src-trixie-testing-upgrade` | **upgrade** for testing suite |
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# from laptop / clementine → triggers on koopa-external
|
# from ops workstation → triggers on koopa-external
|
||||||
./host-agent/run-aptdeploy.sh
|
./host-agent/run-aptdeploy.sh
|
||||||
./host-agent/run-aptdeploy.sh upgrade
|
./host-agent/run-aptdeploy.sh upgrade
|
||||||
./host-agent/run-aptdeploy.sh fresh
|
./host-agent/run-aptdeploy.sh fresh
|
||||||
|
|
@ -74,7 +74,7 @@ Runs **as user `hernani`** (systemd user, linger). **Primary** mode:
|
||||||
`podman exec` on this host into
|
`podman exec` on this host into
|
||||||
`taler-hacktivism-bank` / `taler-hacktivism-exchange-ansible` / `taler-hacktivism`
|
`taler-hacktivism-bank` / `taler-hacktivism-exchange-ansible` / `taler-hacktivism`
|
||||||
(IDs `inside.host-*`, not `inside.ssh-*`).
|
(IDs `inside.host-*`, not `inside.ssh-*`).
|
||||||
From a **laptop**, leave `INSIDE_PODMAN` off → access mode **`ssh`** via `KOOPA_SSH`
|
From an **ops workstation**, leave `INSIDE_PODMAN` off → access mode **`ssh`** via `KOOPA_SSH`
|
||||||
(`inside.ssh-*`).
|
(`inside.ssh-*`).
|
||||||
- Public **`urls` + `versions`** for the stack (`-d hacktivism.ch`).
|
- Public **`urls` + `versions`** for the stack (`-d hacktivism.ch`).
|
||||||
- Writes console HTML for all three sites under
|
- Writes console HTML for all three sites under
|
||||||
|
|
@ -109,7 +109,7 @@ mkdir -p ~/.config/taler-monitoring
|
||||||
cp ~/src/taler-monitoring/host-agent/env.example \
|
cp ~/src/taler-monitoring/host-agent/env.example \
|
||||||
~/.config/taler-monitoring/env
|
~/.config/taler-monitoring/env
|
||||||
|
|
||||||
# laptop:
|
# ops workstation:
|
||||||
./host-agent/install-host-agent.sh --remote koopa-external
|
./host-agent/install-host-agent.sh --remote koopa-external
|
||||||
|
|
||||||
# or on koopa:
|
# or on koopa:
|
||||||
|
|
@ -144,16 +144,16 @@ journalctl --user -u taler-monitoring-hacktivism.service -n 50 --no-pager
|
||||||
ls ~/monitoring-sites-staging/bank.hacktivism.ch/monitoring_err/
|
ls ~/monitoring-sites-staging/bank.hacktivism.ch/monitoring_err/
|
||||||
```
|
```
|
||||||
|
|
||||||
## Relation to firecuda outside-only timer
|
## Relation to optional outside-only timer
|
||||||
|
|
||||||
| | host-agent (koopa) | firecuda site-gen |
|
| | host-agent (koopa) | outside-runner site-gen |
|
||||||
|--|--------------------|-------------------|
|
|--|--------------------|-------------------|
|
||||||
| Access | **podman on host** | public HTTPS only |
|
| Access | **podman on host** | public HTTPS only |
|
||||||
| Phases | urls **inside** versions | urls versions |
|
| Phases | urls **inside** versions | urls versions |
|
||||||
| Trigger | software path + 4h | *could* launchd 4h |
|
| Trigger | software path + 4h | *could* launchd 4h |
|
||||||
| Primary for GOA | **yes** | **off** (optional only) |
|
| Primary for GOA | **yes** | **off** (optional only) |
|
||||||
|
|
||||||
**firecuda-external is not scheduled** right now (launchd disabled). Scripts under
|
**outside-runner is not scheduled** right now (launchd disabled). Scripts under
|
||||||
`site-gen/` can still one-shot a public run if needed; see `site-gen/README.md`.
|
`site-gen/` can still one-shot a public run if needed; see `site-gen/README.md`.
|
||||||
|
|
||||||
No secrets required for default phases. `secrets.env` optional for e2e later.
|
No secrets required for default phases. `secrets.env` optional for e2e later.
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@
|
||||||
# $EDITOR secrets.env
|
# $EDITOR secrets.env
|
||||||
#
|
#
|
||||||
# Never commit secrets.env. Prefer file paths under koopa-admin-secrets
|
# Never commit secrets.env. Prefer file paths under koopa-admin-secrets
|
||||||
# for long-term storage; this file is for laptop one-shots / overrides.
|
# for long-term storage; this file is for workstation one-shots / overrides.
|
||||||
#
|
#
|
||||||
# Load order: env already set > secrets.env > SECRETS_ROOT files > SSH koopa
|
# Load order: env already set > secrets.env > SECRETS_ROOT files > SSH koopa
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -14,35 +14,37 @@ Applies to all nine fronts (GOA + FP stage + FP prod) in the default `SITES` lis
|
||||||
|
|
||||||
| Host | Role |
|
| Host | Role |
|
||||||
|------|------|
|
|------|------|
|
||||||
| **firecuda-external** | optional runner (public DNS) |
|
| **optional outside runner** (SSH alias via `FIRECUDA_SSH`) | optional runner (public DNS) |
|
||||||
| **koopa-external** | deploy staging + Caddy (root service) |
|
| **koopa-external** | deploy staging + Caddy (root service) |
|
||||||
| **host-agents** | primary: GOA + FP on-box (`../host-agent/`) |
|
| **host-agents** | primary: GOA + FP on-box (`../host-agent/`) |
|
||||||
|
|
||||||
No secrets in `settings.conf` — only hosts, paths, site list.
|
No secrets in `settings.conf` — only hosts, paths, site list.
|
||||||
|
|
||||||
## firecuda-external (outside-only) — **disabled for now**
|
## Optional outside runner (outside-only) — **disabled for now**
|
||||||
|
|
||||||
**firecuda-external could** run public-only monitoring (`SKIP_SSH=1`, phases
|
An **optional outside runner** could run public-only monitoring (`SKIP_SSH=1`, phases
|
||||||
`urls versions`) on a schedule (launchd every 4h) and write HTML under
|
`urls versions`) on a schedule (launchd every 4h) and write HTML under
|
||||||
`~/var/taler-monitoring-sites-work/html/`. Scripts for that still live here
|
`~/var/taler-monitoring-sites-work/html/`. Scripts for that still live here
|
||||||
(`install-firecuda-timer.sh`, `run-on-firecuda.sh`, plist template).
|
(`install-firecuda-timer.sh`, `run-on-firecuda.sh`, plist template).
|
||||||
|
|
||||||
**Current policy: do not run a real launchd job on firecuda.**
|
**Current policy: do not run a real launchd job on the outside runner.**
|
||||||
Primary GOA monitoring is **koopa host-agent** (`host-agent/`, user `hernani`,
|
Primary GOA monitoring is **koopa host-agent** (`host-agent/`, user `hernani`,
|
||||||
local `podman exec`). Re-enable firecuda only if you explicitly want a second,
|
local `podman exec`). Re-enable the outside runner only if you explicitly want a second,
|
||||||
outside-only view.
|
outside-only view.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# optional one-shot (no timer):
|
# optional one-shot (no timer):
|
||||||
# ssh firecuda-external '~/taler-monitoring-site-gen/site-gen/run-on-firecuda.sh'
|
# ssh "$FIRECUDA_SSH" # e.g. your outside-runner alias
|
||||||
|
# ssh "$FIRECUDA_SSH" '~/taler-monitoring-site-gen/site-gen/run-on-firecuda.sh'
|
||||||
|
|
||||||
# if a timer was installed earlier, ensure it is off:
|
# if a timer was installed earlier, ensure it is off:
|
||||||
# ssh firecuda-external 'launchctl list | grep taler-monitoring || echo off'
|
# ssh "$FIRECUDA_SSH" # e.g. your outside-runner alias
|
||||||
|
# ssh 'launchctl list | grep taler-monitoring || echo off # macOS outside runner'
|
||||||
```
|
```
|
||||||
|
|
||||||
Disabled plists may remain as `*.plist.disabled-*` under `~/Library/LaunchAgents/`.
|
Disabled plists may remain as `*.plist.disabled-*` under `~/Library/LaunchAgents/`.
|
||||||
|
|
||||||
## Quick start (laptop)
|
## Quick start (ops workstation)
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
cd site-gen
|
cd site-gen
|
||||||
|
|
|
||||||
|
|
@ -88,5 +88,5 @@ curl -sS https://bank.hacktivism.ch/monitoring_err/ | head
|
||||||
|
|
||||||
## Not needed as root
|
## Not needed as root
|
||||||
|
|
||||||
- Running `taler-monitoring` (use **firecuda-external** / laptop)
|
- Running `taler-monitoring` (use **optional outside runner** (SSH alias via `FIRECUDA_SSH`) / laptop)
|
||||||
- Writing into podman Taler containers
|
- Writing into podman Taler containers
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,11 @@ set -euo pipefail
|
||||||
|
|
||||||
ROOT=$(cd "$(dirname "$0")" && pwd)
|
ROOT=$(cd "$(dirname "$0")" && pwd)
|
||||||
MON_ROOT=$(cd "$ROOT/.." && pwd)
|
MON_ROOT=$(cd "$ROOT/.." && pwd)
|
||||||
FIRECUDA="${FIRECUDA_SSH:-firecuda-external}"
|
FIRECUDA="${FIRECUDA_SSH:-}"
|
||||||
|
if [ -z "$FIRECUDA" ]; then
|
||||||
|
echo "Set FIRECUDA_SSH to your outside-runner SSH host alias" >&2
|
||||||
|
exit 2
|
||||||
|
fi
|
||||||
REMOTE_BASE="${FIRECUDA_INSTALL_DIR:-taler-monitoring-site-gen}"
|
REMOTE_BASE="${FIRECUDA_INSTALL_DIR:-taler-monitoring-site-gen}"
|
||||||
RUN_NOW=0
|
RUN_NOW=0
|
||||||
[ "${1:-}" = "--run-now" ] && RUN_NOW=1
|
[ "${1:-}" = "--run-now" ] && RUN_NOW=1
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,11 @@
|
||||||
# pull-firecuda-to-koopa.sh — copy HTML from firecuda work dir → koopa staging
|
# pull-firecuda-to-koopa.sh — copy HTML from firecuda work dir → koopa staging
|
||||||
# Run on laptop (hernani) where both SSH aliases work.
|
# Run on laptop (hernani) where both SSH aliases work.
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
FIRECUDA="${FIRECUDA_SSH:-firecuda-external}"
|
FIRECUDA="${FIRECUDA_SSH:-}"
|
||||||
|
if [ -z "$FIRECUDA" ]; then
|
||||||
|
echo "Set FIRECUDA_SSH to your outside-runner SSH host alias" >&2
|
||||||
|
exit 2
|
||||||
|
fi
|
||||||
KOOPA="${DEPLOY_SSH:-koopa-external}"
|
KOOPA="${DEPLOY_SSH:-koopa-external}"
|
||||||
REMOTE_HTML="${FIRECUDA_HTML:-var/taler-monitoring-sites-work/html/}"
|
REMOTE_HTML="${FIRECUDA_HTML:-var/taler-monitoring-sites-work/html/}"
|
||||||
STAGE="${DEPLOY_STAGING:-/home/hernani/monitoring-sites-staging}"
|
STAGE="${DEPLOY_STAGING:-/home/hernani/monitoring-sites-staging}"
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
# run-on-firecuda.sh — entrypoint for launchd/cron on firecuda-external.
|
# run-on-firecuda.sh — entrypoint for launchd/cron on outside-runner.
|
||||||
# Outside-only monitoring (SKIP_SSH=1), all 9 sites, then stage HTML to koopa.
|
# Outside-only monitoring (SKIP_SSH=1), all 9 sites, then stage HTML to koopa.
|
||||||
#
|
#
|
||||||
# Installed path on firecuda (default):
|
# Installed path on outside-runner (default):
|
||||||
# ~/taler-monitoring-site-gen/site-gen/run-on-firecuda.sh
|
# ~/taler-monitoring-site-gen/site-gen/run-on-firecuda.sh
|
||||||
#
|
#
|
||||||
set -uo pipefail
|
set -uo pipefail
|
||||||
|
|
@ -16,7 +16,7 @@ STAMP=$(date +%Y%m%d-%H%M%S)
|
||||||
LOG="$LOG_DIR/run-${STAMP}.log"
|
LOG="$LOG_DIR/run-${STAMP}.log"
|
||||||
exec >>"$LOG" 2>&1
|
exec >>"$LOG" 2>&1
|
||||||
|
|
||||||
echo "======== $(date -Iseconds 2>/dev/null || date) firecuda monitoring sites ========"
|
echo "======== $(date -Iseconds 2>/dev/null || date) outside-runner monitoring sites ========"
|
||||||
|
|
||||||
# Always: public DNS only, no SSH checks into stacks
|
# Always: public DNS only, no SSH checks into stacks
|
||||||
export SKIP_SSH=1
|
export SKIP_SSH=1
|
||||||
|
|
@ -39,7 +39,7 @@ chmod +x generate-monitoring-sites.sh deploy-monitoring-sites.sh console_to_html
|
||||||
./generate-monitoring-sites.sh
|
./generate-monitoring-sites.sh
|
||||||
ec=$?
|
ec=$?
|
||||||
|
|
||||||
# HTML stays on firecuda under WORK_ROOT/html.
|
# HTML stays on outside-runner under WORK_ROOT/html.
|
||||||
# Optional push to koopa if this host can SSH there (often only from laptop):
|
# Optional push to koopa if this host can SSH there (often only from laptop):
|
||||||
if [ -n "${DEPLOY_SSH:-}" ] && [ "${DEPLOY_FROM_FIRECUDA:-0}" = "1" ]; then
|
if [ -n "${DEPLOY_SSH:-}" ] && [ "${DEPLOY_FROM_FIRECUDA:-0}" = "1" ]; then
|
||||||
if [ -x ./deploy-monitoring-sites.sh ]; then
|
if [ -x ./deploy-monitoring-sites.sh ]; then
|
||||||
|
|
@ -47,7 +47,7 @@ if [ -n "${DEPLOY_SSH:-}" ] && [ "${DEPLOY_FROM_FIRECUDA:-0}" = "1" ]; then
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
echo "note: HTML at ${WORK_ROOT}/html — pull from laptop:"
|
echo "note: HTML at ${WORK_ROOT}/html — pull from laptop:"
|
||||||
echo " rsync -az firecuda-external:var/taler-monitoring-sites-work/html/ \\"
|
echo " rsync -az outside-runner:var/taler-monitoring-sites-work/html/ \\"
|
||||||
echo " koopa-external:monitoring-sites-staging/"
|
echo " koopa-external:monitoring-sites-staging/"
|
||||||
echo " # or: ./pull-firecuda-to-koopa.sh"
|
echo " # or: ./pull-firecuda-to-koopa.sh"
|
||||||
fi
|
fi
|
||||||
|
|
|
||||||
|
|
@ -2,8 +2,8 @@
|
||||||
# Copy: cp settings.conf.example settings.conf
|
# Copy: cp settings.conf.example settings.conf
|
||||||
# Never put passwords/tokens here.
|
# Never put passwords/tokens here.
|
||||||
|
|
||||||
# On firecuda the suite runs *locally* (RUNNER_SSH empty). From a laptop you
|
# On an outside runner the suite runs *locally* (RUNNER_SSH empty). From a laptop you
|
||||||
# can set RUNNER_SSH=firecuda-external to drive a one-off remote run instead.
|
# can set RUNNER_SSH=<outside-runner-ssh-alias> to drive a one-off remote run instead.
|
||||||
RUNNER_SSH=
|
RUNNER_SSH=
|
||||||
RUNNER_SSH_FALLBACKS=
|
RUNNER_SSH_FALLBACKS=
|
||||||
RUNNER_REMOTE_WORKDIR=/tmp/taler-monitoring-site-gen
|
RUNNER_REMOTE_WORKDIR=/tmp/taler-monitoring-site-gen
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue