Giter VIP home page Giter VIP logo

foreman-ansible-modules's Introduction

Foreman Ansible Modules Build Status

Ansible modules for interacting with the Foreman API and various plugin APIs such as Katello.

Documentation

A list of all modules and their documentation can be found at theforeman.org/plugins/foreman-ansible-modules.

Documentation how to write, test and debug modules is available in the docs folder.

Support

Supported Foreman and plugins versions

Modules should support any currently stable Foreman release and the matching set of plugins. Some modules have additional features/arguments that are only applied when the corresponding plugin is installed.

We actively test the modules against the latest stable Foreman release and the matching set of plugins.

Supported Ansible Versions

The modules should work with Ansible >= 2.3.

As we're using Ansible's documentation fragment feature, that was introduced in Ansible 2.8, ansible-doc prior to 2.8 won't be able to display the module documentation, but the modules will still run fine with ansible and ansible-playbook.

Supported Python Versions

Starting with Ansible 2.7, Ansible only supports Python 2.7 and 3.5 (and higher). These are also the only Python versions we develop and test the modules against.

Installation

There are currently three ways to use the modules in your setup: install from Ansible Galaxy, install via RPM and run directly from Git.

Installation from Ansible Galaxy

You can install the collection from Ansible Galaxy by running mazer install theforeman.foreman (Ansible 2.8) or ansible-galaxy collection install theforeman.foreman (Ansible 2.9 and later).

After the installation, the modules are available as theforeman.foreman.<module_name>. Please see the Using Ansible collections documentation for further details.

Installation via RPM

The collection is also available as ansible-collection-theforeman-foreman from the client repository on yum.theforeman.org starting with Foreman 1.24.

After installing the RPM, you can use the modules in the same way as when they are installed directly from Ansible Galaxy.

Run from Git

If you don't want to install the collection, or use an Ansible version that does not support collections (< 2.8), you can consume the modules directly from Git.

Just clone the foreman-ansible-modules git repository to your machine and add the path to the modules to ansible.cfg.

Let's assume you have a directory of playbooks and roles in a git repository for your infrastructure named infra:

infra/
├── ansible.cfg
├── playbooks
└── roles

First, clone the repository into infra/:

cd infra/
git clone https://github.com/theforeman/foreman-ansible-modules.git

Now edit ansible.cfg like this:

[defaults]
library = foreman-ansible-modules/plugins/modules
module_utils = foreman-ansible-modules/plugins/module_utils
doc_fragment_plugins = foreman-ansible-modules/plugins/doc_fragments
filter_plugins = foreman-ansible-modules/plugins/filter

As the modules are not installed inside a collection, you will have to refer to them as <module_name> and not as theforeman.foreman.<module_name>.

Dependencies

Branches

  • master - current development branch, using the apypie library
  • nailgun - the state of the repository before the switch to the apypie library started, nailgun is the only dependency

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.