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
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
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
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
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
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
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
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
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
- 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
- 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
- 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
- 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
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
- 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
- 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