controller_inventory_sources.yml

In these files we configure the inventory_sources for automation controller.
we will probably do this on each environment separately, as the hostnames differ.

variables

The api understands the following structure for defining inventory sources in controller:

{
    "name": "",
    "description": "",
    "source": null,
    "source_path": "",
    "source_vars": "",
    "scm_branch": "",
    "credential": null,
    "enabled_var": "",
    "enabled_value": "",
    "host_filter": "",
    "overwrite": false,
    "overwrite_vars": false,
    "timeout": 0,
    "verbosity": 1,
    "limit": "",
    "execution_environment": null,
    "inventory": null,
    "update_on_launch": false,
    "update_cache_timeout": 0,
    "source_project": null
}

group_vars/all/controller_inventory_sources.yml

Here we see an empty set for all.

---
controller_inventory_sources_all: []
...

But you can already see that the variable name used here has the "_all" extension, so the variable will not be overridden as this is not quite a inventory.
Why we do this, will become clear in a moment.

group_vars/dev/controller_inventory_sources.yml

As we do not configure extra inventory_sources in development, this file is an empty set.
(We use the containerized setup version, so no need for inventory_sources).

---
controller_inventory_sources_dev: []
  # No extra config exists
...

Here the variable has the "_dev" extension, so the variable will not be overridden.

group_vars/prod/controller_inventory_sources.yml

As we do not configure extra inventory_sources in prod, this file is an empty set.

---
controller_inventory_sources_prod: []
  # No extra config exists
...

Here the variable has the "_prod" extension, so the variable will not be overridden.

When we run a pipeline for a certain environment, the inventory structure will provide us with 2 variables: - controller_inventory_sources_all
- controller_inventory_sources_

We will merge these 2 variables into 1: controller_inventory_sources and feed this to the infra.aap_configuration.controller_inventory_sources role.

Back