Commit Graph
212 Commits
Author SHA1 Message Date
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
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 6d98ca4cd0 refactor: normalize local deploy layout 2026-03-28 06:20:06 +01:00
kevinveenbirkenbach e9d0d207a9 docs: add local inspect wrapper 2026-03-28 03:07:24 +01:00
kevinveenbirkenbach 902e22f920 docs: comment make targets 2026-03-28 00:35:41 +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 f20c1cdbc6 Refactor CI deploy script entrypoint 2026-03-27 21:51:13 +01:00
kevinveenbirkenbach 34726d6341 Renamed cleanup-ci-images to build-cleanup 2026-03-27 21:35:21 +01:00
kevinveenbirkenbachandClaude Sonnet 4.6 cbddc89b89 refactor(makefile): move wsl2-dns-setup dependency into dns-setup
DNS setup now encapsulates both platform-specific steps internally.
dev-environment-bootstrap no longer needs to know about WSL2 DNS.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-24 20:42:05 +01:00
kevinveenbirkenbachandClaude Sonnet 4.6 28e7d6562c refactor(makefile): remove redundant WSL2 guard from wsl2-dns-setup
The guard is already handled inside wsl.sh via IS_WSL2 from runtime.sh.
Inline check in the Makefile was inconsistent with all other wsl2 targets.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-24 20:40:12 +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 3ae40aa525 build: extract build-dependency target and force pkgmgr pull and build 2026-03-23 23:59:21 +01:00
Alejandro Roman ce91178db1 fix(makefile-wsl): fix issues on tests related to wsl implementation with no guards 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 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 19f984a061 Move GHCR cleanup script under scripts/image and add make target 2026-03-20 23:53:51 +01:00
kevinveenbirkenbach c1a4660a8b refactor(env): split meta env into modular scripts
replace env.sh usage with scripts/meta/env/all.sh, add env directory README, and switch purge entity python resolution to scripts/meta/env/python.sh
2026-03-20 22:19:50 +01:00
kevinveenbirkenbach b31ffbd2c1 test(act): add reusable workflow runner target 2026-03-20 16:09:23 +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 a715970506 Refactor lint tooling and shell scripts 2026-03-18 12:37:31 +01:00
kevinveenbirkenbach ca1bf7832e Reorganize image scripts and PR wait logic 2026-03-18 11:26:12 +01:00
kevinveenbirkenbach 8c21d13d05 test(local): add test-local-app wrapper and docs 2026-02-28 13:38:05 +01:00
kevinveenbirkenbach 575474f5bb Refactor Python bootstrap to single installer SPOT 2026-02-22 01:20:23 +01:00
kevinveenbirkenbach 9766f8e8b3 feat(dev-python): install Python 3.11+ by default
- add cross-distro dev-python installer script and wire it into role + Dockerfile
- regenerate dockerignore from gitignore on make build and ignore logs/
- harden sys-pip-install break-system-packages support probe
- raise project requires-python to >=3.11
2026-02-21 23:45:41 +01:00
kevinveenbirkenbach 1bb67164e0 ci: add whitelist filtering for deploy test matrix
* Replace ONLY_APP with space-separated WHITELIST across CI and local/act deploy tests
* Rename build-test-matrix.sh to scripts/meta/resolve/apps.sh and apply optional whitelist filter
* Add manual CI entry workflow to run orchestrator with distros/whitelist inputs

https://chatgpt.com/share/698c406c-0968-800f-ae84-1bcca023363c
2026-02-11 09:40:00 +01:00
kevinveenbirkenbach 8810f39b8c Renamed docker commands 2026-02-10 20:30:54 +01:00
kevinveenbirkenbach 838ebaa99d Added helper for ipv6 2026-02-05 11:03:52 +01:00
kevinveenbirkenbach 91965f616a Optimized redeploy 2026-02-04 21:15:35 +01:00
kevinveenbirkenbach 25795297e4 Optimized redeploy 2026-02-04 15:05:15 +01:00
kevinveenbirkenbach a5bbba1eb3 Added inventory to cleanup 2026-02-04 10:07:02 +01:00
kevinveenbirkenbach fe40b48cab tests(local): add non-destructive dedicated deploy and refactor local utils
- Add local dedicated_distro.sh implementing the same two-pass deploy logic
  as CI (ASYNC_ENABLED=false/true) without destructive cleanup
