Commit Graph
26 Commits
Author SHA1 Message Date
kevinveenbirkenbachandClaude Opus 4.8 4039313266 refactor(tasks): enforce and apply a single task-file numbering scheme
Add tests/lint/repository/test_task_file_numbering.py: numbered task
files use exactly two leading digits, a numbered *_core.yml must be
00_core.yml, per directory the numbers are unique/consecutive and start
at 01 (00 with a core file), numbered includes appear in ascending
order, and shared helpers live in tasks/utils/ instead of the numbered
chain.

Apply it across every role: rename NN_core.yml to 00_core.yml with a
consecutive down-shift of the siblings, move letter-suffix children into
a subdirectory named after their parent task, relocate helpers included
from more than one place into tasks/utils/, and update every reference
(include_tasks, path_absolute, .ansible-lint-ignore, requirement docs).
Legacy narration comments in the touched files are deleted; the upstream
xwiki.properties reference block opts out via nocheck. The unused
MAILU_IP6_PUBLIC var (only ever named in now-removed comments) is dropped.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-23 20:01:31 +02:00
kevinveenbirkenbachandClaude Opus 4.8 cddb0dc59b feat(lint): require emoji-prefixed task/step/job names + convert existing
Add tests/lint/repository/test_name_emoji_and_length.py: every Ansible task
name and GitHub Actions workflow/job/step name must start with an emoji (first
char not 0-9/A-Za-z) and be <= 80 chars.

