mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2026-11-07 19:32:17 +00:00
3529 invalid comments in 528 files, grandfathered in while the linter only saw the working-tree diff. Removal ran through the linter's own collectors, so detection and deletion cannot drift: a comment whose opener line is blank before it and whose closer line is blank after it loses all its lines, anything else loses only the comment region, and a line left holding a bare delimiter goes with it. Five files keep their comments behind a nocheck marker instead. Four are upstream configs whose inline docs are upstream's own (mautrix, systemd journald, nextcloud-oidc-login, MediaWiki). In littlejs the commented-out entries ARE the deactivation mechanism for an example tile, so deleting them would delete configuration. Co-Authored-By: Claude Opus 5 (1M context) <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