- Switch test-local-dedicated to pure ENV-based interface (TEST_DEPLOY_TYPE, APP)
- Refactor local deploy helpers into utils/ structure:
  - move reset.sh to utils/reset.sh
  - split cleanup into targeted purge helpers (entity, web, lib)
- Update Makefile targets to reflect new structure and workflows

https://chatgpt.com/share/6982804e-1f60-800f-809e-629d0fe62de3
2026-02-04 00:10:00 +01:00
kevinveenbirkenbach 7ba9b158d2 refactor(make,release): rely on env.sh for runtime vars and fix shell escaping
- Switch Makefile commands from make vars to shell env vars ($$VAR)
- Ensure PYTHON and INFINITO_* are always resolved via scripts/meta/env.sh
- Fix build-no-cache-all to use env-provided DISTROS safely
- Remove redundant env forwarding in install targets
- Load env.sh robustly in promote-stable.sh with ShellCheck-safe handling
- Fix Python invocation in promote-stable.sh to use env-resolved PYTHON

No functional behavior change intended.

https://chatgpt.com/share/69820891-2238-800f-ad70-bae7e442c028
2026-02-03 16:01:48 +01:00
kevinveenbirkenbach 81ddadc2d2 refactor(env): centralize runtime environment in scripts/meta/env.sh (SPOT)
- Move all environment detection, defaults, and exports into scripts/meta/env.sh
- Use BASH_ENV in Makefile to auto-source env.sh for all recipes
- Remove duplicated env logic from Makefile (VENV, PYTHON, CI detection, inventory)
- Make env setup safe under set -euo pipefail (-u compatible)
- Ensure consistent behavior across local, act, and GitHub Actions runs

No functional behavior change intended.

https://chatgpt.com/share/69820891-2238-800f-ad70-bae7e442c028
2026-02-03 15:39:03 +01:00
kevinveenbirkenbach c75a823391 feat(ci): enforce global time budget for multi-distro deploys
- Track runtime per distro during CI deploy runs
- Add MAX_TOTAL_SECONDS env to limit total execution time
- Skip remaining distros if remaining budget is smaller than the slowest prior run
- Print warnings and a detailed timing summary at the end
- Wire time budget via Makefile for ci-deploy-app

https://chatgpt.com/share/6981f7e4-590c-800f-a6df-15557ce73a86
2026-02-03 14:27:59 +01:00
kevinveenbirkenbach bc38347798 refactor(ci-deploy): split per-distro deploy, add two-pass async test and hard cleanup
- Replace legacy app.sh/distros.sh orchestration with explicit all_distros.sh + dedicated_distro.sh
- Deploy each app sequentially across distros against a fresh stack
- Run two deploy passes per distro:
  - Pass 1 with ASYNC_ENABLED=false
  - Pass 2 with ASYNC_ENABLED=true against the same stack
- Remove deprecated cli.deploy.development run orchestrator
- Extend init command with --vars to inject inventory overrides
- Enforce debug mode for CI deploys
- Add hard Docker cleanup after each distro (containers, networks, volumes, build cache; keep images)
- Emit disk and docker usage before and after deploy for observability

https://chatgpt.com/share/6981c7d4-642c-800f-8438-9e2349ac53fb
2026-02-03 11:02:51 +01:00
kevinveenbirkenbach 2cd349c3ed Optimized bootstrap environments 2026-02-01 16:48:29 +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 7fc125ecd5 test(compose): enforce image or merge key when build template is used
- Add integration test ensuring docker-compose.yml.j2 services that include build.yml.j2
  also define an image tag or YAML merge (<<:) at the same level
- Fix false positives by allowing image inheritance via anchors
- Add explicit custom image variables for littlejs and roulette-wheel services
- Minor formatting cleanup

https://chatgpt.com/share/697e8c69-0298-800f-ab25-2f650d6e7df9
2026-02-01 00:12:33 +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