Commit Graph
58 Commits
Author SHA1 Message Date
kevinveenbirkenbach b4b863676c Fix cancellation of closed fork PR runs 2026-03-26 08:31:12 +01:00
kevinveenbirkenbachandClaude Sonnet 4.6 a1abb7a6a8 fix(trust-ca): correct relative path to with-ca-trust.sh
The script is 4 levels deep under scripts/administration/tls/trust/,
so reaching the repo root requires ../../../../ instead of ../../.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-25 02:28:09 +01:00
kevinveenbirkenbachandClaude Sonnet 4.6 ba64df9bb7 fix(dns): correct common.sh source path in setup/linux.sh
The script sourced common.sh relative to its own directory (setup/),
but the file lives one level up in dns/. Fixes CI failure.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-25 00:39:19 +01:00
kevinveenbirkenbachandClaude Sonnet 4.6 aa074e26cd fix: set executable bit on shell scripts
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-24 20:44:48 +01:00
kevinveenbirkenbachandClaude Sonnet 4.6 8825394e36 refactor: centralize WSL2 detection in scripts/meta/env/runtime.sh
Add IS_WSL2 export to runtime.sh and replace all inline
grep-based WSL2 guards in administration scripts with a
source + variable check for consistency.

Affected scripts:
- scripts/administration/systemd/enable/wsl2.sh
- scripts/administration/tls/trust/wsl2.sh
- scripts/administration/network/dns/setup/wsl.sh

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-24 20:36:59 +01:00
kevinveenbirkenbachandClaude Sonnet 4.6 e9a3e03845 refactor: rename windows.sh to wsl2.sh for clarity
More precise naming — these scripts target WSL2 specifically,
not Windows natively. Update all README and Makefile references.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-24 20:33:18 +01:00
kevinveenbirkenbachandClaude Sonnet 4.6 6041c932b0 refactor(systemd): move enable script to systemd/enable/windows.sh
Reorganize for consistency: action before platform in the path.
- scripts/administration/systemd/windows/enable.sh
  → scripts/administration/systemd/enable/windows.sh

Update README files and Makefile reference accordingly.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-24 20:31:17 +01:00
kevinveenbirkenbachandClaude Sonnet 4.6 592f51cade refactor(systemd): move WSL2 systemd enable script to systemd/windows/
Move scripts/administration/wsl2/enable-systemd.sh to
scripts/administration/systemd/windows/enable.sh for a more consistent
and platform-neutral directory structure.

Add README.md for both systemd/ and systemd/windows/ and update
Makefile reference accordingly.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-24 20:29:49 +01:00
kevinveenbirkenbachandClaude Sonnet 4.6 6643fbd75d refactor(tls): reorganize CA trust scripts into tls/trust/ subdirectory
Move CA trust scripts into a dedicated subdirectory for better structure:
- scripts/administration/trust_ca.sh → scripts/administration/tls/trust/linux.sh
- scripts/administration/wsl2/trust-ca-windows.sh → scripts/administration/tls/trust/windows.sh

Update Makefile references and add README.md for both tls/ and tls/trust/.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-24 20:27:32 +01:00
kevinveenbirkenbachandClaude Sonnet 4.6 244eae0875 refactor(dns): reorganize DNS setup scripts into setup/ subdirectory
Move platform-specific DNS setup scripts into a dedicated subdirectory
for better structure and discoverability:
- scripts/administration/wsl2/setup-dns.sh → scripts/administration/network/dns/setup/wsl.sh
- scripts/administration/network/dns/setup.sh → scripts/administration/network/dns/setup/linux.sh

