Commit Graph
151 Commits
Author SHA1 Message Date
kevinveenbirkenbachandClaude Sonnet 4.6 9eab315577 fix(matomo): disable inj_enabled.matomo when token unavailable, remove redundant CDN task
Sets inj_enabled.matomo=false when the Matomo token is empty so the NGINX
template skips body/head snippets and avoids 'matomo_site_id is undefined'.
Removes the explicit CDN load task — CDN is now covered by the generic
frontend service loader in 01_services.yml (loaded only when needed).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-30 11:33:57 +02:00
kevinveenbirkenbachandClaude Sonnet 4.6 2457d0e13c docs(playwright): add recording section and remove duplicated requirements
- Add Recording Tests section: Playwright codegen (built-in) and
  playwright-recorder (Docker/X11-based) with usage examples
- Replace duplicated spec/env requirement blocks with links to their
  SPOT pages in docs/agents/files/role/
- Extend Development Procedure to include optional recording step

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-30 10:55:19 +02:00
kevinveenbirkenbachandClaude Sonnet 4.6 33eebcae7c fix(matomo): skip injection gracefully when token is not yet available
Splits injection logic into inject.yml and guards execution via main.yml
when the Matomo API token is empty (e.g. first deployment or bootstrap not
yet run). Documents the exception and its retry behaviour in
docs/contributing/code/exceptions.md.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-30 10:00:40 +02:00
kevinveenbirkenbachandClaude Sonnet 4.6 c533d9a6fb docs(architecture): add hyperlinks, RFC 2119 keywords, and services.md reference
Convert backtick path references to clickable hyperlinks, apply MUST/SHOULD
language where appropriate, and link to services.md and workflow.md as SPOTs.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-30 08:39:12 +02:00
kevinveenbirkenbachandClaude Sonnet 4.6 96649d8c9b refactor(services): centralize frontend service loading with generic lookup plugin
Introduces a SPOT for all frontend service loading in sys-front-inj-all/tasks/01_services.yml,
driven by a new generic `service` lookup plugin that resolves services by key or role name
and returns {id, role, enabled, shared, needed}. Needed = enabled AND shared (direct or
transitive). The canonical key→role mapping moves to group_vars/all/20_services.yml
(previously scattered hardcoded rules). Removes per-role service loads from bigbluebutton,
nextcloud, and dashboard. Renames 01_dependencies.yml→01_services.yml and
08_services.yml→08_daemons.yml. Adds flush_handlers after each service load.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-30 08:27:21 +02:00
kevinveenbirkenbachandClaude Sonnet 4.6 a50c90c733 fix(deploy): resolve SERVICES_DISABLED service names to app IDs and verify inventory
- deploy.py: use find_provider_roles() to map service names (e.g. 'matomo')
  to provider app IDs (e.g. 'web-app-matomo') before filtering deploy_ids;
  forward SERVICES_DISABLED into the container via extra_env
- container.sh: rename INSPECT_CMD to CMD for consistency; fix indentation
- Makefile: expose CMD variable on exec target for non-interactive use
- environment.sh: source scripts/meta/env/all.sh for INVENTORY_DIR; add
  inventory verification after SERVICES_DISABLED deploy using make exec