- emit emoji names at the source: cli/build/include generator now writes
  "🔧 setup <app>" / "🚿 flush handlers after <app>" so generated
  tasks/groups/*-roles.yml satisfy the convention too
- convert existing task/step/job/workflow names to emoji-prefixed, choosing a
  task-fitting icon per action (📦 install, ✅ ensure, 🔍 probe, 🥾 bootstrap,
  🚀 deploy, 🧩 service-module load, ⬇️ checkout, 📂 include-routines, ...)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-28 22:45:06 +02:00
kevinveenbirkenbachandClaude Opus 4.7 c52e4269bf chore(tooling): integrate mbake (Makefile linter/formatter) + working-tree drift sync
Makefile lint integration:
* scripts/install/lint.sh: replace the prior checkmake binary install with
  ensure_mbake (mbake is pip-installable, parses our Makefile correctly
  whereas checkmake bailed on .ONESHELL: / .SHELLFLAGS: / ifneq).
* scripts/lint/makefile.sh: new runner — `mbake format --check Makefile`
  reports formatting drift and missing .PHONY declarations.
* scripts/lint/autoformat.sh: add a two-pass `mbake format Makefile`
  (mbake's formatter is not strictly idempotent on the first pass).
* Makefile: split the multi-line `.PHONY:` block into 18 single-line
  `.PHONY:` declarations so mbake's parser can validate it; add the
  previously-missing `install-python-dev` and `build-dependency` PHONY
  targets; add `lint-makefile` aggregate-and-direct target.
* .pre-commit-config.yaml: new make-lint-makefile hook scoped to
  `^Makefile$`.
* .github/workflows/lint-makefile.yml: new CI workflow (pip-install mbake
  + make lint-makefile).
* .github/workflows/ci-orchestrator.yml: wire lint-makefile into
  lint-gate.needs.

Misc:
* .gitignore: add roles/importer_result.json (tooling artefact written by
  galaxy-importer when it runs in roles/).

Plus working-tree drift across roles/, group_vars/, inventories/, and
tasks/ that accumulated from the make-test setup phase regenerating
generated artefacts during recent test runs.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-09 00:32:44 +02:00
kevinveenbirkenbach d44eee1048 Fix Ansible fact deprecations and loop variable collisions 2026-02-26 17:54:14 +01:00
kevinveenbirkenbach dfc448ace0 pkgmgr-install: retry package update 7x with 20s delay 2026-02-23 15:17:38 +01:00
kevinveenbirkenbach 4ca9bc61e0 Removed MODE_UPDATE conditions to make behaviour more deterministic 2026-02-05 11:39:09 +01:00
kevinveenbirkenbach 754d073aac pkgmgr-install: ensure venv PATH and stabilize pkgmgr execution
- Explicitly export PKGMGR_VENV and prepend its bin directory to PATH
- Avoid hard-coded pkgmgr binary paths
- Improve robustness of non-interactive pkgmgr update execution
- Load docker-compose handlers explicitly in web-app-sphinx

https://chatgpt.com/share/695bc971-fd58-800f-bde6-7d36e72ef5dd
2026-01-05 15:23:37 +01:00
kevinveenbirkenbach 2bfd9de1f2 Reimplemented false deleted package_notify 2025-12-22 16:20:05 +01:00
kevinveenbirkenbach 79caa29ace Removed redundancy in pkgmgr instally 2025-12-22 14:01:53 +01:00
kevinveenbirkenbach 5dcd8059eb fix(pkgmgr): enforce non-interactive updates and abort on prompts
- Remove interactive pkgmgr update during install
- Run pkgmgr updates via venv binary in non-interactive mode
- Disable git prompts and SSH interactivity
- Close stdin and enforce timeout to prevent hanging updates
- Ensure deterministic behavior in Ansible, CI, and Docker contexts

https://chatgpt.com/share/69485536-28c8-800f-9a6b-fb25f433e367
2025-12-21 21:14:40 +01:00
kevinveenbirkenbach 9fb372be52 Implemented shallow cloning for git 2025-12-04 23:50:24 +01:00
kevinveenbirkenbach f147bbcc93 Optimized tag name 2025-12-04 15:12:50 +01:00
kevinveenbirkenbach e09f561f0b Refactor run-once orchestration and bootstrap Mailu/Mastodon in a single deploy
- Replace legacy utils/run_once.yml with the new helpers utils/once_flag.yml and utils/once_finalize.yml
- Introduce utils/compose_up.yml to ensure docker-compose stacks are up and to flush handlers safely without coupling to run-once flags
- Migrate all affected roles (desk-*, dev-*, sys-ctl-*, sys-svc-*, web-app-*, web-svc-*, util-*) to the new run-once helpers
- Rework sys-svc-msmtp to auto-load Mailu once per deploy, check reachability, and reuse the running stack instead of requiring multiple playbook passes
- Adjust web-app-mailu to integrate cert deployment, handler flushing, and run-once handling so Mailu is fully initialized in a single deploy
- Improve Matomo, CDN, logout and CSP/health-check related roles to cooperate with the new compose_up / once_* pattern
- Simplify alarm/backup/timer/service orchestration (sys-ctl-alm-*, sys-bkp-provider, sys-timer-cln-bkps, etc.) by moving run-once logic into dedicated 01_core.yml files
- Update integration tests so utils/once_flag.yml and utils/once_finalize.yml are recognised as valid run-once providers, keeping the global run_once_* guarantees consistent
- Align frontend injection and service dependencies so Mastodon- and Mailu-related services can be brought up coherently within a single deployment cycle rather than several iterations
2025-12-01 13:30:50 +01:00
kevinveenbirkenbach 84865d61b8 Install swapfile tool correct 2025-09-25 13:16:13 +02:00
kevinveenbirkenbach 022800425d THE HUGE REFACTORING CALENDER WEEK 33; Optimized Matrix and during this updated variables, and implemented better reset and cleanup mode handling, also solved some initial setup bugs 2025-08-15 15:15:48 +02:00
kevinveenbirkenbach 1a42e8bd14 Replaced depenencies by includes for performance reasons 2025-08-12 03:08:33 +02:00
kevinveenbirkenbach 1595a7c4a6 Optimized tests für run once 2025-08-12 02:38:37 +02:00
kevinveenbirkenbach e1d36045da Solved open run_once issues 2025-07-20 14:23:08 +02:00
kevinveenbirkenbach 111d6ac50d Optimized pkgmgr-install 2025-07-15 17:59:32 +02:00
kevinveenbirkenbach 04deeef385 Implemented SAN via Letsencrypt and Certbot 2025-04-28 16:47:51 +02:00
kevinveenbirkenbach 0fc9c3e495 Implemented certbot for cloudflare\hetzner, optimized documentation and solved bugs 2025-04-28 00:33:55 +02:00
kevinveenbirkenbach b0dd574c26 Optimized database backup seeder implementation 2025-04-21 16:16:54 +02:00
kevinveenbirkenbach b5b4550cfb Redesigned oidc attributs 2025-04-17 14:50:04 +02:00
kevinveenbirkenbach 4ec3037474 Implemented new css scheme 2025-04-16 00:57:29 +02:00
kevinveenbirkenbach e92c331f44 Added dependency pull 2025-04-10 20:18:53 +02:00
kevinveenbirkenbach 2ca000795d Optimized portfolio and pkgmgr update procedures 2025-04-10 14:07:50 +02:00