hub_collection_repositories
Ensure the correct repositorie are availlable to load collection into.
group_vars/all/hub_collection_repositories.yml
Just to be sure, we add the default repositories here.
---
hub_collection_repositories_all:
- name: rh-certified
description: Red Hat certified content repository
remote: rh-certified
update_repo: true
wait: false
state: present
- name: community
description: Community content repository
remote: community
update_repo: true
wait: false
state: present
- name: validated
description: Redhat validated content repository
remote: validated
update_repo: true
wait: false
state: present
...
group_vars/dev/hub_collection_repositories.yml
As we do not configure extra repositories in automation hub, this file is an empty set.
---
hub_collection_repositories_dev: []
# No extra config exists
...
Here the variable has the "_dev" extension, so the variable will not be overridden.
group_vars/prod/hub_collection_repositories.yml
As we do not configure extra repositories in automation hub, this file is an empty set.
---
hub_collection_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_collection_repositories_all
- hub_collection_repositories_
We will merge these 2 variables into 1: hub_collection_repositories and feed this to the infra.aap_configuration.hub_collection_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_collection_repositories: >
{{ hub_collection_repositories_all |
community.general.lists_mergeby(vars['hub_collection_repositories_' + branch_name],
'name', recursive=true, list_merge='append') }}
This results in the hub_collection_repositories variable the collection needs.