mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2026-11-10 04:36:40 +00:00
16 conflicts, resolved per hunk: - sys-stk-front-proxy: tasks/main.yml keeps the network-sibling loop; the single stack_host_contents write of http.conf plus vhost and the front_proxy_vhost_changed gate move into tasks/vhost.yml, with the http.conf decided per sibling domain so an onion vhost gets no HTTPS redirect. - sys-front-tls: 01_http.yml is gone as the updater intends; the cert-renew include in main.yml gates on the vhost domain's TLS. - sys-svc-compose: the updater's resolve_host_cid without the remote echo and the prepared pending flag in up.yml, written with IS_SWARM_MODE and the repeated-when block grouping. - web-app-nextcloud: the updater's post-upgrade gate and pending-only plugin configuration, which already carry the pinned-plugin handling. - web-app-xwiki: one XWIKI_CORE_VERSION for the readiness probe and style.css.j2; OIDC/LDAP follow xwiki_extensions_ready at bootstrap, the S3 blob store stays off there as TestBlobstoreRenderOrder demands. - roles_with_service: onion swap and dashboard card key combined, the canonical domain is the canonical URL's host in both branches. - sys-ctl-hlth-csp: --clearnet-timeout and --concurrency together; run_checker forwards its options to build_docker_cmd, keeping the script under the 500-line limit. - web-app-matrix: Element branding and web_client_location side by side. - web-app-stalwart/README.md: the generated Cosmos section is dropped. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Custom Modules (library/)
This directory contains project-specific Ansible modules used by Infinito.Nexus.
What Belongs Here
Use library/ for idempotent module logic that represents concrete automation actions.
Typical cases:
- managing resources that have no suitable built-in/community module,
- wrapping internal APIs or internal infrastructure semantics,
- implementing reusable module interfaces for role/playbook consumption.
What Does Not Belong Here
- Shared helper code used by multiple modules/plugins goes to
utils/. - Jinja transformations belong to
plugins/filter/. - Runtime value retrieval belongs to
plugins/lookup/. - Task execution wrappers belong to
plugins/action/.
Usage
Ansible searches library/ for custom modules. In playbooks, call them like built-in modules.
- name: Run a custom Infinito module
infinito_custom_module:
option_one: value
option_two: value
Implementation Notes
- Keep modules idempotent and predictable.
- Validate input early and return structured failure messages.
- Move duplicated helpers into
utils/.
Shebang Requirement for Custom Modules
Files in library/ should use:
#!/usr/bin/python
Ansible rewrites this interpreter path to the configured host interpreter for module execution.
References
- Developing modules: https://docs.ansible.com/ansible/latest/dev_guide/developing_modules.html
- Module utilities: https://docs.ansible.com/ansible/latest/dev_guide/developing_module_utilities.html