Ansible Role ansible_init

ansible-init helps installing a working Ansible environment including roles from LFOps and a list Ansible inventories from various Git repositories.

This role:

  • Updates ansible_init (ansinv) itself

  • Updates LFOps

  • Loads the list of Git repositories containing Ansible inventories

  • Clones the inventories

  • Optionally clones the roles to ../roles/

  • Installs recommended Ansible collections (from LFOps requirements.txt)

Tags

ansible_init

  • Update ansible_init (ansinv) itself.

  • Update ../lfops.

  • Load repo list.

  • Clone the inventories.

  • Install ansible collections.

  • Triggers: none.

ansible_init:collections

  • Install ansible collections.

  • Triggers: none.

ansible_init:command

  • Load repo list.

  • Triggers: none.

Mandatory Role Variables

ansible_init__url

  • URL of the ansinv repo.

  • Type: String.

  • Default: none

Example:

# mandatory
ansible_init__url: 'git@example.com:my-ansinv.git'

Optional Role Variables

ansible_init__ansible_collections

  • List of dictionaries of Ansible collections to install.

  • Subkeys:

    • name:

      • Mandatory. Name of the collection.

      • Type: String.

    • type:

      • Optional. One of collection, role, or both.

      • Type: String.

      • Default: 'collection'

  • Type: List of dictionaries.

  • Default: []

ansible_init__inventories

  • List of dictionaries of inventories to clone.

  • Subkeys:

    • name:

      • Mandatory. Name of the inventory. Will be used as the folder name.

      • Type: String.

    • url:

      • Mandatory. Git, SSH, or HTTP(S) protocol address of the repository.

      • Type: String.

    • version:

      • Optional. Git version to checkout.

      • Type: String.

      • Default: 'main'

  • Type: List of dictionaries.

  • Default: []

ansible_init__lfops_url

  • URL of the LFOps repo. Either 'git@github.com:Linuxfabrik/lfops.git' for development purposes, or 'https://github.com/Linuxfabrik/lfops.git' for general access.

  • Type: String.

  • Default: 'https://github.com/Linuxfabrik/lfops.git'

ansible_init__roles

  • List of dictionaries of roles to clone.

  • Subkeys:

    • name:

      • Mandatory. Name of the role. Will be used as the folder name.

      • Type: String.

    • url:

      • Mandatory. Git, SSH, or HTTP(S) protocol address of the repository.

      • Type: String.

    • version:

      • Optional. Git version to checkout.

      • Type: String.

      • Default: 'main'

  • Type: List of dictionaries.

  • Default: []

ansible_init__version

  • Git version of the ansinv repo to checkout.

  • Type: String.

  • Default: 'main'

Example:

# optional
ansible_init__ansible_collections:
  - name: 'community.mysql'
  - name: 'ngine_io.cloudstack'
ansible_init__inventories: []
ansible_init__lfops_url: 'git@github.com:Linuxfabrik/lfops.git'
ansible_init__roles: []
ansible_init__version: 'main'

License

The Unlicense

Author Information

Linuxfabrik GmbH, Zurich