Update Makefile references accordingly and add README.md documenting
the purpose of each script.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-24 20:24:40 +01:00
kevinveenbirkenbach 8a75959c11 Merge branch 'main' into feature/makefile-wsl2
# Conflicts:
#	.github/workflows/test-development.yml
#	Makefile
#	roles/svc-db-postgres/files/set_postgres_superuser_password.sh
#	scripts/administration/apparmor/restore.sh
#	scripts/administration/apparmor/teardown.sh
#	scripts/dns/setup.sh
#	scripts/install/package.sh
#	scripts/install/venv.sh
#	scripts/tests/development.sh
2026-03-24 20:20:27 +01:00
kevinveenbirkenbach 1c3ed01a9b Normalize shell script indentation 2026-03-23 12:06:20 +01:00
kevinveenbirkenbach 289a05ac13 Merge branch 'main' into feature/lint 2026-03-23 10:23:08 +01:00
kevinveenbirkenbach cfa04a189c Cancel PR runs via dedicated close workflow 2026-03-22 23:37:48 +01:00
kevinveenbirkenbach 3ad6c12d97 Make cancel_deleted_branch_runs script executable 2026-03-22 21:59:05 +01:00
kevinveenbirkenbach bab5240769 chore: format shell helper scripts 2026-03-22 21:52:46 +01:00
kevinveenbirkenbach 2e37a3689f Merge branch 'main' into feature/lint
# Conflicts:
#	Dockerfile
#	scripts/administration/ghcr/cleanup_ci_images.sh
#	scripts/meta/wait/image.sh
2026-03-22 21:51:23 +01:00
kevinveenbirkenbach f57569cce7 Protect active CI images during cleanup 2026-03-22 21:02:52 +01:00
kevinveenbirkenbach 4a1aff872c Add branch-delete workflow to cancel active runs 2026-03-22 19:32:32 +01:00
Alejandro Roman 82744f40df fix(makefile-wsl): fix bootstrap failures in distro containers without systemd 2026-03-21 23:07:30 +01:00
Alejandro Roman 954807e195 fix lint issues 2026-03-21 16:08:28 +01:00
Alejandro Roman da6e87191b fix(makefile-wsl): Fix the tesl app error and the ca trust 2026-03-21 16:08:28 +01:00
Alejandro Roman f68cee669d fix(makefile-wsl): all steps for bootstrap and dev-boostrap works with 0 manual changes 2026-03-21 16:08:28 +01:00
Alejandro Roman dd2bbb040d fix(makefile-wsl): fix system loop 2026-03-21 16:08:28 +01:00
Alejandro Roman 75abada9a3 fix(makefile-wsl): skiping apparmor in a correct way 2026-03-21 16:08:28 +01:00
Alejandro Roman 9bbdde5eb6 fix(makefile-wsl): ensure the system is ready to aovid errors 2026-03-21 16:08:28 +01:00
Alejandro Roman 4e57996fc1 feat(makefile-wsl): add the logic to avoid manual work in WSL for local test 2026-03-21 16:08:28 +01:00
kevinveenbirkenbach 67dfd4290e Fix shellcheck warning in DNS file writer 2026-03-21 09:52:07 +01:00
kevinveenbirkenbach d8218babfc Fix DNS hosts fallback and domains CLI 2026-03-21 09:12:24 +01:00
kevinveenbirkenbach 189267496d Rename module_utils package to utils 2026-03-21 02:05:39 +01:00
kevinveenbirkenbach 67c6ffdc87 Make DNS common helper executable 2026-03-21 01:46:13 +01:00
kevinveenbirkenbach 003a3a0b84 Merge branch 'main' into feature/lint
Resolve merge conflicts, keep the cleanup script move to scripts/image, and fix the resulting lint regressions.
2026-03-21 01:36:58 +01:00
kevinveenbirkenbach de4d485d86 Refactor domain helpers and DNS fallback generation 2026-03-21 01:19:49 +01:00
kevinveenbirkenbach 19f984a061 Move GHCR cleanup script under scripts/image and add make target 2026-03-20 23:53:51 +01:00
kevinveenbirkenbach 3b11d7f469 feat(packaging): add distro packages and install via package metadata 2026-03-19 02:53:15 +01:00
kevinveenbirkenbach 4e0bb79714 Reorganize network administration scripts 2026-03-18 20:07:08 +01:00
kevinveenbirkenbach 38b1d08ef7 Improve distro compatibility and dev environment testing 2026-03-18 20:00:33 +01:00
kevinveenbirkenbach 292feaa5da Add highest missing release workflow 2026-03-18 18:01:49 +01:00
kevinveenbirkenbach a715970506 Refactor lint tooling and shell scripts 2026-03-18 12:37:31 +01:00
kevinveenbirkenbach 9ed864e1e2 ci(images): rename mirror workflows and add scheduled CI image cleanup
- rename mirror-images-* workflows to images-mirror-*
- update ci-orchestrator job ids and dependencies accordingly
- add weekly + manual GHCR cleanup workflow (images-cleanup-ci)
- extract cleanup logic into scripts/administration/ghcr/cleanup_ci_images.sh
- support org and user GHCR owners via automatic API scope detection
- delete only ci-* tagged image versions older than N days (default: 7)

