/foreman_ansible

:arrow_forward: Ansible integration in Foreman

Primary LanguageRubyGNU General Public License v3.0GPL-3.0

Code Climate Gem Version GPL License

Foreman Ansible ▶️

Reporting and facts import from Ansible to Foreman.

Features

  • Import facts
  • Monitor playbook and Ansible runs runtime
  • Sends Ansible reports to Foreman that contain what changed on your system after an ansible run.
  • Stores a list of roles applicable to your hosts and 'plays' them
  • Looking for an Ansible dynamic inventory for Foreman? Use foreman_ansible_inventory

Documentation (installation and configuration)

Check out the official manual at theforeman.org

Registering a new host in Foreman

sign up gif

Host with failed and successful reports

reports

Assigning roles to a host and 'playing' them

role list role play multiple role play

Compatibility

Foreman Plugin
>= 1.15 1.4
>= 1.16 2.0
>= 1.18 2.2
>= 1.21 2.3

Devs

The callback sends a POST request to /api/v2/hosts/facts with the format you can see in the API docs.

Facts must contain the output of ansible -m setup $HOSTNAME, plus a '_type' and '_timestamp' keys. You can see an example on test/fixtures/sample_facts.json in this repository.

After that request, you should have a host registered in Foreman with the Ansible facts. It takes into account some facter and ohai facts if these are available on the system as well.

Copyright

Copyright (c) Daniel Lobato Garcia

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.