Treat "error pulling image configuration" and "image config verification failed"
as transient Docker pull errors so retries are attempted instead of failing
immediately. This improves robustness against registry/CDN glitches.
Also clarify retry log output and add unit coverage to prevent regressions.
https://chatgpt.com/share/698987eb-3d64-800f-a4b3-749b545f7370
- Restore full teardown semantics in Compose.down by delegating to down_stack
(including volume removal and CI cleanup)
- Normalize templar render output to string to avoid None-related failures
- Clean up unused variable in templating fallback path
- Reorder test imports without changing behavior
https://chatgpt.com/share/69890935-4f1c-800f-8f2c-1b18a1df0ea5
- Call iter_app_domains and build_domain_index via module_utils.domain_mapper
- Avoid NameError caused by missing direct imports in test module
- Improve formatting consistency in assertions for readability
https://chatgpt.com/share/69890141-da40-800f-ab40-1b30ba15ac7c
- Rename lookup plugin from `docker` to `container`
- Switch all lookups from `lookup('docker', ...)` to `lookup('container', ...)`
- Normalize compose file keys:
- docker_compose → compose
- docker_compose_override → compose_override
- docker_compose_ca_override → compose_ca_override
- Centralize compose path resolution via docker_paths_utils
- Update compose_file_args to always derive paths from DIR_COMPOSITIONS
- Align all roles, templates, and vars with container/compose naming
- Update and rename unit tests accordingly
This prepares the codebase for engine-agnostic container backends
(e.g. Docker ↔ Podman) and removes legacy docker-specific assumptions.
https://chatgpt.com/share/6987a7cc-d374-800f-99ad-bb4c8f92c59e
Replace direct `docker` command usage, references, and documentation with
the `container` wrapper to ensure engine abstraction and future portability
(e.g. Docker → Podman).
This includes:
- Shell scripts, Ansible tasks, handlers, and Python helpers
- Documentation, comments, help texts, and meta descriptions
- Network, volume, system, and image operations
- Test expectations and comments
All runtime behavior remains unchanged while enforcing the repository-wide
rule to avoid raw Docker invocations.
https://chatgpt.com/share/698721c3-e270-800f-be7a-e4435fb54506
- 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
- Switch all docker compose invocations to the compose wrapper
- Update comments, task names, and log messages accordingly
- Simplify handlers and tasks to rely on wrapper-managed flags and env files
- Align tests and documentation with compose-based workflow
https://chatgpt.com/share/69866ede-be2c-800f-94b0-bffcf8fed260
- Replace direct docker calls with container wrapper across scripts, roles, and templates
- Add support for cp, start, stop, and restart passthrough commands
- Align handlers and notifications to container manager restart semantics
- Fix systemd ExecStartPost to use container wrapper without hardcoded paths
- Silence ShellCheck SC2016 false positive for container exec password injection
- Update tests and documentation strings to reflect container-based workflow
https://chatgpt.com/share/69866958-c88c-800f-9b4f-3a972615bf42
Add --rm to container run so CSP checker containers are removed
automatically after completion. This prevents exited one-shot containers
from being picked up by repair/health logic and avoids false recovery
attempts.
Unit tests were updated to reflect the new --rm behavior.
https://chatgpt.com/share/6986525a-4b48-800f-b310-bb8b231121ec
Filter docker ps by com.docker.compose.project label in STRICT mode so that
one-shot docker run containers are ignored. This prevents false repair
attempts and label lookup errors for containers without compose metadata.
Unit tests were updated to reflect the new compose-only prefilter behavior.
https://chatgpt.com/share/6986525a-4b48-800f-b310-bb8b231121ec
- Switch CA handling to soft-fail with warnings instead of hard exits
- Fallback to plain `docker run` when CA env vars or files are missing
- Avoid failing on images without ENTRYPOINT (warn + fallback)
- Simplify entrypoint inspect recovery logic (direct pull + retry)
- Refactor container wrapper structure and comments
- Extend unit tests to cover CA soft-fail and docker run fallback paths
https://chatgpt.com/share/69864bf2-7830-800f-ae8a-dad17c4f6e13
Introduce a `config` lookup plugin that exposes `get_app_conf` via Ansible
lookups, defaulting to strict mode and supporting an optional default value.
Add comprehensive unittest coverage validating strict behavior, defaults,
schema-defined but unset errors, index access, and argument validation.
https://chatgpt.com/share/6985f3f5-4660-800f-9e5d-2b518ccdff80
Introduce a new Ansible lookup plugin `domain()` that resolves the primary
domain directly from the `domains` variable using only `application_id`.
Includes comprehensive unit tests covering string, list, dict, and error cases.
https://chatgpt.com/share/6985ef1e-11b8-800f-b231-52523055060b
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
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
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