ansible / event-driven-ansible

Ansible Collection for EDA
https://ansible.readthedocs.io/projects/ansible-eda/
Apache License 2.0
280 stars 109 forks source link
ansible-collection

Collection for Event-Driven Ansible

This collection contains event source plugins, event filters and example rulebooks to be used with ansible-rulebook.

galaxy tox codecov

Description

The primary purpose of this collection is to reduce manual tasks and deliver more efficient mission-critical workflows. By leveraging this collection, organizations can automate a variety of error-prone and time-consuming tasks and respond to changing conditions in any IT domain across IT environments for better agility and resiliency.

Requirements

Ansible version compatibility

Tested with the Ansible Core >= 2.15.0 versions, and the current development version of Ansible. Ansible Core versions before 2.15.0 are not supported.

Python version compatibility

This collection requires Python 3.9 or greater.

Additional dependencies

This collection requires ansible-rulebook 1.0.0 or greater.

Installation

The ansible.eda collection can be installed with the Ansible Galaxy command-line tool:

ansible-galaxy collection install ansible.eda

You can also include it in a requirements.yml file and install it with ansible-galaxy collection install -r requirements.yml, using the format:

---
collections:
  - name: ansible.eda

Note that if you install any collections from Ansible Galaxy, they will not be upgraded automatically when you upgrade the Ansible package. To upgrade the collection to the latest available version, run the following command:

ansible-galaxy collection install ansible.eda --upgrade

A specific version of the collection can be installed by using the version keyword in the requirements.yml file:

---
collections:
  - name: ansible.eda
    version: 1.0.0

or using the ansible-galaxy command as follows

ansible-galaxy collection install ansible.eda:==1.0.0

The Python module dependencies are not installed by ansible-galaxy. They must be installed manually using pip:

pip install -r requirements.txt

Refer to the following for more details.

Use Cases

You can either call modules, rulebooks and playbooks by their Fully Qualified Collection Name (FQCN), such as ansible.eda.activation, or you can call modules by their short name if you list the ansible.eda collection in the playbook's collections keyword:

---
  - name: Create a rulebook activation
    ansible.eda.rulebook_activation:
      name: "Example Activation"
      description: "Example Activation description"
      project: "Example Project"
      rulebook_name: "basic_short.yml"
      decision_environment_name: "Example Decision Environment"
      enabled: False
      awx_token_name: "Example AWX Token"

  - name: Get information about the rulebook activation
    ansible.eda.rulebook_activation_info:
      name: "Example Activation"

  - name: Delete rulebook activation
    ansible.eda.rulebook_activation:
      name: "Example Activation"
      state: absent

Contributing

We welcome community contributions to this collection. If you find problems, please open an issue or create a PR against the Event-Driven Ansible collection repository. See CONTRIBUTING.md for more details.

More information about contributing

Release notes

See the raw generated changelog.

Related Information

License Information

See LICENSE to see the full text.