Commit Graph
9 Commits
Author SHA1 Message Date
kevinveenbirkenbachandClaude Opus 4.7 a415eecd1c fix(matomo): pin Matomo to 5.9.0 + raise installer timeouts
The matomo-bootstrap:1.1.13 Playwright walker fails at the
setupSuperUser step against `matomo:latest` (currently 5.11.x):
`Could not find a Next/Continue control in the installer UI`. The
bootstrap was last aligned with the Matomo DOM in v1.1.12 (changelog
2026-02-15, Matomo 5.7.x). 5.9.0 is the oldest 5.x tag still
pullable from Docker Hub, putting us as close to the bootstrap's
known-good DOM as the registry allows.

Defense-in-depth: raise the installer wait/step/deadline knobs in
bootstrap.env.j2 so slow renders under swarm/NFS don't trip the
Playwright walker. Also lower
`MATOMO_INSTALLER_SUPERUSER_RELOAD_INTERVAL_S` from the upstream
default 30 to 10 so the orchestrator's reload-aware helper recovers
faster when execution reaches that branch.

Downgrade caveat: deploys currently running matomo:latest carry a
5.11.x DB schema; the next re-deploy will pin 5.9.0 and Matomo may
refuse to start or behave unexpectedly. Back up the database before
applying this commit on a live cluster.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-16 13:34:07 +02:00
kevinveenbirkenbachandClaude Opus 4.7 cd5d22c9d7 refactor(web-app-matomo): renumber tasks, lift HOST_TIMEZONE_LABEL, swarm-aware envfile and bootstrap script
Renumber the tasks/ tree to a flat NN_ scheme (drop the 02b / 03a / 03b
suffixes) and update all include_tasks references; main.yml -> 01_core
stays unchanged. Lift the hardcoded matomo bootstrap timezone label
into a global HOST_TIMEZONE_LABEL constant in group_vars/all so other
apps can share it; default to "United Kingdom" because GB has a single
IANA timezone and matomo's getTimezoneName collapses to the country
name in that case. Drop unconditional double quotes from env.j2 and
bootstrap.env.j2 since docker stack deploy preserves env-file quotes
literally and was feeding matomo "matomo" instead of matomo as the
DB name. Add MATOMO_ADMIN_EMAIL via the users lookup so the bootstrap
template can reference a typed variable instead of constructing the
address inline. Switch 08_patch_trusted_hosts to ansible.builtin.shell
with the script body piped in via stdin from lookup('file', ...) and
shrink the script file to just the inner sh body. Strip section-banner
and restate-the-code comments from vars/main.yml, env.j2 and the
extracted script; keep the two genuine trip-wire comments (matrix
deploy round-2 DB creds, include_role-chain role_vars pollution) in a
shorter Exception form.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-14 19:08:44 +02:00
kevinveenbirkenbach ab26b713fd web-app-matomo: increase installer step timeout for flaky setupSuperUser 2026-02-14 19:02:22 +01:00
kevinveenbirkenbach 5ef66e045e Merge branch 'master' of github.com:kevinveenbirkenbach/infinito-nexus 2026-02-14 15:11:36 +01:00
kevinveenbirkenbach 5c62a7f0ce Quote MATOMO admin password in bootstrap env 2026-02-14 15:00:39 +01:00
kevinveenbirkenbach 0ce1c15f4b web-app-matomo: bump matomo-bootstrap to 1.1.7 and add installer timeout env vars
- Update bootstrap image from 1.1.4 to 1.1.7
- Explicitly set installer stability timeouts:
  - MATOMO_INSTALLER_READY_TIMEOUT_S
  - MATOMO_INSTALLER_STEP_TIMEOUT_S
  - MATOMO_INSTALLER_STEP_DEADLINE_S
  - MATOMO_INSTALLER_TABLES_CREATION_TIMEOUT_S
  - MATOMO_INSTALLER_TABLES_ERASE_TIMEOUT_S

Improves robustness on slow VPS/CI environments and aligns role
with current bootstrap image defaults.
2026-02-14 05:49:43 +01:00
kevinveenbirkenbach fadde240d8 refactor(tokens): unify token handling via sys-token-store
- Introduce sys-token-store lookup.yml (users → store → empty)
- Introduce sys-token-store write.yml (persist + inject into runtime users)
- Remove all implicit token generation and legacy token tasks
- Migrate Matomo to users.<user>.tokens[application_id]
- Remove redundant Matomo token.value and credentials schema
- Fix Matomo bootstrap env: use MATOMO_ADMIN_USER consistently
- Harden Matomo site verification error handling
- Align sys-front-inj-matomo with unified token model

https://chatgpt.com/share/694d7d55-28a0-800f-8c91-cd09cb9ded7f
2025-12-25 19:07:08 +01:00
kevinveenbirkenbach b3ff44ea08 fix(matomo): use fully qualified service and site URLs for bootstrap
- Use service-based MATOMO_URL inside compose network
- Provide fully qualified MATOMO_SITE_URL (incl. scheme) for installer
- Align vars with dynamic service naming
- Prevent Playwright installer failures due to invalid URLs

https://chatgpt.com/share/694bd2bf-353c-800f-a0cc-0e4d9f2e550f
2025-12-24 12:46:56 +01:00
kevinveenbirkenbach 2c4463879a refactor(matomo): replace nix installer with docker-compose bootstrap profile
* add token configuration and bootstrap service to role config
* introduce dedicated bootstrap env file wired via env_file override
* replace nix/playwright-based installer with one-shot compose bootstrap
* determine bootstrap need based on config.ini.php and token presence
* move post-install API configuration into separate task file

https://chatgpt.com/share/694bcac4-1a00-800f-9aff-dbcd9a2003dc
2025-12-24 12:12:32 +01:00