arillso.system.ansible role – Configure Ansible automation with systemd timer
Note
This role is part of the arillso.system collection (version 1.0.5).
It is not included in ansible-core.
To check whether it is installed, run ansible-galaxy collection list.
To install it use: ansible-galaxy collection install arillso.system.
To use it in a playbook, specify: arillso.system.ansible.
Entry point main – Configure Ansible automation with systemd timer
Synopsis
Installs and configures Ansible for automated execution using systemd timers
Supports both ansible-pull and ansible-playbook modes
Handles SSH key generation for Git repository access
Configures OpenTelemetry integration for observability
Parameters
Parameter |
Comments |
|---|---|
Git branch to checkout Default: |
|
Directory where repository will be checked out Default: |
|
Enable debug output for troubleshooting Choices:
|
|
Additional environment variables for Ansible execution Default: |
|
Additional arguments to pass to ansible-pull or ansible-playbook Default: |
|
Limit execution to specific hosts. Defaults to inventory_hostname. |
|
Install collections from requirements.yml before playbook execution. Note: ansible-pull does NOT automatically install collections, so this ensures dependencies are available in both pull and playbook modes. Choices:
|
|
Enable Ansible installation Choices:
|
|
Installation method - ‘pipx’ or ‘package’ Choices:
|
|
Install roles from requirements.yml before playbook execution. Note: ansible-pull does NOT automatically install roles, so this ensures dependencies are available in both pull and playbook modes. Choices:
|
|
Inventory file path (relative to repository root) Default: |
|
Execution mode - ‘pull’ for ansible-pull or ‘playbook’ for ansible-playbook Choices:
|
|
Enable OpenTelemetry integration Choices:
|
|
OpenTelemetry collector endpoint Default: |
|
Deployment environment tag Default: |
|
OpenTelemetry headers for authentication Default: |
|
Service name for OpenTelemetry traces Default: |
|
Specific Ansible version to install (empty for latest) Default: |
|
Binary directory for pipx executables Default: |
|
Home directory for pipx installation Default: |
|
Additional Python packages to inject into ansible pipx environment (e.g., kubernetes, boto3, pywinrm) Default: |
|
System packages required for pipx installation Default: |
|
Playbook file to execute (relative to repository root) Default: |
|
Maximum random delay in seconds before execution Default: |
|
Remove system-installed Ansible package when using pipx Choices:
|
|
Git repository URL (SSH or HTTPS) |
|
System packages required for Ansible operation Default: |
|
Path to requirements file (relative to repository root) Default: |
|
Number of retry attempts for tasks Default: |
|
Delay in seconds between retry attempts Default: |
|
Systemd timer schedule (OnCalendar format) Default: |
|
Enable the systemd timer Choices:
|
|
Name of the systemd service unit. Defaults to ‘ansible-<mode>’ based on ansible_mode. |
|
Generate SSH key for Git access Choices:
|
|
Path to SSH private key Default: |
|
Show prompt to add deploy key to Git repository Choices:
|
|
SSH key type Default: |
|
Enable systemd timer configuration Choices:
|
|
State of the systemd timer (started/stopped) Choices:
|