fix(images): address all CVEs in images
diff --git a/.github/workflows/images.yml b/.github/workflows/images.yml
index 1119e64..0847808 100644
--- a/.github/workflows/images.yml
+++ b/.github/workflows/images.yml
@@ -51,3 +51,37 @@
env:
EARTHLY_CI: true
EARTHLY_PUSH: "${{ github.event_name == 'push' }}"
+
+ scan:
+ runs-on: ubuntu-latest
+ needs: build
+ steps:
+ - name: Checkout project
+ uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4
+
+ - name: Install Earthly
+ uses: earthly/actions-setup@v1
+ with:
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+
+ - name: Configure Earthly
+ run: |
+ mkdir -p ~/.earthly/certs
+ cat << EOF > ~/.earthly/certs/ca_cert.pem
+ ${{ secrets.EARTHLY_CA_CERT }}
+ EOF
+ cat << EOF > ~/.earthly/certs/earthly_cert.pem
+ ${{ secrets.EARTHLY_CERT }}
+ EOF
+ cat << EOF > ~/.earthly/certs/earthly_key.pem
+ ${{ secrets.EARTHLY_CERT_KEY }}
+ EOF
+ cat << EOF > ~/.earthly/config.yml
+ global:
+ buildkit_host: tcp://162.253.55.125:8372
+ EOF
+
+ - name: Scan images
+ run: earthly +scan-images
+ env:
+ EARTHLY_CI: true
diff --git a/Earthfile b/Earthfile
index ce390e4..2b6d89a 100644
--- a/Earthfile
+++ b/Earthfile
@@ -82,6 +82,7 @@
SAVE IMAGE --push ghcr.io/vexxhost/atmosphere:${tag}
images:
+ BUILD +libvirt-tls-sidecar.image
BUILD ./images/barbican+image
BUILD ./images/cinder+image
BUILD ./images/cluster-api-provider-openstack+image
@@ -95,16 +96,45 @@
BUILD ./images/libvirtd+image
BUILD ./images/magnum+image
BUILD ./images/manila+image
+ BUILD ./images/netoffload+image
BUILD ./images/neutron+image
- BUILD ./images/nova+image
BUILD ./images/nova-ssh+image
+ BUILD ./images/nova+image
BUILD ./images/octavia+image
BUILD ./images/openvswitch+image
BUILD ./images/ovn+images
BUILD ./images/placement+image
BUILD ./images/senlin+image
+ BUILD ./images/staffln+image
BUILD ./images/tempest+image
+SCAN_IMAGE:
+ COMMAND
+ ARG --required IMAGE
+ # TODO(mnaser): Include secret scanning when it's more reliable.
+ RUN \
+ trivy image \
+ --skip-db-update \
+ --skip-java-db-update \
+ --scanners vuln \
+ --exit-code 1 \
+ --ignore-unfixed \
+ ${IMAGE}
+
+scan-image:
+ FROM ./images/trivy+image
+ ARG --required IMAGE
+ DO +SCAN_IMAGE --IMAGE ${IMAGE}
+
+scan-images:
+ FROM ./images/trivy+image
+ COPY roles/defaults/vars/main.yml /defaults.yml
+ # TODO(mnaser): Scan all images eventually
+ FOR IMAGE IN $(cat /defaults.yml | grep 'ghcr.io/vexxhost' | cut -d' ' -f4 | sort | uniq)
+ BUILD +scan-image --IMAGE ${IMAGE}
+ # DO +SCAN_IMAGE --IMAGE ${IMAGE}
+ END
+
pin-images:
FROM +build.venv.dev
COPY roles/defaults/vars/main.yml /defaults.yml
diff --git a/images/Earthfile b/images/Earthfile
index 21cd0d8..1141ecd 100644
--- a/images/Earthfile
+++ b/images/Earthfile
@@ -23,9 +23,10 @@
CREATE_PROJECT_USER:
COMMAND
ARG PROJECT
+ ARG SHELL=/usr/sbin/nologin
RUN \
groupadd -g 42424 ${PROJECT} && \
- useradd -u 42424 -g 42424 -M -d /var/lib/${PROJECT} -s /usr/sbin/nologin -c "${PROJECT} User" ${PROJECT} && \
+ useradd -u 42424 -g 42424 -M -d /var/lib/${PROJECT} -s ${SHELL} -c "${PROJECT} User" ${PROJECT} && \
mkdir -p /etc/${PROJECT} /var/log/${PROJECT} /var/lib/${PROJECT} /var/cache/${PROJECT} && \
chown -Rv ${PROJECT}:${PROJECT} /etc/${PROJECT} /var/log/${PROJECT} /var/lib/${PROJECT} /var/cache/${PROJECT}
diff --git a/images/base/Earthfile b/images/base/Earthfile
index 8d3c3b4..f34cf37 100644
--- a/images/base/Earthfile
+++ b/images/base/Earthfile
@@ -7,3 +7,8 @@
# https://avd.aquasec.com/nvd/cve-2024-22365
DO ../+APT_INSTALL \
--PACKAGES "libpam0g libpam-modules libpam-modules-bin libpam-runtime"
+ # TODO(mnaser): Remove this when a new image that includes 3.7.3-4ubuntu1.4 is released.
+ # https://avd.aquasec.com/nvd/cve-2024-0553
+ # https://avd.aquasec.com/nvd/cve-2024-0567
+ DO ../+APT_INSTALL \
+ --PACKAGES "libgnutls30"
diff --git a/images/kubernetes-entrypoint/Earthfile b/images/kubernetes-entrypoint/Earthfile
index 2191e77..6844da2 100644
--- a/images/kubernetes-entrypoint/Earthfile
+++ b/images/kubernetes-entrypoint/Earthfile
@@ -12,7 +12,8 @@
patch -p1
ARG GOARCH
RUN \
- --mount=type=cache,mode=0755,target=/go/pkg/mod \
+ --mount=type=cache,target=/root/.cache/go-build \
+ --mount=type=cache,target=/go/pkg/mod \
CGO_ENABLED=0 GOOS=linux go build -o /main
SAVE ARTIFACT /main
diff --git a/images/netoffload/Earthfile b/images/netoffload/Earthfile
new file mode 100644
index 0000000..557a394
--- /dev/null
+++ b/images/netoffload/Earthfile
@@ -0,0 +1,27 @@
+VERSION 0.7
+
+ARG --global PROJECT=netoffload
+ARG --global RELEASE=main
+ARG --global PROJECT_REF=94b8c0fdb0b83bd1b7e14b9a58077a047c78a800
+
+build:
+ FROM golang:1.20
+ WORKDIR /src
+ GIT CLONE --branch ${PROJECT_REF} https://github.com/vexxhost/netoffload /src
+ RUN \
+ --mount=type=cache,target=/root/.cache/go-build \
+ --mount=type=cache,target=/go/pkg/mod \
+ go build -v -o offloadctl cmd/offloadctl/main.go
+ SAVE ARTIFACT offloadctl
+
+platform-image:
+ FROM ../base+image
+ DO ../+APT_INSTALL --PACKAGES="jq mstflint"
+ COPY +build/offloadctl /usr/local/bin/offloadctl
+ ENTRYPOINT ["/usr/local/bin/offloadctl"]
+ SAVE IMAGE --push \
+ ghcr.io/vexxhost/atmosphere/${PROJECT}:${RELEASE} \
+ ghcr.io/vexxhost/atmosphere/${PROJECT}:${PROJECT_REF}
+
+image:
+ BUILD --platform linux/amd64 --platform linux/arm64 +platform-image
diff --git a/images/nova-ssh/Earthfile b/images/nova-ssh/Earthfile
index 9988902..7572665 100644
--- a/images/nova-ssh/Earthfile
+++ b/images/nova-ssh/Earthfile
@@ -1,14 +1,16 @@
VERSION 0.7
-clone:
- FROM ../builder+image
- GIT CLONE --branch a2e563b08ae633d75084c1bb40c97dbf1a539950 https://opendev.org/openstack/openstack-helm-images /src
- WORKDIR /src
- SAVE ARTIFACT /src
-
platform-image:
- FROM DOCKERFILE -f +clone/src/nova-ssh/Dockerfile.ubuntu_focal +clone/src/nova-ssh
- LABEL org.opencontainers.image.source=https://github.com/vexxhost/atmosphere
+ FROM ../base+image
+ DO ../+CREATE_PROJECT_USER \
+ --PROJECT=nova \
+ --SHELL=/bin/bash
+ DO ../+APT_INSTALL \
+ --PACKAGES "openssh-server openssh-client"
+ RUN \
+ chown -R nova: /etc/ssh && \
+ mkdir /var/run/sshd && \
+ chmod 0755 /var/run/sshd
SAVE IMAGE --push ghcr.io/vexxhost/atmosphere/nova-ssh:latest
image:
diff --git a/images/openstack-service/Earthfile b/images/openstack-service/Earthfile
index 7320910..323d050 100644
--- a/images/openstack-service/Earthfile
+++ b/images/openstack-service/Earthfile
@@ -26,8 +26,12 @@
BUILD_VENV:
COMMAND
ARG PROJECT
+ ARG PROJECT_REPO=https://github.com/openstack/${PROJECT}
ARG PROJECT_REF
- DO +GIT_CHECKOUT --PROJECT=${PROJECT} --PROJECT_REF=${PROJECT_REF}
+ DO +GIT_CHECKOUT \
+ --PROJECT=${PROJECT} \
+ --PROJECT_REPO=${PROJECT_REPO} \
+ --PROJECT_REF=${PROJECT_REF}
ARG EXTRAS=""
ARG PIP_PACKAGES=""
DO +PIP_INSTALL --PACKAGES "/src${EXTRAS} ${PIP_PACKAGES}"
@@ -43,15 +47,20 @@
END
GIT CLONE --branch ${BRANCH} https://github.com/openstack/requirements /src
RUN \
+ sed -i 's/cryptography===36.0.2/cryptography===41.0.7/' /src/upper-constraints.txt && \
sed -i 's/cryptography===40.0.2/cryptography===41.0.7/' /src/upper-constraints.txt && \
- sed -i 's/Flask===2.2.3/Flask===2.2.5/' /src/upper-constraints.txt && \
sed -i 's/Django===3.2.18/Django===3.2.23/' /src/upper-constraints.txt && \
+ sed -i 's/Flask===2.2.3/Flask===2.2.5/' /src/upper-constraints.txt && \
sed -i 's/Jinja2===3.1.2/Jinja2===3.1.3/' /src/upper-constraints.txt && \
+ sed -i 's/paramiko===2.11.0/paramiko===3.4.0/' /src/upper-constraints.txt && \
sed -i 's/paramiko===3.1.0/paramiko===3.4.0/' /src/upper-constraints.txt && \
sed -i 's/pyOpenSSL===23.1.1/pyOpenSSL===23.3.0/' /src/upper-constraints.txt && \
+ sed -i 's/requests===2.28.1/requests===2.31.0/' /src/upper-constraints.txt && \
sed -i 's/requests===2.28.2/requests===2.31.0/' /src/upper-constraints.txt && \
- sed -i 's/Werkzeug===2.2.3/Werkzeug===2.3.8/' /src/upper-constraints.txt && \
+ sed -i 's/sqlparse===0.4.2/sqlparse===0.4.4/' /src/upper-constraints.txt && \
+ sed -i 's/urllib3===1.26.12/urllib3===1.26.18/' /src/upper-constraints.txt && \
sed -i 's/urllib3===1.26.15/urllib3===1.26.18/' /src/upper-constraints.txt && \
+ sed -i 's/Werkzeug===2.2.3/Werkzeug===2.3.8/' /src/upper-constraints.txt && \
sed -i '/glance-store/d' /src/upper-constraints.txt && \
sed -i '/horizon/d' /src/upper-constraints.txt
SAVE ARTIFACT /src/upper-constraints.txt
diff --git a/images/staffeln/Earthfile b/images/staffeln/Earthfile
new file mode 100644
index 0000000..9be3407
--- /dev/null
+++ b/images/staffeln/Earthfile
@@ -0,0 +1,19 @@
+VERSION 0.7
+
+ARG --global PROJECT=staffeln
+ARG --global RELEASE=master
+ARG --global PROJECT_REF=v2.2.3
+
+build:
+ FROM ../openstack-service+builder --RELEASE=${RELEASE}
+ DO ../openstack-service+BUILD_VENV \
+ --PROJECT=${PROJECT} \
+ --PROJECT_REPO=https://github.com/vexxhost/${PROJECT} \
+ --PROJECT_REF=${PROJECT_REF}
+
+image:
+ FROM ../openstack-service+image --RELEASE ${RELEASE} --PROJECT ${PROJECT}
+ COPY +build/venv /var/lib/openstack
+ SAVE IMAGE --push \
+ ghcr.io/vexxhost/atmosphere/${PROJECT}:${RELEASE} \
+ ghcr.io/vexxhost/atmosphere/${PROJECT}:${PROJECT_REF}
diff --git a/images/trivy/.trivyignore b/images/trivy/.trivyignore
new file mode 100644
index 0000000..5057f16
--- /dev/null
+++ b/images/trivy/.trivyignore
@@ -0,0 +1,17 @@
+# NOTE(mnaser): OpenStack used to be versioned based on years and Trivy gets
+# confused since something like 2014.1.3 > 23.0.1.dev6 therefore
+# we ignore those old CVEs.
+CVE-2012-3542
+CVE-2012-4413
+CVE-2013-2256
+CVE-2013-4179
+CVE-2014-3517
+CVE-2014-3608
+CVE-2014-3641
+CVE-2014-3708
+CVE-2015-0259
+CVE-2015-3221
+CVE-2015-3280
+CVE-2015-5251
+CVE-2015-5286
+CVE-2015-7713
diff --git a/images/trivy/Earthfile b/images/trivy/Earthfile
new file mode 100644
index 0000000..8f68625
--- /dev/null
+++ b/images/trivy/Earthfile
@@ -0,0 +1,8 @@
+VERSION 0.7
+
+image:
+ FROM aquasec/trivy:0.48.3
+ COPY .trivyignore /.trivyignore
+ # TODO(mnaser): Add automatic updates
+ RUN trivy image --download-db-only
+ RUN trivy image --download-java-db-only
diff --git a/roles/defaults/vars/main.yml b/roles/defaults/vars/main.yml
index 93ec813..9fb56c5 100644
--- a/roles/defaults/vars/main.yml
+++ b/roles/defaults/vars/main.yml
@@ -14,10 +14,10 @@
_atmosphere_images:
alertmanager: quay.io/prometheus/alertmanager:v0.26.0@sha256:361db356b33041437517f1cd298462055580585f26555c317df1a3caf2868552
- barbican_api: ghcr.io/vexxhost/atmosphere/barbican:2023.2@sha256:b5b6762e9f801aebd5e7be177ba7074bd2967c342ad248cfabf78cb6ea272a4c
- barbican_db_sync: ghcr.io/vexxhost/atmosphere/barbican:2023.2@sha256:b5b6762e9f801aebd5e7be177ba7074bd2967c342ad248cfabf78cb6ea272a4c
- bootstrap: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:1b4c0f4338fbc22828d032b27a0caf4c167a3a3c5c964d9c99efb4a68572e6e3
- ceph_config_helper: ghcr.io/vexxhost/atmosphere/libvirtd:zed@sha256:2f62e9ba8b229adfa47867feb396f697e71ec97686c1d6e0214ef2efdba0a02c
+ barbican_api: ghcr.io/vexxhost/atmosphere/barbican:2023.2@sha256:39ced55e5d08730c51d7b8cac2de0713f78baa459a0bc9877abd5f1aeb986505
+ barbican_db_sync: ghcr.io/vexxhost/atmosphere/barbican:2023.2@sha256:39ced55e5d08730c51d7b8cac2de0713f78baa459a0bc9877abd5f1aeb986505
+ bootstrap: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:6d7e00d021975e054117e678c46fb8fbae2139efa086b89910218ea0e6e479bb
+ ceph_config_helper: ghcr.io/vexxhost/atmosphere/libvirtd:zed@sha256:1c0500c67c79677e4f0e6e84aa5a75d8dbe3bb5298699793862abbf163a40b5d
ceph: quay.io/ceph/ceph:v16.2.11@sha256:1b9803c8984bef8b82f05e233e8fe8ed8f0bba8e5cc2c57f6efaccbeea682add
cert_manager_cainjector: quay.io/jetstack/cert-manager-cainjector:v1.7.1@sha256:985743eeed2b62f68ee06e583f1d5a371e1c35af4b1980a1b2571d29174cce47
cert_manager_cli: quay.io/jetstack/cert-manager-ctl:v1.7.1@sha256:af84513925d86d2de456b5d67dbccd2a34d93aa6fd4e1c8fe9f84182fef1b1b1
@@ -25,67 +25,67 @@
cert_manager_webhook: quay.io/jetstack/cert-manager-webhook:v1.7.1@sha256:a926d60b6f23553ca5d11ac9cd66bcc692136e838613c8bc0d60c6c35a3cbcfc
cilium_node: quay.io/cilium/cilium:v1.13.3@sha256:77176464a1e11ea7e89e984ac7db365e7af39851507e94f137dcf56c87746314
cilium_operator: quay.io/cilium/operator-generic:v1.13.3@sha256:fa7003cbfdf8358cb71786afebc711b26e5e44a2ed99bd4944930bba915b8910
- cinder_api: ghcr.io/vexxhost/atmosphere/cinder:2023.2@sha256:554310920a0c6541e4bc513d29c5154fb60cf9af612cba0247327b3b28d20651
- cinder_backup_storage_init: ghcr.io/vexxhost/atmosphere/cinder:2023.2@sha256:554310920a0c6541e4bc513d29c5154fb60cf9af612cba0247327b3b28d20651
- cinder_backup: ghcr.io/vexxhost/atmosphere/cinder:2023.2@sha256:554310920a0c6541e4bc513d29c5154fb60cf9af612cba0247327b3b28d20651
- cinder_db_sync: ghcr.io/vexxhost/atmosphere/cinder:2023.2@sha256:554310920a0c6541e4bc513d29c5154fb60cf9af612cba0247327b3b28d20651
- cinder_scheduler: ghcr.io/vexxhost/atmosphere/cinder:2023.2@sha256:554310920a0c6541e4bc513d29c5154fb60cf9af612cba0247327b3b28d20651
- cinder_storage_init: ghcr.io/vexxhost/atmosphere/cinder:2023.2@sha256:554310920a0c6541e4bc513d29c5154fb60cf9af612cba0247327b3b28d20651
- cinder_volume_usage_audit: ghcr.io/vexxhost/atmosphere/cinder:2023.2@sha256:554310920a0c6541e4bc513d29c5154fb60cf9af612cba0247327b3b28d20651
- cinder_volume: ghcr.io/vexxhost/atmosphere/cinder:2023.2@sha256:554310920a0c6541e4bc513d29c5154fb60cf9af612cba0247327b3b28d20651
+ cinder_api: ghcr.io/vexxhost/atmosphere/cinder:2023.2@sha256:e95945ce436378f89f6dec7b5449d8efff6e6a5e785b3fd395359e6cca7736ed
+ cinder_backup_storage_init: ghcr.io/vexxhost/atmosphere/cinder:2023.2@sha256:e95945ce436378f89f6dec7b5449d8efff6e6a5e785b3fd395359e6cca7736ed
+ cinder_backup: ghcr.io/vexxhost/atmosphere/cinder:2023.2@sha256:e95945ce436378f89f6dec7b5449d8efff6e6a5e785b3fd395359e6cca7736ed
+ cinder_db_sync: ghcr.io/vexxhost/atmosphere/cinder:2023.2@sha256:e95945ce436378f89f6dec7b5449d8efff6e6a5e785b3fd395359e6cca7736ed
+ cinder_scheduler: ghcr.io/vexxhost/atmosphere/cinder:2023.2@sha256:e95945ce436378f89f6dec7b5449d8efff6e6a5e785b3fd395359e6cca7736ed
+ cinder_storage_init: ghcr.io/vexxhost/atmosphere/cinder:2023.2@sha256:e95945ce436378f89f6dec7b5449d8efff6e6a5e785b3fd395359e6cca7736ed
+ cinder_volume_usage_audit: ghcr.io/vexxhost/atmosphere/cinder:2023.2@sha256:e95945ce436378f89f6dec7b5449d8efff6e6a5e785b3fd395359e6cca7736ed
+ cinder_volume: ghcr.io/vexxhost/atmosphere/cinder:2023.2@sha256:e95945ce436378f89f6dec7b5449d8efff6e6a5e785b3fd395359e6cca7736ed
cluster_api_controller: registry.k8s.io/cluster-api/cluster-api-controller:v1.5.1@sha256:5210087161fdc09c98e47f847c07ed3ff93470e774cb1d5a792e2f76eaa5cf12
cluster_api_kubeadm_bootstrap_controller: registry.k8s.io/cluster-api/kubeadm-bootstrap-controller:v1.5.1@sha256:6d73f991862d0df9724fab31a4a694681d9181e772c265d2c5b9b0b26b572479
cluster_api_kubeadm_control_plane_controller: registry.k8s.io/cluster-api/kubeadm-control-plane-controller:v1.5.1@sha256:8d926bcd3e0ca6be6cb9212f692f0ea6790f83862f4dc02fae0c7e0b35e76907
- cluster_api_openstack_controller: ghcr.io/vexxhost/atmosphere/capi-openstack-controller:v0.8.0-1@sha256:20fbcafcc78b416c13c75c023e49a50083c05343c647e94661caa25d42f425e4
+ cluster_api_openstack_controller: ghcr.io/vexxhost/atmosphere/capi-openstack-controller:v0.8.0-2@sha256:7d5251a44691f403d5ebd8d32f3eba45d4dd71580caed7ac0a8f9309f78cd18b
csi_node_driver_registrar: registry.k8s.io/sig-storage/csi-node-driver-registrar:v2.4.0@sha256:0174bf20d7ad8e9f131a045802ef1c43b4592a2ebc18ba07972b1ce8858d9cb7
csi_rbd_attacher: registry.k8s.io/sig-storage/csi-attacher:v3.4.0@sha256:adc2922c98c539f680c02af99042d968114746f973a49b529785d6b402134bbf
csi_rbd_plugin: quay.io/cephcsi/cephcsi:v3.5.1@sha256:28a674af1df2325fea415e32a7f93f083fce1f9c474912c45f025427fdc0aa10
csi_rbd_provisioner: registry.k8s.io/sig-storage/csi-provisioner:v3.1.0@sha256:92107bb668a9de58a09247596c337bc5b46a1d145685eb55ef489ae16952f5bd
csi_rbd_resizer: registry.k8s.io/sig-storage/csi-resizer:v1.3.0@sha256:35ec0c736ec8266bd4a46f9e942315f148f3139beed99879d0ad8b8e5074d641
csi_rbd_snapshotter: registry.k8s.io/sig-storage/csi-snapshotter:v4.2.0@sha256:bd7dafbd0d4fe81f23f01c9a7432de067bdf085f70d61492f5ffddd9c5264358
- db_drop: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:1b4c0f4338fbc22828d032b27a0caf4c167a3a3c5c964d9c99efb4a68572e6e3
- db_init: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:1b4c0f4338fbc22828d032b27a0caf4c167a3a3c5c964d9c99efb4a68572e6e3
- dep_check: ghcr.io/vexxhost/atmosphere/kubernetes-entrypoint:latest@sha256:a1993b58da2afb16b44d4e510bd217ab872a4c10f598909edc39e72cda92f0b5
- designate_api: ghcr.io/vexxhost/atmosphere/designate:2023.2@sha256:e9837ae92c1adce18bfbc553430fbd4b84106673b8059b511df68ade8fb7d99f
- designate_central: ghcr.io/vexxhost/atmosphere/designate:2023.2@sha256:e9837ae92c1adce18bfbc553430fbd4b84106673b8059b511df68ade8fb7d99f
- designate_db_sync: ghcr.io/vexxhost/atmosphere/designate:2023.2@sha256:e9837ae92c1adce18bfbc553430fbd4b84106673b8059b511df68ade8fb7d99f
- designate_mdns: ghcr.io/vexxhost/atmosphere/designate:2023.2@sha256:e9837ae92c1adce18bfbc553430fbd4b84106673b8059b511df68ade8fb7d99f
- designate_producer: ghcr.io/vexxhost/atmosphere/designate:2023.2@sha256:e9837ae92c1adce18bfbc553430fbd4b84106673b8059b511df68ade8fb7d99f
- designate_sink: ghcr.io/vexxhost/atmosphere/designate:2023.2@sha256:e9837ae92c1adce18bfbc553430fbd4b84106673b8059b511df68ade8fb7d99f
- designate_worker: ghcr.io/vexxhost/atmosphere/designate:2023.2@sha256:e9837ae92c1adce18bfbc553430fbd4b84106673b8059b511df68ade8fb7d99f
- glance_api: ghcr.io/vexxhost/atmosphere/glance:2023.2@sha256:d0b0d98941e6aa718ac37ccc76fe4648d93296c5df7481c081c9da821fc95b85
- glance_db_sync: ghcr.io/vexxhost/atmosphere/glance:2023.2@sha256:d0b0d98941e6aa718ac37ccc76fe4648d93296c5df7481c081c9da821fc95b85
- glance_metadefs_load: ghcr.io/vexxhost/atmosphere/glance:2023.2@sha256:d0b0d98941e6aa718ac37ccc76fe4648d93296c5df7481c081c9da821fc95b85
- glance_registry: ghcr.io/vexxhost/atmosphere/glance:2023.2@sha256:d0b0d98941e6aa718ac37ccc76fe4648d93296c5df7481c081c9da821fc95b85
- glance_storage_init: ghcr.io/vexxhost/atmosphere/glance:2023.2@sha256:d0b0d98941e6aa718ac37ccc76fe4648d93296c5df7481c081c9da821fc95b85
+ db_drop: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:6d7e00d021975e054117e678c46fb8fbae2139efa086b89910218ea0e6e479bb
+ db_init: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:6d7e00d021975e054117e678c46fb8fbae2139efa086b89910218ea0e6e479bb
+ dep_check: ghcr.io/vexxhost/atmosphere/kubernetes-entrypoint:latest@sha256:01a4e983891f7fb4c32bf72085067b7a46a5f1d400b604032b8061edb2535d47
+ designate_api: ghcr.io/vexxhost/atmosphere/designate:2023.2@sha256:0eeea9c53511e58c07c7e417ebe63cc08fa093d128d536758910668eddcfa7d4
+ designate_central: ghcr.io/vexxhost/atmosphere/designate:2023.2@sha256:0eeea9c53511e58c07c7e417ebe63cc08fa093d128d536758910668eddcfa7d4
+ designate_db_sync: ghcr.io/vexxhost/atmosphere/designate:2023.2@sha256:0eeea9c53511e58c07c7e417ebe63cc08fa093d128d536758910668eddcfa7d4
+ designate_mdns: ghcr.io/vexxhost/atmosphere/designate:2023.2@sha256:0eeea9c53511e58c07c7e417ebe63cc08fa093d128d536758910668eddcfa7d4
+ designate_producer: ghcr.io/vexxhost/atmosphere/designate:2023.2@sha256:0eeea9c53511e58c07c7e417ebe63cc08fa093d128d536758910668eddcfa7d4
+ designate_sink: ghcr.io/vexxhost/atmosphere/designate:2023.2@sha256:0eeea9c53511e58c07c7e417ebe63cc08fa093d128d536758910668eddcfa7d4
+ designate_worker: ghcr.io/vexxhost/atmosphere/designate:2023.2@sha256:0eeea9c53511e58c07c7e417ebe63cc08fa093d128d536758910668eddcfa7d4
+ glance_api: ghcr.io/vexxhost/atmosphere/glance:2023.2@sha256:2272c61941fc71decf1c8977781281c044503889b7491d72a32ed9d35e2d326c
+ glance_db_sync: ghcr.io/vexxhost/atmosphere/glance:2023.2@sha256:2272c61941fc71decf1c8977781281c044503889b7491d72a32ed9d35e2d326c
+ glance_metadefs_load: ghcr.io/vexxhost/atmosphere/glance:2023.2@sha256:2272c61941fc71decf1c8977781281c044503889b7491d72a32ed9d35e2d326c
+ glance_registry: ghcr.io/vexxhost/atmosphere/glance:2023.2@sha256:2272c61941fc71decf1c8977781281c044503889b7491d72a32ed9d35e2d326c
+ glance_storage_init: ghcr.io/vexxhost/atmosphere/glance:2023.2@sha256:2272c61941fc71decf1c8977781281c044503889b7491d72a32ed9d35e2d326c
grafana_sidecar: quay.io/kiwigrid/k8s-sidecar:1.24.6@sha256:3b70b9f1a81e67c97e4cd32c9a918fa44fd2c9f66bdd0d28d8b82d7b502cb5e4
grafana: docker.io/grafana/grafana:10.1.0@sha256:d04d48ecbe41e513dc934e57ccb4947034cd5005fa17fdf1331a8997e314beda
haproxy: docker.io/library/haproxy:2.5@sha256:489dcc4385fd45813f3e9252b2f1f440db5749e4845d560250ce5083cc45eeb0
- heat_api: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:1b4c0f4338fbc22828d032b27a0caf4c167a3a3c5c964d9c99efb4a68572e6e3
- heat_cfn: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:1b4c0f4338fbc22828d032b27a0caf4c167a3a3c5c964d9c99efb4a68572e6e3
- heat_cloudwatch: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:1b4c0f4338fbc22828d032b27a0caf4c167a3a3c5c964d9c99efb4a68572e6e3
- heat_db_sync: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:1b4c0f4338fbc22828d032b27a0caf4c167a3a3c5c964d9c99efb4a68572e6e3
- heat_engine_cleaner: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:1b4c0f4338fbc22828d032b27a0caf4c167a3a3c5c964d9c99efb4a68572e6e3
- heat_engine: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:1b4c0f4338fbc22828d032b27a0caf4c167a3a3c5c964d9c99efb4a68572e6e3
- heat_purge_deleted: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:1b4c0f4338fbc22828d032b27a0caf4c167a3a3c5c964d9c99efb4a68572e6e3
- horizon_db_sync: ghcr.io/vexxhost/atmosphere/horizon:2023.2@sha256:c1b0d1b55a1f0286445e6676123cf02e315bf362578d1169615630908b4d7851
- horizon: ghcr.io/vexxhost/atmosphere/horizon:2023.2@sha256:c1b0d1b55a1f0286445e6676123cf02e315bf362578d1169615630908b4d7851
+ heat_api: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:6d7e00d021975e054117e678c46fb8fbae2139efa086b89910218ea0e6e479bb
+ heat_cfn: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:6d7e00d021975e054117e678c46fb8fbae2139efa086b89910218ea0e6e479bb
+ heat_cloudwatch: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:6d7e00d021975e054117e678c46fb8fbae2139efa086b89910218ea0e6e479bb
+ heat_db_sync: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:6d7e00d021975e054117e678c46fb8fbae2139efa086b89910218ea0e6e479bb
+ heat_engine_cleaner: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:6d7e00d021975e054117e678c46fb8fbae2139efa086b89910218ea0e6e479bb
+ heat_engine: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:6d7e00d021975e054117e678c46fb8fbae2139efa086b89910218ea0e6e479bb
+ heat_purge_deleted: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:6d7e00d021975e054117e678c46fb8fbae2139efa086b89910218ea0e6e479bb
+ horizon_db_sync: ghcr.io/vexxhost/atmosphere/horizon:2023.2@sha256:ff893ddc7c5fe988663e66a8b6b51e03b8dc193e18dc2406774f95a05c2b8bef
+ horizon: ghcr.io/vexxhost/atmosphere/horizon:2023.2@sha256:ff893ddc7c5fe988663e66a8b6b51e03b8dc193e18dc2406774f95a05c2b8bef
ingress_nginx_controller: registry.k8s.io/ingress-nginx/controller:v1.1.1@sha256:e16123f3932f44a2bba8bc3cf1c109cea4495ee271d6d16ab99228b58766d3ab
ingress_nginx_default_backend: registry.k8s.io/defaultbackend-amd64:1.5@sha256:4dc5e07c8ca4e23bddb3153737d7b8c556e5fb2f29c4558b7cd6e6df99c512c7
ingress_nginx_kube_webhook_certgen: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.1.1@sha256:23a03c9c381fba54043d0f6148efeaf4c1ca2ed176e43455178b5c5ebf15ad70 # noqa: yaml[line-length]
keepalived: us-docker.pkg.dev/vexxhost-infra/openstack/keepalived:2.0.19@sha256:4fe20cd5c200e301e1a790c9aca8c3fc651c8461afea9d37c56a462d3bfa48bb
keycloak: quay.io/keycloak/keycloak:22.0.1-0@sha256:5b872e841ea9e394d89bdf250146434532d9c2001404540d46621d60f87494e7
- keystone_api: ghcr.io/vexxhost/atmosphere/keystone:2023.2@sha256:7b91fe4ff07ec7d9cecb3751f72d85f8fd5b9dd597763888cf11211d3e186985
- keystone_credential_cleanup: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:1b4c0f4338fbc22828d032b27a0caf4c167a3a3c5c964d9c99efb4a68572e6e3
- keystone_credential_rotate: ghcr.io/vexxhost/atmosphere/keystone:2023.2@sha256:7b91fe4ff07ec7d9cecb3751f72d85f8fd5b9dd597763888cf11211d3e186985
- keystone_credential_setup: ghcr.io/vexxhost/atmosphere/keystone:2023.2@sha256:7b91fe4ff07ec7d9cecb3751f72d85f8fd5b9dd597763888cf11211d3e186985
- keystone_db_sync: ghcr.io/vexxhost/atmosphere/keystone:2023.2@sha256:7b91fe4ff07ec7d9cecb3751f72d85f8fd5b9dd597763888cf11211d3e186985
- keystone_domain_manage: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:1b4c0f4338fbc22828d032b27a0caf4c167a3a3c5c964d9c99efb4a68572e6e3
- keystone_fernet_rotate: ghcr.io/vexxhost/atmosphere/keystone:2023.2@sha256:7b91fe4ff07ec7d9cecb3751f72d85f8fd5b9dd597763888cf11211d3e186985
- keystone_fernet_setup: ghcr.io/vexxhost/atmosphere/keystone:2023.2@sha256:7b91fe4ff07ec7d9cecb3751f72d85f8fd5b9dd597763888cf11211d3e186985
- ks_endpoints: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:1b4c0f4338fbc22828d032b27a0caf4c167a3a3c5c964d9c99efb4a68572e6e3
- ks_service: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:1b4c0f4338fbc22828d032b27a0caf4c167a3a3c5c964d9c99efb4a68572e6e3
- ks_user: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:1b4c0f4338fbc22828d032b27a0caf4c167a3a3c5c964d9c99efb4a68572e6e3
+ keystone_api: ghcr.io/vexxhost/atmosphere/keystone:2023.2@sha256:cf04c3bc924c67f15628683a51f31f5ed1a468e039b93ab9e569cb6738a1d9b1
+ keystone_credential_cleanup: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:6d7e00d021975e054117e678c46fb8fbae2139efa086b89910218ea0e6e479bb
+ keystone_credential_rotate: ghcr.io/vexxhost/atmosphere/keystone:2023.2@sha256:cf04c3bc924c67f15628683a51f31f5ed1a468e039b93ab9e569cb6738a1d9b1
+ keystone_credential_setup: ghcr.io/vexxhost/atmosphere/keystone:2023.2@sha256:cf04c3bc924c67f15628683a51f31f5ed1a468e039b93ab9e569cb6738a1d9b1
+ keystone_db_sync: ghcr.io/vexxhost/atmosphere/keystone:2023.2@sha256:cf04c3bc924c67f15628683a51f31f5ed1a468e039b93ab9e569cb6738a1d9b1
+ keystone_domain_manage: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:6d7e00d021975e054117e678c46fb8fbae2139efa086b89910218ea0e6e479bb
+ keystone_fernet_rotate: ghcr.io/vexxhost/atmosphere/keystone:2023.2@sha256:cf04c3bc924c67f15628683a51f31f5ed1a468e039b93ab9e569cb6738a1d9b1
+ keystone_fernet_setup: ghcr.io/vexxhost/atmosphere/keystone:2023.2@sha256:cf04c3bc924c67f15628683a51f31f5ed1a468e039b93ab9e569cb6738a1d9b1
+ ks_endpoints: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:6d7e00d021975e054117e678c46fb8fbae2139efa086b89910218ea0e6e479bb
+ ks_service: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:6d7e00d021975e054117e678c46fb8fbae2139efa086b89910218ea0e6e479bb
+ ks_user: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:6d7e00d021975e054117e678c46fb8fbae2139efa086b89910218ea0e6e479bb
kube_apiserver: registry.k8s.io/kube-apiserver:v1.22.17@sha256:d88d1c8f972e10ff4b4176f3185434e2832d3805c457fa9e8816f1da2fdf3b93
kube_controller_manager: registry.k8s.io/kube-controller-manager:v1.22.17@sha256:c3e041c8c8c9ffd33d421c8c1de1f42da52b616bfcf61880498e9efc9ec88005
kube_coredns: registry.k8s.io/coredns/coredns:v1.8.4@sha256:10683d82b024a58cc248c468c2632f9d1b260500f7cd9bb8e73f751048d7d6d4
@@ -94,78 +94,78 @@
kube_scheduler: registry.k8s.io/kube-scheduler:v1.22.17@sha256:f85dda445b7c8da197b8e39b0ca2b125b1e97a4a365d45c04d2759aefe935974
kube_state_metrics: registry.k8s.io/kube-state-metrics/kube-state-metrics:v2.9.2@sha256:c30cae7072ffb03f3e7934516db89b3be6c9e5521c0d04d5bbc6e115c9bfa3a7
kubectl: docker.io/bitnami/kubectl:1.27.3@sha256:876cebc2d9272d9eb42c2128c9a08c7e7715dbfe4f2eb2f0b3612df977fdd6b7
- libvirt: ghcr.io/vexxhost/atmosphere/libvirtd:zed@sha256:2f62e9ba8b229adfa47867feb396f697e71ec97686c1d6e0214ef2efdba0a02c
- libvirt_tls_sidecar: ghcr.io/vexxhost/atmosphere/libvirt-tls-sidecar:latest@sha256:bb0954a9fd47f1e2c783a22dbe81c24bbe88f3658b2848b62ad0601f7323d7d1
+ libvirt: ghcr.io/vexxhost/atmosphere/libvirtd:zed@sha256:1c0500c67c79677e4f0e6e84aa5a75d8dbe3bb5298699793862abbf163a40b5d
+ libvirt_tls_sidecar: ghcr.io/vexxhost/atmosphere/libvirt-tls-sidecar:latest@sha256:ba35044fed0808fdd8640a6a0e5a159e06d0fc2ab550ef828b6b3e26e0cd4260
libvirt_exporter: docker.io/vexxhost/libvirtd-exporter:latest@sha256:1a0fdf89f80060bfdbb8cf45213295c5d9fb1f7ea7dbfe2b331f0649cc98df8e
local_path_provisioner_helper: docker.io/library/busybox:1.36.0@sha256:086417a48026173aaadca4ce43a1e4b385e8e62cc738ba79fc6637049674cac0
local_path_provisioner: docker.io/rancher/local-path-provisioner:v0.0.24@sha256:b7dea5221f06f6feed7788db0ad6b024a433c8f55533bd6cc792dc2079ff9ad2
loki_gateway: docker.io/nginxinc/nginx-unprivileged:1.19-alpine@sha256:bbd46452aae30a7cc7bc438f267af812c7a2b0f3b5bcd4cc55eb99669cea3f28
loki: docker.io/grafana/loki:2.7.3@sha256:8e3abbd89173066721fa07bddfee1c1a7a8fe59bed5b00a2fa09d2b3cef8758c
- magnum_api: ghcr.io/vexxhost/atmosphere/magnum:2023.2@sha256:c13b20bd597a7f922232e19f66c050e875e6e49b6ae427b605f778c8ad04b71e
- magnum_cluster_api_proxy: ghcr.io/vexxhost/atmosphere/magnum:2023.2@sha256:c13b20bd597a7f922232e19f66c050e875e6e49b6ae427b605f778c8ad04b71e
- magnum_conductor: ghcr.io/vexxhost/atmosphere/magnum:2023.2@sha256:c13b20bd597a7f922232e19f66c050e875e6e49b6ae427b605f778c8ad04b71e
- magnum_db_sync: ghcr.io/vexxhost/atmosphere/magnum:2023.2@sha256:c13b20bd597a7f922232e19f66c050e875e6e49b6ae427b605f778c8ad04b71e
+ magnum_api: ghcr.io/vexxhost/atmosphere/magnum:2023.2@sha256:e62f2abc600abf701617130c1d8a23e5f5834e7c1d935bd0b31778da3143732b
+ magnum_cluster_api_proxy: ghcr.io/vexxhost/atmosphere/magnum:2023.2@sha256:e62f2abc600abf701617130c1d8a23e5f5834e7c1d935bd0b31778da3143732b
+ magnum_conductor: ghcr.io/vexxhost/atmosphere/magnum:2023.2@sha256:e62f2abc600abf701617130c1d8a23e5f5834e7c1d935bd0b31778da3143732b
+ magnum_db_sync: ghcr.io/vexxhost/atmosphere/magnum:2023.2@sha256:e62f2abc600abf701617130c1d8a23e5f5834e7c1d935bd0b31778da3143732b
magnum_registry: quay.io/vexxhost/magnum-cluster-api-registry:latest@sha256:b954f23ccdbfb2b5b43f6a4e6f7ef5f2ba7bfc81f31de54cf141a56b26628c41
- manila_api: ghcr.io/vexxhost/atmosphere/manila:2023.2@sha256:684e4fbdbfbd032d298ce513399f0bd3ef64e7aa12016d7099d1cb0db2f9b4f7
- manila_data: ghcr.io/vexxhost/atmosphere/manila:2023.2@sha256:684e4fbdbfbd032d298ce513399f0bd3ef64e7aa12016d7099d1cb0db2f9b4f7
- manila_db_sync: ghcr.io/vexxhost/atmosphere/manila:2023.2@sha256:684e4fbdbfbd032d298ce513399f0bd3ef64e7aa12016d7099d1cb0db2f9b4f7
- manila_scheduler: ghcr.io/vexxhost/atmosphere/manila:2023.2@sha256:684e4fbdbfbd032d298ce513399f0bd3ef64e7aa12016d7099d1cb0db2f9b4f7
- manila_share: ghcr.io/vexxhost/atmosphere/manila:2023.2@sha256:684e4fbdbfbd032d298ce513399f0bd3ef64e7aa12016d7099d1cb0db2f9b4f7
+ manila_api: ghcr.io/vexxhost/atmosphere/manila:2023.2@sha256:eb664c55c9dba155c1afe8026caa2c88ba0983e62f069d0825bcc3c563f58d08
+ manila_data: ghcr.io/vexxhost/atmosphere/manila:2023.2@sha256:eb664c55c9dba155c1afe8026caa2c88ba0983e62f069d0825bcc3c563f58d08
+ manila_db_sync: ghcr.io/vexxhost/atmosphere/manila:2023.2@sha256:eb664c55c9dba155c1afe8026caa2c88ba0983e62f069d0825bcc3c563f58d08
+ manila_scheduler: ghcr.io/vexxhost/atmosphere/manila:2023.2@sha256:eb664c55c9dba155c1afe8026caa2c88ba0983e62f069d0825bcc3c563f58d08
+ manila_share: ghcr.io/vexxhost/atmosphere/manila:2023.2@sha256:eb664c55c9dba155c1afe8026caa2c88ba0983e62f069d0825bcc3c563f58d08
memcached: docker.io/library/memcached:1.6.17@sha256:db45886d2d48f143be64f2d46407e224b0b61df3b0056b9d5b03e8bc6a7cd74e
- netoffload: ghcr.io/vexxhost/netoffload:v1.0.1@sha256:60f092e5d5f156c2f933c199ea72274f80eb758d3e0dc2f2b1be62174c3f7183
- neutron_bagpipe_bgp: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:9760d9776c2d3e37415c333193641d7b90f832f68f1cf3f03277907ac299d5cf
- neutron_bgp_dragent: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:9760d9776c2d3e37415c333193641d7b90f832f68f1cf3f03277907ac299d5cf
+ netoffload: ghcr.io/vexxhost/atmosphere/netoffload:main@sha256:7af0c24ed23da084e03467d45fe761e9f48e4bfb35fdfecac2666d090290f758
+ neutron_bagpipe_bgp: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:7fb62d7cc569589965554be1787a0095bb8610a816f0fa22da7f3ec7ab7829f0
+ neutron_bgp_dragent: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:7fb62d7cc569589965554be1787a0095bb8610a816f0fa22da7f3ec7ab7829f0
neutron_coredns: docker.io/coredns/coredns:1.9.3@sha256:bdb36ee882c13135669cfc2bb91c808a33926ad1a411fee07bd2dc344bb8f782
- neutron_db_sync: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:9760d9776c2d3e37415c333193641d7b90f832f68f1cf3f03277907ac299d5cf
- neutron_dhcp: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:9760d9776c2d3e37415c333193641d7b90f832f68f1cf3f03277907ac299d5cf
- neutron_ironic_agent: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:9760d9776c2d3e37415c333193641d7b90f832f68f1cf3f03277907ac299d5cf
- neutron_l2gw: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:9760d9776c2d3e37415c333193641d7b90f832f68f1cf3f03277907ac299d5cf
- neutron_l3: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:9760d9776c2d3e37415c333193641d7b90f832f68f1cf3f03277907ac299d5cf
- neutron_linuxbridge_agent: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:9760d9776c2d3e37415c333193641d7b90f832f68f1cf3f03277907ac299d5cf
- neutron_metadata: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:9760d9776c2d3e37415c333193641d7b90f832f68f1cf3f03277907ac299d5cf
- neutron_netns_cleanup_cron: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:9760d9776c2d3e37415c333193641d7b90f832f68f1cf3f03277907ac299d5cf
- neutron_openvswitch_agent: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:9760d9776c2d3e37415c333193641d7b90f832f68f1cf3f03277907ac299d5cf
- neutron_ovn_metadata: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:9760d9776c2d3e37415c333193641d7b90f832f68f1cf3f03277907ac299d5cf
- neutron_server: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:9760d9776c2d3e37415c333193641d7b90f832f68f1cf3f03277907ac299d5cf
- neutron_sriov_agent_init: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:9760d9776c2d3e37415c333193641d7b90f832f68f1cf3f03277907ac299d5cf
- neutron_sriov_agent: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:9760d9776c2d3e37415c333193641d7b90f832f68f1cf3f03277907ac299d5cf
+ neutron_db_sync: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:7fb62d7cc569589965554be1787a0095bb8610a816f0fa22da7f3ec7ab7829f0
+ neutron_dhcp: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:7fb62d7cc569589965554be1787a0095bb8610a816f0fa22da7f3ec7ab7829f0
+ neutron_ironic_agent: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:7fb62d7cc569589965554be1787a0095bb8610a816f0fa22da7f3ec7ab7829f0
+ neutron_l2gw: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:7fb62d7cc569589965554be1787a0095bb8610a816f0fa22da7f3ec7ab7829f0
+ neutron_l3: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:7fb62d7cc569589965554be1787a0095bb8610a816f0fa22da7f3ec7ab7829f0
+ neutron_linuxbridge_agent: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:7fb62d7cc569589965554be1787a0095bb8610a816f0fa22da7f3ec7ab7829f0
+ neutron_metadata: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:7fb62d7cc569589965554be1787a0095bb8610a816f0fa22da7f3ec7ab7829f0
+ neutron_netns_cleanup_cron: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:7fb62d7cc569589965554be1787a0095bb8610a816f0fa22da7f3ec7ab7829f0
+ neutron_openvswitch_agent: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:7fb62d7cc569589965554be1787a0095bb8610a816f0fa22da7f3ec7ab7829f0
+ neutron_ovn_metadata: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:7fb62d7cc569589965554be1787a0095bb8610a816f0fa22da7f3ec7ab7829f0
+ neutron_server: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:7fb62d7cc569589965554be1787a0095bb8610a816f0fa22da7f3ec7ab7829f0
+ neutron_sriov_agent_init: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:7fb62d7cc569589965554be1787a0095bb8610a816f0fa22da7f3ec7ab7829f0
+ neutron_sriov_agent: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:7fb62d7cc569589965554be1787a0095bb8610a816f0fa22da7f3ec7ab7829f0
node_feature_discovery: registry.k8s.io/nfd/node-feature-discovery:v0.11.2@sha256:24b2abfb5956b6a2a9a0f4248232838d02235d65044078c43d8bdcf29344f141
- nova_api: ghcr.io/vexxhost/atmosphere/nova:zed@sha256:1433e5b36c13ebb3d7f2205c2f3f11d7d76a9fd3633e89f4d0dbf2f45eaf13e3
- nova_archive_deleted_rows: ghcr.io/vexxhost/atmosphere/nova:zed@sha256:1433e5b36c13ebb3d7f2205c2f3f11d7d76a9fd3633e89f4d0dbf2f45eaf13e3
- nova_cell_setup_init: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:1b4c0f4338fbc22828d032b27a0caf4c167a3a3c5c964d9c99efb4a68572e6e3
- nova_cell_setup: ghcr.io/vexxhost/atmosphere/nova:zed@sha256:1433e5b36c13ebb3d7f2205c2f3f11d7d76a9fd3633e89f4d0dbf2f45eaf13e3
- nova_compute_ironic: ghcr.io/vexxhost/atmosphere/nova:zed@sha256:1433e5b36c13ebb3d7f2205c2f3f11d7d76a9fd3633e89f4d0dbf2f45eaf13e3
- nova_compute_ssh: ghcr.io/vexxhost/atmosphere/nova-ssh:latest@sha256:6fcab188161814c449d84ab7a55b01291768a75145726469dc56bb2c80433519
- nova_compute: ghcr.io/vexxhost/atmosphere/nova:zed@sha256:1433e5b36c13ebb3d7f2205c2f3f11d7d76a9fd3633e89f4d0dbf2f45eaf13e3
- nova_conductor: ghcr.io/vexxhost/atmosphere/nova:zed@sha256:1433e5b36c13ebb3d7f2205c2f3f11d7d76a9fd3633e89f4d0dbf2f45eaf13e3
- nova_consoleauth: ghcr.io/vexxhost/atmosphere/nova:zed@sha256:1433e5b36c13ebb3d7f2205c2f3f11d7d76a9fd3633e89f4d0dbf2f45eaf13e3
- nova_db_sync: ghcr.io/vexxhost/atmosphere/nova:zed@sha256:1433e5b36c13ebb3d7f2205c2f3f11d7d76a9fd3633e89f4d0dbf2f45eaf13e3
- nova_novncproxy_assets: ghcr.io/vexxhost/atmosphere/nova:zed@sha256:1433e5b36c13ebb3d7f2205c2f3f11d7d76a9fd3633e89f4d0dbf2f45eaf13e3
- nova_novncproxy: ghcr.io/vexxhost/atmosphere/nova:zed@sha256:1433e5b36c13ebb3d7f2205c2f3f11d7d76a9fd3633e89f4d0dbf2f45eaf13e3
- nova_placement: ghcr.io/vexxhost/atmosphere/nova:zed@sha256:1433e5b36c13ebb3d7f2205c2f3f11d7d76a9fd3633e89f4d0dbf2f45eaf13e3
- nova_scheduler: ghcr.io/vexxhost/atmosphere/nova:zed@sha256:1433e5b36c13ebb3d7f2205c2f3f11d7d76a9fd3633e89f4d0dbf2f45eaf13e3
- nova_service_cleaner: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:1b4c0f4338fbc22828d032b27a0caf4c167a3a3c5c964d9c99efb4a68572e6e3
- nova_spiceproxy_assets: ghcr.io/vexxhost/atmosphere/nova:zed@sha256:1433e5b36c13ebb3d7f2205c2f3f11d7d76a9fd3633e89f4d0dbf2f45eaf13e3
- nova_spiceproxy: ghcr.io/vexxhost/atmosphere/nova:zed@sha256:1433e5b36c13ebb3d7f2205c2f3f11d7d76a9fd3633e89f4d0dbf2f45eaf13e3
- octavia_api: ghcr.io/vexxhost/atmosphere/octavia:2023.2@sha256:53f163f67bb5d12e6b5f85639f24521fd44b3eafb2d12097b96930663b67b289
- octavia_db_sync: ghcr.io/vexxhost/atmosphere/octavia:2023.2@sha256:53f163f67bb5d12e6b5f85639f24521fd44b3eafb2d12097b96930663b67b289
- octavia_health_manager_init: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:1b4c0f4338fbc22828d032b27a0caf4c167a3a3c5c964d9c99efb4a68572e6e3
- octavia_health_manager: ghcr.io/vexxhost/atmosphere/octavia:2023.2@sha256:53f163f67bb5d12e6b5f85639f24521fd44b3eafb2d12097b96930663b67b289
- octavia_housekeeping: ghcr.io/vexxhost/atmosphere/octavia:2023.2@sha256:53f163f67bb5d12e6b5f85639f24521fd44b3eafb2d12097b96930663b67b289
- octavia_worker: ghcr.io/vexxhost/atmosphere/octavia:2023.2@sha256:53f163f67bb5d12e6b5f85639f24521fd44b3eafb2d12097b96930663b67b289
- openvswitch_db_server: ghcr.io/vexxhost/atmosphere/openvswitch:3.1.0-65@sha256:524e3efe7dc3c3164af86ee02aa72ccdb72af6b2e347e940786e7dd7924d52b3
- openvswitch_vswitchd: ghcr.io/vexxhost/atmosphere/openvswitch:3.1.0-65@sha256:524e3efe7dc3c3164af86ee02aa72ccdb72af6b2e347e940786e7dd7924d52b3
- ovn_controller: ghcr.io/vexxhost/atmosphere/ovn-host:23.03.0-69@sha256:5e770bd79aa78b55a561fdc4016516e6dfe90d92906d883ec1d3e76e691231dd
- ovn_northd: ghcr.io/vexxhost/atmosphere/ovn-central:23.03.0-69@sha256:1d805a111edcb229dd387e3699acdca6021b0ba852c4f7e8a8620704cfc35162
- ovn_ovsdb_nb: ghcr.io/vexxhost/atmosphere/ovn-central:23.03.0-69@sha256:1d805a111edcb229dd387e3699acdca6021b0ba852c4f7e8a8620704cfc35162
- ovn_ovsdb_sb: ghcr.io/vexxhost/atmosphere/ovn-central:23.03.0-69@sha256:1d805a111edcb229dd387e3699acdca6021b0ba852c4f7e8a8620704cfc35162
+ nova_api: ghcr.io/vexxhost/atmosphere/nova:zed@sha256:d05106ca6b2a945fb24a6947d0b7f42a19eb01a6f702ab25f0b5fae522183215
+ nova_archive_deleted_rows: ghcr.io/vexxhost/atmosphere/nova:zed@sha256:d05106ca6b2a945fb24a6947d0b7f42a19eb01a6f702ab25f0b5fae522183215
+ nova_cell_setup_init: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:6d7e00d021975e054117e678c46fb8fbae2139efa086b89910218ea0e6e479bb
+ nova_cell_setup: ghcr.io/vexxhost/atmosphere/nova:zed@sha256:d05106ca6b2a945fb24a6947d0b7f42a19eb01a6f702ab25f0b5fae522183215
+ nova_compute_ironic: ghcr.io/vexxhost/atmosphere/nova:zed@sha256:d05106ca6b2a945fb24a6947d0b7f42a19eb01a6f702ab25f0b5fae522183215
+ nova_compute_ssh: ghcr.io/vexxhost/atmosphere/nova-ssh:latest@sha256:e648c174aeb67bbea9f346a064d0643c227c56617fe60c8911c225d23d74bb6b
+ nova_compute: ghcr.io/vexxhost/atmosphere/nova:zed@sha256:d05106ca6b2a945fb24a6947d0b7f42a19eb01a6f702ab25f0b5fae522183215
+ nova_conductor: ghcr.io/vexxhost/atmosphere/nova:zed@sha256:d05106ca6b2a945fb24a6947d0b7f42a19eb01a6f702ab25f0b5fae522183215
+ nova_consoleauth: ghcr.io/vexxhost/atmosphere/nova:zed@sha256:d05106ca6b2a945fb24a6947d0b7f42a19eb01a6f702ab25f0b5fae522183215
+ nova_db_sync: ghcr.io/vexxhost/atmosphere/nova:zed@sha256:d05106ca6b2a945fb24a6947d0b7f42a19eb01a6f702ab25f0b5fae522183215
+ nova_novncproxy_assets: ghcr.io/vexxhost/atmosphere/nova:zed@sha256:d05106ca6b2a945fb24a6947d0b7f42a19eb01a6f702ab25f0b5fae522183215
+ nova_novncproxy: ghcr.io/vexxhost/atmosphere/nova:zed@sha256:d05106ca6b2a945fb24a6947d0b7f42a19eb01a6f702ab25f0b5fae522183215
+ nova_placement: ghcr.io/vexxhost/atmosphere/nova:zed@sha256:d05106ca6b2a945fb24a6947d0b7f42a19eb01a6f702ab25f0b5fae522183215
+ nova_scheduler: ghcr.io/vexxhost/atmosphere/nova:zed@sha256:d05106ca6b2a945fb24a6947d0b7f42a19eb01a6f702ab25f0b5fae522183215
+ nova_service_cleaner: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:6d7e00d021975e054117e678c46fb8fbae2139efa086b89910218ea0e6e479bb
+ nova_spiceproxy_assets: ghcr.io/vexxhost/atmosphere/nova:zed@sha256:d05106ca6b2a945fb24a6947d0b7f42a19eb01a6f702ab25f0b5fae522183215
+ nova_spiceproxy: ghcr.io/vexxhost/atmosphere/nova:zed@sha256:d05106ca6b2a945fb24a6947d0b7f42a19eb01a6f702ab25f0b5fae522183215
+ octavia_api: ghcr.io/vexxhost/atmosphere/octavia:2023.2@sha256:5ed3e48a5befb900a291098bee5546255567f572412d200deb796c689677ceaf
+ octavia_db_sync: ghcr.io/vexxhost/atmosphere/octavia:2023.2@sha256:5ed3e48a5befb900a291098bee5546255567f572412d200deb796c689677ceaf
+ octavia_health_manager_init: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:6d7e00d021975e054117e678c46fb8fbae2139efa086b89910218ea0e6e479bb
+ octavia_health_manager: ghcr.io/vexxhost/atmosphere/octavia:2023.2@sha256:5ed3e48a5befb900a291098bee5546255567f572412d200deb796c689677ceaf
+ octavia_housekeeping: ghcr.io/vexxhost/atmosphere/octavia:2023.2@sha256:5ed3e48a5befb900a291098bee5546255567f572412d200deb796c689677ceaf
+ octavia_worker: ghcr.io/vexxhost/atmosphere/octavia:2023.2@sha256:5ed3e48a5befb900a291098bee5546255567f572412d200deb796c689677ceaf
+ openvswitch_db_server: ghcr.io/vexxhost/atmosphere/openvswitch:3.1.0-65@sha256:f14d832cd637bbe2227a54c80b7ecd18bb3482c3888a60dd2e3ad829c514aaf0
+ openvswitch_vswitchd: ghcr.io/vexxhost/atmosphere/openvswitch:3.1.0-65@sha256:f14d832cd637bbe2227a54c80b7ecd18bb3482c3888a60dd2e3ad829c514aaf0
+ ovn_controller: ghcr.io/vexxhost/atmosphere/ovn-host:23.03.0-69@sha256:e893be792b6b315df5b9de25d43d8edbece248596fc9b9926ef5c28197fad474
+ ovn_northd: ghcr.io/vexxhost/atmosphere/ovn-central:23.03.0-69@sha256:fab22bc666bc5ccdd83427c11f0d2b0defc45bc9a4201a8d9c1472de614325b2
+ ovn_ovsdb_nb: ghcr.io/vexxhost/atmosphere/ovn-central:23.03.0-69@sha256:fab22bc666bc5ccdd83427c11f0d2b0defc45bc9a4201a8d9c1472de614325b2
+ ovn_ovsdb_sb: ghcr.io/vexxhost/atmosphere/ovn-central:23.03.0-69@sha256:fab22bc666bc5ccdd83427c11f0d2b0defc45bc9a4201a8d9c1472de614325b2
pause: registry.k8s.io/pause:3.8@sha256:f5944f2d1daf66463768a1503d0c8c5e8dde7c1674d3f85abc70cef9c7e32e95
percona_xtradb_cluster_haproxy: docker.io/percona/percona-xtradb-cluster-operator:1.13.0-haproxy@sha256:f04e4fea548bfc7cb0bfc73c75c7f2c64d299cf04125a07a8101a55f0f734fed
percona_xtradb_cluster_operator: docker.io/percona/percona-xtradb-cluster-operator:1.13.0@sha256:c674d63242f1af521edfbaffae2ae02fb8d010c0557a67a9c42d2b4a50db5243
percona_xtradb_cluster: docker.io/percona/percona-xtradb-cluster:8.0.32-24.2@sha256:1f978ab8912e1b5fc66570529cb7e7a4ec6a38adbfce1ece78159b0fcfa7d47a
percona_version_service: docker.io/perconalab/version-service:main-3325140@sha256:b7928130fca1e35ce7feaeec326fef836229a8b4de2f6f6ea5b6d2c7a48cd071
- placement_db_sync: ghcr.io/vexxhost/atmosphere/placement:2023.2@sha256:937bfed56b946bc857790876e966423f347c33bef3d49eb668098727b6975a52
- placement: ghcr.io/vexxhost/atmosphere/placement:2023.2@sha256:937bfed56b946bc857790876e966423f347c33bef3d49eb668098727b6975a52
+ placement_db_sync: ghcr.io/vexxhost/atmosphere/placement:2023.2@sha256:93eacad98f1212688985f8171e55f5ffa243a08338f8ea78cae0d2f5c3c46f99
+ placement: ghcr.io/vexxhost/atmosphere/placement:2023.2@sha256:93eacad98f1212688985f8171e55f5ffa243a08338f8ea78cae0d2f5c3c46f99
prometheus_config_reloader: quay.io/prometheus-operator/prometheus-config-reloader:v0.67.1@sha256:0fe3cf36985e0e524801a0393f88fa4b5dd5ffdf0f091ff78ee02f2d281631b5
prometheus_ipmi_exporter: us-docker.pkg.dev/vexxhost-infra/openstack/ipmi-exporter:1.4.0@sha256:4898da9cc11961a56363e8b3f3437d0f45b46585b20c79e33e97fbe7232e05d2
prometheus_memcached_exporter: quay.io/prometheus/memcached-exporter:v0.10.0@sha256:fa5a2de1a4744da66fb369bee81232f5ea52208bc643e409a60f66d699ac27b2
@@ -183,16 +183,16 @@
rabbitmq_topology_operator: docker.io/rabbitmqoperator/messaging-topology-operator:1.6.0@sha256:5052e8bdb26996c62315f0707c6fb291fd84492e360cca7351e2c3fdf659be43
rook_ceph: docker.io/rook/ceph:v1.10.10@sha256:2a65f6678c3f4e368046ee10695dce2c265cc81cd6bfd6258fc670dd18fbad5b
secretgen_controller: ghcr.io/carvel-dev/secretgen-controller@sha256:59ec05ce5847bfd70c8e04f08b5195e918c8f6fbb947ffc91b456494a2958fd5
- senlin_api: ghcr.io/vexxhost/atmosphere/senlin:2023.2@sha256:629e3114e1c3a0e5b9ce127af822a13033c0df21a5a179691cc4b10220207b2a
- senlin_conductor: ghcr.io/vexxhost/atmosphere/senlin:2023.2@sha256:629e3114e1c3a0e5b9ce127af822a13033c0df21a5a179691cc4b10220207b2a
- senlin_db_sync: ghcr.io/vexxhost/atmosphere/senlin:2023.2@sha256:629e3114e1c3a0e5b9ce127af822a13033c0df21a5a179691cc4b10220207b2a
- senlin_engine_cleaner: ghcr.io/vexxhost/atmosphere/senlin:2023.2@sha256:629e3114e1c3a0e5b9ce127af822a13033c0df21a5a179691cc4b10220207b2a
- senlin_engine: ghcr.io/vexxhost/atmosphere/senlin:2023.2@sha256:629e3114e1c3a0e5b9ce127af822a13033c0df21a5a179691cc4b10220207b2a
- senlin_health_manager: ghcr.io/vexxhost/atmosphere/senlin:2023.2@sha256:629e3114e1c3a0e5b9ce127af822a13033c0df21a5a179691cc4b10220207b2a
- staffeln_db_sync: ghcr.io/vexxhost/staffeln:v2.2.3@sha256:ee3d8ab2c17d21b4a64a48abfb089df98700b6bc7cee5db36b5ef9c357317736
- staffeln_conductor: ghcr.io/vexxhost/staffeln:v2.2.3@sha256:ee3d8ab2c17d21b4a64a48abfb089df98700b6bc7cee5db36b5ef9c357317736
- staffeln_api: ghcr.io/vexxhost/staffeln:v2.2.3@sha256:ee3d8ab2c17d21b4a64a48abfb089df98700b6bc7cee5db36b5ef9c357317736
- tempest_run_tests: ghcr.io/vexxhost/atmosphere/tempest:master@sha256:2b97036a841ed07f21dc685b3e2b50946a177c4c86a7336a956f864c1a107b03
+ senlin_api: ghcr.io/vexxhost/atmosphere/senlin:2023.2@sha256:1b653bb8517ad702e1de673edc68195496b3966380554659039187f2130a0f34
+ senlin_conductor: ghcr.io/vexxhost/atmosphere/senlin:2023.2@sha256:1b653bb8517ad702e1de673edc68195496b3966380554659039187f2130a0f34
+ senlin_db_sync: ghcr.io/vexxhost/atmosphere/senlin:2023.2@sha256:1b653bb8517ad702e1de673edc68195496b3966380554659039187f2130a0f34
+ senlin_engine_cleaner: ghcr.io/vexxhost/atmosphere/senlin:2023.2@sha256:1b653bb8517ad702e1de673edc68195496b3966380554659039187f2130a0f34
+ senlin_engine: ghcr.io/vexxhost/atmosphere/senlin:2023.2@sha256:1b653bb8517ad702e1de673edc68195496b3966380554659039187f2130a0f34
+ senlin_health_manager: ghcr.io/vexxhost/atmosphere/senlin:2023.2@sha256:1b653bb8517ad702e1de673edc68195496b3966380554659039187f2130a0f34
+ staffeln_db_sync: ghcr.io/vexxhost/atmosphere/staffeln:v2.2.3@sha256:c09b73991d4ffa3b582e8d6c92888b6964f7023d69a84762de1a62678cad1777
+ staffeln_conductor: ghcr.io/vexxhost/atmosphere/staffeln:v2.2.3@sha256:c09b73991d4ffa3b582e8d6c92888b6964f7023d69a84762de1a62678cad1777
+ staffeln_api: ghcr.io/vexxhost/atmosphere/staffeln:v2.2.3@sha256:c09b73991d4ffa3b582e8d6c92888b6964f7023d69a84762de1a62678cad1777
+ tempest_run_tests: ghcr.io/vexxhost/atmosphere/tempest:master@sha256:61103599c422a8a7dbdd09c981eb73ada9fc3320633af669ce90866aad9edf23
vector: docker.io/timberio/vector:0.27.0-debian@sha256:29f23dab76fa306b67b10eac3e9decdb01c906f8aa3b00a2f5b2e8ae088b84e0
atmosphere_images: '{{ _atmosphere_images | combine(atmosphere_image_overrides, recursive=True)