https://github.com/jomrr/ansible-collection-dev
Ansible collection supporting development tasks for Ansible roles.
https://github.com/jomrr/ansible-collection-dev
ansible ansible-collection developer-tools development
Last synced: about 2 months ago
JSON representation
Ansible collection supporting development tasks for Ansible roles.
- Host: GitHub
- URL: https://github.com/jomrr/ansible-collection-dev
- Owner: jomrr
- License: mit
- Created: 2024-02-16T20:51:01.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2026-04-24T12:11:44.000Z (about 2 months ago)
- Last Synced: 2026-04-24T14:18:37.848Z (about 2 months ago)
- Topics: ansible, ansible-collection, developer-tools, development
- Language: Python
- Homepage:
- Size: 51.8 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# Ansible Collection - jomrr.dev
  
## Description
This collection provides a set of modules, plugins and playbooks designed to streamline ansible
role development and maintenance.
## Installation
Your need to install the collection from github, as my galaxy account is broken:
```bash
ansible-galaxy collection install git+https://github.com/jomrr/ansible-collection-dev.git,main
```
## Usage
The following examples demonstrate how to use modules and plugins from this collection.
### Module `generate_argument_specs`
```yaml
- hosts: all
tasks:
- name: "Generate meta/argument_specs.yml"
jomrr.dev.generate_argument_specs:
defaults_file: /path/to/role/defaults/main.yml
ouput_file: /path/to/role/meta/argument_specs.yaml
```
### Inventory plugin `ansible_role_inventory`
#### Ansible configuration in `ansible.cfg`
```ini
[defaults]
collections_path = ./collections
inventory = ./inventory.yml
playbook_dir = ./playbooks
roles_path = ./roles
remote_tmp = /tmp/ansible
pipelining = False
strategy = free
[inventory]
enable_plugins = jomrr.dev.ansible_role_inventory
```
#### Inventory file `inventory.yml`
```yaml
---
plugin: jomrr.dev.ansible_role_inventory
base_path: "~/src/ansible/roles/"
search_prefix: ansible-role-
```
## Modules
- **fetch_github_repos**: A module for fetching and caching repository data from Github.
- **generate_argument_specs**: A module for generating `meta/argument_specs.yml` from a roles' `defaults/main.yml`.
## Plugins
### Inventory
- **ansible_role_inventory**: Inventory plugin for using role directories as inventory hosts with `ansible_connection=local`.
### Lookup
- **github_version**: Lookup plugin to fetch latest release version of a repo from Github.
## Requirements
- ansible >= 2.15
## Contributing
Contributions to this collection are welcome. Please ensure to follow best practices for Ansible role and module development, including documentation for new features and roles. For more details, see the CONTRIBUTING.md file.
## License
[MIT](LICENSE)
## Authors
- Jonas Mauer (@jomrr)