- variables.md: document CMD variable

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-30 01:26:44 +02:00
kevinveenbirkenbachandClaude Sonnet 4.6 dca1eb69c7 docs: remove README.md files under docs/ and add lint check
Replace per-directory README.md index files with automatic glob toctree
in root index.rst (docs/**). Add lint test that fails if any README.md
appears under docs/. Document the no-README rule in documentation.md.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-29 21:16:15 +02:00
kevinveenbirkenbachandClaude Sonnet 4.6 846e975876 docs(flow): restructure branch.md headings
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-29 20:51:15 +02:00
kevinveenbirkenbachandClaude Sonnet 4.6 ffa8e44920 docs(flow): add cross-links to branch, PR, testing and review docs
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-29 20:41:08 +02:00
kevinveenbirkenbachandClaude Sonnet 4.6 9b5d5eb821 docs(flow): restructure pull-request.md sections and headings
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-29 20:38:25 +02:00
kevinveenbirkenbachandClaude Sonnet 4.6 274db55ac5 docs(flow): add branch naming conventions, update PR and workflow docs
- Add branch.md as SPOT for branch naming patterns and CI scope table
- Update pull-request.md: link to branch.md, add fork CI decision matrix,
  draft PR rules including convert-back-to-draft requirement
- Update workflow.md: replace inline branch prefix table with link to
  branch.md, replace forum link with hub discussion reference

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-29 20:35:11 +02:00
kevinveenbirkenbachandClaude Sonnet 4.6 6a5d65afc0 docs(development): add supported systems page
Document required OS targets for deployed roles and local setup scripts,
including Red Hat SLA/security rationale, WSL2 and Homebrew requirements,
and RFC 2119 rules for cross-distro script behaviour.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-29 17:02:12 +02:00
kevinveenbirkenbachandClaude Sonnet 4.6 e372349d10 refactor: rename deploy-*-app to deploy-*-apps for multi-app support
Update all Make targets, comments, docs, and scripts to use the plural
form, reflecting that APPS can specify more than one application.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-29 16:47:16 +02:00
kevinveenbirkenbachandClaude Sonnet 4.6 1982795e16 docs(hardware): apply RFC 2119 keywords, restructure cleanup section, add Playwright hint
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-29 16:29:20 +02:00
kevinveenbirkenbachandClaude Sonnet 4.6 5357052dd5 feat(system): add system-disk-usage, rename purge-system to system-purge, remove purge-all
- Add scripts/system/meta/disk-usage.sh with best-effort coverage of
  Docker, Buildx, journald, pip, npm, yarn, Go, and distro package caches
- Add make system-disk-usage target
- Rename make purge-system -> system-purge for consistent naming
- Remove make purge-all (was a redundant alias)
- Remove scripts/system/purge/all.sh (logic consolidated into system-purge)
- Integrate scripts/image/cleanup.sh as best-effort step in system-purge
- Update environment.sh: run system-disk-usage before system-purge
- Update docs: hardware.md, makefile.md (add apparmor-teardown/restore entries)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-29 16:11:57 +02:00
kevinveenbirkenbachandClaude Sonnet 4.6 9d863f1ef4 feat(inventory): add SERVICES_DISABLED env var support and environment test flow
- Add services_disabler.py: parse SERVICES_DISABLED, disable services in host_vars,
  remove provider roles from inventory
- Wire apply_services_disabled_from_env into cli/create/inventory/cli.py after deploy
- Add unit tests for all services_disabler functions
- Update hardware.md and variables.md with SERVICES_DISABLED documentation
- Update environment.sh: deploy dashboard with SERVICES_DISABLED=matomo first,
  assert dashboard reachable + matomo not reachable, then deploy matomo and assert
  reachable; extract assert_http_status / assert_http_status_not helpers

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-29 15:00:24 +02:00
kevinveenbirkenbachandClaude Sonnet 4.6 721e599428 refactor(scripts): rename development.sh to environment.sh
Aligns the script name with the workflow and its purpose.
Updates all references in test-environment.yml and setup.md.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-29 12:42:02 +02:00
kevinveenbirkenbachandClaude Sonnet 4.6 06a688c59a refactor(deploy): rename APP to APPS throughout the project
Makes clear that multiple space- or comma-separated app ids are
supported. Renames the env var, CLI flag (--app → --apps), and all
references in scripts, workflows, and documentation.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-29 11:41:31 +02:00
kevinveenbirkenbachandClaude Sonnet 4.6 2fc70efadd docs: simplify make exec hint in iteration inspect section
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-28 23:26:47 +01:00
kevinveenbirkenbachandClaude Sonnet 4.6 ed2dd7ee59 docs: add make exec / docker exec as container inspection commands in iteration guide
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-28 23:26:26 +01:00
kevinveenbirkenbachandClaude Sonnet 4.6 139084359e docs: strengthen MUST wording for APP_BASE_URL dashboard start rule
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-28 23:19:51 +01:00
kevinveenbirkenbachandClaude Sonnet 4.6 ccb8ed76af docs: remove backlinks from all .md files
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-28 22:58:12 +01:00
kevinveenbirkenbachandClaude Sonnet 4.6 a7e617f338 docs: skip fresh deploy when user explicitly requests existing setup reuse
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-28 22:55:55 +01:00
kevinveenbirkenbachandClaude Sonnet 4.6 a4f159466b docs: ask user which roles to refactor when more than one is affected
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-28 22:49:36 +01:00
kevinveenbirkenbachandClaude Sonnet 4.6 894883de00 docs: fix heading formatting in agent style.css guide
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-28 22:47:08 +01:00
kevinveenbirkenbachandClaude Sonnet 4.6 0a8a113bd6 fix: replace --color-XX-rgb-* with canonical --color-rgb-XX-* token format
The colorscheme-generator produces --color-rgb-XX-YY tokens. All role style
files were using the non-canonical --color-XX-rgb-YY alias format. Taiga had
a local alias block mapping the old format to the correct one; that block is
now removed as it is no longer needed.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-28 22:43:44 +01:00
kevinveenbirkenbachandClaude Sonnet 4.6 b07b8107b5 docs: add color category rules to style.css agent guide
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-28 22:27:13 +01:00
kevinveenbirkenbachandClaude Sonnet 4.6 46e8f0e22f docs: add reload instruction and RFC 2119 fixes to agent docs
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-28 22:22:47 +01:00
kevinveenbirkenbachandClaude Sonnet 4.6 905c1c0bec docs: add documentation optimization step to refactor workflow
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-28 22:20:35 +01:00
kevinveenbirkenbachandClaude Sonnet 4.6 2e97762207 docs: remove duplicate README.md preference rule
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-28 22:18:40 +01:00
kevinveenbirkenbachandClaude Sonnet 4.6 9b0e115d2f docs: refactor and optimize agent meta-files and documentation rules
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-28 22:17:50 +01:00
kevinveenbirkenbachandClaude Sonnet 4.6 1d8a6cc438 docs: consolidate agent meta-files, add RFC 2119 link rules and refactor workflow
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-28 22:13:43 +01:00
kevinveenbirkenbachandClaude Sonnet 4.6 d72ed74f16 docs: apply RFC 2119 requirement keywords across all docs
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-28 21:39:56 +01:00
kevinveenbirkenbachandClaude Sonnet 4.6 253a425c39 docs: forbid auto-commit without explicit user confirmation
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-28 21:28:06 +01:00
kevinveenbirkenbachandClaude Sonnet 4.6 2e901ad2ae docs: make agent instructions imperative and add Claude startup checklist
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-28 21:26:25 +01:00
kevinveenbirkenbach 46fc790fdb docs: add playwright role file guidance 2026-03-28 18:30:13 +01:00
kevinveenbirkenbach 7df3c09472 docs: add role file guidance for css and javascript 2026-03-28 18:18:56 +01:00
kevinveenbirkenbach 0200b22298 Normalize scripts layout and Make targets 2026-03-28 09:00:38 +01:00
kevinveenbirkenbach 34b1a11101 refactor purge cleanup flow 2026-03-28 08:13:31 +01:00
kevinveenbirkenbach e0f9ef1dd4 refactor: rename deploy ci and act scripts 2026-03-28 06:27:48 +01:00
kevinveenbirkenbach 6d98ca4cd0 refactor: normalize local deploy layout 2026-03-28 06:20:06 +01:00
kevinveenbirkenbach 67fadb57b8 refactor: normalize inventory filename to devices 2026-03-28 05:40:13 +01:00
kevinveenbirkenbach cb7b0cb4ec docs: centralize deploy iteration policy 2026-03-28 04:44:31 +01:00
kevinveenbirkenbach e9d0d207a9 docs: add local inspect wrapper 2026-03-28 03:07:24 +01:00
kevinveenbirkenbach 49e3d5cd9a docs: add environment variable reference 2026-03-28 01:46:29 +01:00
kevinveenbirkenbach 507f1386a7 refactor: reorganize agent docs 2026-03-28 01:29:16 +01:00
kevinveenbirkenbach 61f35a0b6f refactor: rename act targets 2026-03-28 00:29:00 +01:00
kevinveenbirkenbach 3fb1dc1207 refactor: rename local deploy targets 2026-03-28 00:22:51 +01:00
kevinveenbirkenbach 275c1c89b9 Document lint repo rules 2026-03-27 23:33:57 +01:00
kevinveenbirkenbach 50bde25f58 docs: move environment guides 2026-03-27 23:10:33 +01:00