hub_ee_repositories

The infra.aap_configuration collection expects the vaules in the variable: hub_ee_repositories. As we intend to configure everything just once, we spit the set of vars into the environments and join the lists in the main.yml, before calling the collection. If there are no ee_repositories defined, do not add this file. If you do, ensure the file is present in all branches, with the correct content, described below.

group_vars/all/hub_ee_repositories.yml

As we do not configure extra ee_repositories in automation hub, this file could be an empty set. For educational purposes, we added the removal of a custom ee_repository.

---
hub_ee_repositories_all:
   - name: abc123
     description: Not a valid repository
     readme: "# My ee repo"
     state: absent
...

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/hub_ee_repositories.yml

As we do not configure extra ee_repositories in automation hub, this file is an empty set.

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

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

group_vars/prod/hub_ee_repositories.yml

As we do not configure extra ee_repositories in automation hub, this file is an empty set.

---
hub_ee_repositories_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: - hub_ee_repositories_all
- hub_ee_repositories_

We will merge these 2 variables into 1: hub_ee_repositories and feed this to the infra.aap_configuration.hub_ee_repositories role.
In main.yml the merge of the variables is done by this piece of code:

    - name: Set the gateway vars
      ansible.builtin.set_fact:
        hub_ee_repositories: >
          {{ hub_ee_repositories_all |
          community.general.lists_mergeby(vars['hub_ee_repositories_' + branch_name],
          'name', recursive=true, list_merge='append') }}

This results in the hub_ee_repositories variable the collection needs.

Back