aboutsummaryrefslogtreecommitdiff
path: root/kolla/template
diff options
context:
space:
mode:
authorMichal Nasiadka <mnasiadka@gmail.com>2025-10-01 02:25:23 -0400
committerMichal Nasiadka <mnasiadka@gmail.com>2025-10-02 14:24:31 +0200
commit806602e488240deb87bdf1c8ce00973ca8ec914d (patch)
tree6b3c54c39d2689d194cf5cca38e39c6b9fdfbcc4 /kolla/template
parent17727e148120c43a5c7056b33e4277592376ccca (diff)
downloadkolla-806602e488240deb87bdf1c8ce00973ca8ec914d.tar.gz
kolla-806602e488240deb87bdf1c8ce00973ca8ec914d.zip
Add support for rpm to repos.yaml
Add the ability to configure repositories in the same way as we do Debuntu ones - via repos.yaml. Removes .repo files from base - since these are not needed there anymore. gpgcheck = 1 is default in docker/base/dnf.conf Change-Id: I7df7d452c45c57c434d5b4ad15a87963e4d6d0d4 Signed-off-by: Michal Nasiadka <mnasiadka@gmail.com>
Diffstat (limited to 'kolla/template')
-rw-r--r--kolla/template/methods.py136
-rw-r--r--kolla/template/repos.yaml372
2 files changed, 398 insertions, 110 deletions
diff --git a/kolla/template/methods.py b/kolla/template/methods.py
index e9edbfeb0..388d4858f 100644
--- a/kolla/template/methods.py
+++ b/kolla/template/methods.py
@@ -10,6 +10,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+from kolla.image.utils import LOG
import os
import typing as t
@@ -17,6 +18,29 @@ import yaml
from jinja2 import pass_context
+APT_ARCH = " && echo 'Architectures: {arch}' \
+>>/etc/apt/sources.list.d/{repo}.sources"
+APT_REPO = "echo 'Uris: {url}' >/etc/apt/sources.list.d/{repo}.sources && \
+echo 'Components: {component}' >>/etc/apt/sources.list.d/{repo}.sources && \
+echo 'Types: deb' >>/etc/apt/sources.list.d/{repo}.sources && \
+echo 'Suites: {suite}' >>/etc/apt/sources.list.d/{repo}.sources && \
+echo 'Signed-By: /etc/kolla/apt-keys/{gpg_key}' \
+>>/etc/apt/sources.list.d/{repo}.sources"
+DNF_BASEURL = " && echo 'baseurl={baseurl}' >>/etc/yum.repos.d/{repo}.repo"
+DNF_DISABLE = "dnf config-manager --disable {name} || true"
+DNF_ENABLE = "dnf config-manager --enable {name} || true"
+DNF_GPGCHECK = " && echo 'gpgcheck={gpgcheck}' >>/etc/yum.repos.d/{repo}.repo"
+DNF_GPGKEY = " && echo 'gpgkey={gpgkey}' >>/etc/yum.repos.d/{repo}.repo"
+DNF_GPGKEY_ADD = " && echo ' {gpgkey}' >>/etc/yum.repos.d/{repo}.repo"
+DNF_METALINK = " && echo 'metalink={metalink}' >>/etc/yum.repos.d/{repo}.repo"
+DNF_MIRRORLIST = " && \
+echo 'mirrorlist={mirrorlist}' >>/etc/yum.repos.d/{repo}.repo"
+DNF_REPO = "echo '[{name}]' >/etc/yum.repos.d/{repo}.repo && \
+echo 'name={name}' >>/etc/yum.repos.d/{repo}.repo && \
+echo 'enabled=1' >>/etc/yum.repos.d/{repo}.repo"
+DNF_REPO_GPGCHECK = " && echo 'repo_gpgcheck={repo_gpgcheck}' \
+>>/etc/yum.repos.d/{repo}.repo"
+
def debian_package_install(packages, clean_package_cache=True):
"""Jinja utility method for building debian-based package install command.
@@ -81,13 +105,6 @@ def handle_repos(context, reponames, mode):
Distro/arch are not required to have all entries - we ignore missing ones.
"""
- if mode == 'enable':
- rpm_switch = '--enable'
- elif mode == 'disable':
- rpm_switch = '--disable'
- else:
- raise KeyError
-
if not isinstance(reponames, list):
raise TypeError("First argument should be a list of repositories")
@@ -104,6 +121,7 @@ def handle_repos(context, reponames, mode):
base_package_type = context.get('base_package_type')
base_distro = context.get('base_distro')
base_arch = context.get('base_arch')
+ image_name = context.get('image_name')
commands = ''
@@ -113,40 +131,82 @@ def handle_repos(context, reponames, mode):
# NOTE(hrw): Fallback to distro list
repo_list = repo_data[base_distro]
- for repo in reponames:
+ for index, repo in enumerate(reponames):
try:
+ _repo = repo_list[repo]
if base_package_type == 'rpm':
- commands += ' %s %s' % (rpm_switch, repo_list[repo])
- elif base_package_type == 'deb':
if mode == 'enable':
- commands += f"""echo 'Uris: {repo_list[repo]['url']}' \
->/etc/apt/sources.list.d/{repo}.sources \
-&& echo 'Components: {repo_list[repo]['component']}' \
->>/etc/apt/sources.list.d/{repo}.sources \
-&& echo 'Types: deb' >>/etc/apt/sources.list.d/{repo}.sources \
-&& echo 'Suites: {repo_list[repo]['suite']}' \
->>/etc/apt/sources.list.d/{repo}.sources \
-&& echo 'Signed-By: /etc/kolla/apt-keys/{repo_list[repo]['gpg_key']}' \
->>/etc/apt/sources.list.d/{repo}.sources \
-&& """
- if repo_list[repo]['arch']:
- commands += f"""echo 'Architectures: \
-{repo_list[repo]['arch']}' \
->>/etc/apt/sources.list.d/{repo}.sources \
-&& """
- except KeyError:
- # NOTE(hrw): we ignore missing repositories for a given
- # distro/arch
- pass
-
- if base_package_type == 'rpm' and commands:
- # NOTE(hrw): if commands is empty then no repos are enabled
- # otherwise we need to add command to handle repositories
- # NOTE(hrw) dnf errors out if we enable unknown repo
- commands = 'dnf config-manager %s || true' % commands
- elif base_package_type == 'deb':
- # NOTE(hrw): Debian commands end with '&&'
- commands = commands[0:-4]
+ if not _repo.get('distro'):
+ commands += DNF_REPO.format(
+ name=_repo['name'],
+ repo=repo,
+ )
+ if _repo.get('gpgcheck'):
+ commands += DNF_GPGCHECK.format(
+ gpgcheck=_repo['gpgcheck'],
+ repo=repo)
+
+ if _repo.get('repo_gpgcheck'):
+ commands += DNF_REPO_GPGCHECK.format(
+ repo_gpgcheck=_repo['repo_gpgcheck'],
+ repo=repo)
+
+ # NOTE(mnasiadka): Support multiple gpgkeys
+ gpgkeys = _repo['gpgkey'].splitlines()
+ for _, gpgkey in enumerate(gpgkeys):
+ if _ == 0:
+ commands += DNF_GPGKEY.format(gpgkey=gpgkey,
+ repo=repo)
+ else:
+ commands += DNF_GPGKEY_ADD.format(
+ gpgkey=gpgkey,
+ repo=repo)
+ else:
+ commands += DNF_ENABLE.format(name=_repo['name'])
+
+ if 'baseurl' in _repo:
+ # NOTE(mnasiadka): Support multiple baseurls
+ baseurl = _repo['baseurl'].splitlines()
+ for url in baseurl:
+ commands += DNF_BASEURL.format(baseurl=url,
+ repo=repo)
+ elif 'metalink' in _repo:
+ commands += DNF_METALINK.format(
+ metalink=_repo['metalink'], repo=repo
+ )
+
+ elif 'mirrorlist' in _repo:
+ commands += DNF_MIRRORLIST.format(
+ mirrorlist=_repo['mirrorlist'], repo=repo
+ )
+
+ if index != len(reponames) - 1:
+ commands += " && "
+
+ elif mode == 'disable' and _repo.get('distro'):
+ commands += DNF_DISABLE.format(name=_repo['name'])
+
+ elif base_package_type == "deb":
+ if mode == "enable":
+ commands += APT_REPO.format(
+ component=_repo['component'],
+ gpg_key=_repo['gpg_key'],
+ suite=_repo['suite'],
+ url=_repo['url'],
+ repo=repo,
+ )
+
+ if 'arch' in _repo:
+ commands += APT_ARCH.format(
+ arch=_repo['arch'], repo=repo
+ )
+
+ if index != len(reponames) - 1:
+ commands += ' && '
+ except KeyError as e:
+ LOG.exception("Error enabling repository %s in image %s", e,
+ image_name)
+ raise
if commands:
commands = "RUN %s" % commands
diff --git a/kolla/template/repos.yaml b/kolla/template/repos.yaml
index f45ecb3aa..b7d82c704 100644
--- a/kolla/template/repos.yaml
+++ b/kolla/template/repos.yaml
@@ -1,43 +1,157 @@
---
centos:
- ceph: "centos-ceph-squid"
- crb: "crb"
- docker-ce: "docker-ce"
- epel: "epel"
- erlang: "rabbitmq_rabbitmq-erlang"
- extras: "extras"
- fluentd: "fluent-package-lts"
- grafana: "grafana"
- hacluster: "highavailability"
- influxdb: "influxdb"
- kolla_el10: "kolla_el10"
- mariadb: "mariadb"
- opensearch: "opensearch-3.x"
- opensearch-dashboards: "opensearch-dashboards-3.x"
- openvswitch: "centos-nfv-openvswitch"
- opstools: "centos-opstools"
- proxysql: "proxysql"
- rabbitmq: "rabbitmq_rabbitmq-server"
+ ceph:
+ gpgkey: "https://www.centos.org/keys/RPM-GPG-KEY-CentOS-SIG-Storage"
+ metalink: "https://mirrors.centos.org/metalink?repo=centos-storage-sig-ceph-squid-9-stream&arch=$basearch"
+ name: "centos-ceph-squid"
+ crb:
+ distro: True
+ name: "crb"
+ docker-ce:
+ gpgkey: "https://download.docker.com/linux/centos/gpg"
+ baseurl: "https://download.docker.com/linux/centos/$releasever/$basearch/stable"
+ name: "docker-ce"
+ epel:
+ gpgkey: "https://dl.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-$releasever"
+ metalink: "https://mirrors.fedoraproject.org/metalink?repo=epel-$releasever&arch=$basearch&infra=$infra&content=$contentdir"
+ name: "epel"
+ erlang:
+ baseurl: |
+ https://yum1.rabbitmq.com/erlang/el/9/$basearch
+ https://yum2.rabbitmq.com/erlang/el/9/$basearch
+ gpgkey: "https://github.com/rabbitmq/signing-keys/releases/download/3.0/cloudsmith.rabbitmq-erlang.E495BB49CC4BBE5B.key"
+ name: "rabbitmq_rabbitmq-erlang"
+ extras:
+ distro: True
+ name: "extras"
+ fluentd:
+ baseurl: "https://packages.treasuredata.com/lts/5/redhat/9/$basearch"
+ gpgkey: "https://packages.treasuredata.com/GPG-KEY-td-agent"
+ name: "fluent-package-lts"
+ grafana:
+ baseurl: "https://rpm.grafana.com"
+ gpgkey: "https://rpm.grafana.com/gpg.key"
+ name: "grafana"
+ hacluster:
+ name: "highavailability"
+ distro: true
+ influxdb:
+ baseurl: "https://repos.influxdata.com/rhel/9/$basearch/stable"
+ gpgkey: "https://repos.influxdata.com/influxdata-archive_compat.key"
+ name: "influxdb"
+ kolla_el10:
+ baseurl: "https://download.copr.fedorainfracloud.org/results/@openstack-kolla/el10-missing/epel-10-$basearch/"
+ gpgkey: "https://download.copr.fedorainfracloud.org/results/@openstack-kolla/el10-missing/pubkey.gpg"
+ name: "kolla_el10"
+ mariadb:
+ baseurl: "https://dlm.mariadb.com/repo/mariadb-server/10.11/yum/rhel/$releasever/$basearch"
+ gpgkey: "https://downloads.mariadb.com/MariaDB/RPM-GPG-KEY-MariaDB"
+ name: "mariadb"
+ opensearch:
+ baseurl: "https://artifacts.opensearch.org/releases/bundle/opensearch/3.x/yum"
+ gpgkey: "https://artifacts.opensearch.org/publickeys/opensearch-release.pgp"
+ repo_gpgcheck: 1
+ name: "opensearch32.x"
+ opensearch-dashboards:
+ baseurl: "https://artifacts.opensearch.org/releases/bundle/opensearch-dashboards/3.x/yum"
+ gpgkey: "https://artifacts.opensearch.org/publickeys/opensearch-release.pgp"
+ repo_gpgcheck: 1
+ name: "opensearch-dashboards-3.x"
+ openvswitch:
+ gpgkey: "https://www.centos.org/keys/RPM-GPG-KEY-CentOS-SIG-NFV"
+ metalink: "https://mirrors.centos.org/metalink?repo=centos-nfv-sig-openvswitch-2-$stream&arch=$basearch&protocol=https,http"
+ name: "centos-nfv-openvswitch"
+ opstools:
+ distro: True
+ name: "opstools"
+ proxysql:
+ baseurl: "https://repo.proxysql.com/ProxySQL/proxysql-3.0.x/almalinux/9"
+ gpgkey: "https://repo.proxysql.com/ProxySQL/proxysql-3.0.x/repo_pub_key"
+ name: "proxysql"
+ rabbitmq:
+ baseurl: |
+ https://yum1.rabbitmq.com/rabbitmq/el/9/noarch
+ https://yum2.rabbitmq.com/rabbitmq/el/9/noarch
+ gpgkey: |
+ https://github.com/rabbitmq/signing-keys/releases/download/3.0/cloudsmith.rabbitmq-server.9F4587F226208342.key
+ https://github.com/rabbitmq/signing-keys/releases/download/3.0/rabbitmq-release-signing-key.asc
+ name: "rabbitmq_rabbitmq-server"
centos-aarch64:
- ceph: "centos-ceph-squid"
- crb: "crb"
- docker-ce: "docker-ce"
- epel: "epel"
- erlang: "copr-rabbitmq-erlang"
- extras: "extras"
- fluentd: "fluent-package-lts"
- grafana: "grafana"
- hacluster: "highavailability"
- influxdb: "influxdb"
- kolla_el10: "kolla_el10"
- mariadb: "mariadb"
- opensearch: "opensearch-3.x"
- opensearch-dashboards: "opensearch-dashboards-3.x"
- openvswitch: "centos-nfv-openvswitch"
- opstools: "centos-opstools"
- proxysql: "proxysql"
- rabbitmq: "rabbitmq_rabbitmq-server"
+ ceph:
+ gpgkey: "https://www.centos.org/keys/RPM-GPG-KEY-CentOS-SIG-Storage"
+ metalink: "https://mirrors.centos.org/metalink?repo=centos-storage-sig-ceph-squid-9-stream&arch=$basearch"
+ name: "centos-ceph-squid"
+ crb:
+ distro: True
+ name: "crb"
+ docker-ce:
+ gpgkey: "https://download.docker.com/linux/centos/gpg"
+ baseurl: "https://download.docker.com/linux/centos/$releasever/$basearch/stable"
+ name: "docker-ce"
+ epel:
+ gpgkey: "https://dl.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-$releasever"
+ metalink: "https://mirrors.fedoraproject.org/metalink?repo=epel-$releasever&arch=$basearch&infra=$infra&content=$contentdir"
+ name: "epel"
+ erlang:
+ baseurl: "https://download.copr.fedorainfracloud.org/results/@openstack-kolla/rabbitmq-erlang-27/rhel-$releasever-aarch64/"
+ gpgkey: "https://download.copr.fedorainfracloud.org/results/@openstack-kolla/rabbitmq-erlang-27/pubkey.gpg"
+ name: "copr-rabbitmq-erlang"
+ extras:
+ distro: True
+ name: "extras"
+ fluentd:
+ baseurl: "https://packages.treasuredata.com/lts/5/redhat/9/$basearch"
+ gpgkey: "https://packages.treasuredata.com/GPG-KEY-td-agent"
+ name: "fluent-package-lts"
+ grafana:
+ baseurl: "https://rpm.grafana.com"
+ gpgkey: "https://rpm.grafana.com/gpg.key"
+ name: "grafana"
+ hacluster:
+ name: "highavailability"
+ distro: true
+ influxdb:
+ baseurl: "https://repos.influxdata.com/rhel/9/$basearch/stable"
+ gpgkey: "https://repos.influxdata.com/influxdata-archive_compat.key"
+ name: "influxdb"
+ kolla_el10:
+ baseurl: "https://download.copr.fedorainfracloud.org/results/@openstack-kolla/el10-missing/epel-10-$basearch/"
+ gpgkey: "https://download.copr.fedorainfracloud.org/results/@openstack-kolla/el10-missing/pubkey.gpg"
+ name: "kolla_el10"
+ mariadb:
+ baseurl: "https://dlm.mariadb.com/repo/mariadb-server/10.11/yum/rhel/$releasever/$basearch"
+ gpgkey: "https://downloads.mariadb.com/MariaDB/RPM-GPG-KEY-MariaDB"
+ name: "mariadb"
+ opensearch:
+ baseurl: "https://artifacts.opensearch.org/releases/bundle/opensearch/3.x/yum"
+ gpgkey: "https://artifacts.opensearch.org/publickeys/opensearch-release.pgp"
+ repo_gpgcheck: 1
+ name: "opensearch32.x"
+ opensearch-dashboards:
+ baseurl: "https://artifacts.opensearch.org/releases/bundle/opensearch-dashboards/3.x/yum"
+ gpgkey: "https://artifacts.opensearch.org/publickeys/opensearch-release.pgp"
+ repo_gpgcheck: 1
+ name: "opensearch-dashboards-3.x"
+ openvswitch:
+ gpgkey: "https://www.centos.org/keys/RPM-GPG-KEY-CentOS-SIG-NFV"
+ metalink: "https://mirrors.centos.org/metalink?repo=centos-nfv-sig-openvswitch-2-$stream&arch=$basearch&protocol=https,http"
+ name: "centos-nfv-openvswitch"
+ opstools:
+ distro: True
+ name: "opstools"
+ proxysql:
+ baseurl: "https://repo.proxysql.com/ProxySQL/proxysql-3.0.x/almalinux/9"
+ gpgkey: "https://repo.proxysql.com/ProxySQL/proxysql-3.0.x/repo_pub_key"
+ name: "proxysql"
+ rabbitmq:
+ baseurl: |
+ https://yum1.rabbitmq.com/rabbitmq/el/9/noarch
+ https://yum2.rabbitmq.com/rabbitmq/el/9/noarch
+ gpgkey: |
+ https://github.com/rabbitmq/signing-keys/releases/download/3.0/cloudsmith.rabbitmq-server.9F4587F226208342.key
+ https://github.com/rabbitmq/signing-keys/releases/download/3.0/rabbitmq-release-signing-key.asc
+ name: "rabbitmq_rabbitmq-server"
# NOTE(mnasiadka): For RabbitMQ Debuntu suite names is following:
# https://www.rabbitmq.com/install-debian.html#apt-cloudsmith
@@ -150,44 +264,158 @@ debian-aarch64:
gpg_key: "rabbitmq.gpg"
rocky:
- ceph: "centos-ceph-squid"
- crb: "crb"
- docker-ce: "docker-ce"
- epel: "epel"
- erlang: "rabbitmq_rabbitmq-erlang"
- extras: "extras"
- fluentd: "fluent-package-lts"
- grafana: "grafana"
- hacluster: "highavailability"
- influxdb: "influxdb"
- kolla_el10: "kolla_el10"
- mariadb: "mariadb"
- opensearch: "opensearch-3.x"
- opensearch-dashboards: "opensearch-dashboards-3.x"
- openvswitch: "centos-nfv-openvswitch"
- opstools: "centos-opstools"
- proxysql: "proxysql"
- rabbitmq: "rabbitmq_rabbitmq-server"
+ ceph:
+ gpgkey: "https://www.centos.org/keys/RPM-GPG-KEY-CentOS-SIG-Storage"
+ metalink: "https://mirrors.centos.org/metalink?repo=centos-storage-sig-ceph-squid-9-stream&arch=$basearch"
+ name: "centos-ceph-squid"
+ crb:
+ distro: True
+ name: "crb"
+ docker-ce:
+ gpgkey: "https://download.docker.com/linux/centos/gpg"
+ baseurl: "https://download.docker.com/linux/centos/$releasever/$basearch/stable"
+ name: "docker-ce"
+ epel:
+ gpgkey: "https://dl.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-$releasever"
+ metalink: "https://mirrors.fedoraproject.org/metalink?repo=epel-$releasever&arch=$basearch&infra=$infra&content=$contentdir"
+ name: "epel"
+ erlang:
+ baseurl: |
+ https://yum1.rabbitmq.com/erlang/el/9/$basearch
+ https://yum2.rabbitmq.com/erlang/el/9/$basearch
+ gpgkey: "https://github.com/rabbitmq/signing-keys/releases/download/3.0/cloudsmith.rabbitmq-erlang.E495BB49CC4BBE5B.key"
+ name: "rabbitmq_rabbitmq-erlang"
+ extras:
+ distro: True
+ name: "extras"
+ fluentd:
+ baseurl: "https://packages.treasuredata.com/lts/5/redhat/9/$basearch"
+ gpgkey: "https://packages.treasuredata.com/GPG-KEY-td-agent"
+ name: "fluent-package-lts"
+ grafana:
+ baseurl: "https://rpm.grafana.com"
+ gpgkey: "https://rpm.grafana.com/gpg.key"
+ name: "grafana"
+ hacluster:
+ name: "highavailability"
+ distro: true
+ influxdb:
+ baseurl: "https://repos.influxdata.com/rhel/9/$basearch/stable"
+ gpgkey: "https://repos.influxdata.com/influxdata-archive_compat.key"
+ name: "influxdb"
+ kolla_el10:
+ baseurl: "https://download.copr.fedorainfracloud.org/results/@openstack-kolla/el10-missing/epel-10-$basearch/"
+ gpgkey: "https://download.copr.fedorainfracloud.org/results/@openstack-kolla/el10-missing/pubkey.gpg"
+ name: "kolla_el10"
+ mariadb:
+ baseurl: "https://dlm.mariadb.com/repo/mariadb-server/10.11/yum/rhel/$releasever/$basearch"
+ gpgkey: "https://downloads.mariadb.com/MariaDB/RPM-GPG-KEY-MariaDB"
+ name: "mariadb"
+ opensearch:
+ baseurl: "https://artifacts.opensearch.org/releases/bundle/opensearch/3.x/yum"
+ gpgkey: "https://artifacts.opensearch.org/publickeys/opensearch-release.pgp"
+ repo_gpgcheck: 1
+ name: "opensearch32.x"
+ opensearch-dashboards:
+ baseurl: "https://artifacts.opensearch.org/releases/bundle/opensearch-dashboards/3.x/yum"
+ gpgkey: "https://artifacts.opensearch.org/publickeys/opensearch-release.pgp"
+ repo_gpgcheck: 1
+ name: "opensearch-dashboards-3.x"
+ openvswitch:
+ gpgkey: "https://www.centos.org/keys/RPM-GPG-KEY-CentOS-SIG-NFV"
+ metalink: "https://mirrors.centos.org/metalink?repo=centos-nfv-sig-openvswitch-2-$stream&arch=$basearch&protocol=https,http"
+ name: "centos-nfv-openvswitch"
+ opstools:
+ distro: True
+ name: "opstools"
+ proxysql:
+ baseurl: "https://repo.proxysql.com/ProxySQL/proxysql-3.0.x/almalinux/9"
+ gpgkey: "https://repo.proxysql.com/ProxySQL/proxysql-3.0.x/repo_pub_key"
+ name: "proxysql"
+ rabbitmq:
+ baseurl: |
+ https://yum1.rabbitmq.com/rabbitmq/el/9/noarch
+ https://yum2.rabbitmq.com/rabbitmq/el/9/noarch
+ gpgkey: |
+ https://github.com/rabbitmq/signing-keys/releases/download/3.0/cloudsmith.rabbitmq-server.9F4587F226208342.key
+ https://github.com/rabbitmq/signing-keys/releases/download/3.0/rabbitmq-release-signing-key.asc
+ name: "rabbitmq_rabbitmq-server"
rocky-aarch64:
- ceph: "centos-ceph-squid"
- crb: "crb"
- docker-ce: "docker-ce"
- epel: "epel"
- erlang: "copr-rabbitmq-erlang"
- extras: "extras"
- fluentd: "fluent-package-lts"
- grafana: "grafana"
- influxdb: "influxdb"
- kolla_el10: "kolla_el10"
- hacluster: "highavailability"
- mariadb: "mariadb"
- opensearch: "opensearch-3.x"
- opensearch-dashboards: "opensearch-dashboards-3.x"
- openvswitch: "centos-nfv-openvswitch"
- opstools: "centos-opstools"
- proxysql: "proxysql"
- rabbitmq: "rabbitmq_rabbitmq-server"
+ ceph:
+ gpgkey: "https://www.centos.org/keys/RPM-GPG-KEY-CentOS-SIG-Storage"
+ metalink: "https://mirrors.centos.org/metalink?repo=centos-storage-sig-ceph-squid-9-stream&arch=$basearch"
+ name: "centos-ceph-squid"
+ crb:
+ distro: True
+ name: "crb"
+ docker-ce:
+ gpgkey: "https://download.docker.com/linux/centos/gpg"
+ baseurl: "https://download.docker.com/linux/centos/$releasever/$basearch/stable"
+ name: "docker-ce"
+ epel:
+ gpgkey: "https://dl.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-$releasever"
+ metalink: "https://mirrors.fedoraproject.org/metalink?repo=epel-$releasever&arch=$basearch&infra=$infra&content=$contentdir"
+ name: "epel"
+ erlang:
+ baseurl: "https://download.copr.fedorainfracloud.org/results/@openstack-kolla/rabbitmq-erlang-27/rhel-$releasever-aarch64/"
+ gpgkey: "https://download.copr.fedorainfracloud.org/results/@openstack-kolla/rabbitmq-erlang-27/pubkey.gpg"
+ name: "copr-rabbitmq-erlang"
+ extras:
+ distro: True
+ name: "extras"
+ fluentd:
+ baseurl: "https://packages.treasuredata.com/lts/5/redhat/9/$basearch"
+ gpgkey: "https://packages.treasuredata.com/GPG-KEY-td-agent"
+ name: "fluent-package-lts"
+ grafana:
+ baseurl: "https://rpm.grafana.com"
+ gpgkey: "https://rpm.grafana.com/gpg.key"
+ name: "grafana"
+ hacluster:
+ name: "highavailability"
+ distro: true
+ influxdb:
+ baseurl: "https://repos.influxdata.com/rhel/9/$basearch/stable"
+ gpgkey: "https://repos.influxdata.com/influxdata-archive_compat.key"
+ name: "influxdb"
+ kolla_el10:
+ baseurl: "https://download.copr.fedorainfracloud.org/results/@openstack-kolla/el10-missing/epel-10-$basearch/"
+ gpgkey: "https://download.copr.fedorainfracloud.org/results/@openstack-kolla/el10-missing/pubkey.gpg"
+ name: "kolla_el10"
+ mariadb:
+ baseurl: "https://dlm.mariadb.com/repo/mariadb-server/10.11/yum/rhel/$releasever/$basearch"
+ gpgkey: "https://downloads.mariadb.com/MariaDB/RPM-GPG-KEY-MariaDB"
+ name: "mariadb"
+ opensearch:
+ baseurl: "https://artifacts.opensearch.org/releases/bundle/opensearch/3.x/yum"
+ gpgkey: "https://artifacts.opensearch.org/publickeys/opensearch-release.pgp"
+ repo_gpgcheck: 1
+ name: "opensearch32.x"
+ opensearch-dashboards:
+ baseurl: "https://artifacts.opensearch.org/releases/bundle/opensearch-dashboards/3.x/yum"
+ gpgkey: "https://artifacts.opensearch.org/publickeys/opensearch-release.pgp"
+ repo_gpgcheck: 1
+ name: "opensearch-dashboards-3.x"
+ openvswitch:
+ gpgkey: "https://www.centos.org/keys/RPM-GPG-KEY-CentOS-SIG-NFV"
+ metalink: "https://mirrors.centos.org/metalink?repo=centos-nfv-sig-openvswitch-2-$stream&arch=$basearch&protocol=https,http"
+ name: "centos-nfv-openvswitch"
+ opstools:
+ distro: True
+ name: "opstools"
+ proxysql:
+ baseurl: "https://repo.proxysql.com/ProxySQL/proxysql-3.0.x/almalinux/9"
+ gpgkey: "https://repo.proxysql.com/ProxySQL/proxysql-3.0.x/repo_pub_key"
+ name: "proxysql"
+ rabbitmq:
+ baseurl: |
+ https://yum1.rabbitmq.com/rabbitmq/el/9/noarch
+ https://yum2.rabbitmq.com/rabbitmq/el/9/noarch
+ gpgkey: |
+ https://github.com/rabbitmq/signing-keys/releases/download/3.0/cloudsmith.rabbitmq-server.9F4587F226208342.key
+ https://github.com/rabbitmq/signing-keys/releases/download/3.0/rabbitmq-release-signing-key.asc
+ name: "rabbitmq_rabbitmq-server"
ubuntu:
docker-ce: