Commit Graph
14682 Commits
Author SHA1 Message Date
kevinveenbirkenbach 9701eefe99 refactor(compose): rename compose_f_args lookup to compose_file_args
https://chatgpt.com/share/6985ed13-7c98-800f-bb5f-e5832f7c094c
2026-02-06 14:30:51 +01:00
kevinveenbirkenbach 8ba071da24 refactor(tls): rename cert_plan lookup to cert
Rename the certificate planning lookup from cert_plan to cert to better reflect
its role as the canonical certificate resolver.

This change updates:
- lookup plugin filename and error prefixes
- all lookup usages across roles and templates
- unit tests and internal documentation references
- CHANGELOG to reflect the new public lookup name

No functional behavior changed.

https://chatgpt.com/share/6985e838-488c-800f-8786-3269e587c14c
2026-02-06 14:10:03 +01:00
kevinveenbirkenbach 48237d758c Rename nginx_paths lookup to nginx and update all references
* Rename lookup plugin: lookup_plugins/nginx_paths.py -> lookup_plugins/nginx.py
* Update lookup usage from lookup('nginx_paths', ...) to lookup('nginx', ...) across roles/templates/vars
* Update unit tests accordingly (imports + patch targets)

https://chatgpt.com/share/6985e705-4040-800f-a779-347f06e46f82
2026-02-06 14:05:04 +01:00
kevinveenbirkenbach 3bb8c0ce30 refactor(tls): rename tls_resolve lookup to tls
The TLS lookup has been renamed from `tls_resolve` to `tls` to better
reflect its responsibility as a strict TLS state resolver.

This refactor updates all usages across the codebase, including:
- lookup plugins and internal helpers
- roles, vars, tasks, and templates
- tests, stubs, and error messages
- documentation and changelog references

Behavior, lookup API, and semantics remain unchanged.

https://chatgpt.com/share/6985e635-5a94-800f-b794-937e566ee308
2026-02-06 14:01:32 +01:00
kevinveenbirkenbach 208e3788d2 refactor(web-app-desktop): switch docker_cards to positional want-path for tls_resolve
Update docker_cards lookup to use the strict positional want-path API when
calling tls_resolve. Adjust unit tests and test stubs accordingly, removing
legacy want= kwargs while keeping behavior unchanged.

https://chatgpt.com/share/6985d642-b40c-800f-9cdf-ed54fc484a92
2026-02-06 13:48:13 +01:00
kevinveenbirkenbach a367892481 fix(nginx_paths): enforce strict want-path ordering for domain lookups
Update all remaining nginx_paths lookups to use the strict positional API:
lookup('nginx_paths', want_path, domain)

This removes legacy argument ordering (domain first) and aligns all callers
with the documented nginx_paths contract.

https://chatgpt.com/share/6985d642-b40c-800f-9cdf-ed54fc484a92
2026-02-06 13:41:10 +01:00
kevinveenbirkenbach d16f006c50 refactor: replace legacy want= kwarg with positional want-path in lookups
Migrate all lookup() usages from the deprecated want= keyword argument to the
new strict positional want-path API. Update call order where required
(e.g. nginx_paths) and ensure consistency across vars, tasks, and templates.

https://chatgpt.com/share/6985d642-b40c-800f-9cdf-ed54fc484a92
2026-02-06 13:37:09 +01:00
kevinveenbirkenbach 5e33e70892 refactor(database lookup usage): switch conditionals to enabled flag
Replace indirect type!='' checks with explicit database.enabled lookups
to improve semantics, readability, and alignment with strict lookup API.

https://chatgpt.com/share/6985d642-b40c-800f-9cdf-ed54fc484a92
2026-02-06 13:25:37 +01:00
kevinveenbirkenbach 228ed1db0e refactor(database lookup): enforce strict positional want-path and drop want= kwarg
- Switch database lookup to strict positional want-path API
- Reject legacy want= keyword usage with hard error
- Update unit tests to cover strict term validation and projections

https://chatgpt.com/share/6985d642-b40c-800f-9cdf-ed54fc484a92
2026-02-06 13:14:13 +01:00
kevinveenbirkenbach 8fe6b92e63 refactor(lookups): migrate nginx_paths, tls_resolve and cert_plan to strict positional want-path API
- Replace legacy want= keyword usage with mandatory positional want-path
- Align all nginx_paths, tls_resolve and cert_plan lookups to strict API
- Keep behavior unchanged while enforcing consistent lookup semantics

https://chatgpt.com/share/6985d642-b40c-800f-9cdf-ed54fc484a92
2026-02-06 13:06:09 +01:00
kevinveenbirkenbach b487134028 nginx_paths: restore cache directories and update unit tests for strict want-path API
Reintroduce directories.cache (general/image) in nginx_paths and use named
cache variables consistently in ensure. Update unit tests to validate cache
paths and projections under the new strict positional want-path API, and
adjust the tls_resolve fake to the new call style.

https://chatgpt.com/share/6985d642-b40c-800f-9cdf-ed54fc484a92
2026-02-06 13:01:36 +01:00
kevinveenbirkenbach 72bd1df11a lookup(nginx_paths): make want-path mandatory and positional
Change nginx_paths to a strict API where the want-path is the first
positional argument and the optional domain follows it. Remove support
for the want= keyword and always return the selected value via want_get.

Update internal protocol resolution to use the new tls_resolve positional
want-path API and simplify cache directory handling.

https://chatgpt.com/share/6985d642-b40c-800f-9cdf-ed54fc484a92
2026-02-06 12:53:34 +01:00
kevinveenbirkenbach fe04692f1f tests: switch tls_resolve and cert_plan unit tests to positional want-path
Update lookup calls to pass the want-path as the second positional term
(e.g. ["web-app-a", "files.cert"] / ["web-app-a", "url.base"]) and rename the
affected test methods accordingly.

https://chatgpt.com/share/6985d337-0c44-800f-9d79-d0922077abe0
2026-02-06 12:44:30 +01:00
kevinveenbirkenbach 46959d18d3 lookup: switch cert_plan and tls_resolve to positional want-path
Allow an optional second positional term to select a value (want-path),
e.g. lookup('cert_plan', app_id, 'files.cert').

The legacy want= kwarg is ignored without error.
Default behavior (single term) remains unchanged and returns the full result.

https://chatgpt.com/share/6985d337-0c44-800f-9d79-d0922077abe0
2026-02-06 12:40:33 +01:00
kevinveenbirkenbach e1e1f3eb11 chore(vars): rename PATH_* to DIR_/BIN_/FILE_ conventions
https://chatgpt.com/share/6985cf49-3c74-800f-af97-f68b1969ab01
2026-02-06 12:23:46 +01:00
kevinveenbirkenbach 0cb620ef54 Revert "Removed unused run.py"
This reverts commit a9ac29c0c9.

It is used by CSP healthcheck. Additional:

refactor container execution to container wrapper and add unit tests

https://chatgpt.com/share/6985cba4-b410-800f-bedb-7e63d70fe4a6
2026-02-06 12:07:12 +01:00
kevinveenbirkenbach 779e70e8ee sys-ctl-bkp-docker-2-loc: bump backup-docker-to-local to v1.6.0 with simplified compose handling
https://chatgpt.com/share/6985b5da-d5fc-800f-b5e5-de22a199a0c8
2026-02-06 10:49:05 +01:00
kevinveenbirkenbach 1db08dbb79 Renamed DOCKER_COMPOSE to COMPOSE 2026-02-06 10:33:50 +01:00
kevinveenbirkenbach b0c29b6ea0 Optimized text 2026-02-06 10:31:04 +01:00
kevinveenbirkenbach 26aeed417b Add sys-version role to persist project version from pyproject.toml into PATH_INFINITO_VERSION
https://chatgpt.com/share/6985b3a4-7634-800f-9404-021b1d1f0935
2026-02-06 10:25:49 +01:00
kevinveenbirkenbach 7bb15d1b5e refactor(container): rename docker-container/docker services to sys-svc-container and update all references, schedules, tests, and templates
https://chatgpt.com/share/6985b09d-8ff8-800f-800c-7a694c0983e2
2026-02-06 10:12:31 +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 a9ac29c0c9 Removed unused run.py 2026-02-06 09:10:01 +01:00
kevinveenbirkenbach 9d788bd7e6 Make DinD DNS test images configurable via defaults and handler env overrides
https://chatgpt.com/share/69859c52-4c50-800f-9b82-72671e32fd63
2026-02-06 08:46:09 +01:00
kevinveenbirkenbach 3b71673786 Implemented handler loader for discourse 2026-02-06 03:02:12 +01:00
kevinveenbirkenbach ce56746340 REmoved unnecessary defaults 2026-02-06 02:10:01 +01:00
kevinveenbirkenbach 34ca76fef6 fix(healthcheck): replace bash /dev/tcp check with alpine-safe wget localhost probe
https://chatgpt.com/share/698538d0-cbf0-800f-9016-29fcb1b326c4
2026-02-06 01:41:06 +01:00
kevinveenbirkenbach a54b824813 Fix CI handler scope by using application_id consistently and reloading discourse handlers before flush
https://chatgpt.com/share/6985228a-9ab8-800f-a581-29599c09412b
2026-02-06 00:06:41 +01:00
kevinveenbirkenbach eff988629c Hardened database application id for discourse network 2026-02-05 23:47:12 +01:00
kevinveenbirkenbach 97cbcfb824 web-app-moodle: add rescue diagnostics for container health check
https://chatgpt.com/share/69850130-c8e4-800f-887a-0e49b8af639b
2026-02-05 21:44:25 +01:00
kevinveenbirkenbach 05bea91e55 Deleted deprecated docu 2026-02-05 21:41:53 +01:00
kevinveenbirkenbach 26411164fd Fix: use correct registered variable snipe_it_admin_exists in admin-create task condition
https://chatgpt.com/share/6984fedd-173c-800f-98e4-2e8f7e778d2b
2026-02-05 21:34:24 +01:00
kevinveenbirkenbach 2d64920444 Removed comments 2026-02-05 20:45:23 +01:00
kevinveenbirkenbach 92182f6f8b refactor(docker-compose): migrate compose_ca_inject_cmd to docker lookup and update tests
- Remove dependency on docker_compose variable in compose_ca_inject_cmd lookup
- Resolve compose paths via lookup('docker', ...) consistently
- Simplify lookup by dropping YAML coercion and templating helpers
- Add dedicated unit tests under tests/unit/roles/docker-compose/lookup_plugins
- Update tests to reflect new lookup contract and CA_TRUST validation

https://chatgpt.com/share/6984f2e7-8390-800f-ac7b-938adc3738e3
2026-02-05 20:43:08 +01:00
kevinveenbirkenbach b5bcc4861a Fix: pin application_id when including docker-compose to prevent handler/templating bleed
https://chatgpt.com/share/6984e9b7-400c-800f-84e5-f03a6e9ee18f
2026-02-05 20:04:00 +01:00
kevinveenbirkenbach 3f08b77aa5 refactor(lookup): build compose_f_args paths via get_docker_paths, drop docker_compose var
- compose_f_args no longer reads variables['docker_compose']
- always derives compose file paths from PATH_DOCKER_COMPOSE_INSTANCES via get_docker_paths
- remove YAML coercion and related code paths
- update unit tests to stub get_docker_paths and assert new failure modes

https://chatgpt.com/share/6984dbd9-ce9c-800f-a2c9-72138193f383
2026-02-05 19:05:09 +01:00
kevinveenbirkenbach 23f394e430 Replaced forgetten docker_compose 2026-02-05 18:51:56 +01:00
kevinveenbirkenbach 26a5b159e0 refactor(docker-lookup): replace want= syntax with path-based access
- Replace lookup('docker', ..., want='...') with lookup('docker', ..., 'path')
- Allow both top-level keys (directories/files) and dotted paths
- Simplify docker lookup API and reduce lazy dict propagation
- Update unit tests to reflect new lookup semantics

https://chatgpt.com/share/6984ccea-8290-800f-a6d7-ec0e94df95a0
2026-02-05 18:45:43 +01:00
kevinveenbirkenbach 25f7aab975 lookup(docker): slim API to dotted-path access only + adjust tests
- Simplify docker lookup to accept only application_id and optional dotted path
- Remove env fallback and explicit base path arguments
- Enforce dotted notation for sub-value access (e.g. directories.instance)
- Fail fast on missing PATH_DOCKER_COMPOSE_INSTANCES
- Update unit tests to reflect strict dotted-path behavior

https://chatgpt.com/share/6984ccea-8290-800f-a6d7-ec0e94df95a0
2026-02-05 18:38:25 +01:00
kevinveenbirkenbach fa23ae9a50 Removed more orphan includes 2026-02-05 18:34:51 +01:00
kevinveenbirkenbach efc160d199 Deleted DOCKER_VARS_FILE orphans 2026-02-05 18:26:19 +01:00
kevinveenbirkenbach 39963386b7 Replaced docker_compose_command_exec by PATH_COMPOSE 2026-02-05 18:18:17 +01:00
kevinveenbirkenbach 56aea31667 refactor(docker): replace docker_compose vars with docker lookup across roles
Remove implicit docker_compose variable usage and resolve all docker paths
(files, directories, env) via lookup('docker', application_id).
This prevents scope leakage, centralizes path resolution, and makes docker
context deterministic across roles and handlers.

https://chatgpt.com/share/6984ccea-8290-800f-a6d7-ec0e94df95a0
2026-02-05 18:15:10 +01:00
kevinveenbirkenbach 5fb188ad9c lookup(docker): add docker paths lookup with env fallback and unit tests
- Introduce lookup plugin `docker` to resolve docker-compose paths
  from application_id with PATH_DOCKER_COMPOSE_INSTANCES fallback
  (Ansible vars preferred, environment as fallback)
- Validate and strip inputs for deterministic behavior
- Return resolved paths as a single-item wantlist for safe templating
- Add comprehensive unittest coverage for precedence, validation,
  and fallback logic

https://chatgpt.com/share/6984ccea-8290-800f-a6d7-ec0e94df95a0
2026-02-05 18:01:21 +01:00
kevinveenbirkenbach 6af75fc8ce Renamed webserver_websocket_port to websocket_port 2026-02-05 17:02:17 +01:00
kevinveenbirkenbach 8d0c01adf8 Hopefully prevent leaking of swapfile application_id to upper context 2026-02-05 16:29:10 +01:00
kevinveenbirkenbach 2e118e935a Added missing args 2026-02-05 15:54:01 +01:00
kevinveenbirkenbach 0c72acb3d6 Solved shell/builtin.script bug 2026-02-05 15:26:56 +01:00
kevinveenbirkenbach 9132252e2b Renamed 2026-02-05 14:25:53 +01:00
kevinveenbirkenbach b82eb632b2 docker-compose: remove compose_run wrapper and call compose.py directly
- Drop compose_run.py and its unit tests
- Call compose.py directly from handlers for `up`
- Restore explicit --force-recreate and --remove-orphans semantics
- Reduce wrapper indirection and hidden behavior
- Make docker compose execution transparent and deterministic

https://chatgpt.com/share/698496f7-7da0-800f-b030-5a90f741a9a6
2026-02-05 14:11:10 +01:00