https://chatgpt.com/share/e/69906083-93d4-8013-bd0b-e441615e72bf
2026-02-14 12:46:04 +01:00
kevinveenbirkenbach 53e817fa22 refactor(compose): migrate from docker-compose.yml to compose.yml everywhere
- Rename all docker-compose.yml templates to compose.yml
- Update override and CA override filenames accordingly
- Adjust compose wrapper, lookup plugins, filters and path helpers
- Update roles, tasks, handlers and scripts to use compose CLI
- Rewrite documentation and admin guides to reference compose
- Update unit and integration tests to expect compose.yml
- Keep internal variable keys for backward compatibility where needed

https://chatgpt.com/share/69870272-b168-800f-84c3-6417398e441f
2026-02-07 10:14:21 +01:00
kevinveenbirkenbach ba35d7c5e0 refactor(container): replace docker ps usages with container wrapper and move binaries to /usr/bin
https://chatgpt.com/share/698660b7-4c78-800f-b25f-af5408cff034
2026-02-06 22:44:14 +01:00
kevinveenbirkenbach 51239968fd refactor: rename docker-compose roles to sys-svc-compose and update paths
Renamed docker-compose and docker-compose-ca roles to sys-svc-compose and sys-svc-compose-ca, updated template includes, handlers, lookups, tests, and variables, and moved compose instances to /opt/compose.

https://chatgpt.com/share/6985ab2c-8344-800f-9e9a-768f562d138d
2026-02-06 09:49:42 +01:00
kevinveenbirkenbach 067669783a refactor(purge): split entity purge into db/compose/dir scripts
- Add purge/entity/all.sh orchestrator with --wipe-data-only and --db-only
- Extract DB purge logic into purge/entity/db.sh (best-effort Postgres + MariaDB)
- Add purge/entity/compose.sh to bring stacks down with volumes removed
- Add purge/entity/dir.sh to remove stack directory and volumes folder
- Rename purge_web.sh to purge/web.sh for consistent layout

https://chatgpt.com/share/69826b33-1470-800f-9def-6b4289713e2f
2026-02-03 22:39:39 +01:00
kevinveenbirkenbach 3215bc7d53 dev(apparmor): add teardown/restore hooks for local docker workflows
Introduce explicit AppArmor teardown before docker-up and restore after docker-down.
Replace complain-mode helper with full profile unload/reload scripts to ensure
deterministic local dev behavior while keeping CI unaffected.

https://chatgpt.com/share/697f4782-8304-800f-8b07-cb6484a4148f
2026-02-01 13:30:49 +01:00
kevinveenbirkenbach 4f10f82372 Made executable 2026-01-31 23:15:49 +01:00
kevinveenbirkenbach 0910029e3d admin: add trust-ca make target and host CA trust script
- add make target `trust-ca` as thin wrapper
- introduce scripts/administration/trust_ca.sh
- extract Infinito root CA from running container
- install CA into host trust store via with-ca-trust.sh
- keep Makefile free of logic, delegate to script

https://chatgpt.com/share/697e31e7-e548-800f-9edd-9b030ee12c5b
2026-01-31 17:46:24 +01:00
kevinveenbirkenbach 340e3696b6 dev: disarm AppArmor via host script and Makefile wrapper
Move AppArmor handling out of docker-compose files and into a
dedicated dev-only administration script. The new `disarmapp`
Make target acts as a thin wrapper to set relevant AppArmor
profiles (php-fpm, dovecot) to complain mode on the development host,
keeping compose templates clean and prod-like.

https://chatgpt.com/share/697cfbdf-e2a8-800f-bf06-b75e8c9d926e
2026-01-30 21:48:43 +01:00
kevinveenbirkenbach 2678090934 feat(ca-trust): unify trust injection + strict templating
Move `with-ca-trust.sh` to `sys-ca-selfsigned` as the single source of truth, add `CA_TRUST_NAME`/`trust_name`, and pass it through `compose_ca_inject.py` + `compose_ca_inject_cmd`. Introduce `module_utils/templating.py` for strict multi-pass rendering with fallback env lookup, update TLS self-signed regen logic, purge script, and extend unit tests accordingly.

https://chatgpt.com/share/697c876d-7140-800f-9981-762dfeeafdfe
2026-01-30 11:26:46 +01:00
kevinveenbirkenbach adf17fd146 feat(admin): purge DB even if stack directory is missing
- Always attempt DB purge by stack name
- Try both PostgreSQL and MariaDB backends
- Support DROP or TRUNCATE via --wipe-data-only
- Keep compose/volume cleanup best-effort and safe
- Improve robustness for orphaned databases

https://chatgpt.com/share/6977a100-0e00-800f-8bb0-320b00e94c7e
2026-01-26 18:14:30 +01:00