local_repo_config.yml¶
This file configures the local repository mirror on the OIM. The local_repo.yml
playbook uses these settings to synchronize RHEL, third-party, and custom
package repositories to the OIM via Pulp, enabling air-gapped or
bandwidth-efficient deployments.
Parameter Reference¶
|
Parameter |
Details |
|---|---|
|
user_registry list / optional |
List of user container registries from which additional container images can be downloaded and synchronized into the Omnia local repository. Omnia connects to the specified registries, pulls the required images, and stores them in the local repository. These images are then accessed by the cluster nodes from the local repository. Each entry supports the following fields:
Note: User registry certificates and private keys specified in |
|
user_repo_url_x86_64 list / optional |
List of x86_64 repository URLs from which software packages/images will be downloaded and accessed by the cluster. Omnia downloads the software packages from the given list of URLs and stores them into a local Pulp container. These packages are then accessed by the cluster nodes from that Pulp container. Each entry supports the following fields:
Example: Note: All SSL related certificates must be kept in |
|
user_repo_url_aarch64 list / optional |
List of aarch64 repository URLs from which software packages/images will be downloaded and accessed by the cluster. Omnia downloads the software packages from the given list of URLs and stores them into a local Pulp container. These packages are then accessed by the cluster nodes from that Pulp container. Each entry supports the same fields as Example: Note: All SSL related certificates must be kept in |
|
rhel_os_url_x86_64 list / required |
Required when Each entry supports the following fields:
Example: Note: All SSL related certificates must be kept in |
|
rhel_os_url_aarch64 list / required |
Required when Each entry supports the same fields as Example: Note: All SSL related certificates must be kept in |
|
rhel_subscription_repo_config_x86_64 list / optional |
Configuration for overriding policy and caching settings for RHEL subscription-based repositories on x86_64 architecture. When subscription is enabled, this config takes precedence over dynamically generated URLs for matching repositories and adds any additional repositories. Matching is done by repository name (e.g., Each entry supports the following fields:
SSL certificates are always auto-populated from RHEL subscription defaults. Note: When RHEL subscription is enabled and Examples:
Note: All SSL related certificates must be kept in |
|
rhel_subscription_repo_config_aarch64 list / optional |
Configuration for overriding policy and caching settings for RHEL subscription-based repositories on aarch64 architecture. When subscription is enabled, this config takes precedence over dynamically generated URLs for matching repositories and adds any additional repositories. Matching is done by repository name (e.g., Each entry supports the same fields as Note: When RHEL subscription is enabled and Examples:
Note: All SSL related certificates must be kept in |
|
omnia_repo_url_rhel_x86_64 list / required |
List of all x86_64 repository URLs from where Each entry supports the following fields:
Default value:
Note: These inputs are not validated by Omnia. Incorrect values provided to this variable can lead to unexpected failures during Omnia's deployment. Ensure that all the listed URLs are reachable from the OIM. |
|
omnia_repo_url_rhel_aarch64 list / required |
List of all aarch64 repository URLs from where Each entry supports the same fields as Default value:
Note: These inputs are not validated by Omnia. Incorrect values provided to this variable can lead to unexpected failures during Omnia's deployment. Ensure that all the listed URLs are reachable from the OIM. |
|
additional_repos_x86_64 list / optional |
List of additional repository URLs for x86_64 architecture. These repos are aggregated into a single Pulp repository. Each repository entry must include:
Example: |
|
additional_repos_aarch64 list / optional |
List of additional repository URLs for aarch64 architecture. These repos are aggregated into a single Pulp repository. Each repository entry must include:
Example: Note: For systems with RedHat subscription, subscription URLs override |
Policy and Caching Combination Reference
The combination of policy and caching determines the effective Pulp download policy applied to the repository:
policy |
caching |
Pulp download policy |
Behavior |
|---|---|---|---|
|
|
|
All packages are downloaded and stored in Pulp on OIM at sync time |
|
|
|
Pulp acts as a proxy; packages are fetched from upstream on demand |
|
|
|
Pulp acts as a proxy; packages are fetched from upstream on demand |
|
|
|
Packages are streamed on demand but not stored locally |
To achieve immediate (full local download), set repo_config: always in software_config.json (or set policy: always + caching: false per repository). To achieve on_demand (proxy mode), set repo_config: partial or policy: always + caching: true.
Usage example¶
---
user_registry:
user_repo_url_x86_64:
user_repo_url_aarch64:
rhel_os_url_x86_64:
rhel_os_url_aarch64:
rhel_subscription_repo_config_x86_64:
- { url: "https://cdn.redhat.com/content/dist/rhel10/10.0/x86_64/baseos/os/", name: "baseos" }
- { url: "https://cdn.redhat.com/content/dist/rhel10/10.0/x86_64/appstream/os/", name: "appstream", policy: "always" }
- { url: "https://cdn.redhat.com/content/dist/rhel10/10.0/x86_64/supplementary/os/", name: "supplementary", policy: "always", caching: false }
rhel_subscription_repo_config_aarch64:
omnia_repo_url_rhel_x86_64:
- { url: "https://download.docker.com/linux/centos/10/x86_64/stable/", gpgkey: "https://download.docker.com/linux/centos/gpg", name: "docker-ce"}
- { url: "https://dl.fedoraproject.org/pub/epel/10/Everything/x86_64/", gpgkey: "https://dl.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-10", name: "epel"}
- { url: "https://pkgs.k8s.io/core:/stable:/v1.35/rpm/", gpgkey: "https://pkgs.k8s.io/core:/stable:/v1.35/rpm/repodata/repomd.xml.key", name: "kubernetes-v1-35"}
- { url: "https://download.opensuse.org/repositories/isv:/cri-o:/stable:/v1.35/rpm/", gpgkey: "https://download.opensuse.org/repositories/isv:/cri-o:/stable:/v1.35/rpm/repodata/repomd.xml.key", name: "cri-o-v1-35"}
- { url: "https://linux.mellanox.com/public/repo/doca/3.2.1/rhel10/x86_64/", gpgkey: "https://linux.mellanox.com/public/repo/doca/3.2.1/rhel10/x86_64/repodata/repomd.xml.key", name: "doca"}
- { url: "https://developer.download.nvidia.com/compute/cuda/repos/rhel10/x86_64/", gpgkey: "https://developer.download.nvidia.com/compute/cuda/repos/rhel10/x86_64/repodata/repomd.xml.key", name: "cuda"}
- { url: "https://developer.download.nvidia.com/hpc-sdk/rhel/x86_64", gpgkey: "https://developer.download.nvidia.com/hpc-sdk/rhel/RPM-GPG-KEY-NVIDIA-HPC-SDK", name: "nvidia-hpc-sdk"}
omnia_repo_url_rhel_aarch64:
- { url: "https://download.docker.com/linux/centos/10/aarch64/stable/", gpgkey: "https://download.docker.com/linux/centos/gpg", name: "docker-ce"}
- { url: "https://dl.fedoraproject.org/pub/epel/10/Everything/aarch64/", gpgkey: "https://dl.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-10", name: "epel"}
- { url: "https://linux.mellanox.com/public/repo/doca/3.2.1/rhel10/arm64-sbsa/", gpgkey: "https://linux.mellanox.com/public/repo/doca/3.2.1/rhel10/arm64-sbsa/repodata/repomd.xml.key", name: "doca"}
- { url: "https://developer.download.nvidia.com/compute/cuda/repos/rhel10/sbsa/", gpgkey: "https://developer.download.nvidia.com/compute/cuda/repos/rhel10/sbsa/repodata/repomd.xml.key", name: "cuda"}
- { url: "https://developer.download.nvidia.com/hpc-sdk/rhel/aarch64", gpgkey: "https://developer.download.nvidia.com/hpc-sdk/rhel/RPM-GPG-KEY-NVIDIA-HPC-SDK", name: "nvidia-hpc-sdk"}
additional_repos_x86_64:
additional_repos_aarch64:
Info
- Playbook Reference -- The
local_repo.ymlplaybook. - Disk Space -- Disk space for the repository mirror.
- Software Config -- Which packages are selected for installation.