From 39730e1d10091d381f3e859a28cffb550e62c8b5 Mon Sep 17 00:00:00 2001 From: Daniel Erez Date: Wed, 19 Nov 2025 12:57:14 +0200 Subject: [PATCH 01/20] tekton: update 'buildah-remote-oci-ta' image --- .tekton/appliance-pull-request.yaml | 2 +- .tekton/appliance-push.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.tekton/appliance-pull-request.yaml b/.tekton/appliance-pull-request.yaml index e5d20f70..68993f76 100644 --- a/.tekton/appliance-pull-request.yaml +++ b/.tekton/appliance-pull-request.yaml @@ -229,7 +229,7 @@ spec: - name: name value: buildah-remote-oci-ta - name: bundle - value: quay.io/konflux-ci/tekton-catalog/task-buildah-remote-oci-ta:0.6@sha256:ac05dabe8b6b446f974cf2b6ef1079cfaa9443d7078c2ebe3ec79aa650e1b5b2 + value: quay.io/konflux-ci/tekton-catalog/task-buildah-remote-oci-ta:0.6@sha256:b7b13a3c812daf08c7c92bbededc0c0bc1a63b64f7f6949b04c228bf383fb5da - name: kind value: task resolver: bundles diff --git a/.tekton/appliance-push.yaml b/.tekton/appliance-push.yaml index d2b83b8f..36218a49 100644 --- a/.tekton/appliance-push.yaml +++ b/.tekton/appliance-push.yaml @@ -226,7 +226,7 @@ spec: - name: name value: buildah-remote-oci-ta - name: bundle - value: quay.io/konflux-ci/tekton-catalog/task-buildah-remote-oci-ta:0.6@sha256:ac05dabe8b6b446f974cf2b6ef1079cfaa9443d7078c2ebe3ec79aa650e1b5b2 + value: quay.io/konflux-ci/tekton-catalog/task-buildah-remote-oci-ta:0.6@sha256:b7b13a3c812daf08c7c92bbededc0c0bc1a63b64f7f6949b04c228bf383fb5da - name: kind value: task resolver: bundles From d86e7165f3e4a246300163600a2dbab736ce1e6f Mon Sep 17 00:00:00 2001 From: Daniel Erez Date: Wed, 19 Nov 2025 11:15:04 +0200 Subject: [PATCH 02/20] AGENT-1216: support iri-regisry dir Added support for the /var/lib/iri-registry dir copied to device during bootstrap step. Also, removed the redundant /oc-mirror/install prefix from the dir in data.iso (to simplify the required change in assisted-installer). --- data/scripts/bin/mount-agent-data.sh.template | 25 +++++++++++++------ pkg/asset/appliance/appliance_liveiso.go | 2 +- pkg/asset/data/data_iso.go | 10 +++----- pkg/asset/ignition/bootstrap_ignition.go | 2 -- pkg/asset/ignition/install_ignition.go | 2 -- pkg/consts/consts.go | 2 +- pkg/registry/registry.go | 3 --- pkg/templates/data.go | 8 +++--- 8 files changed, 27 insertions(+), 27 deletions(-) diff --git a/data/scripts/bin/mount-agent-data.sh.template b/data/scripts/bin/mount-agent-data.sh.template index 6a146c2b..0ee397a4 100644 --- a/data/scripts/bin/mount-agent-data.sh.template +++ b/data/scripts/bin/mount-agent-data.sh.template @@ -1,13 +1,15 @@ #!/usr/bin/env bash ISO_DIR=/run/media/iso +REGISTRY_DATA_DIR=/var/lib/iri-registry + # The name must NOT start with "agent" -DEV_NAME=ocpregistrydata +DEV_NAME=ocp-registry-data MNT_DIR=/mnt/agentdata +DATA_FILES=$ISO_DIR/registry/data* create_data_device() { # Create a loop device for each data file part - DATA_FILES="$ISO_DIR/data/data*" loop_sizes=() for f in $DATA_FILES do @@ -36,15 +38,24 @@ wait_for_iso_mount() { } mount_registry_data_iso() { - registry_data_iso=/home/core/registry_data.iso + # Mount the registry data directory if exists (>=4.21) + if [ -d "$REGISTRY_DATA_DIR" ]; then + # Create a symlink to the registry data directory if it doesn't exist + if [ ! -L "$MNT_DIR" ]; then + rm -rf $MNT_DIR + ln -s $REGISTRY_DATA_DIR $MNT_DIR + fi + return + fi # If the registry data iso does not exist, create it + registry_data_iso=/home/core/registry_data.iso if [ ! -f "$registry_data_iso" ]; then # Wait for the mount to be ready wait_for_iso_mount - # Create the registry data iso - cat $ISO_DIR/data/data* > $registry_data_iso + # Copy the registry data iso to the disk + cat $DATA_FILES > $registry_data_iso fi # Mount the registry data iso @@ -61,10 +72,10 @@ if [ "{{.IsLiveISO}}" = "true" ]; then # Create virtual device for the registry data create_data_device - # Mount data iso + # Mount data device mount -o ro "/dev/mapper/${DEV_NAME}" $MNT_DIR else - # Mount the registry data iso + # Mount the registry data iso (copy from media to disk if necessary) mount_registry_data_iso fi else # Disk image mode diff --git a/pkg/asset/appliance/appliance_liveiso.go b/pkg/asset/appliance/appliance_liveiso.go index 1ef1ebd0..ef97e69a 100644 --- a/pkg/asset/appliance/appliance_liveiso.go +++ b/pkg/asset/appliance/appliance_liveiso.go @@ -25,7 +25,7 @@ import ( const ( liveIsoWorkDir = "live-iso" - liveIsoDataDir = "data" + liveIsoDataDir = "registry" bootstrapImageName = "/images/bootstrap-appliance.img" bootstrapIgnitionPath = "/usr/lib/ignition/base.d/99-bootstrap.ign" defaultGrubConfigFilePath = "EFI/redhat/grub.cfg" diff --git a/pkg/asset/data/data_iso.go b/pkg/asset/data/data_iso.go index b2662bc1..5bba3eda 100644 --- a/pkg/asset/data/data_iso.go +++ b/pkg/asset/data/data_iso.go @@ -18,11 +18,9 @@ import ( ) const ( - bootstrapMirrorDir = "data/oc-mirror/bootstrap" - installMirrorDir = "data/oc-mirror/install" - dataDir = "data" - dataIsoName = "data.iso" - dataVolumeName = "agentdata" + dataDir = "data" + dataIsoName = "data.iso" + dataVolumeName = "agentdata" ) // DataISO is an asset that contains registry images @@ -90,7 +88,7 @@ func (a *DataISO) Generate(_ context.Context, dependencies asset.Parents) error applianceConfig.Config.OcpRelease.Version), envConfig, ) - registryDir, err := registry.GetRegistryDataPath(envConfig.TempDir, installMirrorDir) + registryDir, err := registry.GetRegistryDataPath(envConfig.TempDir, dataDir) if err != nil { return log.StopSpinner(spinner, err) } diff --git a/pkg/asset/ignition/bootstrap_ignition.go b/pkg/asset/ignition/bootstrap_ignition.go index 8fc0dd60..35829946 100644 --- a/pkg/asset/ignition/bootstrap_ignition.go +++ b/pkg/asset/ignition/bootstrap_ignition.go @@ -32,7 +32,6 @@ import ( ) const ( - bootstrapRegistryDataPath = "/mnt/agentdata/oc-mirror/bootstrap" registriesConfFilePath = "/etc/containers/registries.conf" manifestPath = "/etc/assisted/manifests" corePassOverrideFilePath = "/etc/assisted/appliance-override-password-set" // #nosec G101 @@ -141,7 +140,6 @@ func (i *BootstrapIgnition) Generate(_ context.Context, dependencies asset.Paren envConfig.IsLiveISO, swag.BoolValue(applianceConfig.Config.EnableInteractiveFlow), applianceConfig.Config.OcpRelease, - bootstrapRegistryDataPath, string(installIgnitionConfig), coreosImagePath, rendezvousHostEnvPlaceholder) diff --git a/pkg/asset/ignition/install_ignition.go b/pkg/asset/ignition/install_ignition.go index 2e32c575..c129943c 100644 --- a/pkg/asset/ignition/install_ignition.go +++ b/pkg/asset/ignition/install_ignition.go @@ -27,7 +27,6 @@ const ( baseIgnitionPath = "ignition/base/config.ign" bootDevice = "/dev/disk/by-partlabel/boot" bootMountPath = "/boot" - installRegistryDataPath = "/mnt/agentdata/oc-mirror/install" rendezvousHostEnvFilePath = "/etc/assisted/rendezvous-host.env" rendezvousHostEnvPlaceholder = "placeholder-content-for-rendezvous-host.env" postInstallationCrsDir = "post-installation" @@ -122,7 +121,6 @@ func (i *InstallIgnition) Generate(_ context.Context, dependencies asset.Parents // Create install template data templateData := templates.GetInstallIgnitionTemplateData( envConfig.IsLiveISO, - installRegistryDataPath, corePassHash) // Add services common for bootstrap and install diff --git a/pkg/consts/consts.go b/pkg/consts/consts.go index a77b8932..4ba8b7a4 100644 --- a/pkg/consts/consts.go +++ b/pkg/consts/consts.go @@ -52,7 +52,7 @@ const ( // Local registry env file RegistryEnvPath = "/etc/assisted/registry.env" RegistryDataBootstrap = "/tmp/registry" - RegistryDataInstall = "/mnt/agentdata/oc-mirror/install" + RegistryDataInstall = "/mnt/agentdata/" RegistryDataUpgrade = "/media/upgrade/oc-mirror/install" // Deployment ISO diff --git a/pkg/registry/registry.go b/pkg/registry/registry.go index f6523fcc..e7a12ead 100644 --- a/pkg/registry/registry.go +++ b/pkg/registry/registry.go @@ -90,9 +90,6 @@ func (r *registry) verifyRegistryAvailability(registryURL string) error { func (r *registry) StartRegistry() error { var err error - if err = os.RemoveAll(r.DataDirPath); err != nil { - return err - } if err = os.MkdirAll(r.DataDirPath, os.ModePerm); err != nil { return err } diff --git a/pkg/templates/data.go b/pkg/templates/data.go index 2399aeae..93d6e4f8 100644 --- a/pkg/templates/data.go +++ b/pkg/templates/data.go @@ -85,7 +85,7 @@ func GetPinnedImageSetTemplateData(images, role string) interface{} { } } -func GetBootstrapIgnitionTemplateData(isLiveISO, enableInteractiveFlow bool, ocpReleaseImage types.ReleaseImage, registryDataPath, installIgnitionConfig, coreosImagePath, rendezvousHostEnvPlaceholder string) interface{} { +func GetBootstrapIgnitionTemplateData(isLiveISO, enableInteractiveFlow bool, ocpReleaseImage types.ReleaseImage, installIgnitionConfig, coreosImagePath, rendezvousHostEnvPlaceholder string) interface{} { releaseImageArr := []map[string]any{ { "openshift_version": ocpReleaseImage.Version, @@ -114,7 +114,7 @@ func GetBootstrapIgnitionTemplateData(isLiveISO, enableInteractiveFlow bool, ocp RendezvousHostEnvPlaceholder string ReleaseImages, ReleaseImage, OsImages string - RegistryDataPath, RegistryDomain, RegistryFilePath, RegistryImage string + RegistryDomain, RegistryFilePath, RegistryImage string Partition0, Partition1, Partition2, Partition3 Partition }{ @@ -130,7 +130,6 @@ func GetBootstrapIgnitionTemplateData(isLiveISO, enableInteractiveFlow bool, ocp OsImages: string(osImages), // Registry - RegistryDataPath: registryDataPath, RegistryDomain: registry.RegistryDomain, RegistryFilePath: consts.RegistryFilePath, RegistryImage: consts.RegistryImage, @@ -153,7 +152,7 @@ func GetBootstrapIgnitionTemplateData(isLiveISO, enableInteractiveFlow bool, ocp return data } -func GetInstallIgnitionTemplateData(isLiveISO bool, registryDataPath, corePassHash string) interface{} { +func GetInstallIgnitionTemplateData(isLiveISO bool, corePassHash string) interface{} { return struct { IsBootstrapStep bool IsLiveISO bool @@ -165,7 +164,6 @@ func GetInstallIgnitionTemplateData(isLiveISO bool, registryDataPath, corePassHa IsLiveISO: isLiveISO, // Registry - RegistryDataPath: registryDataPath, RegistryDomain: registry.RegistryDomain, RegistryFilePath: consts.RegistryFilePath, RegistryImage: consts.RegistryImage, From 7412e35c862925b358739d9c37cbeb81a98ebc4b Mon Sep 17 00:00:00 2001 From: Daniel Erez Date: Tue, 2 Dec 2025 19:42:33 +0200 Subject: [PATCH 03/20] AGENT-1384: add 'skipLocalRegistry' to ApplianceConfig (#618) Added a temporary flag to ApplianceConfig to avoid starting the local registry on installation step. This is required for testing the IRI support in MCO. --- pkg/asset/ignition/install_ignition.go | 7 +++++-- pkg/types/appliance_config_type.go | 1 + 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/pkg/asset/ignition/install_ignition.go b/pkg/asset/ignition/install_ignition.go index c129943c..343ccee7 100644 --- a/pkg/asset/ignition/install_ignition.go +++ b/pkg/asset/ignition/install_ignition.go @@ -34,13 +34,11 @@ const ( var ( installServices = []string{ - "start-local-registry.service", "set-node-zero.service", "apply-operator-crs.service", } installScripts = []string{ - "setup-local-registry.sh", "set-node-zero.sh", "setup-local-registry-upgrade.sh", "start-cluster-upgrade.sh", @@ -95,6 +93,11 @@ func (i *InstallIgnition) Generate(_ context.Context, dependencies asset.Parents corePassHash = string(passBytes) } + if !swag.BoolValue(applianceConfig.Config.SkipLocalRegistry) { + installServices = append(installServices, "start-local-registry.service") + installScripts = append(installScripts, "setup-local-registry.sh") + } + if swag.BoolValue(applianceConfig.Config.StopLocalRegistry) { installServices = append(installServices, "stop-local-registry.service") } diff --git a/pkg/types/appliance_config_type.go b/pkg/types/appliance_config_type.go index 60e5b1e9..e011416a 100644 --- a/pkg/types/appliance_config_type.go +++ b/pkg/types/appliance_config_type.go @@ -21,6 +21,7 @@ type ApplianceConfig struct { EnableDefaultSources *bool `json:"enableDefaultSources"` EnableFips *bool `json:"enableFips"` StopLocalRegistry *bool `json:"stopLocalRegistry"` + SkipLocalRegistry *bool `json:"skipLocalRegistry"` CreatePinnedImageSets *bool `json:"createPinnedImageSets"` EnableInteractiveFlow *bool `json:"enableInteractiveFlow"` UseDefaultSourceNames *bool `json:"useDefaultSourceNames"` From 642bfb77bc2f9e10e52cb7c9081b0471d22eaaf7 Mon Sep 17 00:00:00 2001 From: Daniel Erez Date: Tue, 25 Nov 2025 19:05:20 +0200 Subject: [PATCH 04/20] AGENT-1357: added registries.conf to BootstrapIgnition --- pkg/asset/ignition/bootstrap_ignition.go | 21 +++++++++++++++------ pkg/asset/ignition/recovery_ignition.go | 8 ++++++++ 2 files changed, 23 insertions(+), 6 deletions(-) diff --git a/pkg/asset/ignition/bootstrap_ignition.go b/pkg/asset/ignition/bootstrap_ignition.go index 35829946..9eda7113 100644 --- a/pkg/asset/ignition/bootstrap_ignition.go +++ b/pkg/asset/ignition/bootstrap_ignition.go @@ -14,6 +14,7 @@ import ( igntypes "github.com/coreos/ignition/v2/config/v3_2/types" agentManifests "github.com/openshift/installer/pkg/asset/agent/manifests" + "github.com/openshift/installer/pkg/asset/ignition" ignasset "github.com/openshift/installer/pkg/asset/ignition" "golang.org/x/crypto/bcrypt" "sigs.k8s.io/yaml" @@ -21,6 +22,7 @@ import ( configv1 "github.com/openshift/api/config/v1" "github.com/openshift/appliance/pkg/asset/config" "github.com/openshift/appliance/pkg/asset/manifests" + "github.com/openshift/appliance/pkg/asset/registry" "github.com/openshift/appliance/pkg/consts" "github.com/openshift/appliance/pkg/templates" "github.com/openshift/installer/pkg/asset" @@ -32,10 +34,10 @@ import ( ) const ( - registriesConfFilePath = "/etc/containers/registries.conf" - manifestPath = "/etc/assisted/manifests" - corePassOverrideFilePath = "/etc/assisted/appliance-override-password-set" // #nosec G101 - extraManifestsPath = "/etc/assisted/extra-manifests" + registriesConfFilePath = "/etc/containers" + registriesConfFilename = "registries.conf" + corePassOverrideFilePath = "/etc/assisted/appliance-override-password-set" // #nosec G101 + extraManifestsPath = "/etc/assisted/extra-manifests" ) type CatalogSource struct { @@ -92,6 +94,7 @@ func (i *BootstrapIgnition) Dependencies() []asset.Asset { &password.KubeadminPassword{}, &manifests.ClusterImageSet{}, &agentManifests.ExtraManifests{}, + ®istry.RegistriesConf{}, &InstallIgnition{}, } } @@ -101,8 +104,9 @@ func (i *BootstrapIgnition) Generate(_ context.Context, dependencies asset.Paren envConfig := &config.EnvConfig{} applianceConfig := &config.ApplianceConfig{} extraManifests := &agentManifests.ExtraManifests{} + registriesConf := ®istry.RegistriesConf{} installIgnition := &InstallIgnition{} - dependencies.Get(envConfig, applianceConfig, extraManifests, installIgnition) + dependencies.Get(envConfig, applianceConfig, extraManifests, registriesConf, installIgnition) i.Config = igntypes.Config{ Ignition: igntypes.Ignition{ @@ -202,6 +206,11 @@ func (i *BootstrapIgnition) Generate(_ context.Context, dependencies asset.Paren "root", 0644, clusterImageSet.File.Data) i.Config.Storage.Files = append(i.Config.Storage.Files, clusterImageSetFile) + // Add registries.conf file + registriesConfFile := ignition.FileFromBytes(filepath.Join(registriesConfFilePath, registriesConfFilename), + "root", 0644, registriesConf.File.Data) + i.Config.Storage.Files = append(i.Config.Storage.Files, registriesConfFile) + // Get cluster-resources generated by oc-mirror (CatalogSources and IDMS) mirrorResources, err := envConfig.FindFilesInCache( filepath.Join(consts.OcMirrorResourcesDir, "*.yaml")) @@ -297,7 +306,7 @@ func addExtraManifests( return nil } -func convertToDefaultSourceNaming(fileBytes []byte) ([]byte, error) { +func convertToDefaultSourceNaming(fileBytes []byte) ([]byte, error) { var cs CatalogSource if err := yaml.Unmarshal(fileBytes, &cs); err != nil { return nil, err diff --git a/pkg/asset/ignition/recovery_ignition.go b/pkg/asset/ignition/recovery_ignition.go index 17f17fb4..85e707f6 100644 --- a/pkg/asset/ignition/recovery_ignition.go +++ b/pkg/asset/ignition/recovery_ignition.go @@ -3,6 +3,7 @@ package ignition import ( "context" "os" + "path/filepath" configv32 "github.com/coreos/ignition/v2/config/v3_2" igntypes "github.com/coreos/ignition/v2/config/v3_2/types" @@ -14,6 +15,7 @@ import ( "github.com/openshift/installer/pkg/asset/ignition" "github.com/pkg/errors" "github.com/sirupsen/logrus" + "github.com/thoas/go-funk" ) // RecoveryIgnition generates the custom ignition file for the recovery ISO @@ -83,6 +85,12 @@ func (i *RecoveryIgnition) Generate(_ context.Context, dependencies asset.Parent unconfiguredIgnition.Storage.Files = append(unconfiguredIgnition.Storage.Files, noConfigImageFile) } + // Remove registries.conf file from unconfiguredIgnition (already added in bootstrapIgnition) + registriesConfPath := filepath.Join(registriesConfFilePath, registriesConfFilename) + unconfiguredIgnition.Storage.Files = funk.Filter(unconfiguredIgnition.Storage.Files, func(f igntypes.File) bool { + return f.Path != registriesConfPath + }).([]igntypes.File) + i.Unconfigured = unconfiguredIgnition i.Bootstrap = bootstrapIgnition.Config i.Merged = configv32.Merge(i.Unconfigured, i.Bootstrap) From 3eec654ce7d32f45a5de01a9735cc92a218fce4c Mon Sep 17 00:00:00 2001 From: Daniel Erez Date: Sun, 7 Dec 2025 12:59:29 +0200 Subject: [PATCH 05/20] MGMT-22321: migrate to ubi9/ubi-minimal --- Dockerfile.openshift-appliance | 6 +- Dockerfile.openshift-appliance.ds | 4 +- hack/update-rpm-lockfile.sh | 97 ++ rpm-prefetching/rpms.in.yaml | 2 + rpm-prefetching/rpms.lock.yaml | 2414 ++++++++++------------------- 5 files changed, 962 insertions(+), 1561 deletions(-) create mode 100755 hack/update-rpm-lockfile.sh diff --git a/Dockerfile.openshift-appliance b/Dockerfile.openshift-appliance index 2e5c4906..435eff41 100644 --- a/Dockerfile.openshift-appliance +++ b/Dockerfile.openshift-appliance @@ -10,7 +10,7 @@ RUN cd cmd && CGO_ENABLED=1 GOFLAGS="" GO111MODULE=on go build -o /tmp/openshift RUN cd registry && CGO_ENABLED=1 GOFLAGS="" GO111MODULE=on go build -o /tmp/registry # Create final image -FROM registry.access.redhat.com/ubi9/ubi:9.6-1760340943 +FROM registry.access.redhat.com/ubi9/ubi-minimal:9.7 # Create/Mount assets ARG ASSETS_DIR=/assets @@ -19,7 +19,9 @@ VOLUME $ASSETS_DIR ENV ASSETS_DIR=$ASSETS_DIR # Install skopeo/podman/libguestfs -RUN dnf -y install skopeo podman guestfs-tools genisoimage coreos-installer syslinux && dnf clean all +RUN DNF=$(command -v microdnf || command -v dnf) && \ + $DNF -y install skopeo podman guestfs-tools genisoimage coreos-installer syslinux && \ + $DNF clean all # Config libguestfs ENV LIBGUESTFS_BACKEND=direct diff --git a/Dockerfile.openshift-appliance.ds b/Dockerfile.openshift-appliance.ds index aa51793b..b9e603c1 100644 --- a/Dockerfile.openshift-appliance.ds +++ b/Dockerfile.openshift-appliance.ds @@ -16,7 +16,7 @@ FROM registry.redhat.io/openshift4/ose-cli AS oc FROM registry.redhat.io/openshift4/oc-mirror-plugin-rhel9 AS oc-mirror # Create final image -FROM registry.access.redhat.com/ubi9/ubi:9.6-1760340943 +FROM registry.access.redhat.com/ubi9/ubi-minimal:9.7 # Create/Mount assets ARG ASSETS_DIR=/assets @@ -25,7 +25,7 @@ VOLUME $ASSETS_DIR ENV ASSETS_DIR=$ASSETS_DIR # Install skopeo/podman/libguestfs -RUN dnf -y install skopeo podman guestfs-tools genisoimage coreos-installer syslinux && dnf clean all +RUN microdnf -y install skopeo podman guestfs-tools genisoimage coreos-installer syslinux && microdnf clean all # Config libguestfs ENV LIBGUESTFS_BACKEND=direct diff --git a/hack/update-rpm-lockfile.sh b/hack/update-rpm-lockfile.sh new file mode 100755 index 00000000..0557a499 --- /dev/null +++ b/hack/update-rpm-lockfile.sh @@ -0,0 +1,97 @@ +#!/bin/bash +# Update rpm-prefetching/rpms.lock.yaml using rpm-lockfile-prototype. +# +# This script generates the RPM lockfile from rpms.in.yaml using +# rpm-lockfile-prototype inside a UBI9 minimal container. + +set -e + +# Get script directory and repo root +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +REPO_ROOT="$(dirname "$SCRIPT_DIR")" +RPM_PREFETCH_DIR="${REPO_ROOT}/rpm-prefetching" +INPUT_FILE="${RPM_PREFETCH_DIR}/rpms.in.yaml" +OUTPUT_FILE="${RPM_PREFETCH_DIR}/rpms.lock.yaml" + +# Check if input file exists +if [ ! -f "${INPUT_FILE}" ]; then + echo "Error: Input file not found: ${INPUT_FILE}" >&2 + exit 1 +fi + +# Prompt for RH_USER if empty +if [ -z "${RH_USER}" ]; then + read -p "Enter Red Hat username: " RH_USER + if [ -z "${RH_USER}" ]; then + echo "Error: Red Hat username cannot be empty" >&2 + exit 1 + fi +fi + +# Prompt for password +read -s -p "Enter password for ${RH_USER}: " PASSWORD +echo "" +if [ -z "${PASSWORD}" ]; then + echo "Error: Password cannot be empty" >&2 + exit 1 +fi + +# Determine container runtime (prefer podman, fallback to docker) +if command -v podman >/dev/null 2>&1; then + CONTAINER_CMD="podman" +elif command -v docker >/dev/null 2>&1; then + CONTAINER_CMD="docker" +else + echo "Error: Neither podman nor docker found in PATH" >&2 + exit 1 +fi + +# Build subscription-manager register command +SUB_MGR_CMD="subscription-manager register --username=\${RH_USER} --password=\${PASSWORD}" + +echo "Using ${CONTAINER_CMD} to update RPM lockfile..." +echo "Input: ${INPUT_FILE}" +echo "Output: ${OUTPUT_FILE}" +echo "" + +# Run the container from the repo root so paths work correctly +cd "${REPO_ROOT}" + +# Build container command arguments +CONTAINER_ARGS=( + "run" "--rm" "-it" + "-v" "$(pwd):/source:Z" +) + +# Add environment variables +CONTAINER_ARGS+=("-e" "RH_USER=${RH_USER}") +CONTAINER_ARGS+=("-e" "PASSWORD=${PASSWORD}") + +# Add image +CONTAINER_ARGS+=("registry.access.redhat.com/ubi9") + +# Build the bash command to run inside the container +BASH_CMD=$(cat <&2 + exit 1 +fi + +echo "Successfully updated ${OUTPUT_FILE}" + diff --git a/rpm-prefetching/rpms.in.yaml b/rpm-prefetching/rpms.in.yaml index afdc0f02..0e533c06 100644 --- a/rpm-prefetching/rpms.in.yaml +++ b/rpm-prefetching/rpms.in.yaml @@ -1,5 +1,7 @@ contentOrigin: repofiles: ["./redhat.repo"] +context: + image: registry.redhat.io/ubi9-minimal:9.7 packages: - yum-utils - guestfs-tools diff --git a/rpm-prefetching/rpms.lock.yaml b/rpm-prefetching/rpms.lock.yaml index aa1018b6..b04f20c0 100644 --- a/rpm-prefetching/rpms.lock.yaml +++ b/rpm-prefetching/rpms.lock.yaml @@ -4,13 +4,13 @@ lockfileVendor: redhat arches: - arch: x86_64 packages: - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/a/aardvark-dns-1.12.2-1.el9_5.x86_64.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/a/aardvark-dns-1.16.0-1.el9.x86_64.rpm repoid: rhel-9-for-x86_64-appstream-rpms - size: 1069823 - checksum: sha256:566cfdbe719f363b35f370c190ef7adf72451fbe7fe20042a61763f92d18175b + size: 894557 + checksum: sha256:078cb118ebc588377497898f7e781d06bb210aae422c099abf24e077710d00b6 name: aardvark-dns - evr: 2:1.12.2-1.el9_5 - sourcerpm: aardvark-dns-1.12.2-1.el9_5.src.rpm + evr: 2:1.16.0-1.el9 + sourcerpm: aardvark-dns-1.16.0-1.el9.src.rpm - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/a/abattis-cantarell-fonts-0.301-4.el9.noarch.rpm repoid: rhel-9-for-x86_64-appstream-rpms size: 377278 @@ -18,13 +18,20 @@ arches: name: abattis-cantarell-fonts evr: 0.301-4.el9 sourcerpm: abattis-cantarell-fonts-0.301-4.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/a/augeas-libs-1.13.0-6.el9_4.x86_64.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/a/adobe-source-code-pro-fonts-2.030.1.050-12.el9.1.noarch.rpm repoid: rhel-9-for-x86_64-appstream-rpms - size: 469993 - checksum: sha256:0d28bbb1ec61c38040a86b94c702730e7f7553aa8e9a05203d01b1ed5ccc0d28 + size: 856543 + checksum: sha256:cfb5e8fddaed92b1b22c957183d0ea626a4468f42a46dae4e68a795cb8c20393 + name: adobe-source-code-pro-fonts + evr: 2.030.1.050-12.el9.1 + sourcerpm: adobe-source-code-pro-fonts-2.030.1.050-12.el9.1.src.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/a/augeas-libs-1.14.1-3.el9.x86_64.rpm + repoid: rhel-9-for-x86_64-appstream-rpms + size: 433743 + checksum: sha256:6412e103eb7443c62fb785db3949d1f3d4562385a4a8669e19a5ebf830ded430 name: augeas-libs - evr: 1.13.0-6.el9_4 - sourcerpm: augeas-1.13.0-6.el9_4.src.rpm + evr: 1.14.1-3.el9 + sourcerpm: augeas-1.14.1-3.el9.src.rpm - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/c/capstone-4.0.2-10.el9.x86_64.rpm repoid: rhel-9-for-x86_64-appstream-rpms size: 788501 @@ -39,90 +46,90 @@ arches: name: checkpolicy evr: 3.6-1.el9 sourcerpm: checkpolicy-3.6-1.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/c/clevis-20-200.el9.x86_64.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/c/clevis-21-208.el9.x86_64.rpm repoid: rhel-9-for-x86_64-appstream-rpms - size: 61986 - checksum: sha256:2c7b404073aca351ad2e8fe59d1027b168e6e06d5202c04eeef8da88b6e41957 + size: 62508 + checksum: sha256:beb835c39f8085d61aec31f655cc1a42ce76a070509f705cd034e5028ce55857 name: clevis - evr: 20-200.el9 - sourcerpm: clevis-20-200.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/c/clevis-luks-20-200.el9.x86_64.rpm + evr: 21-208.el9 + sourcerpm: clevis-21-208.el9.src.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/c/clevis-luks-21-208.el9.x86_64.rpm repoid: rhel-9-for-x86_64-appstream-rpms - size: 39623 - checksum: sha256:257a80f4c540670abd573508d2758265ef78c63dceb8f8df6b48bfc8dbb14c97 + size: 40033 + checksum: sha256:48e5a71a245ef9b0c0045dc48a3d02b6832625b73f961a8208848c1dd9e93ec1 name: clevis-luks - evr: 20-200.el9 - sourcerpm: clevis-20-200.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/c/conmon-2.1.12-1.el9.x86_64.rpm + evr: 21-208.el9 + sourcerpm: clevis-21-208.el9.src.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/c/conmon-2.1.13-1.el9.x86_64.rpm repoid: rhel-9-for-x86_64-appstream-rpms - size: 55519 - checksum: sha256:a2de05461e8f2afba4e5fcbfca88a5376b97e73fb659ba36c77d00ef81271098 + size: 54488 + checksum: sha256:48014677e05bf5ed4f280275a85dc1bdcdaed0fd36c3e80518691f3ae5511b4d name: conmon - evr: 3:2.1.12-1.el9 - sourcerpm: conmon-2.1.12-1.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/c/container-selinux-2.232.1-1.el9.noarch.rpm + evr: 3:2.1.13-1.el9 + sourcerpm: conmon-2.1.13-1.el9.src.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/c/container-selinux-2.240.0-3.el9_7.noarch.rpm repoid: rhel-9-for-x86_64-appstream-rpms - size: 61729 - checksum: sha256:0b79c666cfec3021b19a1e5e298340d1310c110e67f35e75a60ed28838a9f658 + size: 61087 + checksum: sha256:31fcb6999f1cf55dff4e292bf587c9c5930b87e223b9927e77a07b70a82c0d69 name: container-selinux - evr: 3:2.232.1-1.el9 - sourcerpm: container-selinux-2.232.1-1.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/c/containers-common-1-96.el9_5.x86_64.rpm + evr: 4:2.240.0-3.el9_7 + sourcerpm: container-selinux-2.240.0-3.el9_7.src.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/c/containers-common-1-135.el9_7.x86_64.rpm repoid: rhel-9-for-x86_64-appstream-rpms - size: 148067 - checksum: sha256:e8f54f5b0699c9fa69bd0a54f78f84ec8cf8c36fdd39a2a7ecc8c86e06fffb7d + size: 156920 + checksum: sha256:16cb92580716383f26c806fe8e01cad9ec3c370d941f95afaa2657003e1d18df name: containers-common - evr: 2:1-96.el9_5 - sourcerpm: containers-common-1-96.el9_5.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/c/coreos-installer-0.22.1-1.el9.x86_64.rpm + evr: 4:1-135.el9_7 + sourcerpm: containers-common-1-135.el9_7.src.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/c/coreos-installer-0.24.0-3.el9_6.x86_64.rpm repoid: rhel-9-for-x86_64-appstream-rpms - size: 3391367 - checksum: sha256:c898c49a0064547ae0e78ef983ec15a46d0d8e878b66b574ce49bee37d5c7e02 + size: 3492798 + checksum: sha256:6d452f77019890a3b16321bc9ed74e0dd098ea11ae41b05e21378dca2caaa85c name: coreos-installer - evr: 0.22.1-1.el9 - sourcerpm: rust-coreos-installer-0.22.1-1.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/c/criu-3.19-1.el9.x86_64.rpm + evr: 0.24.0-3.el9_6 + sourcerpm: rust-coreos-installer-0.24.0-3.el9_6.src.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/c/criu-3.19-3.el9.x86_64.rpm repoid: rhel-9-for-x86_64-appstream-rpms - size: 576009 - checksum: sha256:823ac6aab1745521039d5aa4db2e843cb632854449d5b06420eb52825a985b59 + size: 569988 + checksum: sha256:991367e0ca6f3b1672f98ffccc32d43c2b959bf8b82562b79e9f9ff5be23642b name: criu - evr: 3.19-1.el9 - sourcerpm: criu-3.19-1.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/c/criu-libs-3.19-1.el9.x86_64.rpm + evr: 3.19-3.el9 + sourcerpm: criu-3.19-3.el9.src.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/c/criu-libs-3.19-3.el9.x86_64.rpm repoid: rhel-9-for-x86_64-appstream-rpms - size: 33643 - checksum: sha256:bb821ddf9bd0321e0750d2fc5cadd5f531e67cafacf6d92512e714b31133a64d + size: 31913 + checksum: sha256:37144e6c13da6a622fb1f15d0ff3a36fc359477db916a157fefb5d1934881614 name: criu-libs - evr: 3.19-1.el9 - sourcerpm: criu-3.19-1.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/c/crun-1.16.1-1.el9.x86_64.rpm + evr: 3.19-3.el9 + sourcerpm: criu-3.19-3.el9.src.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/c/crun-1.23.1-2.el9_7.x86_64.rpm repoid: rhel-9-for-x86_64-appstream-rpms - size: 231179 - checksum: sha256:799e1b2c4c898c72ccf45118bee379d1a2c427948be07efe547e43cbbda454a4 + size: 249345 + checksum: sha256:95eda856e7b59f6477a7ab8697182ad3f1d55f6169810e76987fc7cf787299f8 name: crun - evr: 1.16.1-1.el9 - sourcerpm: crun-1.16.1-1.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/d/dnsmasq-2.85-16.el9_4.x86_64.rpm + evr: 1.23.1-2.el9_7 + sourcerpm: crun-1.23.1-2.el9_7.src.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/d/dnsmasq-2.85-17.el9_6.x86_64.rpm repoid: rhel-9-for-x86_64-appstream-rpms - size: 339509 - checksum: sha256:994cfdb204a4f815c58535034d409f0f5e8735e5faac9f832187d4f8a3efc839 + size: 333740 + checksum: sha256:a92fd403c8c36c416204d1ffac6ab34afbc000b53ff64f7503b5fcd5433f5b32 name: dnsmasq - evr: 2.85-16.el9_4 - sourcerpm: dnsmasq-2.85-16.el9_4.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/e/edk2-ovmf-20240524-6.el9_5.3.noarch.rpm + evr: 2.85-17.el9_6 + sourcerpm: dnsmasq-2.85-17.el9_6.src.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/e/edk2-ovmf-20241117-4.el9.noarch.rpm repoid: rhel-9-for-x86_64-appstream-rpms - size: 6322548 - checksum: sha256:0484eb5732f05d37562dcb0ae4fd969ab7b7be0f51fa0a7eeb5fa9a1f1374bd8 + size: 6406787 + checksum: sha256:8cfc7308c9c52c71797ba8520b29f76eeafe86d8752fd2de6cd7760658519c67 name: edk2-ovmf - evr: 20240524-6.el9_5.3 - sourcerpm: edk2-20240524-6.el9_5.3.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/f/fuse-overlayfs-1.14-1.el9.x86_64.rpm + evr: 20241117-4.el9 + sourcerpm: edk2-20241117-4.el9.src.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/f/fuse-overlayfs-1.15-1.el9.x86_64.rpm repoid: rhel-9-for-x86_64-appstream-rpms - size: 71022 - checksum: sha256:884e4034c930e0305d2402da2bdc1eac5a91295da06e554b75c1c9a4529ddbc2 + size: 68396 + checksum: sha256:62c90f4005f8887e7be48827f5b3212d7ceec9479f1e4047e79740793371d3a6 name: fuse-overlayfs - evr: 1.14-1.el9 - sourcerpm: fuse-overlayfs-1.14-1.el9.src.rpm + evr: 1.15-1.el9 + sourcerpm: fuse-overlayfs-1.15-1.el9.src.rpm - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/f/fuse3-3.10.2-9.el9.x86_64.rpm repoid: rhel-9-for-x86_64-appstream-rpms size: 58706 @@ -137,13 +144,6 @@ arches: name: fuse3-libs evr: 3.10.2-9.el9 sourcerpm: fuse3-3.10.2-9.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/g/gawk-all-langpacks-5.1.0-6.el9.x86_64.rpm - repoid: rhel-9-for-x86_64-appstream-rpms - size: 216340 - checksum: sha256:c1fcc71c1cc1160d58ace4b60cc6733b68d6f6d406e5ec5ce24327787f452cd1 - name: gawk-all-langpacks - evr: 5.1.0-6.el9 - sourcerpm: gawk-5.1.0-6.el9.src.rpm - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/g/gdisk-1.0.7-5.el9.x86_64.rpm repoid: rhel-9-for-x86_64-appstream-rpms size: 253973 @@ -165,27 +165,27 @@ arches: name: geolite2-country evr: 20191217-6.el9 sourcerpm: geolite2-20191217-6.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/g/gnutls-dane-3.8.3-4.el9_4.x86_64.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/g/gnutls-dane-3.8.3-9.el9.x86_64.rpm repoid: rhel-9-for-x86_64-appstream-rpms - size: 23256 - checksum: sha256:4086380c9f0ff6c17f746e8c85113e368065270bae4adaf2db4236e01d632c48 + size: 18344 + checksum: sha256:d4fe660d2b3ba7ace4317c1484917e7a6f5d6b1e7bcd4777ad3c2f43d99a4c98 name: gnutls-dane - evr: 3.8.3-4.el9_4 - sourcerpm: gnutls-3.8.3-4.el9_4.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/g/gnutls-utils-3.8.3-4.el9_4.x86_64.rpm + evr: 3.8.3-9.el9 + sourcerpm: gnutls-3.8.3-9.el9.src.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/g/gnutls-utils-3.8.3-9.el9.x86_64.rpm repoid: rhel-9-for-x86_64-appstream-rpms - size: 304331 - checksum: sha256:cb06f1b08bed705beee41ee5e98b498a89d4de9675511f4483f58f7357f813e1 + size: 295318 + checksum: sha256:b958e13dfdebb922281367725d8cc43da013485371e4dcf43a3720f2e1f5ddb7 name: gnutls-utils - evr: 3.8.3-4.el9_4 - sourcerpm: gnutls-3.8.3-4.el9_4.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/g/guestfs-tools-1.51.6-5.el9.x86_64.rpm + evr: 3.8.3-9.el9 + sourcerpm: gnutls-3.8.3-9.el9.src.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/g/guestfs-tools-1.52.2-6.el9.x86_64.rpm repoid: rhel-9-for-x86_64-appstream-rpms - size: 3950321 - checksum: sha256:dbfe976268e6abb81a449de2be84cb0113d89b5c9e78a64fcc5cd9ecb80546b0 + size: 3980343 + checksum: sha256:cf485a9c6387635f68d7fee2d25c0b2cfc2353da058c0077fb2391c01259ecd2 name: guestfs-tools - evr: 1.51.6-5.el9 - sourcerpm: guestfs-tools-1.51.6-5.el9.src.rpm + evr: 1.52.2-6.el9 + sourcerpm: guestfs-tools-1.52.2-6.el9.src.rpm - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/h/hexedit-1.6-1.el9.x86_64.rpm repoid: rhel-9-for-x86_64-appstream-rpms size: 46084 @@ -193,13 +193,13 @@ arches: name: hexedit evr: 1.6-1.el9 sourcerpm: hexedit-1.6-1.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/h/hivex-libs-1.3.21-3.el9.x86_64.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/h/hivex-libs-1.3.24-1.el9.x86_64.rpm repoid: rhel-9-for-x86_64-appstream-rpms - size: 48634 - checksum: sha256:d9cc35c6bfcc77c555adebb74839a50ac4545350d210592613c06bc71f72a81b + size: 44960 + checksum: sha256:1a3170accb28ab7435c97df38036350077b56601710aa1010eb231431b38d5ee name: hivex-libs - evr: 1.3.21-3.el9 - sourcerpm: hivex-1.3.21-3.el9.src.rpm + evr: 1.3.24-1.el9 + sourcerpm: hivex-1.3.24-1.el9.src.rpm - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/i/ipxe-roms-qemu-20200823-9.git4bd064de.el9_0.noarch.rpm repoid: rhel-9-for-x86_64-appstream-rpms size: 696047 @@ -214,13 +214,13 @@ arches: name: jose evr: 14-1.el9 sourcerpm: jose-14-1.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/l/libburn-1.5.4-4.el9.x86_64.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/l/libburn-1.5.4-5.el9.x86_64.rpm repoid: rhel-9-for-x86_64-appstream-rpms - size: 179067 - checksum: sha256:d783d1dd974a72e248e96519c551a6e4d857ab4d6b8d71361e1bc6c399a1eef2 + size: 178334 + checksum: sha256:0e43c877dd1add7417a7748439e28b36ae59b01104d339800ed2d7d7c6d07945 name: libburn - evr: 1.5.4-4.el9 - sourcerpm: libburn-1.5.4-4.el9.src.rpm + evr: 1.5.4-5.el9 + sourcerpm: libburn-1.5.4-5.el9.src.rpm - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/l/libfdt-1.6.0-7.el9.x86_64.rpm repoid: rhel-9-for-x86_64-appstream-rpms size: 36905 @@ -228,27 +228,27 @@ arches: name: libfdt evr: 1.6.0-7.el9 sourcerpm: dtc-1.6.0-7.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/l/libguestfs-1.50.2-3.el9_5.x86_64.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/l/libguestfs-1.54.0-11.el9.x86_64.rpm repoid: rhel-9-for-x86_64-appstream-rpms - size: 1184760 - checksum: sha256:c41e975e5250b4dccdf058f85588f4f8cd8676392706ebbc34c16e780ba4acbd + size: 1204024 + checksum: sha256:04db25e200a946b7a22879797ebcf5d12cb47ea4c71076886523ac0b5351eb91 name: libguestfs - evr: 1:1.50.2-3.el9_5 - sourcerpm: libguestfs-1.50.2-3.el9_5.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/l/libguestfs-appliance-1.50.2-3.el9_5.x86_64.rpm + evr: 1:1.54.0-11.el9 + sourcerpm: libguestfs-1.54.0-11.el9.src.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/l/libguestfs-appliance-1.54.0-11.el9.x86_64.rpm repoid: rhel-9-for-x86_64-appstream-rpms - size: 2272512 - checksum: sha256:b2acb8c5953202ea1832d6a147f95aa0898f5002c148bea3eb26a298309f2f80 + size: 2282062 + checksum: sha256:81515348182346348feb39f2368ac83f8617ab4cf283f07a303562d75e9bb1be name: libguestfs-appliance - evr: 1:1.50.2-3.el9_5 - sourcerpm: libguestfs-1.50.2-3.el9_5.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/l/libguestfs-xfs-1.50.2-3.el9_5.x86_64.rpm + evr: 1:1.54.0-11.el9 + sourcerpm: libguestfs-1.54.0-11.el9.src.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/l/libguestfs-xfs-1.54.0-11.el9.x86_64.rpm repoid: rhel-9-for-x86_64-appstream-rpms - size: 9878 - checksum: sha256:fbc05e1da89fd2fc303f757bb27517e9c8b9166a71cc65806c3c8c58d094b9cc + size: 8996 + checksum: sha256:0e9fb72cbfeab735d314d97dff7d36a2150c2c7388e685a528d662e796c353b5 name: libguestfs-xfs - evr: 1:1.50.2-3.el9_5 - sourcerpm: libguestfs-1.50.2-3.el9_5.src.rpm + evr: 1:1.54.0-11.el9 + sourcerpm: libguestfs-1.54.0-11.el9.src.rpm - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/l/libisoburn-1.5.4-5.el9_5.x86_64.rpm repoid: rhel-9-for-x86_64-appstream-rpms size: 427885 @@ -284,13 +284,13 @@ arches: name: libmaxminddb evr: 1.5.2-4.el9 sourcerpm: libmaxminddb-1.5.2-4.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/l/libnbd-1.20.2-2.el9.x86_64.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/l/libnbd-1.20.3-4.el9.x86_64.rpm repoid: rhel-9-for-x86_64-appstream-rpms - size: 178782 - checksum: sha256:c53258f7e9a528690a9337c174dab515ecff71ebeb519ab876380f8fa1ffcdb6 + size: 167806 + checksum: sha256:47dfa9e1c861e3dc6f0a49e538b7f14dd966fcfb0c96e570d51b3c45fad6a1ca name: libnbd - evr: 1.20.2-2.el9 - sourcerpm: libnbd-1.20.2-2.el9.src.rpm + evr: 1.20.3-4.el9 + sourcerpm: libnbd-1.20.3-4.el9.src.rpm - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/l/libnet-1.2-7.el9.x86_64.rpm repoid: rhel-9-for-x86_64-appstream-rpms size: 61278 @@ -326,20 +326,20 @@ arches: name: libslirp evr: 4.4.0-8.el9 sourcerpm: libslirp-4.4.0-8.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/l/libsoup-2.72.0-8.el9_5.3.x86_64.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/l/libsoup-2.72.0-12.el9_7.1.x86_64.rpm repoid: rhel-9-for-x86_64-appstream-rpms - size: 417109 - checksum: sha256:d37d29a930819c4513c49251de5ecf8b0649f6a07956491e88ac2621ad1fcd89 + size: 412868 + checksum: sha256:8b575ea54c448bccae4ac6d0b082ccbfae1c91573bddd00070e03724f4a561f8 name: libsoup - evr: 2.72.0-8.el9_5.3 - sourcerpm: libsoup-2.72.0-8.el9_5.3.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/l/libtpms-0.9.1-4.20211126git1ff6fe1f43.el9_5.x86_64.rpm + evr: 2.72.0-12.el9_7.1 + sourcerpm: libsoup-2.72.0-12.el9_7.1.src.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/l/libtpms-0.9.1-6.20211126git1ff6fe1f43.el9.x86_64.rpm repoid: rhel-9-for-x86_64-appstream-rpms - size: 189788 - checksum: sha256:b7ab88898f81a136522f83039b82944f6e2dc9c73d6a5ba20320ccaf329d02e3 + size: 187259 + checksum: sha256:4ea4eacb8947b2c6fa106d67b9106fffaa98b9ec85fc82275087ecf66111ff30 name: libtpms - evr: 0.9.1-4.20211126git1ff6fe1f43.el9_5 - sourcerpm: libtpms-0.9.1-4.20211126git1ff6fe1f43.el9_5.src.rpm + evr: 0.9.1-6.20211126git1ff6fe1f43.el9 + sourcerpm: libtpms-0.9.1-6.20211126git1ff6fe1f43.el9.src.rpm - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/l/liburing-2.5-1.el9.x86_64.rpm repoid: rhel-9-for-x86_64-appstream-rpms size: 42739 @@ -347,69 +347,69 @@ arches: name: liburing evr: 2.5-1.el9 sourcerpm: liburing-2.5-1.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/l/libvirt-client-10.5.0-7.5.el9_5.x86_64.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/l/libvirt-client-10.10.0-15.1.el9_7.x86_64.rpm repoid: rhel-9-for-x86_64-appstream-rpms - size: 464107 - checksum: sha256:71bd3f304b654330600410c8b619831b2581cda2b3c26b7b0f421d438bec0ee8 + size: 465037 + checksum: sha256:81b34e696446936fa1d4be09d303b72ee8dcbf4557f97d8440068094e7f020a3 name: libvirt-client - evr: 10.5.0-7.5.el9_5 - sourcerpm: libvirt-10.5.0-7.5.el9_5.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/l/libvirt-daemon-common-10.5.0-7.5.el9_5.x86_64.rpm + evr: 10.10.0-15.1.el9_7 + sourcerpm: libvirt-10.10.0-15.1.el9_7.src.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/l/libvirt-daemon-common-10.10.0-15.1.el9_7.x86_64.rpm repoid: rhel-9-for-x86_64-appstream-rpms - size: 147963 - checksum: sha256:03f67850f0f17d5ba1d2ea2bc04ca5e4ad4c460fe5512a246dc2387e789bd08e + size: 147367 + checksum: sha256:d38e0c9c733b24c270dbb88144e798cabfe92d7be3ed9c391f753ec9d8721c1b name: libvirt-daemon-common - evr: 10.5.0-7.5.el9_5 - sourcerpm: libvirt-10.5.0-7.5.el9_5.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/l/libvirt-daemon-config-network-10.5.0-7.5.el9_5.x86_64.rpm + evr: 10.10.0-15.1.el9_7 + sourcerpm: libvirt-10.10.0-15.1.el9_7.src.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/l/libvirt-daemon-config-network-10.10.0-15.1.el9_7.x86_64.rpm repoid: rhel-9-for-x86_64-appstream-rpms - size: 31087 - checksum: sha256:bd0d91988568fd688f4bb4fe386751580c3d081ba8bdceafc46b9eaece23271f + size: 33887 + checksum: sha256:330b9e7d495edf950735540a8a73b822f63ba15fcf7a7ddb6c779d43107dfddc name: libvirt-daemon-config-network - evr: 10.5.0-7.5.el9_5 - sourcerpm: libvirt-10.5.0-7.5.el9_5.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/l/libvirt-daemon-driver-network-10.5.0-7.5.el9_5.x86_64.rpm + evr: 10.10.0-15.1.el9_7 + sourcerpm: libvirt-10.10.0-15.1.el9_7.src.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/l/libvirt-daemon-driver-network-10.10.0-15.1.el9_7.x86_64.rpm repoid: rhel-9-for-x86_64-appstream-rpms - size: 282944 - checksum: sha256:73bc3bcc6c973670af35a52a554ae248d863e55ed8947f321a77b7ddc8f6c6a9 + size: 282662 + checksum: sha256:4a4e22ec4ee1dbe954c72fb43debd654f0b4d76a66ee6f93768d7166402ccf5b name: libvirt-daemon-driver-network - evr: 10.5.0-7.5.el9_5 - sourcerpm: libvirt-10.5.0-7.5.el9_5.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/l/libvirt-daemon-driver-qemu-10.5.0-7.5.el9_5.x86_64.rpm + evr: 10.10.0-15.1.el9_7 + sourcerpm: libvirt-10.10.0-15.1.el9_7.src.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/l/libvirt-daemon-driver-qemu-10.10.0-15.1.el9_7.x86_64.rpm repoid: rhel-9-for-x86_64-appstream-rpms - size: 1006560 - checksum: sha256:e0fd3e4b704bd0c0ee6a38b1065d225fc8f5b5c35d117b2c26baa671cc4790b3 + size: 1026045 + checksum: sha256:9e2103426491be2c5c28c1f9b6b912fd2eb8efb0aecd3ecdf47455401cc3252f name: libvirt-daemon-driver-qemu - evr: 10.5.0-7.5.el9_5 - sourcerpm: libvirt-10.5.0-7.5.el9_5.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/l/libvirt-daemon-driver-secret-10.5.0-7.5.el9_5.x86_64.rpm + evr: 10.10.0-15.1.el9_7 + sourcerpm: libvirt-10.10.0-15.1.el9_7.src.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/l/libvirt-daemon-driver-secret-10.10.0-15.1.el9_7.x86_64.rpm repoid: rhel-9-for-x86_64-appstream-rpms - size: 225815 - checksum: sha256:7cb63a65d9d065a10034309079a8a97104449af69033a0f321d06562e8546ed5 + size: 226033 + checksum: sha256:afc84712e00225ccb485781135e8819701466c1359de899bb37e258638773ba9 name: libvirt-daemon-driver-secret - evr: 10.5.0-7.5.el9_5 - sourcerpm: libvirt-10.5.0-7.5.el9_5.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/l/libvirt-daemon-driver-storage-core-10.5.0-7.5.el9_5.x86_64.rpm + evr: 10.10.0-15.1.el9_7 + sourcerpm: libvirt-10.10.0-15.1.el9_7.src.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/l/libvirt-daemon-driver-storage-core-10.10.0-15.1.el9_7.x86_64.rpm repoid: rhel-9-for-x86_64-appstream-rpms - size: 287969 - checksum: sha256:12c36932ef8af25434c68f584345c15d741cd3024b0a949e4507fed22dbdd698 + size: 283576 + checksum: sha256:33228cba9895df48208204c923c32ecfbd0526050e38870bb256d189516e866e name: libvirt-daemon-driver-storage-core - evr: 10.5.0-7.5.el9_5 - sourcerpm: libvirt-10.5.0-7.5.el9_5.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/l/libvirt-daemon-log-10.5.0-7.5.el9_5.x86_64.rpm + evr: 10.10.0-15.1.el9_7 + sourcerpm: libvirt-10.10.0-15.1.el9_7.src.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/l/libvirt-daemon-log-10.10.0-15.1.el9_7.x86_64.rpm repoid: rhel-9-for-x86_64-appstream-rpms - size: 72841 - checksum: sha256:847d7295724c6c0c7065ae931a3bd9f58a1ee2168183e2950a8afe75f015b26d + size: 73824 + checksum: sha256:a826f46d10c0626e44918301d3a76dec162702b7a8cc2e0004375a005e1ae73a name: libvirt-daemon-log - evr: 10.5.0-7.5.el9_5 - sourcerpm: libvirt-10.5.0-7.5.el9_5.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/l/libvirt-libs-10.5.0-7.5.el9_5.x86_64.rpm + evr: 10.10.0-15.1.el9_7 + sourcerpm: libvirt-10.10.0-15.1.el9_7.src.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/l/libvirt-libs-10.10.0-15.1.el9_7.x86_64.rpm repoid: rhel-9-for-x86_64-appstream-rpms - size: 5235177 - checksum: sha256:070f1f64a83836fb3b776597778f88c4a7576f05bf91f2b7435aac7ce6ad771e + size: 5342047 + checksum: sha256:9433f148da1c4f4c5a015c6f2d1b71fdae6f5fc9380ffaea85c92ce232a4696c name: libvirt-libs - evr: 10.5.0-7.5.el9_5 - sourcerpm: libvirt-10.5.0-7.5.el9_5.src.rpm + evr: 10.10.0-15.1.el9_7 + sourcerpm: libvirt-10.10.0-15.1.el9_7.src.rpm - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/l/libxcrypt-compat-4.4.18-3.el9.x86_64.rpm repoid: rhel-9-for-x86_64-appstream-rpms size: 93189 @@ -417,13 +417,13 @@ arches: name: libxcrypt-compat evr: 4.4.18-3.el9 sourcerpm: libxcrypt-4.4.18-3.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/l/libxslt-1.1.34-9.el9_5.3.x86_64.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/l/libxslt-1.1.34-13.el9_6.x86_64.rpm repoid: rhel-9-for-x86_64-appstream-rpms - size: 247086 - checksum: sha256:dae3e0eb217cd1352d738cdda091e5a22b4384932284bc0516c9161462e0fa39 + size: 250837 + checksum: sha256:b22bb9f995e96b2b00711760c57fe4e93b4328815de61c39d53717b6a61f6d8c name: libxslt - evr: 1.1.34-9.el9_5.3 - sourcerpm: libxslt-1.1.34-9.el9_5.3.src.rpm + evr: 1.1.34-13.el9_6 + sourcerpm: libxslt-1.1.34-13.el9_6.src.rpm - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/l/luksmeta-9-12.el9.x86_64.rpm repoid: rhel-9-for-x86_64-appstream-rpms size: 23634 @@ -431,69 +431,69 @@ arches: name: luksmeta evr: 9-12.el9 sourcerpm: luksmeta-9-12.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/n/nbdkit-1.38.3-2.el9_5.x86_64.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/n/nbdkit-1.38.5-12.el9.x86_64.rpm repoid: rhel-9-for-x86_64-appstream-rpms - size: 9453 - checksum: sha256:322db2576a8b2974a24516bf09897b2d24b84431f4117123ffb4c5ae65b7daf1 + size: 5789 + checksum: sha256:b783d877ce799e7234349af11509d2599ccf053fddb44b9da3bef69e89e5b1fb name: nbdkit - evr: 1.38.3-2.el9_5 - sourcerpm: nbdkit-1.38.3-2.el9_5.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/n/nbdkit-basic-filters-1.38.3-2.el9_5.x86_64.rpm + evr: 1.38.5-12.el9 + sourcerpm: nbdkit-1.38.5-12.el9.src.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/n/nbdkit-basic-filters-1.38.5-12.el9.x86_64.rpm repoid: rhel-9-for-x86_64-appstream-rpms - size: 355388 - checksum: sha256:e3d0aa518717ebd43bd6158a53d40eac94373716afc19eabb3fa4ff9743c38c1 + size: 346711 + checksum: sha256:136d332e13e485752bc5253e43a240cf10424f0cd42a42bb858b7cae88823115 name: nbdkit-basic-filters - evr: 1.38.3-2.el9_5 - sourcerpm: nbdkit-1.38.3-2.el9_5.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/n/nbdkit-basic-plugins-1.38.3-2.el9_5.x86_64.rpm + evr: 1.38.5-12.el9 + sourcerpm: nbdkit-1.38.5-12.el9.src.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/n/nbdkit-basic-plugins-1.38.5-12.el9.x86_64.rpm repoid: rhel-9-for-x86_64-appstream-rpms - size: 229443 - checksum: sha256:f670aa2bdf081201c5fceaf35e77dcca9e47dddd139fd45404204a379468ec44 + size: 224972 + checksum: sha256:3477226c5f453fad558a2fb6767b688e33be3eb0f061019baeec636ad36f5c0a name: nbdkit-basic-plugins - evr: 1.38.3-2.el9_5 - sourcerpm: nbdkit-1.38.3-2.el9_5.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/n/nbdkit-curl-plugin-1.38.3-2.el9_5.x86_64.rpm + evr: 1.38.5-12.el9 + sourcerpm: nbdkit-1.38.5-12.el9.src.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/n/nbdkit-curl-plugin-1.38.5-12.el9.x86_64.rpm repoid: rhel-9-for-x86_64-appstream-rpms - size: 43295 - checksum: sha256:02ef48577a2b318cfac45c142b8ed0314e1f189129cc775e8d6cbd8718411a8f + size: 41034 + checksum: sha256:0646d5a6ad49a81dc6b1df19179ff14e9334434ed8188aeac289a17466a331e4 name: nbdkit-curl-plugin - evr: 1.38.3-2.el9_5 - sourcerpm: nbdkit-1.38.3-2.el9_5.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/n/nbdkit-selinux-1.38.3-2.el9_5.noarch.rpm + evr: 1.38.5-12.el9 + sourcerpm: nbdkit-1.38.5-12.el9.src.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/n/nbdkit-selinux-1.38.5-12.el9.noarch.rpm repoid: rhel-9-for-x86_64-appstream-rpms - size: 25096 - checksum: sha256:8cc4197628e5f341ff1537b8c073862fd9e5f6f1104824fcc2af633eeaec37eb + size: 24339 + checksum: sha256:23f107e82114503255576b627d88cefe63562143d12a674d1b40b5738927ff09 name: nbdkit-selinux - evr: 1.38.3-2.el9_5 - sourcerpm: nbdkit-1.38.3-2.el9_5.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/n/nbdkit-server-1.38.3-2.el9_5.x86_64.rpm + evr: 1.38.5-12.el9 + sourcerpm: nbdkit-1.38.5-12.el9.src.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/n/nbdkit-server-1.38.5-12.el9.x86_64.rpm repoid: rhel-9-for-x86_64-appstream-rpms - size: 136900 - checksum: sha256:3c67bc982baa643bdfa134fe3e1875cd37701cd53658337a997c549a1dd1e312 + size: 133057 + checksum: sha256:3f2bce1f1c26b43535993540896305f0799c7280db80c301aea1405416a2aeaf name: nbdkit-server - evr: 1.38.3-2.el9_5 - sourcerpm: nbdkit-1.38.3-2.el9_5.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/n/nbdkit-ssh-plugin-1.38.3-2.el9_5.x86_64.rpm + evr: 1.38.5-12.el9 + sourcerpm: nbdkit-1.38.5-12.el9.src.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/n/nbdkit-ssh-plugin-1.38.5-12.el9.x86_64.rpm repoid: rhel-9-for-x86_64-appstream-rpms - size: 32106 - checksum: sha256:165e88c418eca7e7d6b4ccdc564f56a843f398537af080e7e95e0fd5042843ee + size: 29861 + checksum: sha256:8fc541967f19f3af473ef07606f52d8e53218806f8756aaca25354534d1721f0 name: nbdkit-ssh-plugin - evr: 1.38.3-2.el9_5 - sourcerpm: nbdkit-1.38.3-2.el9_5.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/n/netavark-1.12.2-1.el9.x86_64.rpm + evr: 1.38.5-12.el9 + sourcerpm: nbdkit-1.38.5-12.el9.src.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/n/netavark-1.16.0-1.el9.x86_64.rpm repoid: rhel-9-for-x86_64-appstream-rpms - size: 4328101 - checksum: sha256:46b2ea7a1f73de9ec053b8197eecad2cd1cfbbe275a0a74379f8f0547137c5cd + size: 3797524 + checksum: sha256:4a7853c341092b6e0297d026a14f7f2d13c5f5ec0706dd4dc12c62d5e66f7d91 name: netavark - evr: 2:1.12.2-1.el9 - sourcerpm: netavark-1.12.2-1.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/o/osinfo-db-20240701-2.el9.noarch.rpm + evr: 2:1.16.0-1.el9 + sourcerpm: netavark-1.16.0-1.el9.src.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/o/osinfo-db-20250606-1.el9.noarch.rpm repoid: rhel-9-for-x86_64-appstream-rpms - size: 547404 - checksum: sha256:bee88696c09ddd84e18cf3b1bd712013787767a96e6dc8d83330c37c95c915fe + size: 577019 + checksum: sha256:65f4fa0e2d6487b836c2c68da0b04c3132cd62aac82e350d84f1ea3b85ffeff2 name: osinfo-db - evr: 20240701-2.el9 - sourcerpm: osinfo-db-20240701-2.el9.src.rpm + evr: 20250606-1.el9 + sourcerpm: osinfo-db-20250606-1.el9.src.rpm - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/o/osinfo-db-tools-1.10.0-1.el9.x86_64.rpm repoid: rhel-9-for-x86_64-appstream-rpms size: 79633 @@ -501,20 +501,20 @@ arches: name: osinfo-db-tools evr: 1.10.0-1.el9 sourcerpm: osinfo-db-tools-1.10.0-1.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/p/passt-0^20240806.gee36266-7.el9_5.x86_64.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/p/passt-0^20250512.g8ec1341-2.el9.x86_64.rpm repoid: rhel-9-for-x86_64-appstream-rpms - size: 204849 - checksum: sha256:f7cba941df389093c9a01984858c86f810960ffe6f36b95dbaf72dfea2869129 + size: 269538 + checksum: sha256:dc9d624167c7784a747d5e2a924df75059125058a4a5eec4210b51b6259839e9 name: passt - evr: 0^20240806.gee36266-7.el9_5 - sourcerpm: passt-0^20240806.gee36266-7.el9_5.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/p/passt-selinux-0^20240806.gee36266-7.el9_5.noarch.rpm + evr: 0^20250512.g8ec1341-2.el9 + sourcerpm: passt-0^20250512.g8ec1341-2.el9.src.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/p/passt-selinux-0^20250512.g8ec1341-2.el9.noarch.rpm repoid: rhel-9-for-x86_64-appstream-rpms - size: 29067 - checksum: sha256:de09a2ba0d6b461da944cfddb05bdf56230ef36b0d06f196bbbe0a3275ed5397 + size: 26840 + checksum: sha256:e0b17dfdfa54c394ab8798cfae7c861ba9030583fe9378dc8c7bb797e1347f1d name: passt-selinux - evr: 0^20240806.gee36266-7.el9_5 - sourcerpm: passt-0^20240806.gee36266-7.el9_5.src.rpm + evr: 0^20250512.g8ec1341-2.el9 + sourcerpm: passt-0^20250512.g8ec1341-2.el9.src.rpm - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/p/pixman-0.40.0-6.el9_3.x86_64.rpm repoid: rhel-9-for-x86_64-appstream-rpms size: 277483 @@ -522,34 +522,34 @@ arches: name: pixman evr: 0.40.0-6.el9_3 sourcerpm: pixman-0.40.0-6.el9_3.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/p/podman-5.2.2-15.el9_5.x86_64.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/p/podman-5.6.0-7.el9_7.x86_64.rpm repoid: rhel-9-for-x86_64-appstream-rpms - size: 17148469 - checksum: sha256:c14142c1def845ef6d3a60d0e7fc32577765eea691757211ba66201d183b3185 + size: 16640294 + checksum: sha256:21bf80147607e81a75cb36362fefa7572217582c4bf3df5a123f51312e482031 name: podman - evr: 4:5.2.2-15.el9_5 - sourcerpm: podman-5.2.2-15.el9_5.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/p/policycoreutils-python-utils-3.6-2.1.el9.noarch.rpm + evr: 6:5.6.0-7.el9_7 + sourcerpm: podman-5.6.0-7.el9_7.src.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/p/policycoreutils-python-utils-3.6-3.el9.noarch.rpm repoid: rhel-9-for-x86_64-appstream-rpms - size: 82931 - checksum: sha256:fcbe07b75cd10b0a2752d558a8b7750cb13b59473439701d8c568195f05c3805 + size: 77697 + checksum: sha256:342fa73cc94923b8ce94c4dc6ecb6f8e489b1ecfc7574ed04b93824e061c1c57 name: policycoreutils-python-utils - evr: 3.6-2.1.el9 - sourcerpm: policycoreutils-3.6-2.1.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/p/python-unversioned-command-3.9.21-1.el9_5.noarch.rpm + evr: 3.6-3.el9 + sourcerpm: policycoreutils-3.6-3.el9.src.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/p/python-unversioned-command-3.9.23-2.el9.noarch.rpm repoid: rhel-9-for-x86_64-appstream-rpms - size: 10813 - checksum: sha256:9409fab1b252ea2717b593cdc96227ead9fdf7040c4d5391f33352e3d193842e + size: 9209 + checksum: sha256:20ed4bbcb151aef651eb315825d3a02e0f6203ab1b858e94812258f5b41ce703 name: python-unversioned-command - evr: 3.9.21-1.el9_5 - sourcerpm: python3.9-3.9.21-1.el9_5.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/p/python3-audit-3.1.5-1.el9.x86_64.rpm + evr: 3.9.23-2.el9 + sourcerpm: python3.9-3.9.23-2.el9.src.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/p/python3-audit-3.1.5-7.el9.x86_64.rpm repoid: rhel-9-for-x86_64-appstream-rpms - size: 87632 - checksum: sha256:93dd7a77ab7c2bbc0b1ef7ec9714ea83018fbf0ce019bd65c2650c4abfbaad34 + size: 80734 + checksum: sha256:aa0258ede786000d2993537d959115a741a5b86884d9f405bf6fb5a686560d3e name: python3-audit - evr: 3.1.5-1.el9 - sourcerpm: audit-3.1.5-1.el9.src.rpm + evr: 3.1.5-7.el9 + sourcerpm: audit-3.1.5-7.el9.src.rpm - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/p/python3-distro-1.5.0-7.el9.noarch.rpm repoid: rhel-9-for-x86_64-appstream-rpms size: 41452 @@ -557,55 +557,55 @@ arches: name: python3-distro evr: 1.5.0-7.el9 sourcerpm: python-distro-1.5.0-7.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/p/python3-libselinux-3.6-1.el9.x86_64.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/p/python3-libselinux-3.6-3.el9.x86_64.rpm repoid: rhel-9-for-x86_64-appstream-rpms - size: 197070 - checksum: sha256:84aff2ff0c48ca4f5d77223db53a26a16c273b03a9674a2608e1db5d8cd32710 + size: 196472 + checksum: sha256:7af821a0ee7c7b56df79de25fe35cc2d0fd6f45df5c3bcec2c5e72d7378ba265 name: python3-libselinux - evr: 3.6-1.el9 - sourcerpm: libselinux-3.6-1.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/p/python3-libsemanage-3.6-2.1.el9_5.x86_64.rpm + evr: 3.6-3.el9 + sourcerpm: libselinux-3.6-3.el9.src.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/p/python3-libsemanage-3.6-5.el9_6.x86_64.rpm repoid: rhel-9-for-x86_64-appstream-rpms - size: 82828 - checksum: sha256:b7f5d62cbb163b3c13f0db87e326dc3937d206b9c22732dc75de3b7fae32248e + size: 82730 + checksum: sha256:8a17df19f0ff5dbb98fe608999cb2370983d8565658df01d0993b3028cbf28d6 name: python3-libsemanage - evr: 3.6-2.1.el9_5 - sourcerpm: libsemanage-3.6-2.1.el9_5.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/p/python3-policycoreutils-3.6-2.1.el9.noarch.rpm + evr: 3.6-5.el9_6 + sourcerpm: libsemanage-3.6-5.el9_6.src.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/p/python3-policycoreutils-3.6-3.el9.noarch.rpm repoid: rhel-9-for-x86_64-appstream-rpms - size: 2216589 - checksum: sha256:7dbe7be855cc83e372add890e9e0c5256ef57132d9731b5db204c425bf21b194 + size: 2210974 + checksum: sha256:db891ec3a74ccdd7ab2f9cf0a4436e7df3e6702eb483cd111421f79a334e4aea name: python3-policycoreutils - evr: 3.6-2.1.el9 - sourcerpm: policycoreutils-3.6-2.1.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/q/qemu-img-9.0.0-10.el9_5.2.x86_64.rpm + evr: 3.6-3.el9 + sourcerpm: policycoreutils-3.6-3.el9.src.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/q/qemu-img-9.1.0-29.el9_7.x86_64.rpm repoid: rhel-9-for-x86_64-appstream-rpms - size: 2618492 - checksum: sha256:e58ce13ea67afeea64b322a24e00ff824ec695757328fccfc86413502773d8ce + size: 2634295 + checksum: sha256:214e28dc84ffcd2ec59f105c28cf7768b8a0b6a8f63e76cedcd4ddcbbcefecd8 name: qemu-img - evr: 17:9.0.0-10.el9_5.2 - sourcerpm: qemu-kvm-9.0.0-10.el9_5.2.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/q/qemu-kvm-common-9.0.0-10.el9_5.2.x86_64.rpm + evr: 17:9.1.0-29.el9_7 + sourcerpm: qemu-kvm-9.1.0-29.el9_7.src.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/q/qemu-kvm-common-9.1.0-29.el9_7.x86_64.rpm repoid: rhel-9-for-x86_64-appstream-rpms - size: 710283 - checksum: sha256:362d9f7acadc59055f1823227e3d4e8fc37208614c8b0a7b80ad1337d90cc908 + size: 711662 + checksum: sha256:64f684f79c5b49b210c850f0f150656638ced82b97bf5622d3359ec3dcc7de89 name: qemu-kvm-common - evr: 17:9.0.0-10.el9_5.2 - sourcerpm: qemu-kvm-9.0.0-10.el9_5.2.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/q/qemu-kvm-core-9.0.0-10.el9_5.2.x86_64.rpm + evr: 17:9.1.0-29.el9_7 + sourcerpm: qemu-kvm-9.1.0-29.el9_7.src.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/q/qemu-kvm-core-9.1.0-29.el9_7.x86_64.rpm repoid: rhel-9-for-x86_64-appstream-rpms - size: 5083694 - checksum: sha256:8cbaf6ceb0b6ae0b94000aaec8181d9187060562ab81cdc6397892f103b54f49 + size: 5175585 + checksum: sha256:70c50a15c4afc6d0a345272cd5b256ee6cd432e310c53b37ab841f9ba0b44fee name: qemu-kvm-core - evr: 17:9.0.0-10.el9_5.2 - sourcerpm: qemu-kvm-9.0.0-10.el9_5.2.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/r/rpm-plugin-systemd-inhibit-4.16.1.3-34.el9.x86_64.rpm + evr: 17:9.1.0-29.el9_7 + sourcerpm: qemu-kvm-9.1.0-29.el9_7.src.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/r/rpm-plugin-systemd-inhibit-4.16.1.3-39.el9.x86_64.rpm repoid: rhel-9-for-x86_64-appstream-rpms - size: 18186 - checksum: sha256:8d4cad4143d336e7be94ec63737bd244bec735fc67c3e8bd54e3f5567bcb0b6d + size: 15662 + checksum: sha256:705f1003633a7afda0912e3be7cb87cea2f4ea3a294f61f253baa5d1184e75b1 name: rpm-plugin-systemd-inhibit - evr: 4.16.1.3-34.el9 - sourcerpm: rpm-4.16.1.3-34.el9.src.rpm + evr: 4.16.1.3-39.el9 + sourcerpm: rpm-4.16.1.3-39.el9.src.rpm - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/s/scrub-2.6.1-4.el9.x86_64.rpm repoid: rhel-9-for-x86_64-appstream-rpms size: 48350 @@ -613,41 +613,41 @@ arches: name: scrub evr: 2.6.1-4.el9 sourcerpm: scrub-2.6.1-4.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/s/seabios-bin-1.16.3-2.el9_5.1.noarch.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/s/seabios-bin-1.16.3-4.el9.noarch.rpm repoid: rhel-9-for-x86_64-appstream-rpms - size: 104238 - checksum: sha256:6f29d7e936d39923bff44063a7fd3fb5eb50d7a06ab0de3ec23412af08ea243a + size: 104354 + checksum: sha256:f2758eb2e733d130750ad3153d7775e8cc71be8bdf8f0f5e4ee7e40257df6236 name: seabios-bin - evr: 1.16.3-2.el9_5.1 - sourcerpm: seabios-1.16.3-2.el9_5.1.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/s/seavgabios-bin-1.16.3-2.el9_5.1.noarch.rpm + evr: 1.16.3-4.el9 + sourcerpm: seabios-1.16.3-4.el9.src.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/s/seavgabios-bin-1.16.3-4.el9.noarch.rpm repoid: rhel-9-for-x86_64-appstream-rpms - size: 37147 - checksum: sha256:15eb08e1b0d45ef6f65ce941d05afff5ca89a081f6199070fef1f58541c5b78d + size: 37280 + checksum: sha256:09622222e1b5ff84d2f0df23d29cc21ed3de37003a9a8fee3492f588027f7fd4 name: seavgabios-bin - evr: 1.16.3-2.el9_5.1 - sourcerpm: seabios-1.16.3-2.el9_5.1.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/s/skopeo-1.16.1-2.el9_5.x86_64.rpm + evr: 1.16.3-4.el9 + sourcerpm: seabios-1.16.3-4.el9.src.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/s/skopeo-1.20.0-1.el9.x86_64.rpm repoid: rhel-9-for-x86_64-appstream-rpms - size: 9199290 - checksum: sha256:9ee81140efbcd9b024bfc40fb3572a17b64c81831184d90ac8babb52f4949bf7 + size: 8527866 + checksum: sha256:9cbc023006ee1f8f2327500b9cb09775a3ac7ceaca828ecd866edf45559f79a9 name: skopeo - evr: 2:1.16.1-2.el9_5 - sourcerpm: skopeo-1.16.1-2.el9_5.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/s/slirp4netns-1.3.1-1.el9.x86_64.rpm + evr: 2:1.20.0-1.el9 + sourcerpm: skopeo-1.20.0-1.el9.src.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/s/slirp4netns-1.3.3-1.el9.x86_64.rpm repoid: rhel-9-for-x86_64-appstream-rpms - size: 50412 - checksum: sha256:ddfeed233ab33a8eaf5dabf37e688398c9801f28822f411fa94e7b134cfd4ae6 + size: 48562 + checksum: sha256:ba91e6e0d70be19e5f9a44e0a8f6791c49b685b42a1ad2dc64ec50e4800c7d1a name: slirp4netns - evr: 1.3.1-1.el9 - sourcerpm: slirp4netns-1.3.1-1.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/s/supermin-5.3.3-1.el9.x86_64.rpm + evr: 1.3.3-1.el9 + sourcerpm: slirp4netns-1.3.3-1.el9.src.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/s/supermin-5.3.5-1.el9.x86_64.rpm repoid: rhel-9-for-x86_64-appstream-rpms - size: 778366 - checksum: sha256:43e00aa7a0c5c5a389e0813885cd5b2395065c2cb386be54a2d3fac73b40775b + size: 785075 + checksum: sha256:ca97403842c6cbab5850bc4791071cfd48362df7ba75606afa7668b69c40ab2b name: supermin - evr: 5.3.3-1.el9 - sourcerpm: supermin-5.3.3-1.el9.src.rpm + evr: 5.3.5-1.el9 + sourcerpm: supermin-5.3.5-1.el9.src.rpm - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/s/swtpm-0.8.0-2.el9_4.x86_64.rpm repoid: rhel-9-for-x86_64-appstream-rpms size: 46802 @@ -669,20 +669,20 @@ arches: name: swtpm-tools evr: 0.8.0-2.el9_4 sourcerpm: swtpm-0.8.0-2.el9_4.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/u/unbound-libs-1.16.2-8.el9_5.1.x86_64.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/u/unbound-libs-1.16.2-21.el9.x86_64.rpm repoid: rhel-9-for-x86_64-appstream-rpms - size: 565587 - checksum: sha256:33b36c83bc19335a8a966fa0fadb982cb026653851b378dec337d175743453b6 + size: 564369 + checksum: sha256:744c97335bacd9050d4f1727e939459c8e073964562e7f36590313ceb18f930f name: unbound-libs - evr: 1.16.2-8.el9_5.1 - sourcerpm: unbound-1.16.2-8.el9_5.1.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/w/webkit2gtk3-jsc-2.48.1-1.el9_5.x86_64.rpm + evr: 1.16.2-21.el9 + sourcerpm: unbound-1.16.2-21.el9.src.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/w/webkit2gtk3-jsc-2.50.1-1.el9_7.x86_64.rpm repoid: rhel-9-for-x86_64-appstream-rpms - size: 4938852 - checksum: sha256:f39f82d89b3a1d3b5111343d46686cc8fb316429e68c5c6283a71afda1baff40 + size: 9027651 + checksum: sha256:22ca3bfd5ad9dbcf96674465da6abfd0880f4ce8117e8c39c598c9e40f541f3d name: webkit2gtk3-jsc - evr: 2.48.1-1.el9_5 - sourcerpm: webkit2gtk3-2.48.1-1.el9_5.src.rpm + evr: 2.50.1-1.el9_7 + sourcerpm: webkit2gtk3-2.50.1-1.el9_7.src.rpm - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/x/xorriso-1.5.4-5.el9_5.x86_64.rpm repoid: rhel-9-for-x86_64-appstream-rpms size: 328802 @@ -690,13 +690,13 @@ arches: name: xorriso evr: 1.5.4-5.el9_5 sourcerpm: libisoburn-1.5.4-5.el9_5.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/y/yajl-2.1.0-22.el9.x86_64.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/appstream/os/Packages/y/yajl-2.1.0-25.el9.x86_64.rpm repoid: rhel-9-for-x86_64-appstream-rpms - size: 42586 - checksum: sha256:e130574b0923861bfda720449d00cef5e2dfb13b1da94d5143354b3f2b10709c + size: 42487 + checksum: sha256:f7503f34d5095303db5c57c70c5edb890dab7d0bba5920f3dcc44d7835449555 name: yajl - evr: 2.1.0-22.el9 - sourcerpm: yajl-2.1.0-22.el9.src.rpm + evr: 2.1.0-25.el9 + sourcerpm: yajl-2.1.0-25.el9.src.rpm - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/a/acl-2.3.1-4.el9.x86_64.rpm repoid: rhel-9-for-x86_64-baseos-rpms size: 77226 @@ -704,20 +704,6 @@ arches: name: acl evr: 2.3.1-4.el9 sourcerpm: acl-2.3.1-4.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/a/adobe-source-code-pro-fonts-2.030.1.050-12.el9.1.noarch.rpm - repoid: rhel-9-for-x86_64-baseos-rpms - size: 856543 - checksum: sha256:cfb5e8fddaed92b1b22c957183d0ea626a4468f42a46dae4e68a795cb8c20393 - name: adobe-source-code-pro-fonts - evr: 2.030.1.050-12.el9.1 - sourcerpm: adobe-source-code-pro-fonts-2.030.1.050-12.el9.1.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/a/alternatives-1.24-1.el9_5.1.x86_64.rpm - repoid: rhel-9-for-x86_64-baseos-rpms - size: 42920 - checksum: sha256:48f40f86f0a072dfe480d027c2fab351229c4160bed33d7d9f53915b2d2f4e5c - name: alternatives - evr: 1.24-1.el9_5.1 - sourcerpm: chkconfig-1.24-1.el9_5.1.src.rpm - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/a/attr-2.5.1-3.el9.x86_64.rpm repoid: rhel-9-for-x86_64-baseos-rpms size: 66700 @@ -725,41 +711,20 @@ arches: name: attr evr: 2.5.1-3.el9 sourcerpm: attr-2.5.1-3.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/a/audit-libs-3.1.5-1.el9.x86_64.rpm - repoid: rhel-9-for-x86_64-baseos-rpms - size: 127384 - checksum: sha256:d219b06075e13f6a953655a354e07505d8712f83759d1928bcf8bf821767a525 - name: audit-libs - evr: 3.1.5-1.el9 - sourcerpm: audit-3.1.5-1.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/b/basesystem-11-13.el9.noarch.rpm - repoid: rhel-9-for-x86_64-baseos-rpms - size: 8229 - checksum: sha256:f498b0813fa1a825d550e8e3a9e42255eabfa18e6fc96adfc6cc8fa7e16dd513 - name: basesystem - evr: 11-13.el9 - sourcerpm: basesystem-11-13.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/b/bash-5.1.8-9.el9.x86_64.rpm - repoid: rhel-9-for-x86_64-baseos-rpms - size: 1769540 - checksum: sha256:d3adf8b09aa0bf935c67aa12444e0ee02f70a82c2682bfb2b02bda0a989bb806 - name: bash - evr: 5.1.8-9.el9 - sourcerpm: bash-5.1.8-9.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/b/binutils-2.35.2-54.el9.x86_64.rpm - repoid: rhel-9-for-x86_64-baseos-rpms - size: 4816328 - checksum: sha256:58286130e67839b931412baa9cb1efcb42d02dc3d1b84caed2ba711773c47ec9 + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/b/binutils-2.35.2-67.el9.x86_64.rpm + repoid: rhel-9-for-x86_64-baseos-rpms + size: 4810678 + checksum: sha256:78c845cd6cee33a145f31ee2cd0433d10f1c610997478997f9110acebdd4f0e6 name: binutils - evr: 2.35.2-54.el9 - sourcerpm: binutils-2.35.2-54.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/b/binutils-gold-2.35.2-54.el9.x86_64.rpm + evr: 2.35.2-67.el9 + sourcerpm: binutils-2.35.2-67.el9.src.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/b/binutils-gold-2.35.2-67.el9.x86_64.rpm repoid: rhel-9-for-x86_64-baseos-rpms - size: 752302 - checksum: sha256:44ace5e347a8aaad0ae8a449c5d87f69314def94b45bbd1a22a6bd827b549d95 + size: 751438 + checksum: sha256:fb30087a4d1f89875e310d8c0a53b8152d99b0b557093d481ee4a46b8c0c5242 name: binutils-gold - evr: 2.35.2-54.el9 - sourcerpm: binutils-2.35.2-54.el9.src.rpm + evr: 2.35.2-67.el9 + sourcerpm: binutils-2.35.2-67.el9.src.rpm - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/b/bzip2-1.0.8-10.el9_5.x86_64.rpm repoid: rhel-9-for-x86_64-baseos-rpms size: 61101 @@ -767,34 +732,6 @@ arches: name: bzip2 evr: 1.0.8-10.el9_5 sourcerpm: bzip2-1.0.8-10.el9_5.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/b/bzip2-libs-1.0.8-10.el9_5.x86_64.rpm - repoid: rhel-9-for-x86_64-baseos-rpms - size: 42618 - checksum: sha256:5058aca2a4c5ac3356fb42e6e423e4101bc29199e0ae80d79d3fc564ba9d7c84 - name: bzip2-libs - evr: 1.0.8-10.el9_5 - sourcerpm: bzip2-1.0.8-10.el9_5.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/c/ca-certificates-2024.2.69_v8.0.303-91.4.el9_4.noarch.rpm - repoid: rhel-9-for-x86_64-baseos-rpms - size: 1044629 - checksum: sha256:fda07ba8aa8afd38800aa1e49ddd4c7916d8f67030739f85f59727f47bdf28dd - name: ca-certificates - evr: 2024.2.69_v8.0.303-91.4.el9_4 - sourcerpm: ca-certificates-2024.2.69_v8.0.303-91.4.el9_4.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/c/coreutils-8.32-36.el9.x86_64.rpm - repoid: rhel-9-for-x86_64-baseos-rpms - size: 1247287 - checksum: sha256:9e98bbd5244ce0de68db23688ea6154dc8fe0fc2fa9cc04dd693379ea4481810 - name: coreutils - evr: 8.32-36.el9 - sourcerpm: coreutils-8.32-36.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/c/coreutils-common-8.32-36.el9.x86_64.rpm - repoid: rhel-9-for-x86_64-baseos-rpms - size: 2113126 - checksum: sha256:1a87c01881237fdb3ab838dfaf95ad703780abf14fe13a7cc8bc466c7a398a05 - name: coreutils-common - evr: 8.32-36.el9 - sourcerpm: coreutils-8.32-36.el9.src.rpm - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/c/cpio-2.13-16.el9.x86_64.rpm repoid: rhel-9-for-x86_64-baseos-rpms size: 286157 @@ -816,48 +753,27 @@ arches: name: cracklib-dicts evr: 2.9.6-27.el9 sourcerpm: cracklib-2.9.6-27.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/c/crypto-policies-20240828-2.git626aa59.el9_5.noarch.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/c/cryptsetup-2.7.2-4.el9.x86_64.rpm repoid: rhel-9-for-x86_64-baseos-rpms - size: 92302 - checksum: sha256:32ba1cd088641187cb11fddb74fedc04390a86525b2439a7f93beae5dad668c4 - name: crypto-policies - evr: 20240828-2.git626aa59.el9_5 - sourcerpm: crypto-policies-20240828-2.git626aa59.el9_5.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/c/cryptsetup-2.7.2-3.el9_5.x86_64.rpm - repoid: rhel-9-for-x86_64-baseos-rpms - size: 341855 - checksum: sha256:a5cb6c046de71a54313b2d420db6e72bfae0761f591a051a7d676e3e063fe160 + size: 337170 + checksum: sha256:2b647e77e1d9f20d2cec47bd95a4457447fa9bea37d71ced621f98fb00ce27d4 name: cryptsetup - evr: 2.7.2-3.el9_5 - sourcerpm: cryptsetup-2.7.2-3.el9_5.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/c/cryptsetup-libs-2.7.2-3.el9_5.x86_64.rpm + evr: 2.7.2-4.el9 + sourcerpm: cryptsetup-2.7.2-4.el9.src.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/c/cryptsetup-libs-2.7.2-4.el9.x86_64.rpm repoid: rhel-9-for-x86_64-baseos-rpms - size: 534806 - checksum: sha256:db7fc8be731f94a9a28f29522ee1c8000dbcdddb78be470825fea8af5338818e + size: 529905 + checksum: sha256:820cf79373150c0a86d9cd2a8ac3a61d4f932b2e7dbdbc87b301dc4e09619994 name: cryptsetup-libs - evr: 2.7.2-3.el9_5 - sourcerpm: cryptsetup-2.7.2-3.el9_5.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/c/curl-7.76.1-31.el9.x86_64.rpm - repoid: rhel-9-for-x86_64-baseos-rpms - size: 304406 - checksum: sha256:a5a9185a6295ef7880a50d58fcc8fb83392fbc52dc1406175091e87cf193097c - name: curl - evr: 7.76.1-31.el9 - sourcerpm: curl-7.76.1-31.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/c/cyrus-sasl-gssapi-2.1.27-21.el9.x86_64.rpm - repoid: rhel-9-for-x86_64-baseos-rpms - size: 28739 - checksum: sha256:ea04812e70f7185355de2cf44ccd03dba237e3671b670cd3c53debd7665bc667 + evr: 2.7.2-4.el9 + sourcerpm: cryptsetup-2.7.2-4.el9.src.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/c/cyrus-sasl-gssapi-2.1.27-22.el9.x86_64.rpm + repoid: rhel-9-for-x86_64-baseos-rpms + size: 25734 + checksum: sha256:4829e95f203974198ee79e54957ecd6669dfeb22aab4160ad1cbb67b90f7abec name: cyrus-sasl-gssapi - evr: 2.1.27-21.el9 - sourcerpm: cyrus-sasl-2.1.27-21.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/c/cyrus-sasl-lib-2.1.27-21.el9.x86_64.rpm - repoid: rhel-9-for-x86_64-baseos-rpms - size: 792070 - checksum: sha256:d92f2383e68062b9ded78afa8814f18d84fee98e09781f541169627272ce85cf - name: cyrus-sasl-lib - evr: 2.1.27-21.el9 - sourcerpm: cyrus-sasl-2.1.27-21.el9.src.rpm + evr: 2.1.27-22.el9 + sourcerpm: cyrus-sasl-2.1.27-22.el9.src.rpm - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/d/daxctl-libs-78-2.el9.x86_64.rpm repoid: rhel-9-for-x86_64-baseos-rpms size: 45763 @@ -893,41 +809,41 @@ arches: name: dbus-libs evr: 1:1.12.20-8.el9 sourcerpm: dbus-1.12.20-8.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/d/device-mapper-1.02.198-2.el9.x86_64.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/d/device-mapper-1.02.206-2.el9.x86_64.rpm repoid: rhel-9-for-x86_64-baseos-rpms - size: 146675 - checksum: sha256:c313defbc3c0c42b05ba9e5ed65f5f423440c673e01826504d23a4ce5086e691 + size: 143418 + checksum: sha256:f269c89502710b0b0e7f081c7597a48f932677279fe046642cbceb82d7ce6b91 name: device-mapper - evr: 9:1.02.198-2.el9 - sourcerpm: lvm2-2.03.24-2.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/d/device-mapper-event-1.02.198-2.el9.x86_64.rpm + evr: 9:1.02.206-2.el9 + sourcerpm: lvm2-2.03.32-2.el9.src.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/d/device-mapper-event-1.02.206-2.el9.x86_64.rpm repoid: rhel-9-for-x86_64-baseos-rpms - size: 37037 - checksum: sha256:09ca3fb676917b8d746b7b848d0cafc662cccfb5a3b676ba8f4296ffd816e5f0 + size: 35211 + checksum: sha256:13cd0d4ef10d2ebeb22282f3e74c536be788057081b3324920cbe8c10b3fe990 name: device-mapper-event - evr: 9:1.02.198-2.el9 - sourcerpm: lvm2-2.03.24-2.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/d/device-mapper-event-libs-1.02.198-2.el9.x86_64.rpm + evr: 9:1.02.206-2.el9 + sourcerpm: lvm2-2.03.32-2.el9.src.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/d/device-mapper-event-libs-1.02.206-2.el9.x86_64.rpm repoid: rhel-9-for-x86_64-baseos-rpms - size: 34268 - checksum: sha256:71f9c278441ddf9cb9e06d9600b3b5a55b1471449388f28f4d6eeb011f7564a3 + size: 32577 + checksum: sha256:6a5d7a52c20e4d06849e1ae65ae18fdf4f0fcf6c50c5f55da443db940e01350d name: device-mapper-event-libs - evr: 9:1.02.198-2.el9 - sourcerpm: lvm2-2.03.24-2.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/d/device-mapper-libs-1.02.198-2.el9.x86_64.rpm + evr: 9:1.02.206-2.el9 + sourcerpm: lvm2-2.03.32-2.el9.src.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/d/device-mapper-libs-1.02.206-2.el9.x86_64.rpm repoid: rhel-9-for-x86_64-baseos-rpms - size: 183726 - checksum: sha256:81bca37cf48786b9806a43157e579011d6e79eec6f7ac3681a90ea018365c9d6 + size: 184054 + checksum: sha256:bf377c3854061a1d7f8ba64d97e0393708c4fd8aae7c17aa5458a40c9ae993f0 name: device-mapper-libs - evr: 9:1.02.198-2.el9 - sourcerpm: lvm2-2.03.24-2.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/d/device-mapper-persistent-data-1.0.9-3.el9_4.x86_64.rpm + evr: 9:1.02.206-2.el9 + sourcerpm: lvm2-2.03.32-2.el9.src.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/d/device-mapper-persistent-data-1.1.0-1.el9.x86_64.rpm repoid: rhel-9-for-x86_64-baseos-rpms - size: 1036668 - checksum: sha256:8a5af4377555ed2b0a3b45c8c83784817179d763e9cd98a45fa4337fe7309258 + size: 1173142 + checksum: sha256:33b20d692595c100b00c47987ec74f207fb99c8520d0f0f173fd073f0e920fd6 name: device-mapper-persistent-data - evr: 1.0.9-3.el9_4 - sourcerpm: device-mapper-persistent-data-1.0.9-3.el9_4.src.rpm + evr: 1.1.0-1.el9 + sourcerpm: device-mapper-persistent-data-1.1.0-1.el9.src.rpm - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/d/dhcp-client-4.4.2-19.b1.el9.x86_64.rpm repoid: rhel-9-for-x86_64-baseos-rpms size: 812977 @@ -956,27 +872,20 @@ arches: name: dmidecode evr: 1:3.6-1.el9 sourcerpm: dmidecode-3.6-1.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/d/dnf-4.14.0-17.el9.noarch.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/d/dnf-4.14.0-31.el9.noarch.rpm repoid: rhel-9-for-x86_64-baseos-rpms - size: 493246 - checksum: sha256:c85f19af87b169498055f0793e17e69a3c649baafec312f95a3cf428cda37c59 + size: 490580 + checksum: sha256:872566ea31b21f66a783dc9af771cacd6bb7dce48f1c97eb8be47c0abf90db38 name: dnf - evr: 4.14.0-17.el9 - sourcerpm: dnf-4.14.0-17.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/d/dnf-data-4.14.0-17.el9.noarch.rpm - repoid: rhel-9-for-x86_64-baseos-rpms - size: 42687 - checksum: sha256:40d1d72082eaa0bc58ed805e26ace91d45564c6d51aaced903058694c1e556d3 - name: dnf-data - evr: 4.14.0-17.el9 - sourcerpm: dnf-4.14.0-17.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/d/dnf-plugins-core-4.3.0-16.el9.noarch.rpm - repoid: rhel-9-for-x86_64-baseos-rpms - size: 42356 - checksum: sha256:4c941f043d72fabaf845250f810f53af5f3f880f98e3405efb571a1a8eab4d39 + evr: 4.14.0-31.el9 + sourcerpm: dnf-4.14.0-31.el9.src.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/d/dnf-plugins-core-4.3.0-24.el9_7.noarch.rpm + repoid: rhel-9-for-x86_64-baseos-rpms + size: 36733 + checksum: sha256:a96c74a833f819f9dd152519288d714f5b57a50ff04985ee5a1e9d06cc1b5eac name: dnf-plugins-core - evr: 4.3.0-16.el9 - sourcerpm: dnf-plugins-core-4.3.0-16.el9.src.rpm + evr: 4.3.0-24.el9_7 + sourcerpm: dnf-plugins-core-4.3.0-24.el9_7.src.rpm - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/d/dosfstools-4.2-3.el9.x86_64.rpm repoid: rhel-9-for-x86_64-baseos-rpms size: 163749 @@ -984,62 +893,62 @@ arches: name: dosfstools evr: 4.2-3.el9 sourcerpm: dosfstools-4.2-3.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/d/dracut-057-70.git20240819.el9.x86_64.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/d/dracut-057-102.git20250818.el9.x86_64.rpm repoid: rhel-9-for-x86_64-baseos-rpms - size: 478538 - checksum: sha256:a5f076046fae1f0681154244b22eae29b93c06b5d803bdca881ceeb46b74a4dd + size: 485309 + checksum: sha256:22e019c2bfdebed98a6eca67025a1d555520705ea3ce9a3dc7e958f249199bb4 name: dracut - evr: 057-70.git20240819.el9 - sourcerpm: dracut-057-70.git20240819.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/e/e2fsprogs-1.46.5-5.el9.x86_64.rpm + evr: 057-102.git20250818.el9 + sourcerpm: dracut-057-102.git20250818.el9.src.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/e/e2fsprogs-1.46.5-8.el9.x86_64.rpm repoid: rhel-9-for-x86_64-baseos-rpms - size: 1056944 - checksum: sha256:b082fcc773b7f921bfe7a13a407cd3a4167431ee5f76751299564f2096fea384 + size: 1048130 + checksum: sha256:698809d1d03a4623fc02c08eb3837d4bc0f33f968574a3e6fb4fded265d623f0 name: e2fsprogs - evr: 1.46.5-5.el9 - sourcerpm: e2fsprogs-1.46.5-5.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/e/e2fsprogs-libs-1.46.5-5.el9.x86_64.rpm + evr: 1.46.5-8.el9 + sourcerpm: e2fsprogs-1.46.5-8.el9.src.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/e/e2fsprogs-libs-1.46.5-8.el9.x86_64.rpm repoid: rhel-9-for-x86_64-baseos-rpms - size: 230322 - checksum: sha256:ecdc4f4a2bf98dbdce05d4b90de0bc7341bb7bab184db4ebebc47e0495051889 + size: 227736 + checksum: sha256:547d40212390564c0a2bbaa7a6f3505cbea60b3ea45cd09b0411383bb6e83aa6 name: e2fsprogs-libs - evr: 1.46.5-5.el9 - sourcerpm: e2fsprogs-1.46.5-5.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/e/elfutils-debuginfod-client-0.191-4.el9.x86_64.rpm + evr: 1.46.5-8.el9 + sourcerpm: e2fsprogs-1.46.5-8.el9.src.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/e/elfutils-debuginfod-client-0.193-1.el9.x86_64.rpm repoid: rhel-9-for-x86_64-baseos-rpms - size: 39913 - checksum: sha256:9c26ab1eea196541d9cde34a96acbf8647746ccd0447ad353dec5ec4225826a5 + size: 44629 + checksum: sha256:595b16ef65e5310e6091af8e9ff9dc378249ab3d739f7b02881b3eb33c9acce6 name: elfutils-debuginfod-client - evr: 0.191-4.el9 - sourcerpm: elfutils-0.191-4.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/e/elfutils-default-yama-scope-0.191-4.el9.noarch.rpm + evr: 0.193-1.el9 + sourcerpm: elfutils-0.193-1.el9.src.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/e/elfutils-default-yama-scope-0.193-1.el9.noarch.rpm repoid: rhel-9-for-x86_64-baseos-rpms - size: 12782 - checksum: sha256:e186f5fb020da75279f726a9a09bfefd8c60131157debd9ca0966036fd3b8d70 + size: 9949 + checksum: sha256:8f64d1675627246b912a6b7b71bb4c28c2d1ef09753208253c90253a4a31132f name: elfutils-default-yama-scope - evr: 0.191-4.el9 - sourcerpm: elfutils-0.191-4.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/e/elfutils-libelf-0.191-4.el9.x86_64.rpm + evr: 0.193-1.el9 + sourcerpm: elfutils-0.193-1.el9.src.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/e/elfutils-libelf-0.193-1.el9.x86_64.rpm repoid: rhel-9-for-x86_64-baseos-rpms - size: 215143 - checksum: sha256:9d7a6e028b8db0041ffecb41b5a4c2a3351bc09b098d0285f418f7ee16923e63 + size: 209533 + checksum: sha256:c37308dadac722a4fc928cb4b919c0c5561c458169f754beb7375eb067012195 name: elfutils-libelf - evr: 0.191-4.el9 - sourcerpm: elfutils-0.191-4.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/e/elfutils-libs-0.191-4.el9.x86_64.rpm + evr: 0.193-1.el9 + sourcerpm: elfutils-0.193-1.el9.src.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/e/elfutils-libs-0.193-1.el9.x86_64.rpm repoid: rhel-9-for-x86_64-baseos-rpms - size: 268507 - checksum: sha256:d58ed4ac90958033cb2e0f3455e7f229e03e85c86ee43636de925ab1369b50aa + size: 274462 + checksum: sha256:a1e6d8396c33dadf7f8f568284e90238e0e1d68a77b2c6c4b2e4ff00ff233e70 name: elfutils-libs - evr: 0.191-4.el9 - sourcerpm: elfutils-0.191-4.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/e/expat-2.5.0-3.el9_5.3.x86_64.rpm + evr: 0.193-1.el9 + sourcerpm: elfutils-0.193-1.el9.src.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/e/expat-2.5.0-5.el9_7.1.x86_64.rpm repoid: rhel-9-for-x86_64-baseos-rpms - size: 122357 - checksum: sha256:1f9ac75106263446eff27fb14e002ab228b57459b8830c58f4d1366a9987fbe5 + size: 120241 + checksum: sha256:e8ce7bfb8667fc6e4d080f4cae71e175a25cc78b5389a41e3e2e05ffe8edeafe name: expat - evr: 2.5.0-3.el9_5.3 - sourcerpm: expat-2.5.0-3.el9_5.3.src.rpm + evr: 2.5.0-5.el9_7.1 + sourcerpm: expat-2.5.0-5.el9_7.1.src.rpm - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/f/file-5.39-16.el9.x86_64.rpm repoid: rhel-9-for-x86_64-baseos-rpms size: 53222 @@ -1047,20 +956,6 @@ arches: name: file evr: 5.39-16.el9 sourcerpm: file-5.39-16.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/f/file-libs-5.39-16.el9.x86_64.rpm - repoid: rhel-9-for-x86_64-baseos-rpms - size: 606802 - checksum: sha256:71787d11e020a5dc14eb1a74eb4532a95e5806e6d50af6275f4cac5eb9d0d3a4 - name: file-libs - evr: 5.39-16.el9 - sourcerpm: file-5.39-16.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/f/filesystem-3.16-5.el9.x86_64.rpm - repoid: rhel-9-for-x86_64-baseos-rpms - size: 5003807 - checksum: sha256:9567592e6e32a9ebd45584cc4feb5d00812f143fcb2d8cd8b1d95108f4f66a2d - name: filesystem - evr: 3.16-5.el9 - sourcerpm: filesystem-3.16-5.el9.src.rpm - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/f/findutils-4.8.0-7.el9.x86_64.rpm repoid: rhel-9-for-x86_64-baseos-rpms size: 563531 @@ -1068,20 +963,13 @@ arches: name: findutils evr: 1:4.8.0-7.el9 sourcerpm: findutils-4.8.0-7.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/f/fonts-filesystem-2.0.5-7.el9.1.noarch.rpm - repoid: rhel-9-for-x86_64-baseos-rpms - size: 11459 - checksum: sha256:d4b490f97fec6df68d467e74eeac7f26210757973175d344d989804e4f1a3629 - name: fonts-filesystem - evr: 1:2.0.5-7.el9.1 - sourcerpm: fonts-rpm-macros-2.0.5-7.el9.1.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/f/fuse-2.9.9-16.el9.x86_64.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/f/fuse-2.9.9-17.el9.x86_64.rpm repoid: rhel-9-for-x86_64-baseos-rpms - size: 85830 - checksum: sha256:ed54fdeed1a948cbea6a2c0712ecb2002361afc5ce566cb35e9b773dc94d0abc + size: 85864 + checksum: sha256:1bf8e4b14ad76ded455adeb74ccdc9d031127459c03b9c01a409e550bfd75069 name: fuse - evr: 2.9.9-16.el9 - sourcerpm: fuse-2.9.9-16.el9.src.rpm + evr: 2.9.9-17.el9 + sourcerpm: fuse-2.9.9-17.el9.src.rpm - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/f/fuse-common-3.10.2-9.el9.x86_64.rpm repoid: rhel-9-for-x86_64-baseos-rpms size: 8750 @@ -1089,27 +977,13 @@ arches: name: fuse-common evr: 3.10.2-9.el9 sourcerpm: fuse3-3.10.2-9.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/f/fuse-libs-2.9.9-16.el9.x86_64.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/f/fuse-libs-2.9.9-17.el9.x86_64.rpm repoid: rhel-9-for-x86_64-baseos-rpms - size: 101516 - checksum: sha256:d6ebcad4a0cfdb5690dce0f682c294d45d62f488e3e7e119ac7afd6a553fa586 + size: 101562 + checksum: sha256:57ea8a9ed7a2d6fef54c540b393649e2fda62381e5a714860ee3cf786f7ef46b name: fuse-libs - evr: 2.9.9-16.el9 - sourcerpm: fuse-2.9.9-16.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/g/gawk-5.1.0-6.el9.x86_64.rpm - repoid: rhel-9-for-x86_64-baseos-rpms - size: 1045534 - checksum: sha256:99fda6725a2c668bae29fbab74d1b347e074f4e8c8ed18d656cb928fb6fc92b7 - name: gawk - evr: 5.1.0-6.el9 - sourcerpm: gawk-5.1.0-6.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/g/gdbm-libs-1.23-1.el9.x86_64.rpm - repoid: rhel-9-for-x86_64-baseos-rpms - size: 60152 - checksum: sha256:c8b8346a98d921206666ce740a3647a52ad7a87c2d01d73166165b3e9a789a6c - name: gdbm-libs - evr: 1:1.23-1.el9 - sourcerpm: gdbm-1.23-1.el9.src.rpm + evr: 2.9.9-17.el9 + sourcerpm: fuse-2.9.9-17.el9.src.rpm - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/g/gettext-0.21-8.el9.x86_64.rpm repoid: rhel-9-for-x86_64-baseos-rpms size: 1193150 @@ -1131,76 +1005,13 @@ arches: name: glib-networking evr: 2.68.3-3.el9 sourcerpm: glib-networking-2.68.3-3.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/g/glib2-2.68.4-14.el9_4.1.x86_64.rpm - repoid: rhel-9-for-x86_64-baseos-rpms - size: 2778035 - checksum: sha256:73d79f22cb86a8638ea19ca89c14122b1e2eb8d8b798af71050974c42de372de - name: glib2 - evr: 2.68.4-14.el9_4.1 - sourcerpm: glib2-2.68.4-14.el9_4.1.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/g/glibc-2.34-125.el9_5.8.x86_64.rpm - repoid: rhel-9-for-x86_64-baseos-rpms - size: 2061981 - checksum: sha256:28901adf838af054d92f6788d01576c708de9a31ca206e629eace62e62f28329 - name: glibc - evr: 2.34-125.el9_5.8 - sourcerpm: glibc-2.34-125.el9_5.8.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/g/glibc-common-2.34-125.el9_5.8.x86_64.rpm - repoid: rhel-9-for-x86_64-baseos-rpms - size: 305641 - checksum: sha256:de4ed13bc7b660510cd6087e29b876ccde5ff9021c555b32ed5e1a0fbbdaf1d6 - name: glibc-common - evr: 2.34-125.el9_5.8 - sourcerpm: glibc-2.34-125.el9_5.8.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/g/glibc-gconv-extra-2.34-125.el9_5.8.x86_64.rpm - repoid: rhel-9-for-x86_64-baseos-rpms - size: 1784341 - checksum: sha256:558a18aa92109e870744bc255b14a285dc079605a06d23368cffda25e82ef067 - name: glibc-gconv-extra - evr: 2.34-125.el9_5.8 - sourcerpm: glibc-2.34-125.el9_5.8.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/g/glibc-minimal-langpack-2.34-125.el9_5.8.x86_64.rpm - repoid: rhel-9-for-x86_64-baseos-rpms - size: 13041 - checksum: sha256:9b5e20fd5bd13c7c5bdd5491e9a450a8c4fc79e607350080ec082b4b19492cc0 - name: glibc-minimal-langpack - evr: 2.34-125.el9_5.8 - sourcerpm: glibc-2.34-125.el9_5.8.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/g/gmp-6.2.0-13.el9.x86_64.rpm - repoid: rhel-9-for-x86_64-baseos-rpms - size: 326840 - checksum: sha256:d4529445e30b7eb9a8225b0539f70d26d585d7fe306296f948ea73114d1c171f - name: gmp - evr: 1:6.2.0-13.el9 - sourcerpm: gmp-6.2.0-13.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/g/gnupg2-2.3.3-4.el9.x86_64.rpm - repoid: rhel-9-for-x86_64-baseos-rpms - size: 2641396 - checksum: sha256:c6541c33c623ea78fe08e876218d4480923b499ba74de428686d015da984bd1d - name: gnupg2 - evr: 2.3.3-4.el9 - sourcerpm: gnupg2-2.3.3-4.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/g/gnutls-3.8.3-4.el9_4.x86_64.rpm - repoid: rhel-9-for-x86_64-baseos-rpms - size: 1131791 - checksum: sha256:fb9f68d8fdf7adc1412430ef954fcc03cc762a97403ea9b65327979ae3793f39 - name: gnutls - evr: 3.8.3-4.el9_4 - sourcerpm: gnutls-3.8.3-4.el9_4.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/g/gpgme-1.15.1-6.el9.x86_64.rpm - repoid: rhel-9-for-x86_64-baseos-rpms - size: 215857 - checksum: sha256:44b4ebb0b3cc5a733d477b684082c23d8b4230953f192113353a6aa664e83624 - name: gpgme - evr: 1.15.1-6.el9 - sourcerpm: gpgme-1.15.1-6.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/g/grep-3.6-5.el9.x86_64.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/g/glibc-gconv-extra-2.34-231.el9_7.2.x86_64.rpm repoid: rhel-9-for-x86_64-baseos-rpms - size: 279174 - checksum: sha256:5556895ff1817066ca71b50785615e944b0fcc7e1c94c983087c7c691819623d - name: grep - evr: 3.6-5.el9 - sourcerpm: grep-3.6-5.el9.src.rpm + size: 1759310 + checksum: sha256:62b806a05b998161d8d5f4d5b9006664f279f1afdb7861b3c8516c81ce0fa4b1 + name: glibc-gconv-extra + evr: 2.34-231.el9_7.2 + sourcerpm: glibc-2.34-231.el9_7.2.src.rpm - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/g/groff-base-1.22.4-10.el9.x86_64.rpm repoid: rhel-9-for-x86_64-baseos-rpms size: 1133828 @@ -1208,13 +1019,13 @@ arches: name: groff-base evr: 1.22.4-10.el9 sourcerpm: groff-1.22.4-10.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/g/gsettings-desktop-schemas-40.0-6.el9.x86_64.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/g/gsettings-desktop-schemas-40.0-8.el9_7.x86_64.rpm repoid: rhel-9-for-x86_64-baseos-rpms - size: 704384 - checksum: sha256:befbe1a5dc7b843b993d7db6f08c9f29c504d549ad7b51fda5485380f47ded3c + size: 698577 + checksum: sha256:c9423465bf0e8e9c4f96823d9c8699746ec8246c17a6118815f1271c2ad78a13 name: gsettings-desktop-schemas - evr: 40.0-6.el9 - sourcerpm: gsettings-desktop-schemas-40.0-6.el9.src.rpm + evr: 40.0-8.el9_7 + sourcerpm: gsettings-desktop-schemas-40.0-8.el9_7.src.rpm - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/g/gssproxy-0.8.4-7.el9.x86_64.rpm repoid: rhel-9-for-x86_64-baseos-rpms size: 116911 @@ -1229,20 +1040,20 @@ arches: name: gzip evr: 1.12-1.el9 sourcerpm: gzip-1.12-1.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/h/hwdata-0.348-9.15.el9.noarch.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/h/hwdata-0.348-9.20.el9.noarch.rpm repoid: rhel-9-for-x86_64-baseos-rpms - size: 1699184 - checksum: sha256:cadff207e77de9ce3b5867113632655c2aa74a060c959c063f2658a45a94090d + size: 1739837 + checksum: sha256:ef60d49d7af96642a8f8dcb41920fe591d3c7748fd45b367dea73e0e2855e209 name: hwdata - evr: 0.348-9.15.el9 - sourcerpm: hwdata-0.348-9.15.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/i/ima-evm-utils-1.5-2.el9.x86_64.rpm + evr: 0.348-9.20.el9 + sourcerpm: hwdata-0.348-9.20.el9.src.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/i/ima-evm-utils-1.6.2-2.el9.x86_64.rpm repoid: rhel-9-for-x86_64-baseos-rpms - size: 75163 - checksum: sha256:1848cacbfc37baefc3b8cf23509bf3877a8a78710bd457736b13d30691f3039f + size: 73667 + checksum: sha256:99c9e9234ecf55e54ad3271dfa4d80681574995420cbde946a3fa2a491b0c08a name: ima-evm-utils - evr: 1.5-2.el9 - sourcerpm: ima-evm-utils-1.5-2.el9.src.rpm + evr: 1.6.2-2.el9 + sourcerpm: ima-evm-utils-1.6.2-2.el9.src.rpm - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/i/inih-49-6.el9.x86_64.rpm repoid: rhel-9-for-x86_64-baseos-rpms size: 20510 @@ -1257,20 +1068,20 @@ arches: name: ipcalc evr: 1.0.0-5.el9 sourcerpm: ipcalc-1.0.0-5.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/i/iproute-6.2.0-6.el9_4.x86_64.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/i/iproute-6.14.0-2.el9.x86_64.rpm repoid: rhel-9-for-x86_64-baseos-rpms - size: 839029 - checksum: sha256:db38e032a90ccf525599418f595799a0d0d96180984960fda08c8cb99516621a + size: 855964 + checksum: sha256:e494cc6c8808abac4ac12457596791179744c3df6aa7a57191ae487762a66c4a name: iproute - evr: 6.2.0-6.el9_4 - sourcerpm: iproute-6.2.0-6.el9_4.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/i/iproute-tc-6.2.0-6.el9_4.x86_64.rpm + evr: 6.14.0-2.el9 + sourcerpm: iproute-6.14.0-2.el9.src.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/i/iproute-tc-6.14.0-2.el9.x86_64.rpm repoid: rhel-9-for-x86_64-baseos-rpms - size: 476865 - checksum: sha256:c738948c9c36891c5139d290a59c11e376a24500d262e3787d92775607d60913 + size: 455465 + checksum: sha256:87b864a3198a44c900fb1e6f7fb8a9fc1c4872d31f21f709bcc6188a78e56062 name: iproute-tc - evr: 6.2.0-6.el9_4 - sourcerpm: iproute-6.2.0-6.el9_4.src.rpm + evr: 6.14.0-2.el9 + sourcerpm: iproute-6.14.0-2.el9.src.rpm - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/i/iptables-libs-1.8.10-11.el9_5.x86_64.rpm repoid: rhel-9-for-x86_64-baseos-rpms size: 476678 @@ -1285,13 +1096,13 @@ arches: name: iptables-nft evr: 1.8.10-11.el9_5 sourcerpm: iptables-1.8.10-11.el9_5.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/i/iputils-20210202-10.el9_5.x86_64.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/i/iputils-20210202-15.el9_7.x86_64.rpm repoid: rhel-9-for-x86_64-baseos-rpms - size: 183087 - checksum: sha256:3f4d85099f32e2e1d8875556fbd64353e991bbd0635a756b2bc4fe56ba69ba19 + size: 177748 + checksum: sha256:f099fdfcdfce422719ca0b7335101ad0a6c2b4c55ac015796d00e675bc02fc11 name: iputils - evr: 20210202-10.el9_5 - sourcerpm: iputils-20210202-10.el9_5.src.rpm + evr: 20210202-15.el9_7 + sourcerpm: iputils-20210202-15.el9_7.src.rpm - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/j/jansson-2.14-1.el9.x86_64.rpm repoid: rhel-9-for-x86_64-baseos-rpms size: 49137 @@ -1299,62 +1110,48 @@ arches: name: jansson evr: 2.14-1.el9 sourcerpm: jansson-2.14-1.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/j/jq-1.6-17.el9.x86_64.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/j/jq-1.6-19.el9.x86_64.rpm repoid: rhel-9-for-x86_64-baseos-rpms - size: 194646 - checksum: sha256:9e996fbd48660f2815b29c88e1fd3b2ac5359eafb811f6208c6c4814ffb11e5b + size: 191662 + checksum: sha256:6b4d82714813d7b4a3200bf2856a3c1493d186e9caa916d7a700ec25e4996462 name: jq - evr: 1.6-17.el9 - sourcerpm: jq-1.6-17.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/j/json-c-0.14-11.el9.x86_64.rpm - repoid: rhel-9-for-x86_64-baseos-rpms - size: 46136 - checksum: sha256:b9bde4162250023103d95908fbca44fff6636a46176f92cf1761c1c3a4580a2f - name: json-c - evr: 0.14-11.el9 - sourcerpm: json-c-0.14-11.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/j/json-glib-1.6.6-1.el9.x86_64.rpm - repoid: rhel-9-for-x86_64-baseos-rpms - size: 170785 - checksum: sha256:9f640485eb1df3b8d8759b3051bb1651b264fd0ca139b90c85ad919e365b0f22 - name: json-glib - evr: 1.6.6-1.el9 - sourcerpm: json-glib-1.6.6-1.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/k/kbd-2.4.0-10.el9.x86_64.rpm - repoid: rhel-9-for-x86_64-baseos-rpms - size: 434536 - checksum: sha256:10052ec978295a1d7e635670fec3d92a913b1ca6f31721275225e304c2bf707d + evr: 1.6-19.el9 + sourcerpm: jq-1.6-19.el9.src.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/k/kbd-2.4.0-11.el9.x86_64.rpm + repoid: rhel-9-for-x86_64-baseos-rpms + size: 428483 + checksum: sha256:3271c89a49edb384441b749a30b662968f99f66a169dd01bac2b3cb39e2263e9 name: kbd - evr: 2.4.0-10.el9 - sourcerpm: kbd-2.4.0-10.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/k/kbd-legacy-2.4.0-10.el9.noarch.rpm + evr: 2.4.0-11.el9 + sourcerpm: kbd-2.4.0-11.el9.src.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/k/kbd-legacy-2.4.0-11.el9.noarch.rpm repoid: rhel-9-for-x86_64-baseos-rpms - size: 579436 - checksum: sha256:c87ebcade6eb08c02af4b70d6cd401ad79247d55987d94003752adc6319c58f9 + size: 579544 + checksum: sha256:8dcc48e93bffc5e2d819f8c8c468648362c13d554f756c421711386c8fadf950 name: kbd-legacy - evr: 2.4.0-10.el9 - sourcerpm: kbd-2.4.0-10.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/k/kbd-misc-2.4.0-10.el9.noarch.rpm + evr: 2.4.0-11.el9 + sourcerpm: kbd-2.4.0-11.el9.src.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/k/kbd-misc-2.4.0-11.el9.noarch.rpm repoid: rhel-9-for-x86_64-baseos-rpms - size: 1739270 - checksum: sha256:d59424fc187ad85f33dd601a1a2dccbba26b727802c5e3ed430fbfad71ab2e0a + size: 1739470 + checksum: sha256:f698c807d4805c83b2dc8564427a7c4445d1c41a23d4bdb7988eba489e73932f name: kbd-misc - evr: 2.4.0-10.el9 - sourcerpm: kbd-2.4.0-10.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/k/kernel-core-5.14.0-503.40.1.el9_5.x86_64.rpm + evr: 2.4.0-11.el9 + sourcerpm: kbd-2.4.0-11.el9.src.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/k/kernel-core-5.14.0-611.11.1.el9_7.x86_64.rpm repoid: rhel-9-for-x86_64-baseos-rpms - size: 18523977 - checksum: sha256:ef3b69a9df2a40e9b5b42ad16206c00ee190510a151a3859e0dc598a4dc9ac46 + size: 18202813 + checksum: sha256:669effff1a13742513a9f21373bc42242fff610bfcbcf7883e722f40bb5d846d name: kernel-core - evr: 5.14.0-503.40.1.el9_5 - sourcerpm: kernel-5.14.0-503.40.1.el9_5.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/k/kernel-modules-core-5.14.0-503.40.1.el9_5.x86_64.rpm + evr: 5.14.0-611.11.1.el9_7 + sourcerpm: kernel-5.14.0-611.11.1.el9_7.src.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/k/kernel-modules-core-5.14.0-611.11.1.el9_7.x86_64.rpm repoid: rhel-9-for-x86_64-baseos-rpms - size: 32076905 - checksum: sha256:f4bd62a15148e53239db060cb5fd5e221e784e66c8199ce736275cf6e70a9b54 + size: 32548577 + checksum: sha256:3221c8a5910c40be0b7eff8343445d0705930f397bf3fbc31f82054bd5329e35 name: kernel-modules-core - evr: 5.14.0-503.40.1.el9_5 - sourcerpm: kernel-5.14.0-503.40.1.el9_5.src.rpm + evr: 5.14.0-611.11.1.el9_7 + sourcerpm: kernel-5.14.0-611.11.1.el9_7.src.rpm - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/k/keyutils-1.6.3-1.el9.x86_64.rpm repoid: rhel-9-for-x86_64-baseos-rpms size: 79682 @@ -1362,55 +1159,34 @@ arches: name: keyutils evr: 1.6.3-1.el9 sourcerpm: keyutils-1.6.3-1.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/k/keyutils-libs-1.6.3-1.el9.x86_64.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/k/kmod-28-11.el9.x86_64.rpm repoid: rhel-9-for-x86_64-baseos-rpms - size: 34363 - checksum: sha256:96d75824948387a884d206865db534cd3d46f32422efcb020c20060b59edb27c - name: keyutils-libs - evr: 1.6.3-1.el9 - sourcerpm: keyutils-1.6.3-1.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/k/kmod-28-10.el9.x86_64.rpm - repoid: rhel-9-for-x86_64-baseos-rpms - size: 132888 - checksum: sha256:e9ccad17d4c6c30524ec5c2aab8d8d351f2776ab564baccdbd2df9b54e28baea + size: 127775 + checksum: sha256:f85ac587f3c6abab55c30986b5f4af790c3fa2f2a413057db8e9250c79825b5d name: kmod - evr: 28-10.el9 - sourcerpm: kmod-28-10.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/k/kmod-libs-28-10.el9.x86_64.rpm + evr: 28-11.el9 + sourcerpm: kmod-28-11.el9.src.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/k/kmod-libs-28-11.el9.x86_64.rpm repoid: rhel-9-for-x86_64-baseos-rpms - size: 66607 - checksum: sha256:9ae0b89812908ee50ec654ba35f74dc478057e8981afd4a5cc8d2befd987b342 + size: 63619 + checksum: sha256:f296bc24a1b8ba6c40ed73ba736be97ed78e4124b6dbdd8a0a25a9683d4ff1ce name: kmod-libs - evr: 28-10.el9 - sourcerpm: kmod-28-10.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/k/kpartx-0.8.7-32.el9.x86_64.rpm + evr: 28-11.el9 + sourcerpm: kmod-28-11.el9.src.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/k/kpartx-0.8.7-39.el9.x86_64.rpm repoid: rhel-9-for-x86_64-baseos-rpms - size: 52119 - checksum: sha256:c9ab012f2161ff019d0d26a8e4e413c0d9c2dfb68927fa3e93b5693c4cae0312 + size: 47684 + checksum: sha256:cc016073420ddbeaf4ef87a413dfae6b262ff2e14b9afe449e6e79da2da6c533 name: kpartx - evr: 0.8.7-32.el9 - sourcerpm: device-mapper-multipath-0.8.7-32.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/k/krb5-libs-1.21.1-4.el9_5.x86_64.rpm - repoid: rhel-9-for-x86_64-baseos-rpms - size: 789579 - checksum: sha256:f2f2864541b19530aa4249f5530822f91da72ba1e10bf5fd364fe1603da4ef22 - name: krb5-libs - evr: 1.21.1-4.el9_5 - sourcerpm: krb5-1.21.1-4.el9_5.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/l/less-590-5.el9.x86_64.rpm - repoid: rhel-9-for-x86_64-baseos-rpms - size: 170758 - checksum: sha256:a726061c966a134a5e5b42b60e4162ee85a2cef8843b6fd28e08264ceebb54f4 - name: less - evr: 590-5.el9 - sourcerpm: less-590-5.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/l/libacl-2.3.1-4.el9.x86_64.rpm + evr: 0.8.7-39.el9 + sourcerpm: device-mapper-multipath-0.8.7-39.el9.src.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/l/less-590-6.el9.x86_64.rpm repoid: rhel-9-for-x86_64-baseos-rpms - size: 24627 - checksum: sha256:dc50fd67447efd6367395b3e1517bfc1fa958652a75ce7619358812a8f6c80aa - name: libacl - evr: 2.3.1-4.el9 - sourcerpm: acl-2.3.1-4.el9.src.rpm + size: 166025 + checksum: sha256:5bd040f9dd813167935fc390d546c119d90e0a9c77447a3d9ed1ef69c6f5a32a + name: less + evr: 590-6.el9 + sourcerpm: less-590-6.el9.src.rpm - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/l/libaio-0.3.111-13.el9.x86_64.rpm repoid: rhel-9-for-x86_64-baseos-rpms size: 27100 @@ -1418,34 +1194,6 @@ arches: name: libaio evr: 0.3.111-13.el9 sourcerpm: libaio-0.3.111-13.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/l/libarchive-3.5.3-4.el9.x86_64.rpm - repoid: rhel-9-for-x86_64-baseos-rpms - size: 401302 - checksum: sha256:3adc7a9ace1115daa32a327c9f257fc113c1a3a7e561443189f6318222e30238 - name: libarchive - evr: 3.5.3-4.el9 - sourcerpm: libarchive-3.5.3-4.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/l/libassuan-2.5.5-3.el9.x86_64.rpm - repoid: rhel-9-for-x86_64-baseos-rpms - size: 72450 - checksum: sha256:9ba40981a8ea3d51a689a41c2d404bc8d127c6788bc3ae84cefcd5bd3e49cf66 - name: libassuan - evr: 2.5.5-3.el9 - sourcerpm: libassuan-2.5.5-3.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/l/libatomic-11.5.0-5.el9_5.x86_64.rpm - repoid: rhel-9-for-x86_64-baseos-rpms - size: 28095 - checksum: sha256:f319f76d1b4f3c82cc2cf8eee5b3c170a1d6f5c1c72d7790141307159572578a - name: libatomic - evr: 11.5.0-5.el9_5 - sourcerpm: gcc-11.5.0-5.el9_5.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/l/libattr-2.5.1-3.el9.x86_64.rpm - repoid: rhel-9-for-x86_64-baseos-rpms - size: 20786 - checksum: sha256:6519f028915fbd7ee0474f0bf4e98e35f04b5d0cf7be9f66c0cb9eafac0b8c5a - name: libattr - evr: 2.5.1-3.el9 - sourcerpm: attr-2.5.1-3.el9.src.rpm - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/l/libbasicobjects-0.1.1-53.el9.x86_64.rpm repoid: rhel-9-for-x86_64-baseos-rpms size: 29215 @@ -1453,20 +1201,13 @@ arches: name: libbasicobjects evr: 0.1.1-53.el9 sourcerpm: ding-libs-0.6.1-53.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/l/libblkid-2.37.4-20.el9.x86_64.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/l/libbpf-1.5.0-2.el9.x86_64.rpm repoid: rhel-9-for-x86_64-baseos-rpms - size: 111464 - checksum: sha256:34df34730310ec4442ad29e01dc803e97649de591d4e30f0a7294fb828964f88 - name: libblkid - evr: 2.37.4-20.el9 - sourcerpm: util-linux-2.37.4-20.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/l/libbpf-1.4.0-1.el9.x86_64.rpm - repoid: rhel-9-for-x86_64-baseos-rpms - size: 183335 - checksum: sha256:729054a1c8b0ccc35d2e2156ebf37d5431842c25135bb7267d2486eefcd36654 + size: 190170 + checksum: sha256:2343be1ae324535811fb6b952ff0d8c23ba5a326582883055d7ed8f0e71433ca name: libbpf - evr: 2:1.4.0-1.el9 - sourcerpm: libbpf-1.4.0-1.el9.src.rpm + evr: 2:1.5.0-2.el9 + sourcerpm: libbpf-1.5.0-2.el9.src.rpm - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/l/libbrotli-1.0.9-7.el9_5.x86_64.rpm repoid: rhel-9-for-x86_64-baseos-rpms size: 323932 @@ -1474,20 +1215,6 @@ arches: name: libbrotli evr: 1.0.9-7.el9_5 sourcerpm: brotli-1.0.9-7.el9_5.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/l/libcap-2.48-9.el9_2.x86_64.rpm - repoid: rhel-9-for-x86_64-baseos-rpms - size: 76130 - checksum: sha256:d108abf74d0a27a1f82f9fe868db403622b0486e547c4b9557a18d367981fe24 - name: libcap - evr: 2.48-9.el9_2 - sourcerpm: libcap-2.48-9.el9_2.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/l/libcap-ng-0.8.2-7.el9.x86_64.rpm - repoid: rhel-9-for-x86_64-baseos-rpms - size: 36752 - checksum: sha256:ebddfc188d1ddbb0d6a238583cbc02dcb9fc0bd063a850b22d48980899976628 - name: libcap-ng - evr: 0.8.2-7.el9 - sourcerpm: libcap-ng-0.8.2-7.el9.src.rpm - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/l/libcollection-0.7.0-53.el9.x86_64.rpm repoid: rhel-9-for-x86_64-baseos-rpms size: 48366 @@ -1495,13 +1222,6 @@ arches: name: libcollection evr: 0.7.0-53.el9 sourcerpm: ding-libs-0.6.1-53.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/l/libcom_err-1.46.5-5.el9.x86_64.rpm - repoid: rhel-9-for-x86_64-baseos-rpms - size: 28592 - checksum: sha256:f6c7160a36f12a9cfa3357863c4d3fb032d584c21edf66ef6c729cd5a48a14b6 - name: libcom_err - evr: 1.46.5-5.el9 - sourcerpm: e2fsprogs-1.46.5-5.el9.src.rpm - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/l/libcomps-0.1.18-1.el9.x86_64.rpm repoid: rhel-9-for-x86_64-baseos-rpms size: 81851 @@ -1516,27 +1236,13 @@ arches: name: libconfig evr: 1.7.2-9.el9 sourcerpm: libconfig-1.7.2-9.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/l/libcurl-7.76.1-31.el9.x86_64.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/l/libdb-5.3.28-57.el9_6.x86_64.rpm repoid: rhel-9-for-x86_64-baseos-rpms - size: 292648 - checksum: sha256:330279706b226ca5b8257e246131b726a485ebfc6d7ffb0c842e770dbc2ded28 - name: libcurl - evr: 7.76.1-31.el9 - sourcerpm: curl-7.76.1-31.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/l/libdb-5.3.28-54.el9.x86_64.rpm - repoid: rhel-9-for-x86_64-baseos-rpms - size: 754801 - checksum: sha256:599dbc91894bde538297d859cd5efd64e95b5b06ffac2c0057b32b1be6c8d9ac + size: 755192 + checksum: sha256:3246e76f197e2b60eb470b9b55d3e0dda2301b029f295fed9c38ff70b87c5b6b name: libdb - evr: 5.3.28-54.el9 - sourcerpm: libdb-5.3.28-54.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/l/libdnf-0.69.0-12.el9.x86_64.rpm - repoid: rhel-9-for-x86_64-baseos-rpms - size: 681446 - checksum: sha256:d3b882f6eec1ffc61a2c779cd5618794f90ab8813fd245ce8295a3d4729ebd0f - name: libdnf - evr: 0.69.0-12.el9 - sourcerpm: libdnf-0.69.0-12.el9.src.rpm + evr: 5.3.28-57.el9_6 + sourcerpm: libdb-5.3.28-57.el9_6.src.rpm - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/l/libeconf-0.4.1-4.el9.x86_64.rpm repoid: rhel-9-for-x86_64-baseos-rpms size: 30371 @@ -1551,83 +1257,41 @@ arches: name: libedit evr: 3.1-38.20210216cvs.el9 sourcerpm: libedit-3.1-38.20210216cvs.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/l/libev-4.33-5.el9.x86_64.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/l/libev-4.33-6.el9.x86_64.rpm repoid: rhel-9-for-x86_64-baseos-rpms - size: 57040 - checksum: sha256:3e17be80f2238f8a12564ab3bd205f790c0abfec42b55987fe042fda4f1d9e33 + size: 55816 + checksum: sha256:5060a2d021e411d792000ea68f76604bc56e0c7a9d024de2a478814b91b5f9e8 name: libev - evr: 4.33-5.el9 - sourcerpm: libev-4.33-5.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/l/libevent-2.1.12-8.el9_4.x86_64.rpm - repoid: rhel-9-for-x86_64-baseos-rpms - size: 272588 - checksum: sha256:072426910a254b797bbe977b3397ab90513911d020580a0135179f700a48df44 - name: libevent - evr: 2.1.12-8.el9_4 - sourcerpm: libevent-2.1.12-8.el9_4.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/l/libfdisk-2.37.4-20.el9.x86_64.rpm - repoid: rhel-9-for-x86_64-baseos-rpms - size: 158733 - checksum: sha256:f0c0fc67a144dffcef138044c0a563ac9cdb4fa7b00a8e7c4c77e48e9ca35487 + evr: 4.33-6.el9 + sourcerpm: libev-4.33-6.el9.src.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/l/libfdisk-2.37.4-21.el9.x86_64.rpm + repoid: rhel-9-for-x86_64-baseos-rpms + size: 159417 + checksum: sha256:81c7676b72b85d8b5822888c510952ec0996b3d89bf8cddaf76dba31bc72a4a1 name: libfdisk - evr: 2.37.4-20.el9 - sourcerpm: util-linux-2.37.4-20.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/l/libffi-3.4.2-8.el9.x86_64.rpm - repoid: rhel-9-for-x86_64-baseos-rpms - size: 40619 - checksum: sha256:dde0012a94c6f3825e605b095b15767d89c2b87a5da097348310d7e87721c645 - name: libffi - evr: 3.4.2-8.el9 - sourcerpm: libffi-3.4.2-8.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/l/libgcc-11.5.0-5.el9_5.x86_64.rpm - repoid: rhel-9-for-x86_64-baseos-rpms - size: 89621 - checksum: sha256:6f7bc4ed734b01d36f9dba66f34f610f2f39e5280588814a666b4d4be2dd8807 - name: libgcc - evr: 11.5.0-5.el9_5 - sourcerpm: gcc-11.5.0-5.el9_5.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/l/libgcrypt-1.10.0-11.el9.x86_64.rpm - repoid: rhel-9-for-x86_64-baseos-rpms - size: 522581 - checksum: sha256:9d5a5a4292a5a345143b632c2764ad8e7b095413f78f5693d29c2ea5e7d37119 - name: libgcrypt - evr: 1.10.0-11.el9 - sourcerpm: libgcrypt-1.10.0-11.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/l/libgomp-11.5.0-5.el9_5.x86_64.rpm - repoid: rhel-9-for-x86_64-baseos-rpms - size: 269396 - checksum: sha256:da7af36960df4b59178f4d7c42353d48c53fbe231e7e62d734a4319748f897a9 + evr: 2.37.4-21.el9 + sourcerpm: util-linux-2.37.4-21.el9.src.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/l/libgomp-11.5.0-11.el9.x86_64.rpm + repoid: rhel-9-for-x86_64-baseos-rpms + size: 263529 + checksum: sha256:da7aa3b4934ff0ccf24f925b8216654cf9c9881f64075e2fde1da4f560ca5c2f name: libgomp - evr: 11.5.0-5.el9_5 - sourcerpm: gcc-11.5.0-5.el9_5.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/l/libgpg-error-1.42-5.el9.x86_64.rpm - repoid: rhel-9-for-x86_64-baseos-rpms - size: 225603 - checksum: sha256:8248e20d7a253aa9c0dc7dc3d56b42e1def4fd5753ce8e8b9e980aa664fc9068 - name: libgpg-error - evr: 1.42-5.el9 - sourcerpm: libgpg-error-1.42-5.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/l/libibverbs-51.0-1.el9.x86_64.rpm - repoid: rhel-9-for-x86_64-baseos-rpms - size: 457128 - checksum: sha256:5e31d0dc58070f6b9c689c5e134ec1fd268093aaacede8f9501024cc81ba199a + evr: 11.5.0-11.el9 + sourcerpm: gcc-11.5.0-11.el9.src.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/l/libibverbs-57.0-2.el9.x86_64.rpm + repoid: rhel-9-for-x86_64-baseos-rpms + size: 463544 + checksum: sha256:d96bbefb46683bd3ddfffd0668898c591f253dfca25e5ac2ddf90f812512e5b7 name: libibverbs - evr: 51.0-1.el9 - sourcerpm: rdma-core-51.0-1.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/l/libicu-67.1-9.el9.x86_64.rpm + evr: 57.0-2.el9 + sourcerpm: rdma-core-57.0-2.el9.src.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/l/libicu-67.1-10.el9_6.x86_64.rpm repoid: rhel-9-for-x86_64-baseos-rpms - size: 10023600 - checksum: sha256:d6a263811f4752dfaeb28c7e0f37f8300ed2355e66c5ad994f7ae2a4a4ac6fdd + size: 10037375 + checksum: sha256:1ea6ee313827c1f5d1a73ea84c2f72b3f6567bf821a019efbd6caee00e3d5543 name: libicu - evr: 67.1-9.el9 - sourcerpm: icu-67.1-9.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/l/libidn2-2.3.0-7.el9.x86_64.rpm - repoid: rhel-9-for-x86_64-baseos-rpms - size: 107099 - checksum: sha256:055f4ce6b721be7138dc2e45a6586412c65508acea3fe385a2655c129fe264f9 - name: libidn2 - evr: 2.3.0-7.el9 - sourcerpm: libidn2-2.3.0-7.el9.src.rpm + evr: 67.1-10.el9_6 + sourcerpm: icu-67.1-10.el9_6.src.rpm - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/l/libini_config-1.3.1-53.el9.x86_64.rpm repoid: rhel-9-for-x86_64-baseos-rpms size: 70916 @@ -1649,13 +1313,6 @@ arches: name: libkcapi-hmaccalc evr: 1.4.0-2.el9 sourcerpm: libkcapi-1.4.0-2.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/l/libksba-1.5.1-7.el9.x86_64.rpm - repoid: rhel-9-for-x86_64-baseos-rpms - size: 160847 - checksum: sha256:0a6410250b9cbb346a33a5dec3a5ae83ebb7a32bf953b036c2d244e6d40d75a0 - name: libksba - evr: 1.5.1-7.el9 - sourcerpm: libksba-1.5.1-7.el9.src.rpm - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/l/libmnl-1.0.4-16.el9_4.x86_64.rpm repoid: rhel-9-for-x86_64-baseos-rpms size: 30949 @@ -1663,20 +1320,6 @@ arches: name: libmnl evr: 1.0.4-16.el9_4 sourcerpm: libmnl-1.0.4-16.el9_4.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/l/libmodulemd-2.13.0-2.el9.x86_64.rpm - repoid: rhel-9-for-x86_64-baseos-rpms - size: 241799 - checksum: sha256:cbfc39242893840be2cb4233c446094149700fe35b14b97779318ed007d4aeff - name: libmodulemd - evr: 2.13.0-2.el9 - sourcerpm: libmodulemd-2.13.0-2.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/l/libmount-2.37.4-20.el9.x86_64.rpm - repoid: rhel-9-for-x86_64-baseos-rpms - size: 139393 - checksum: sha256:c7ec6e0fba1226d282592b1a2450829c4f3f171a1e3cb76ad8828f9b8582a682 - name: libmount - evr: 2.37.4-20.el9 - sourcerpm: util-linux-2.37.4-20.el9.src.rpm - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/l/libnetfilter_conntrack-1.0.9-1.el9.x86_64.rpm repoid: rhel-9-for-x86_64-baseos-rpms size: 62066 @@ -1691,13 +1334,13 @@ arches: name: libnfnetlink evr: 1.0.1-23.el9_5 sourcerpm: libnfnetlink-1.0.1-23.el9_5.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/l/libnfsidmap-2.5.4-27.el9.x86_64.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/l/libnfsidmap-2.5.4-38.el9.x86_64.rpm repoid: rhel-9-for-x86_64-baseos-rpms - size: 66915 - checksum: sha256:725c44053a5c5168a5a866d250e85db71761104392743f9fae46f0ae44dcea2c + size: 63556 + checksum: sha256:b61ea185fad29e6dcc0d3709e7516d08a3182917ff3eaeda7888a4858c1dfde8 name: libnfsidmap - evr: 1:2.5.4-27.el9 - sourcerpm: nfs-utils-2.5.4-27.el9.src.rpm + evr: 1:2.5.4-38.el9 + sourcerpm: nfs-utils-2.5.4-38.el9.src.rpm - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/l/libnftnl-1.2.6-4.el9_4.x86_64.rpm repoid: rhel-9-for-x86_64-baseos-rpms size: 91380 @@ -1705,20 +1348,20 @@ arches: name: libnftnl evr: 1.2.6-4.el9_4 sourcerpm: libnftnl-1.2.6-4.el9_4.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/l/libnghttp2-1.43.0-6.el9.x86_64.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/l/libnl3-3.11.0-1.el9.x86_64.rpm repoid: rhel-9-for-x86_64-baseos-rpms - size: 76742 - checksum: sha256:ebc37f2252164962b03dd3a4b5e53ab5e1e9234a8657219e8c8e9064dcb98b2e - name: libnghttp2 - evr: 1.43.0-6.el9 - sourcerpm: nghttp2-1.43.0-6.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/l/libnl3-3.9.0-1.el9.x86_64.rpm - repoid: rhel-9-for-x86_64-baseos-rpms - size: 367914 - checksum: sha256:f436a96ba3433f501a7015bec2fa35ac05b52b776f0256b9c8cb3e6268086817 + size: 376137 + checksum: sha256:89728a253a5bf1c8e01c40573f1283d40188e003bdbd4ac565f8b0f05bced55c name: libnl3 - evr: 3.9.0-1.el9 - sourcerpm: libnl3-3.9.0-1.el9.src.rpm + evr: 3.11.0-1.el9 + sourcerpm: libnl3-3.11.0-1.el9.src.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/l/libnvme-1.13-1.el9.x86_64.rpm + repoid: rhel-9-for-x86_64-baseos-rpms + size: 113489 + checksum: sha256:a950621aa574c884c571cd36406e1fb8ef59cddc5510e65ce820a9d3a3db4588 + name: libnvme + evr: 1.13-1.el9 + sourcerpm: libnvme-1.13-1.el9.src.rpm - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/l/libpath_utils-0.2.1-53.el9.x86_64.rpm repoid: rhel-9-for-x86_64-baseos-rpms size: 32479 @@ -1761,13 +1404,13 @@ arches: name: libpwquality evr: 1.4.4-8.el9 sourcerpm: libpwquality-1.4.4-8.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/l/librdmacm-51.0-1.el9.x86_64.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/l/librdmacm-57.0-2.el9.x86_64.rpm repoid: rhel-9-for-x86_64-baseos-rpms - size: 75438 - checksum: sha256:52f6dd4c4ddaf502f18c90797ad0364fe73265a0cbd7ad119e48212a26405f7b + size: 71393 + checksum: sha256:fec607f80cd4964f8146d13bb9e04387b69e3535ef1dd71f37848d2cb83a489b name: librdmacm - evr: 51.0-1.el9 - sourcerpm: rdma-core-51.0-1.el9.src.rpm + evr: 57.0-2.el9 + sourcerpm: rdma-core-57.0-2.el9.src.rpm - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/l/libref_array-0.1.5-53.el9.x86_64.rpm repoid: rhel-9-for-x86_64-baseos-rpms size: 30902 @@ -1775,27 +1418,6 @@ arches: name: libref_array evr: 0.1.5-53.el9 sourcerpm: ding-libs-0.6.1-53.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/l/librepo-1.14.5-2.el9.x86_64.rpm - repoid: rhel-9-for-x86_64-baseos-rpms - size: 91724 - checksum: sha256:92f05514cef234ffa21cc4ad5c8d352d38d00aad24c7392ab6f7ae0a9509cf24 - name: librepo - evr: 1.14.5-2.el9 - sourcerpm: librepo-1.14.5-2.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/l/libreport-filesystem-2.15.2-6.el9.noarch.rpm - repoid: rhel-9-for-x86_64-baseos-rpms - size: 15553 - checksum: sha256:7bebc8a5fc0f4be20a1dce94deccd2495196c34027e18a3a732a0f97b40c86bb - name: libreport-filesystem - evr: 2.15.2-6.el9 - sourcerpm: libreport-2.15.2-6.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/l/librhsm-0.0.3-9.el9.x86_64.rpm - repoid: rhel-9-for-x86_64-baseos-rpms - size: 37830 - checksum: sha256:7bb795dc2b4663617ac0697b9f8364e4e1e976121bf4308c038101d2e2fa10bb - name: librhsm - evr: 0.0.3-9.el9 - sourcerpm: librhsm-0.0.3-9.el9.src.rpm - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/l/libseccomp-2.5.2-2.el9.x86_64.rpm repoid: rhel-9-for-x86_64-baseos-rpms size: 76200 @@ -1803,90 +1425,34 @@ arches: name: libseccomp evr: 2.5.2-2.el9 sourcerpm: libseccomp-2.5.2-2.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/l/libselinux-3.6-1.el9.x86_64.rpm - repoid: rhel-9-for-x86_64-baseos-rpms - size: 89946 - checksum: sha256:13689218202fab6f3ec8f3ed88bc2f279377eced3ba6b95daff7b8f5f71eea6e - name: libselinux - evr: 3.6-1.el9 - sourcerpm: libselinux-3.6-1.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/l/libselinux-utils-3.6-1.el9.x86_64.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/l/libselinux-utils-3.6-3.el9.x86_64.rpm repoid: rhel-9-for-x86_64-baseos-rpms - size: 198772 - checksum: sha256:479229e7c3d8cb005dafd637b2973fbee0bb507cfed8e72f7076318513200abd + size: 198410 + checksum: sha256:e5d79885864cd5b2a307065b43ba1af1523ec7ac26eace2717c70ede1b6e4c56 name: libselinux-utils - evr: 3.6-1.el9 - sourcerpm: libselinux-3.6-1.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/l/libsemanage-3.6-2.1.el9_5.x86_64.rpm - repoid: rhel-9-for-x86_64-baseos-rpms - size: 123104 - checksum: sha256:8e6d515de0d5029ec2b98c9acc7f811359ad65337271018230b44c0de0cf10e0 - name: libsemanage - evr: 3.6-2.1.el9_5 - sourcerpm: libsemanage-3.6-2.1.el9_5.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/l/libsepol-3.6-1.el9.x86_64.rpm - repoid: rhel-9-for-x86_64-baseos-rpms - size: 339336 - checksum: sha256:bd28318adcee4e2124d612bcb349156ca88991b3b6151c0f9cd5e3865d67da8d - name: libsepol - evr: 3.6-1.el9 - sourcerpm: libsepol-3.6-1.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/l/libsigsegv-2.13-4.el9.x86_64.rpm - repoid: rhel-9-for-x86_64-baseos-rpms - size: 30681 - checksum: sha256:24005c62017797b612d047a2af83a218633b32302a787fabd22e52230db6adc1 - name: libsigsegv - evr: 2.13-4.el9 - sourcerpm: libsigsegv-2.13-4.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/l/libsmartcols-2.37.4-20.el9.x86_64.rpm - repoid: rhel-9-for-x86_64-baseos-rpms - size: 65886 - checksum: sha256:f60643a25db1bcccf2bb96934bbbf95967b112b758c92edaa76f10b73c23400f - name: libsmartcols - evr: 2.37.4-20.el9 - sourcerpm: util-linux-2.37.4-20.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/l/libsolv-0.7.24-3.el9.x86_64.rpm - repoid: rhel-9-for-x86_64-baseos-rpms - size: 416919 - checksum: sha256:9b794c3b6cac4a3abb49d427ef44293d0489a600a2199b5dd2c763dcd72a9149 - name: libsolv - evr: 0.7.24-3.el9 - sourcerpm: libsolv-0.7.24-3.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/l/libss-1.46.5-5.el9.x86_64.rpm - repoid: rhel-9-for-x86_64-baseos-rpms - size: 34210 - checksum: sha256:96d2e40884d0a56a5ae47400f50ee79f9ecb389e54b26bb33b81e97797679d60 + evr: 3.6-3.el9 + sourcerpm: libselinux-3.6-3.el9.src.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/l/libss-1.46.5-8.el9.x86_64.rpm + repoid: rhel-9-for-x86_64-baseos-rpms + size: 32574 + checksum: sha256:8565c5f87c0a3e5296f2941114297df6d743ea852845f59c53c1a59de0bb228c name: libss - evr: 1.46.5-5.el9 - sourcerpm: e2fsprogs-1.46.5-5.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/l/libssh-0.10.4-13.el9.x86_64.rpm + evr: 1.46.5-8.el9 + sourcerpm: e2fsprogs-1.46.5-8.el9.src.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/l/libssh-0.10.4-15.el9_7.x86_64.rpm repoid: rhel-9-for-x86_64-baseos-rpms - size: 224804 - checksum: sha256:7c51bc940814b49a57b331b68508732b76b16f5c237538c26fc06e6d824da77f + size: 218658 + checksum: sha256:b5f471477429d87182dd00e71180f4cd57b0b215e9a540db9af0a7cb7b40ad30 name: libssh - evr: 0.10.4-13.el9 - sourcerpm: libssh-0.10.4-13.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/l/libssh-config-0.10.4-13.el9.noarch.rpm + evr: 0.10.4-15.el9_7 + sourcerpm: libssh-0.10.4-15.el9_7.src.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/l/libssh-config-0.10.4-15.el9_7.noarch.rpm repoid: rhel-9-for-x86_64-baseos-rpms - size: 11463 - checksum: sha256:0cc66bee3af1b8939f108dce622a47a58482f182ab3abb851b3252a44315aa23 + size: 8003 + checksum: sha256:80c4f2788a81f2db11cb09c24598b480a730252dab92d1748a62095483625b03 name: libssh-config - evr: 0.10.4-13.el9 - sourcerpm: libssh-0.10.4-13.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/l/libstdc++-11.5.0-5.el9_5.x86_64.rpm - repoid: rhel-9-for-x86_64-baseos-rpms - size: 759582 - checksum: sha256:bd344d5654cc4385fc5480249a873a418bcdee6ba8a257012edc3bc255c63ab0 - name: libstdc++ - evr: 11.5.0-5.el9_5 - sourcerpm: gcc-11.5.0-5.el9_5.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/l/libtasn1-4.16.0-8.el9_1.x86_64.rpm - repoid: rhel-9-for-x86_64-baseos-rpms - size: 78950 - checksum: sha256:20670ac5d570fb9adf0d11000eb3e9b95f05ba580752cae912f3fa8347f18279 - name: libtasn1 - evr: 4.16.0-8.el9_1 - sourcerpm: libtasn1-4.16.0-8.el9_1.src.rpm + evr: 0.10.4-15.el9_7 + sourcerpm: libssh-0.10.4-15.el9_7.src.rpm - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/l/libtirpc-1.3.3-9.el9.x86_64.rpm repoid: rhel-9-for-x86_64-baseos-rpms size: 98934 @@ -1894,20 +1460,6 @@ arches: name: libtirpc evr: 1.3.3-9.el9 sourcerpm: libtirpc-1.3.3-9.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/l/libunistring-0.9.10-15.el9.x86_64.rpm - repoid: rhel-9-for-x86_64-baseos-rpms - size: 510558 - checksum: sha256:6477fb3c3285158f676360e228057e13dc6e983f453c7c74ed4ab140357f9a0d - name: libunistring - evr: 0.9.10-15.el9 - sourcerpm: libunistring-0.9.10-15.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/l/libusbx-1.0.26-1.el9.x86_64.rpm - repoid: rhel-9-for-x86_64-baseos-rpms - size: 80311 - checksum: sha256:393daea3d5cfd8f2f66121f91d1589c53893f87130fb5b2b3b77c5b571788ec7 - name: libusbx - evr: 1.0.26-1.el9 - sourcerpm: libusbx-1.0.26-1.el9.src.rpm - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/l/libutempter-1.2.1-6.el9.x86_64.rpm repoid: rhel-9-for-x86_64-baseos-rpms size: 30354 @@ -1915,20 +1467,6 @@ arches: name: libutempter evr: 1.2.1-6.el9 sourcerpm: libutempter-1.2.1-6.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/l/libuuid-2.37.4-20.el9.x86_64.rpm - repoid: rhel-9-for-x86_64-baseos-rpms - size: 30396 - checksum: sha256:33a3caba8fee07f6c52a72e402ce232b83d2eb469f5fcabdd7477a2c694cb97c - name: libuuid - evr: 2.37.4-20.el9 - sourcerpm: util-linux-2.37.4-20.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/l/libverto-0.3.2-3.el9.x86_64.rpm - repoid: rhel-9-for-x86_64-baseos-rpms - size: 25042 - checksum: sha256:7008029afd91af33ca17a22e6eb4ba792fd9b32bee8fb613c79c1527fa6f589a - name: libverto - evr: 0.3.2-3.el9 - sourcerpm: libverto-0.3.2-3.el9.src.rpm - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/l/libverto-libev-0.3.2-3.el9.x86_64.rpm repoid: rhel-9-for-x86_64-baseos-rpms size: 15452 @@ -1936,48 +1474,20 @@ arches: name: libverto-libev evr: 0.3.2-3.el9 sourcerpm: libverto-0.3.2-3.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/l/libxcrypt-4.4.18-3.el9.x86_64.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/l/linux-firmware-20251008-151.5.el9_6.noarch.rpm repoid: rhel-9-for-x86_64-baseos-rpms - size: 122599 - checksum: sha256:a50bb26a28ee7e6379c86b5b91285299b71569fa87ea968d800a56090b7a179d - name: libxcrypt - evr: 4.4.18-3.el9 - sourcerpm: libxcrypt-4.4.18-3.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/l/libxml2-2.9.13-6.el9_5.2.x86_64.rpm - repoid: rhel-9-for-x86_64-baseos-rpms - size: 769852 - checksum: sha256:e5cd2d2276a52e9e27fdeb0a75cde587639ec81ac3f240f1e24a07828d97b6a3 - name: libxml2 - evr: 2.9.13-6.el9_5.2 - sourcerpm: libxml2-2.9.13-6.el9_5.2.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/l/libyaml-0.2.5-7.el9.x86_64.rpm - repoid: rhel-9-for-x86_64-baseos-rpms - size: 64674 - checksum: sha256:409beeb1faf626a882e95763ec4892d514077289e6074d3b61bef1b90739ad66 - name: libyaml - evr: 0.2.5-7.el9 - sourcerpm: libyaml-0.2.5-7.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/l/libzstd-1.5.1-2.el9.x86_64.rpm - repoid: rhel-9-for-x86_64-baseos-rpms - size: 340056 - checksum: sha256:4b1da9c8125751fd5721ed9317e7937ca35cd99469a80b52c0ce4b7cf0f00ee5 - name: libzstd - evr: 1.5.1-2.el9 - sourcerpm: zstd-1.5.1-2.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/l/linux-firmware-20250212-146.4.el9_5.noarch.rpm - repoid: rhel-9-for-x86_64-baseos-rpms - size: 465865358 - checksum: sha256:5de2daf42fd4f2ca01872e36cb64931cc093abef4e7cc32a7516ae9be7a5cd34 + size: 690843915 + checksum: sha256:4a242de7e49a0fa608f1a6d05283e0adb870c46d165dd9a4365a5001c05b7c15 name: linux-firmware - evr: 20250212-146.4.el9_5 - sourcerpm: linux-firmware-20250212-146.4.el9_5.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/l/linux-firmware-whence-20250212-146.4.el9_5.noarch.rpm + evr: 20251008-151.5.el9_6 + sourcerpm: linux-firmware-20251008-151.5.el9_6.src.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/l/linux-firmware-whence-20251008-151.5.el9_6.noarch.rpm repoid: rhel-9-for-x86_64-baseos-rpms - size: 112607 - checksum: sha256:1d24198e8f4951bd3097a2b8feaa99ad9e88dd7f2deff991e0964f786d1bef59 + size: 124283 + checksum: sha256:7752c80c6f1bf6d83d9a85fa89507502e02ff98cf04d2b18d8207bdaaa070cfc name: linux-firmware-whence - evr: 20250212-146.4.el9_5 - sourcerpm: linux-firmware-20250212-146.4.el9_5.src.rpm + evr: 20251008-151.5.el9_6 + sourcerpm: linux-firmware-20251008-151.5.el9_6.src.rpm - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/l/lsscsi-0.32-6.el9.x86_64.rpm repoid: rhel-9-for-x86_64-baseos-rpms size: 72326 @@ -1985,34 +1495,20 @@ arches: name: lsscsi evr: 0.32-6.el9 sourcerpm: lsscsi-0.32-6.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/l/lua-libs-5.4.4-4.el9.x86_64.rpm - repoid: rhel-9-for-x86_64-baseos-rpms - size: 135403 - checksum: sha256:9c6c7abe93691e0a6be505199cccab5a41f92ada084faa4f1045ce3932b34d05 - name: lua-libs - evr: 5.4.4-4.el9 - sourcerpm: lua-5.4.4-4.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/l/lvm2-2.03.24-2.el9.x86_64.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/l/lvm2-2.03.32-2.el9.x86_64.rpm repoid: rhel-9-for-x86_64-baseos-rpms - size: 1614272 - checksum: sha256:440bd7d31fd69c05da9302dae1458addcc222452540730b2671994ae6664d658 + size: 1634934 + checksum: sha256:d5960c5558e3f7d8fb4475b999994c8c6f25445f9e6d61654e34f3ba04acef34 name: lvm2 - evr: 9:2.03.24-2.el9 - sourcerpm: lvm2-2.03.24-2.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/l/lvm2-libs-2.03.24-2.el9.x86_64.rpm + evr: 9:2.03.32-2.el9 + sourcerpm: lvm2-2.03.32-2.el9.src.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/l/lvm2-libs-2.03.32-2.el9.x86_64.rpm repoid: rhel-9-for-x86_64-baseos-rpms - size: 1051575 - checksum: sha256:4a100e8e8ece69f53a46039296e4217737c05de1267081fccf945ba589fc532c + size: 1050741 + checksum: sha256:90a4adaf3e6a43e5bff1d6f607417e5b748c67983605914d8028e5fa3d477688 name: lvm2-libs - evr: 9:2.03.24-2.el9 - sourcerpm: lvm2-2.03.24-2.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/l/lz4-libs-1.9.3-5.el9.x86_64.rpm - repoid: rhel-9-for-x86_64-baseos-rpms - size: 70922 - checksum: sha256:9658da838021711f687cf283368664984bfb1c8b9176897d7d477a724a11a731 - name: lz4-libs - evr: 1.9.3-5.el9 - sourcerpm: lz4-1.9.3-5.el9.src.rpm + evr: 9:2.03.32-2.el9 + sourcerpm: lvm2-2.03.32-2.el9.src.rpm - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/l/lzo-2.10-7.el9.x86_64.rpm repoid: rhel-9-for-x86_64-baseos-rpms size: 70686 @@ -2027,27 +1523,20 @@ arches: name: lzop evr: 1.04-8.el9 sourcerpm: lzop-1.04-8.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/m/man-db-2.9.3-7.el9.x86_64.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/m/man-db-2.9.3-9.el9.x86_64.rpm repoid: rhel-9-for-x86_64-baseos-rpms - size: 1245006 - checksum: sha256:1eb7770a27102f59012f704e90aa04b130ab4f46fec983a7441ec9e8810f2da4 + size: 1239738 + checksum: sha256:e808c97dbacfb05e1d9096fb062e1851201307ac80b63f57b561c9234141f550 name: man-db - evr: 2.9.3-7.el9 - sourcerpm: man-db-2.9.3-7.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/m/mdadm-4.3-4.el9_5.x86_64.rpm + evr: 2.9.3-9.el9 + sourcerpm: man-db-2.9.3-9.el9.src.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/m/mdadm-4.4-2.el9.x86_64.rpm repoid: rhel-9-for-x86_64-baseos-rpms - size: 456330 - checksum: sha256:f633c556a06d40aa7dcd4c93f13735c4d6a568813f9e03b50c88c469ed030c54 + size: 451682 + checksum: sha256:3ce595e738eaecbf0214b389012e17ccb77ee0ac185d1248d96572ea76fe1412 name: mdadm - evr: 4.3-4.el9_5 - sourcerpm: mdadm-4.3-4.el9_5.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/m/mpfr-4.1.0-7.el9.x86_64.rpm - repoid: rhel-9-for-x86_64-baseos-rpms - size: 337166 - checksum: sha256:cf60adcc7a5f0cb469e6f066a1bdc62ae9af7c06305c76c15884b59df7f93274 - name: mpfr - evr: 4.1.0-7.el9 - sourcerpm: mpfr-4.1.0-7.el9.src.rpm + evr: 4.4-2.el9 + sourcerpm: mdadm-4.4-2.el9.src.rpm - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/m/mtools-4.0.26-4.el9_0.x86_64.rpm repoid: rhel-9-for-x86_64-baseos-rpms size: 231610 @@ -2055,20 +1544,6 @@ arches: name: mtools evr: 4.0.26-4.el9_0 sourcerpm: mtools-4.0.26-4.el9_0.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/n/ncurses-base-6.2-10.20210508.el9.noarch.rpm - repoid: rhel-9-for-x86_64-baseos-rpms - size: 101737 - checksum: sha256:68a97f7bec435800cdbaf8a0c84abb267c4106a97898daed48ce2f931b0f1230 - name: ncurses-base - evr: 6.2-10.20210508.el9 - sourcerpm: ncurses-6.2-10.20210508.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/n/ncurses-libs-6.2-10.20210508.el9.x86_64.rpm - repoid: rhel-9-for-x86_64-baseos-rpms - size: 339787 - checksum: sha256:a283044b02b1c640cb280fa6ff4ef340a3156b81f8cf167041c5990d498a6886 - name: ncurses-libs - evr: 6.2-10.20210508.el9 - sourcerpm: ncurses-6.2-10.20210508.el9.src.rpm - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/n/ndctl-libs-78-2.el9.x86_64.rpm repoid: rhel-9-for-x86_64-baseos-rpms size: 94842 @@ -2076,41 +1551,27 @@ arches: name: ndctl-libs evr: 78-2.el9 sourcerpm: ndctl-78-2.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/n/nettle-3.9.1-1.el9.x86_64.rpm - repoid: rhel-9-for-x86_64-baseos-rpms - size: 577243 - checksum: sha256:d79d0da00f8d564caf90508e2c31ea5162cf52c57f69661d9683ffcae6199de4 - name: nettle - evr: 3.9.1-1.el9 - sourcerpm: nettle-3.9.1-1.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/n/nfs-utils-2.5.4-27.el9.x86_64.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/n/nfs-utils-2.5.4-38.el9.x86_64.rpm repoid: rhel-9-for-x86_64-baseos-rpms - size: 474591 - checksum: sha256:4e56545179d20c7d6fbf9fc80ecf5bfb8a6b17b25641ad3f376a0a1630106b73 + size: 471542 + checksum: sha256:cc9e0bb4c706261cd22f769c02e429dfd17df6059fed4dcca2e42c7798f6dadb name: nfs-utils - evr: 1:2.5.4-27.el9 - sourcerpm: nfs-utils-2.5.4-27.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/n/nftables-1.0.9-3.el9.x86_64.rpm + evr: 1:2.5.4-38.el9 + sourcerpm: nfs-utils-2.5.4-38.el9.src.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/n/nftables-1.0.9-5.el9_7.x86_64.rpm repoid: rhel-9-for-x86_64-baseos-rpms - size: 437243 - checksum: sha256:1e02a3396ca514706f1a0814e3e7a03f15cff6fb7af1d5b1bf49d3d991f0d927 + size: 430248 + checksum: sha256:b6d2dc3e700eba3b9c4aa0fa8e13240e525ba3f1acf7654860a5689132d1982c name: nftables - evr: 1:1.0.9-3.el9 - sourcerpm: nftables-1.0.9-3.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/n/npth-1.6-8.el9.x86_64.rpm - repoid: rhel-9-for-x86_64-baseos-rpms - size: 27653 - checksum: sha256:3e044d8534970034063e6445a142780bbe9d37f5e75b98f8788ade5470a32ab6 - name: npth - evr: 1.6-8.el9 - sourcerpm: npth-1.6-8.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/n/numactl-libs-2.0.18-2.el9.x86_64.rpm - repoid: rhel-9-for-x86_64-baseos-rpms - size: 32868 - checksum: sha256:7be06af9f8726616bbfdc899e51821544d55cee201075c7d2aa096dab3bcefe9 + evr: 1:1.0.9-5.el9_7 + sourcerpm: nftables-1.0.9-5.el9_7.src.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/n/numactl-libs-2.0.19-3.el9.x86_64.rpm + repoid: rhel-9-for-x86_64-baseos-rpms + size: 31071 + checksum: sha256:dcf66dcbdacd6d030f240de129ba1e939c30ed4217ccf40d36dcaebb3aa9e728 name: numactl-libs - evr: 2.0.18-2.el9 - sourcerpm: numactl-2.0.18-2.el9.src.rpm + evr: 2.0.19-3.el9 + sourcerpm: numactl-2.0.19-3.el9.src.rpm - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/n/numad-0.5-37.20150602git.el9.x86_64.rpm repoid: rhel-9-for-x86_64-baseos-rpms size: 39286 @@ -2125,118 +1586,55 @@ arches: name: oniguruma evr: 6.9.6-1.el9.6 sourcerpm: oniguruma-6.9.6-1.el9.6.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/o/openldap-2.6.6-3.el9.x86_64.rpm - repoid: rhel-9-for-x86_64-baseos-rpms - size: 292727 - checksum: sha256:fb0d936765a56c8acfb40c74f74937276a5cd394f3971f2154223f8c5f47b437 - name: openldap - evr: 2.6.6-3.el9 - sourcerpm: openldap-2.6.6-3.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/o/openssl-3.2.2-6.el9_5.1.x86_64.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/o/openssl-3.5.1-4.el9_7.x86_64.rpm repoid: rhel-9-for-x86_64-baseos-rpms - size: 1420999 - checksum: sha256:f379686df99db814e30568a896b417278775fc96864ac6d2660bf48ef94309e3 + size: 1554784 + checksum: sha256:e9c30e80d09e2ef402f5380ce0fa52f9e169d638a0c1c8c7485f7a8ff2d27da0 name: openssl - evr: 1:3.2.2-6.el9_5.1 - sourcerpm: openssl-3.2.2-6.el9_5.1.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/o/openssl-fips-provider-3.0.7-6.el9_5.x86_64.rpm - repoid: rhel-9-for-x86_64-baseos-rpms - size: 9625 - checksum: sha256:bd9266695b8238ed6fe436ae5f613cee2e5e1ee5d612ab495f1da2f21f2830aa - name: openssl-fips-provider - evr: 3.0.7-6.el9_5 - sourcerpm: openssl-fips-provider-3.0.7-6.el9_5.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/o/openssl-fips-provider-so-3.0.7-6.el9_5.x86_64.rpm - repoid: rhel-9-for-x86_64-baseos-rpms - size: 590625 - checksum: sha256:451372cea98f4993b2a4a2ed5876f1a661450e7487f73f945bbaf34789931437 - name: openssl-fips-provider-so - evr: 3.0.7-6.el9_5 - sourcerpm: openssl-fips-provider-3.0.7-6.el9_5.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/o/openssl-libs-3.2.2-6.el9_5.1.x86_64.rpm - repoid: rhel-9-for-x86_64-baseos-rpms - size: 2218318 - checksum: sha256:287d11706d44a53455ed8ac62faab4c4a0b8c0fa5e367adf122c7a76c6ddbbb8 - name: openssl-libs - evr: 1:3.2.2-6.el9_5.1 - sourcerpm: openssl-3.2.2-6.el9_5.1.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/p/p11-kit-0.25.3-3.el9_5.x86_64.rpm - repoid: rhel-9-for-x86_64-baseos-rpms - size: 548533 - checksum: sha256:e5a99495f837953c90ae46d0226fec22ae972ff57074b31f9a5a1dd9c562065f - name: p11-kit - evr: 0.25.3-3.el9_5 - sourcerpm: p11-kit-0.25.3-3.el9_5.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/p/p11-kit-trust-0.25.3-3.el9_5.x86_64.rpm - repoid: rhel-9-for-x86_64-baseos-rpms - size: 147809 - checksum: sha256:16a699351e080fceea5b3aec2dc53a290cad960b8c94cf88832107843e452fc2 - name: p11-kit-trust - evr: 0.25.3-3.el9_5 - sourcerpm: p11-kit-0.25.3-3.el9_5.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/p/pam-1.5.1-22.el9_5.x86_64.rpm - repoid: rhel-9-for-x86_64-baseos-rpms - size: 647471 - checksum: sha256:d0c495a13f0c6d0fdefc309086a81e64eb852255ce64a45b766187bd09de41d0 + evr: 1:3.5.1-4.el9_7 + sourcerpm: openssl-3.5.1-4.el9_7.src.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/p/pam-1.5.1-26.el9_6.x86_64.rpm + repoid: rhel-9-for-x86_64-baseos-rpms + size: 636788 + checksum: sha256:247027fa7a2236c1fb46756ed372637f85cf85886603a2ad5ba918e4231324bc name: pam - evr: 1.5.1-22.el9_5 - sourcerpm: pam-1.5.1-22.el9_5.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/p/parted-3.5-2.el9.x86_64.rpm + evr: 1.5.1-26.el9_6 + sourcerpm: pam-1.5.1-26.el9_6.src.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/p/parted-3.5-3.el9.x86_64.rpm repoid: rhel-9-for-x86_64-baseos-rpms - size: 639003 - checksum: sha256:5ff938a19dc288a2bc79f677fea6917ce4771ff8e992404ac45e41695c133507 + size: 603349 + checksum: sha256:8c6d3e1418832074e521955b969ca597df66bbf1c76f4e16032f83046f82cbaa name: parted - evr: 3.5-2.el9 - sourcerpm: parted-3.5-2.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/p/pcre-8.44-4.el9.x86_64.rpm - repoid: rhel-9-for-x86_64-baseos-rpms - size: 205261 - checksum: sha256:e9ddc7d57d4f6e7400b66bcc78b9bafc1f05630e3e0d2a14000bc907f429ddc4 - name: pcre - evr: 8.44-4.el9 - sourcerpm: pcre-8.44-4.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/p/pcre2-10.40-6.el9.x86_64.rpm - repoid: rhel-9-for-x86_64-baseos-rpms - size: 241900 - checksum: sha256:75db1e5a50e7b1794d7ba18212d95cd2684559da9e7c52eee46490302c7f24dd - name: pcre2 - evr: 10.40-6.el9 - sourcerpm: pcre2-10.40-6.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/p/pcre2-syntax-10.40-6.el9.noarch.rpm - repoid: rhel-9-for-x86_64-baseos-rpms - size: 147926 - checksum: sha256:d386b5e9b3a4b077b2ba143882e605750855dd3354f13c55fa12ed26908cb442 - name: pcre2-syntax - evr: 10.40-6.el9 - sourcerpm: pcre2-10.40-6.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/p/pigz-2.5-4.el9.x86_64.rpm - repoid: rhel-9-for-x86_64-baseos-rpms - size: 86748 - checksum: sha256:5ce0b29210f80ae4f1e44f0ca9ef44b806f1268ce3309c43a5f1fcda005c3344 + evr: 3.5-3.el9 + sourcerpm: parted-3.5-3.el9.src.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/p/pigz-2.8-1.el9.x86_64.rpm + repoid: rhel-9-for-x86_64-baseos-rpms + size: 99148 + checksum: sha256:3d468520034285d071ad3ae5cdf8726d88e66a24c41aa6d4bd7919a3e32a0cd3 name: pigz - evr: 2.5-4.el9 - sourcerpm: pigz-2.5-4.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/p/policycoreutils-3.6-2.1.el9.x86_64.rpm + evr: 2.8-1.el9 + sourcerpm: pigz-2.8-1.el9.src.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/p/policycoreutils-3.6-3.el9.x86_64.rpm repoid: rhel-9-for-x86_64-baseos-rpms - size: 251967 - checksum: sha256:8dcd39960d3103f7a4ad2b9f7a0e15469ebf4da98f6c215cddfffdb830dc12b5 + size: 244557 + checksum: sha256:fe02f46c19edea28a94b6b8756c25649631e6776d9c5597fe71c86b801f6ba2b name: policycoreutils - evr: 3.6-2.1.el9 - sourcerpm: policycoreutils-3.6-2.1.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/p/polkit-0.117-13.el9.x86_64.rpm + evr: 3.6-3.el9 + sourcerpm: policycoreutils-3.6-3.el9.src.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/p/polkit-0.117-14.el9.x86_64.rpm repoid: rhel-9-for-x86_64-baseos-rpms - size: 163384 - checksum: sha256:66f11e356814400f9b420b6da3cf9e9c344808b2f4d77a341883a9e908a6ca73 + size: 157152 + checksum: sha256:f7351c45418c9f480d7e7bba5bdebe0075669b2e52868165c6e1f4a569255283 name: polkit - evr: 0.117-13.el9 - sourcerpm: polkit-0.117-13.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/p/polkit-libs-0.117-13.el9.x86_64.rpm + evr: 0.117-14.el9 + sourcerpm: polkit-0.117-14.el9.src.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/p/polkit-libs-0.117-14.el9.x86_64.rpm repoid: rhel-9-for-x86_64-baseos-rpms - size: 8690164 - checksum: sha256:62cdf67da1a4b9fef97017775ea7640d5e7896533caf4fc176cd79ed121b9421 + size: 8697825 + checksum: sha256:3c394593f54f5fcc1b7921cd092a9243618b135d3309170d23f14b932736f114 name: polkit-libs - evr: 0.117-13.el9 - sourcerpm: polkit-0.117-13.el9.src.rpm + evr: 0.117-14.el9 + sourcerpm: polkit-0.117-14.el9.src.rpm - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/p/polkit-pkla-compat-0.1-21.el9.x86_64.rpm repoid: rhel-9-for-x86_64-baseos-rpms size: 52512 @@ -2244,13 +1642,6 @@ arches: name: polkit-pkla-compat evr: 0.1-21.el9 sourcerpm: polkit-pkla-compat-0.1-21.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/p/popt-1.18-8.el9.x86_64.rpm - repoid: rhel-9-for-x86_64-baseos-rpms - size: 70397 - checksum: sha256:1649240d2a69e13d3b5ddc5c5e63c5d64a77930578a6bc4c3aca32f00423cd87 - name: popt - evr: 1.18-8.el9 - sourcerpm: popt-1.18-8.el9.src.rpm - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/p/procps-ng-3.3.17-14.el9.x86_64.rpm repoid: rhel-9-for-x86_64-baseos-rpms size: 361526 @@ -2279,20 +1670,20 @@ arches: name: publicsuffix-list-dafsa evr: 20210518-3.el9 sourcerpm: publicsuffix-list-20210518-3.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/p/python3-3.9.21-1.el9_5.x86_64.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/p/python3-3.9.23-2.el9.x86_64.rpm repoid: rhel-9-for-x86_64-baseos-rpms - size: 30760 - checksum: sha256:2afbe12057e84e1fe11e82140624c6c71a2688b495499336ca50753a40974b14 + size: 26265 + checksum: sha256:b25fcb3b9d37193b8b2f6638fab40db6679cc81bfbf7799869b472d04f7051c8 name: python3 - evr: 3.9.21-1.el9_5 - sourcerpm: python3.9-3.9.21-1.el9_5.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/p/python3-dateutil-2.8.1-7.el9.noarch.rpm + evr: 3.9.23-2.el9 + sourcerpm: python3.9-3.9.23-2.el9.src.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/p/python3-dateutil-2.9.0.post0-1.el9_7.noarch.rpm repoid: rhel-9-for-x86_64-baseos-rpms - size: 312260 - checksum: sha256:d09386154d85f487aafcf2b88d5c3766f44684b0bf7df8ea35f8d6a45d994f16 + size: 309563 + checksum: sha256:9ed79e9fd2140a9349c9401c9fad3e489ffdfbfed475f2585dd317de2450b94c name: python3-dateutil - evr: 1:2.8.1-7.el9 - sourcerpm: python-dateutil-2.8.1-7.el9.src.rpm + evr: 1:2.9.0.post0-1.el9_7 + sourcerpm: python-dateutil-2.9.0.post0-1.el9_7.src.rpm - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/p/python3-dbus-1.2.18-2.el9.x86_64.rpm repoid: rhel-9-for-x86_64-baseos-rpms size: 151901 @@ -2300,20 +1691,20 @@ arches: name: python3-dbus evr: 1.2.18-2.el9 sourcerpm: dbus-python-1.2.18-2.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/p/python3-dnf-4.14.0-17.el9.noarch.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/p/python3-dnf-4.14.0-31.el9.noarch.rpm repoid: rhel-9-for-x86_64-baseos-rpms - size: 475892 - checksum: sha256:837bd938977ad422b6620bc21aa042dc284bc2902381870f77c3c0c7d8832c68 + size: 478769 + checksum: sha256:864c3f045bfd551c24a526520eb58da96cb188fb9afa54f491301d6ffad58cfd name: python3-dnf - evr: 4.14.0-17.el9 - sourcerpm: dnf-4.14.0-17.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/p/python3-dnf-plugins-core-4.3.0-16.el9.noarch.rpm + evr: 4.14.0-31.el9 + sourcerpm: dnf-4.14.0-31.el9.src.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/p/python3-dnf-plugins-core-4.3.0-24.el9_7.noarch.rpm repoid: rhel-9-for-x86_64-baseos-rpms - size: 274523 - checksum: sha256:1bfefbd4283de253f1b31dc0a0cb7171028c845cbaf5b9da4c02baf0f9373f8c + size: 269566 + checksum: sha256:7d1a5b4e6918b6fbcad5e208432ad924d0d24dc889c56a26698cce9b1b2a927f name: python3-dnf-plugins-core - evr: 4.3.0-16.el9 - sourcerpm: dnf-plugins-core-4.3.0-16.el9.src.rpm + evr: 4.3.0-24.el9_7 + sourcerpm: dnf-plugins-core-4.3.0-24.el9_7.src.rpm - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/p/python3-gpg-1.15.1-6.el9.x86_64.rpm repoid: rhel-9-for-x86_64-baseos-rpms size: 291563 @@ -2321,13 +1712,13 @@ arches: name: python3-gpg evr: 1.15.1-6.el9 sourcerpm: gpgme-1.15.1-6.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/p/python3-hawkey-0.69.0-12.el9.x86_64.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/p/python3-hawkey-0.69.0-16.el9.x86_64.rpm repoid: rhel-9-for-x86_64-baseos-rpms - size: 108764 - checksum: sha256:0f75958de76432a784db11d0d831f7dd6088a3be847ef95618ce38a20dfa5b7a + size: 104102 + checksum: sha256:e105bedb58c63fe28d5536b16560a71297bd70546880ea96c57fdf9ffc50754f name: python3-hawkey - evr: 0.69.0-12.el9 - sourcerpm: libdnf-0.69.0-12.el9.src.rpm + evr: 0.69.0-16.el9 + sourcerpm: libdnf-0.69.0-16.el9.src.rpm - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/p/python3-libcomps-0.1.18-1.el9.x86_64.rpm repoid: rhel-9-for-x86_64-baseos-rpms size: 53345 @@ -2335,20 +1726,20 @@ arches: name: python3-libcomps evr: 0.1.18-1.el9 sourcerpm: libcomps-0.1.18-1.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/p/python3-libdnf-0.69.0-12.el9.x86_64.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/p/python3-libdnf-0.69.0-16.el9.x86_64.rpm repoid: rhel-9-for-x86_64-baseos-rpms - size: 803504 - checksum: sha256:4f2a0c79188cdc027448a7f86eaca26f39f957542d44454ff2876b6dbd1c2eaf + size: 797961 + checksum: sha256:5c7b1ed741db2f2b016e3132d50f1d367544bf2ef9ba5b0c0a730f1ec9cb5de6 name: python3-libdnf - evr: 0.69.0-12.el9 - sourcerpm: libdnf-0.69.0-12.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/p/python3-libs-3.9.21-1.el9_5.x86_64.rpm + evr: 0.69.0-16.el9 + sourcerpm: libdnf-0.69.0-16.el9.src.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/p/python3-libs-3.9.23-2.el9.x86_64.rpm repoid: rhel-9-for-x86_64-baseos-rpms - size: 8490001 - checksum: sha256:bd3351b048dc50776a010bc38c7666ac1c335169c6d0b55c65cee47150520780 + size: 8473618 + checksum: sha256:23e63da66e2e0a96481cc839d905de23a9a4b1a8986c9b0659fb78767f8edf9a name: python3-libs - evr: 3.9.21-1.el9_5 - sourcerpm: python3.9-3.9.21-1.el9_5.src.rpm + evr: 3.9.23-2.el9 + sourcerpm: python3.9-3.9.23-2.el9.src.rpm - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/p/python3-pip-wheel-21.3.1-1.el9.noarch.rpm repoid: rhel-9-for-x86_64-baseos-rpms size: 1193706 @@ -2363,13 +1754,13 @@ arches: name: python3-pyyaml evr: 5.4.1-6.el9 sourcerpm: PyYAML-5.4.1-6.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/p/python3-rpm-4.16.1.3-34.el9.x86_64.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/p/python3-rpm-4.16.1.3-39.el9.x86_64.rpm repoid: rhel-9-for-x86_64-baseos-rpms - size: 70099 - checksum: sha256:398112d021dc4ce500c232aeea150c3da2f0bf3f6319fb3479918c4bab5b9630 + size: 65738 + checksum: sha256:966d97d2beb26ea4c8dfa32f5a8dd093da4d19aecea973d4c1ce2d530e8e0c19 name: python3-rpm - evr: 4.16.1.3-34.el9 - sourcerpm: rpm-4.16.1.3-34.el9.src.rpm + evr: 4.16.1.3-39.el9 + sourcerpm: rpm-4.16.1.3-39.el9.src.rpm - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/p/python3-setools-4.4.4-1.el9.x86_64.rpm repoid: rhel-9-for-x86_64-baseos-rpms size: 623460 @@ -2377,20 +1768,20 @@ arches: name: python3-setools evr: 4.4.4-1.el9 sourcerpm: setools-4.4.4-1.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/p/python3-setuptools-53.0.0-13.el9.noarch.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/p/python3-setuptools-53.0.0-15.el9.noarch.rpm repoid: rhel-9-for-x86_64-baseos-rpms - size: 969726 - checksum: sha256:345f2e3dfa04ccdb65b4c4c9df1900f298acc3bd78dddff66f338fb7e62ccb85 + size: 958725 + checksum: sha256:e3c5b5927ad0c0bde27a95c54f7a1295965b317d225ece2e98acd365aa45d09f name: python3-setuptools - evr: 53.0.0-13.el9 - sourcerpm: python-setuptools-53.0.0-13.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/p/python3-setuptools-wheel-53.0.0-13.el9.noarch.rpm + evr: 53.0.0-15.el9 + sourcerpm: python-setuptools-53.0.0-15.el9.src.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/p/python3-setuptools-wheel-53.0.0-15.el9.noarch.rpm repoid: rhel-9-for-x86_64-baseos-rpms - size: 480100 - checksum: sha256:daf18aa58dd3571cf4258a5a4f67410a1d30ab8c62cd64b2ea99eda5a7f618cf + size: 479203 + checksum: sha256:36dacb345e21bc0308ef2508f0c93995520a15ef0b56aab3593186c8dc9c0c5a name: python3-setuptools-wheel - evr: 53.0.0-13.el9 - sourcerpm: python-setuptools-53.0.0-13.el9.src.rpm + evr: 53.0.0-15.el9 + sourcerpm: python-setuptools-53.0.0-15.el9.src.rpm - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/p/python3-six-1.15.0-9.el9.noarch.rpm repoid: rhel-9-for-x86_64-baseos-rpms size: 41373 @@ -2405,41 +1796,20 @@ arches: name: python3-systemd evr: 234-19.el9 sourcerpm: python-systemd-234-19.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/q/quota-4.09-2.el9.x86_64.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/q/quota-4.09-4.el9.x86_64.rpm repoid: rhel-9-for-x86_64-baseos-rpms - size: 207017 - checksum: sha256:3bd074e1d412244f398ad6d571b2e5b925db191ca4a15e4032311cccb3b7e49c + size: 206761 + checksum: sha256:ffe9439076c7fcf6785626d7dcbf42b7ab307ab87360a34e2632359e2f4814fe name: quota - evr: 1:4.09-2.el9 - sourcerpm: quota-4.09-2.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/q/quota-nls-4.09-2.el9.noarch.rpm + evr: 1:4.09-4.el9 + sourcerpm: quota-4.09-4.el9.src.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/q/quota-nls-4.09-4.el9.noarch.rpm repoid: rhel-9-for-x86_64-baseos-rpms - size: 80537 - checksum: sha256:276198ff78aaef77bbf982ab68c01bda5aac93f5fa3509af379a90d9cbe5eadd + size: 80718 + checksum: sha256:bf0c353db02e9591162a6d1880f6ce3d99e1621a8ce32feb6bed1b5ab6408b68 name: quota-nls - evr: 1:4.09-2.el9 - sourcerpm: quota-4.09-2.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/r/readline-8.1-4.el9.x86_64.rpm - repoid: rhel-9-for-x86_64-baseos-rpms - size: 220174 - checksum: sha256:01bf315b3bc44c28515c4d33d49173b23d7979d2a09b7b15f749d434b60851e6 - name: readline - evr: 8.1-4.el9 - sourcerpm: readline-8.1-4.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/r/redhat-release-9.5-0.6.el9.x86_64.rpm - repoid: rhel-9-for-x86_64-baseos-rpms - size: 46061 - checksum: sha256:79e578034734dbbbe0ba3c1a48aa0962110a7636069ce07104d72b641170db03 - name: redhat-release - evr: 9.5-0.6.el9 - sourcerpm: redhat-release-9.5-0.6.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/r/redhat-release-eula-9.5-0.6.el9.x86_64.rpm - repoid: rhel-9-for-x86_64-baseos-rpms - size: 13464 - checksum: sha256:ab244c01987bfb8b99012cd95eedcb7a5e3d9f751da8478c77eeb8be98e93615 - name: redhat-release-eula - evr: 9.5-0.6.el9 - sourcerpm: redhat-release-9.5-0.6.el9.src.rpm + evr: 1:4.09-4.el9 + sourcerpm: quota-4.09-4.el9.src.rpm - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/r/rpcbind-1.2.6-7.el9.x86_64.rpm repoid: rhel-9-for-x86_64-baseos-rpms size: 63366 @@ -2447,83 +1817,48 @@ arches: name: rpcbind evr: 1.2.6-7.el9 sourcerpm: rpcbind-1.2.6-7.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/r/rpm-4.16.1.3-34.el9.x86_64.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/r/rpm-build-libs-4.16.1.3-39.el9.x86_64.rpm repoid: rhel-9-for-x86_64-baseos-rpms - size: 554422 - checksum: sha256:9bec60b8da7713caeadffe8a357854e77e11829839801b8e8944049187cc7094 - name: rpm - evr: 4.16.1.3-34.el9 - sourcerpm: rpm-4.16.1.3-34.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/r/rpm-build-libs-4.16.1.3-34.el9.x86_64.rpm - repoid: rhel-9-for-x86_64-baseos-rpms - size: 92465 - checksum: sha256:ec70683a66b40e85613a67c18c22bf2914e1879e56bf0a0526ec4deb2df5c9d4 + size: 90277 + checksum: sha256:6c123b0927b49bd170d8fd24e6b5b8f58422697ae1bff790cf39355754ae48a1 name: rpm-build-libs - evr: 4.16.1.3-34.el9 - sourcerpm: rpm-4.16.1.3-34.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/r/rpm-libs-4.16.1.3-34.el9.x86_64.rpm - repoid: rhel-9-for-x86_64-baseos-rpms - size: 318456 - checksum: sha256:485221634ae096f1c1c7bebff81201711f45ad5ac24ce27e51e46b46569d5e18 - name: rpm-libs - evr: 4.16.1.3-34.el9 - sourcerpm: rpm-4.16.1.3-34.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/r/rpm-plugin-selinux-4.16.1.3-34.el9.x86_64.rpm - repoid: rhel-9-for-x86_64-baseos-rpms - size: 18220 - checksum: sha256:add02cbf42634db0957eda097c5bcac643b19663885645355fd941b8cee175ac + evr: 4.16.1.3-39.el9 + sourcerpm: rpm-4.16.1.3-39.el9.src.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/r/rpm-plugin-selinux-4.16.1.3-39.el9.x86_64.rpm + repoid: rhel-9-for-x86_64-baseos-rpms + size: 15700 + checksum: sha256:ac589b850308942e009ce59df3b5ae9c11539b14e8607838e0eafde5f9fd07db name: rpm-plugin-selinux - evr: 4.16.1.3-34.el9 - sourcerpm: rpm-4.16.1.3-34.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/r/rpm-sign-libs-4.16.1.3-34.el9.x86_64.rpm + evr: 4.16.1.3-39.el9 + sourcerpm: rpm-4.16.1.3-39.el9.src.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/r/rpm-sign-libs-4.16.1.3-39.el9.x86_64.rpm repoid: rhel-9-for-x86_64-baseos-rpms - size: 22506 - checksum: sha256:f0a5f64de8d6d4c48983a1573081cbcfcc40cbedecab826278007731e148b17c + size: 19989 + checksum: sha256:f1edcc945ca57c73c4cb088243b99443bff9c6c69ffe3113c36023e28bb21e5c name: rpm-sign-libs - evr: 4.16.1.3-34.el9 - sourcerpm: rpm-4.16.1.3-34.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/s/sed-4.8-9.el9.x86_64.rpm - repoid: rhel-9-for-x86_64-baseos-rpms - size: 316395 - checksum: sha256:bf3baf444e49eba4189e57d562a7522ab714132d2960db87ef9b99f1b46a3cc4 - name: sed - evr: 4.8-9.el9 - sourcerpm: sed-4.8-9.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/s/selinux-policy-38.1.45-3.el9_5.noarch.rpm - repoid: rhel-9-for-x86_64-baseos-rpms - size: 52484 - checksum: sha256:217d992f42cab6cae7b0236daeefe78d067f882481f20316198e0736f1325ab2 + evr: 4.16.1.3-39.el9 + sourcerpm: rpm-4.16.1.3-39.el9.src.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/s/selinux-policy-38.1.65-1.el9.noarch.rpm + repoid: rhel-9-for-x86_64-baseos-rpms + size: 43109 + checksum: sha256:fb9d24fa5770a76e3c15677ec3c74f6910f89ded1d519dc94baedd8ee2db1938 name: selinux-policy - evr: 38.1.45-3.el9_5 - sourcerpm: selinux-policy-38.1.45-3.el9_5.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/s/selinux-policy-targeted-38.1.45-3.el9_5.noarch.rpm + evr: 38.1.65-1.el9 + sourcerpm: selinux-policy-38.1.65-1.el9.src.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/s/selinux-policy-targeted-38.1.65-1.el9.noarch.rpm repoid: rhel-9-for-x86_64-baseos-rpms - size: 7225392 - checksum: sha256:575305a4fc873ef9b1fcaf6005a6f04be6d3ff4a5887d6db8ed97cef23c501c5 + size: 7266040 + checksum: sha256:30e7116093e0a96b5a156c017fc4a975ca0892fbe70ddf4b33eac12dad5965f5 name: selinux-policy-targeted - evr: 38.1.45-3.el9_5 - sourcerpm: selinux-policy-38.1.45-3.el9_5.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/s/setup-2.13.7-10.el9.noarch.rpm - repoid: rhel-9-for-x86_64-baseos-rpms - size: 153791 - checksum: sha256:0891d395ce067121c28932534237ad1ce231f2bfa987411ad62e73a12d11eb6a - name: setup - evr: 2.13.7-10.el9 - sourcerpm: setup-2.13.7-10.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/s/shadow-utils-4.9-10.el9_5.x86_64.rpm - repoid: rhel-9-for-x86_64-baseos-rpms - size: 1257494 - checksum: sha256:b14352909411926b7973c1bcf51136c2b6478e9a6d4e81c5b706ab5561e3a3ce - name: shadow-utils - evr: 2:4.9-10.el9_5 - sourcerpm: shadow-utils-4.9-10.el9_5.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/s/shadow-utils-subid-4.9-10.el9_5.x86_64.rpm - repoid: rhel-9-for-x86_64-baseos-rpms - size: 90415 - checksum: sha256:151bcdf38ef4ad0f883a444dcd114d02111134f5b987c1c96d65374c2231e87d + evr: 38.1.65-1.el9 + sourcerpm: selinux-policy-38.1.65-1.el9.src.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/s/shadow-utils-subid-4.9-15.el9.x86_64.rpm + repoid: rhel-9-for-x86_64-baseos-rpms + size: 86604 + checksum: sha256:dd1fb90430220033adbd4c52c5c1d53323acc011245b73aafefbc9fa33f40a2b name: shadow-utils-subid - evr: 2:4.9-10.el9_5 - sourcerpm: shadow-utils-4.9-10.el9_5.src.rpm + evr: 2:4.9-15.el9 + sourcerpm: shadow-utils-4.9-15.el9.src.rpm - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/s/snappy-1.1.8-8.el9.x86_64.rpm repoid: rhel-9-for-x86_64-baseos-rpms size: 38032 @@ -2531,13 +1866,6 @@ arches: name: snappy evr: 1.1.8-8.el9 sourcerpm: snappy-1.1.8-8.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/s/sqlite-libs-3.34.1-7.el9_3.x86_64.rpm - repoid: rhel-9-for-x86_64-baseos-rpms - size: 636432 - checksum: sha256:bac33c2d93e3902cf92bd98b2ed5111748777cc06832417357158d61cee26d4e - name: sqlite-libs - evr: 3.34.1-7.el9_3 - sourcerpm: sqlite-3.34.1-7.el9_3.src.rpm - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/s/squashfs-tools-4.4-10.git1.el9.x86_64.rpm repoid: rhel-9-for-x86_64-baseos-rpms size: 172047 @@ -2573,48 +1901,41 @@ arches: name: syslinux-nonlinux evr: 6.04-0.20.el9 sourcerpm: syslinux-6.04-0.20.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/s/systemd-252-46.el9_5.3.x86_64.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/s/systemd-252-55.el9_7.7.x86_64.rpm repoid: rhel-9-for-x86_64-baseos-rpms - size: 4418541 - checksum: sha256:a1919c072e40b6df914adf4a675553d15ba435caef1795ee0d32e859e1a98d4e + size: 4410717 + checksum: sha256:19ea80e6fec0f3a3b1679da5b9051cca50e776c3d4213dc660cc212d668786f7 name: systemd - evr: 252-46.el9_5.3 - sourcerpm: systemd-252-46.el9_5.3.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/s/systemd-container-252-46.el9_5.3.x86_64.rpm + evr: 252-55.el9_7.7 + sourcerpm: systemd-252-55.el9_7.7.src.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/s/systemd-container-252-55.el9_7.7.x86_64.rpm repoid: rhel-9-for-x86_64-baseos-rpms - size: 607387 - checksum: sha256:bcbbac69839187e29c7e7f6e794f28e6c1e804ae8ff0b79bc91f3bcb1e9cb7aa + size: 602539 + checksum: sha256:9e9b3aca25ac9b00ef78d2bba074c242dff65354d9da7fbac2b324997b4adea7 name: systemd-container - evr: 252-46.el9_5.3 - sourcerpm: systemd-252-46.el9_5.3.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/s/systemd-libs-252-46.el9_5.3.x86_64.rpm - repoid: rhel-9-for-x86_64-baseos-rpms - size: 696351 - checksum: sha256:af4ab4ee33fd7134f28f6785ac51f05f9123f72035eb63b5c45bac02f26624c1 - name: systemd-libs - evr: 252-46.el9_5.3 - sourcerpm: systemd-252-46.el9_5.3.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/s/systemd-pam-252-46.el9_5.3.x86_64.rpm - repoid: rhel-9-for-x86_64-baseos-rpms - size: 289540 - checksum: sha256:a81d0de9d26cb7624b996008222bbf320c8ba1e622d99912d511acad3c24806c + evr: 252-55.el9_7.7 + sourcerpm: systemd-252-55.el9_7.7.src.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/s/systemd-pam-252-55.el9_7.7.x86_64.rpm + repoid: rhel-9-for-x86_64-baseos-rpms + size: 289346 + checksum: sha256:fda74e652f6bc88ef357df96711ad71d98069ca0355c3cfe24b14fbe54257b24 name: systemd-pam - evr: 252-46.el9_5.3 - sourcerpm: systemd-252-46.el9_5.3.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/s/systemd-rpm-macros-252-46.el9_5.3.noarch.rpm + evr: 252-55.el9_7.7 + sourcerpm: systemd-252-55.el9_7.7.src.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/s/systemd-rpm-macros-252-55.el9_7.7.noarch.rpm repoid: rhel-9-for-x86_64-baseos-rpms - size: 73178 - checksum: sha256:27986549f3989379fa0f88ce42666a331c7448a2e1035da8c8680f9e5165dc92 + size: 72275 + checksum: sha256:dd54f47d3773db296cdff65dbc1fc423416a7d1bed7447a11c715a2017ae8760 name: systemd-rpm-macros - evr: 252-46.el9_5.3 - sourcerpm: systemd-252-46.el9_5.3.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/s/systemd-udev-252-46.el9_5.3.x86_64.rpm + evr: 252-55.el9_7.7 + sourcerpm: systemd-252-55.el9_7.7.src.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/s/systemd-udev-252-55.el9_7.7.x86_64.rpm repoid: rhel-9-for-x86_64-baseos-rpms - size: 2101495 - checksum: sha256:3209e34a04b873be3ffe193f417abcff3c06d6fc7b4a7ad83a8f962399bd6581 + size: 2138460 + checksum: sha256:62698d739f1582842e8d4f402e521beb9fb2a74beb26ea5b9488ec259fa6b2a0 name: systemd-udev - evr: 252-46.el9_5.3 - sourcerpm: systemd-252-46.el9_5.3.src.rpm + evr: 252-55.el9_7.7 + sourcerpm: systemd-252-55.el9_7.7.src.rpm - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/t/tar-1.34-7.el9.x86_64.rpm repoid: rhel-9-for-x86_64-baseos-rpms size: 910235 @@ -2622,13 +1943,13 @@ arches: name: tar evr: 2:1.34-7.el9 sourcerpm: tar-1.34-7.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/t/tpm2-tools-5.2-4.el9.x86_64.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/t/tpm2-tools-5.2-6.el9.x86_64.rpm repoid: rhel-9-for-x86_64-baseos-rpms - size: 828074 - checksum: sha256:2f2698967c9e1741966cc107520857b1ddcbf668ae6c43621cc3d7562d418009 + size: 822146 + checksum: sha256:c333eb735ed830141a6b1e2a47855913ca5555e9cf06966d03531ad0b67b7e54 name: tpm2-tools - evr: 5.2-4.el9 - sourcerpm: tpm2-tools-5.2-4.el9.src.rpm + evr: 5.2-6.el9 + sourcerpm: tpm2-tools-5.2-6.el9.src.rpm - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/t/tpm2-tss-3.2.3-1.el9.x86_64.rpm repoid: rhel-9-for-x86_64-baseos-rpms size: 621714 @@ -2636,13 +1957,6 @@ arches: name: tpm2-tss evr: 3.2.3-1.el9 sourcerpm: tpm2-tss-3.2.3-1.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/t/tzdata-2025b-1.el9.noarch.rpm - repoid: rhel-9-for-x86_64-baseos-rpms - size: 862160 - checksum: sha256:0687e5a1115ba679137404c8d37a45141a31968ffd01677455530d24c126a0d2 - name: tzdata - evr: 2025b-1.el9 - sourcerpm: tzdata-2025b-1.el9.src.rpm - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/u/userspace-rcu-0.12.1-6.el9.x86_64.rpm repoid: rhel-9-for-x86_64-baseos-rpms size: 116929 @@ -2650,41 +1964,41 @@ arches: name: userspace-rcu evr: 0.12.1-6.el9 sourcerpm: userspace-rcu-0.12.1-6.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/u/util-linux-2.37.4-20.el9.x86_64.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/u/util-linux-2.37.4-21.el9.x86_64.rpm repoid: rhel-9-for-x86_64-baseos-rpms - size: 2396057 - checksum: sha256:812b87a70ec6f88e493f15b66453112bc67f11576d4d7fa70ad85e914ead366a + size: 2395065 + checksum: sha256:61c795084ae4b7745b904347d4643110cd62558fce2978bd4f025ff83524e55f name: util-linux - evr: 2.37.4-20.el9 - sourcerpm: util-linux-2.37.4-20.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/u/util-linux-core-2.37.4-20.el9.x86_64.rpm + evr: 2.37.4-21.el9 + sourcerpm: util-linux-2.37.4-21.el9.src.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/u/util-linux-core-2.37.4-21.el9.x86_64.rpm repoid: rhel-9-for-x86_64-baseos-rpms - size: 479544 - checksum: sha256:28cef63cbaf5dedcb87404321027634bd4abcf0ee195879882240942260f60a6 + size: 480619 + checksum: sha256:36389814fcec56d9b9d4bd1a4a63efb1cefa00bc8bacab73f89ef8f8be04b1cd name: util-linux-core - evr: 2.37.4-20.el9 - sourcerpm: util-linux-2.37.4-20.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/v/vim-minimal-8.2.2637-21.el9.x86_64.rpm + evr: 2.37.4-21.el9 + sourcerpm: util-linux-2.37.4-21.el9.src.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/v/vim-minimal-8.2.2637-23.el9_7.x86_64.rpm repoid: rhel-9-for-x86_64-baseos-rpms - size: 690130 - checksum: sha256:0a78aab18c1e31fa84a8f14d01101c26b0f4971d4671e9bd9aaef7b89afed74e + size: 685304 + checksum: sha256:5e6086e4ff2c0c897aa4d5365db6aa72917f214a1b5ede6dc6453fe14a54f8b9 name: vim-minimal - evr: 2:8.2.2637-21.el9 - sourcerpm: vim-8.2.2637-21.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/w/which-2.21-29.el9.x86_64.rpm + evr: 2:8.2.2637-23.el9_7 + sourcerpm: vim-8.2.2637-23.el9_7.src.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/w/which-2.21-30.el9_6.x86_64.rpm repoid: rhel-9-for-x86_64-baseos-rpms - size: 45737 - checksum: sha256:ecfb8a10701375e0f7936825c920113842d63537f1994d915e7f77ec271d2ffb + size: 42038 + checksum: sha256:9c09bae3141499ad4d197a563d2a2170768d67b32bdc571221baa059eb97553b name: which - evr: 2.21-29.el9 - sourcerpm: which-2.21-29.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/x/xfsprogs-6.4.0-4.el9.x86_64.rpm + evr: 2.21-30.el9_6 + sourcerpm: which-2.21-30.el9_6.src.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/x/xfsprogs-6.4.0-7.el9.x86_64.rpm repoid: rhel-9-for-x86_64-baseos-rpms - size: 1138641 - checksum: sha256:406f765e98eb52d00defaeb492340bd106ad6439d75d7547b37e60cc110f33e6 + size: 1132021 + checksum: sha256:54ed46e6aad0f23a3f1fd065de63260467182202c73f7b89a12d38b8cc7fdade name: xfsprogs - evr: 6.4.0-4.el9 - sourcerpm: xfsprogs-6.4.0-4.el9.src.rpm + evr: 6.4.0-7.el9 + sourcerpm: xfsprogs-6.4.0-7.el9.src.rpm - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/x/xz-5.2.5-8.el9_0.x86_64.rpm repoid: rhel-9-for-x86_64-baseos-rpms size: 235693 @@ -2692,33 +2006,19 @@ arches: name: xz evr: 5.2.5-8.el9_0 sourcerpm: xz-5.2.5-8.el9_0.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/x/xz-libs-5.2.5-8.el9_0.x86_64.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/y/yum-utils-4.3.0-24.el9_7.noarch.rpm repoid: rhel-9-for-x86_64-baseos-rpms - size: 96649 - checksum: sha256:de263f880a4394f04b5e84254ba0a88d781b5bd63665c9e028bc10351490c982 - name: xz-libs - evr: 5.2.5-8.el9_0 - sourcerpm: xz-5.2.5-8.el9_0.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/y/yum-utils-4.3.0-16.el9.noarch.rpm - repoid: rhel-9-for-x86_64-baseos-rpms - size: 45492 - checksum: sha256:f0e1276f90414dbe46d057a146e96138b3da187b10de3b097f7642b8709749ba + size: 39772 + checksum: sha256:dfa16deca4b0c9b7827aa878892388310d65a341d4b230010e20990516770660 name: yum-utils - evr: 4.3.0-16.el9 - sourcerpm: dnf-plugins-core-4.3.0-16.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/z/zlib-1.2.11-40.el9.x86_64.rpm - repoid: rhel-9-for-x86_64-baseos-rpms - size: 95708 - checksum: sha256:baf95ffbf40ee014135f16fe33e343faf7ff1ca06509fd97cd988e6afeabf670 - name: zlib - evr: 1.2.11-40.el9 - sourcerpm: zlib-1.2.11-40.el9.src.rpm - - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/z/zstd-1.5.1-2.el9.x86_64.rpm - repoid: rhel-9-for-x86_64-baseos-rpms - size: 565394 - checksum: sha256:84aaff62f419600d7354b9ade58ef2d94176621dd41c39949d08d6aced0603ab + evr: 4.3.0-24.el9_7 + sourcerpm: dnf-plugins-core-4.3.0-24.el9_7.src.rpm + - url: https://cdn.redhat.com/content/dist/rhel9/9/x86_64/baseos/os/Packages/z/zstd-1.5.5-1.el9.x86_64.rpm + repoid: rhel-9-for-x86_64-baseos-rpms + size: 479423 + checksum: sha256:b437abeff5d5319c25115f2bc2ba1bb6cc4d957727ce6cbf3072df77bbef2719 name: zstd - evr: 1.5.1-2.el9 - sourcerpm: zstd-1.5.1-2.el9.src.rpm + evr: 1.5.5-1.el9 + sourcerpm: zstd-1.5.5-1.el9.src.rpm source: [] module_metadata: [] From 1e2926a0fd854b414ff8250a6d633a59b6cebbfa Mon Sep 17 00:00:00 2001 From: Richard Su Date: Wed, 10 Dec 2025 04:53:57 -0600 Subject: [PATCH 06/20] AGENT-1367: Use docker-registry from OCP release (#606) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * AGENT-1311: Use docker-registry from OCP release Add support for using the docker-registry image from the OCP release instead of always building a generic registry internally. The implementation follows a priority-based approach for registry selection: 1. User-configured imageRegistry.uri (highest priority) 2. docker-registry from OCP release (middle priority) 3. Internally built registry (fallback) Changes: - Add ShouldUseOcpRegistry() helper function to centralize decision logic - Update CopyRegistryImageIfNeeded() to handle all three registry sources - Add start-registry.sh wrapper script to execute correct podman command - Update registry.env to include USE_OCP_REGISTRY flag - Modify ignition files to use ShouldUseOcpRegistry() helper - Always copy source images to localhost/registry:latest for disconnected env The docker-registry image from OCP release requires different podman parameters (-u 0 --entrypoint=/usr/bin/distribution serve /etc/registry/config.yaml), which is handled by the wrapper script based on the USE_OCP_REGISTRY flag. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Assisted-by: Claude * Only use docker-registry when OCP version >= 4.21 The docker-registry image contains the distribution registry starting with 4.21. * Remove extraenous ocpRegistryFlag * Use correct entrypoint when running docker-registry image Adds conditional logic to use the proper entrypoint when starting the docker-registry image from OCP release during the build process. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Assisted-by: Claude * Use separate service directories for registry variants Create services/local-registry-default and services/local-registry-ocp directories, each containing start-local-registry.service with registry-specific configuration. Select directory at build time based on registry type. Remove USE_OCP_REGISTRY from registry.env. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Assisted-by: Claude * Refactor registry version checking and simplify GetRegistryEnv - Extract isVersionAtLeast() base function for version comparison - Add comprehensive unit tests for version comparison with CI builds - Replace IsUsingOcpRegistry() with ShouldUseOcpRegistry() - Simplify GetRegistryEnv() to use consts.RegistryImage directly 🤖 Generated with [Claude Code](https://claude.com/claude-code) Assisted-by: Claude * Change registry port from 5000 to 22625 and update certificate paths This commit updates the registry configuration to use port 22625 instead of 5000 for the main registry (upgrade registry remains at port 5001). Changes: - Updated RegistryPort constant from 5000 to 22625 - Changed registry HTTP address in config.yml to :22625 - Updated service files to remove redundant port mappings (not needed with --net host) - Renamed certificate files from domain.{crt,key} to tls.{crt,key} - Changed certificate storage path from /tmp/certs to /etc/iri-registry/certs - Updated all test expectations to use port 22625 - Updated documentation examples to use port 22625 🤖 Generated with [Claude Code](https://claude.com/claude-code) Assisted-by: Claude * Exclude pre-release versions from minimum version check Remove pre-release metadata stripping in isVersionAtLeast to ensure pre-release versions (e.g., "4.21.0-rc.1" or "4.21.0-0.ci...") are considered less than their stable release counterpart. This means pre-release versions of 4.21.0 will return false and not use the OCP docker-registry, while stable 4.21.0 and later will return true. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Assisted-by: Claude --- data/scripts/bin/set-env-files.sh.template | 2 +- .../bin/setup-local-registry.sh.template | 16 +- .../start-local-registry.service | 2 +- .../start-local-registry.service | 20 +++ docs/user-guide.md | 2 +- pkg/asset/data/data_iso.go | 9 +- pkg/asset/ignition/bootstrap_ignition.go | 15 +- pkg/asset/ignition/install_ignition.go | 15 +- pkg/asset/registry/registriesconf.go | 2 +- pkg/asset/registry/registriesconf_test.go | 6 +- pkg/asset/upgrade/upgrade_iso.go | 7 +- pkg/consts/consts.go | 2 + pkg/registry/registry.go | 151 ++++++++++++++---- pkg/registry/registry_test.go | 21 +++ registry/config.yml | 2 +- 15 files changed, 216 insertions(+), 56 deletions(-) rename data/services/{common => local-registry-default}/start-local-registry.service (57%) create mode 100644 data/services/local-registry-ocp/start-local-registry.service diff --git a/data/scripts/bin/set-env-files.sh.template b/data/scripts/bin/set-env-files.sh.template index c54c4b9f..72e5682d 100644 --- a/data/scripts/bin/set-env-files.sh.template +++ b/data/scripts/bin/set-env-files.sh.template @@ -4,7 +4,7 @@ assistedServiceEnvFile=/usr/local/share/assisted-service/assisted-service.env imagesEnvFile=/usr/local/share/assisted-service/images.env # Add registry domain to assisted-service.env -sed -i 's/PUBLIC_CONTAINER_REGISTRIES=.*/&,{{.RegistryDomain}}:5000/g' $assistedServiceEnvFile +sed -i 's/PUBLIC_CONTAINER_REGISTRIES=.*/&,{{.RegistryDomain}}:22625/g' $assistedServiceEnvFile # Set RELEASE_IMAGES in assisted-service.env sed -i '/^RELEASE_IMAGES/s|=.*$|={{.ReleaseImages}}|' $assistedServiceEnvFile diff --git a/data/scripts/bin/setup-local-registry.sh.template b/data/scripts/bin/setup-local-registry.sh.template index 3c646625..ca2bf1b4 100644 --- a/data/scripts/bin/setup-local-registry.sh.template +++ b/data/scripts/bin/setup-local-registry.sh.template @@ -6,18 +6,18 @@ source "mount-agent-data.sh" podman load -q -i /mnt/agentdata/images/{{.RegistryFilePath}} # Create certificate for the local registry -mkdir -p /tmp/certs -openssl req -newkey rsa:4096 -nodes -sha256 -keyout /tmp/certs/domain.key \ +mkdir -p /etc/iri-registry/certs +openssl req -newkey rsa:4096 -nodes -sha256 -keyout /etc/iri-registry/certs/tls.key \ -subj "/C=US/ST=Denial/L=Springfield/O=Dis/CN={{.RegistryDomain}}" \ -addext "subjectAltName=DNS:{{.RegistryDomain}},DNS:quay.io" \ - -x509 -days 36500 -out /tmp/certs/domain.crt + -x509 -days 36500 -out /etc/iri-registry/certs/tls.crt # Apply certificates -mkdir -p /etc/docker/certs.d/{{.RegistryDomain}}:5000 -mkdir -p /etc/containers/certs.d/{{.RegistryDomain}}:5000 -cp /tmp/certs/domain.crt /etc/docker/certs.d/{{.RegistryDomain}}:5000 -cp /tmp/certs/domain.crt /etc/containers/certs.d/{{.RegistryDomain}}:5000 -cp /tmp/certs/domain.crt /etc/pki/ca-trust/source/anchors/ +mkdir -p /etc/docker/certs.d/{{.RegistryDomain}}:22625 +mkdir -p /etc/containers/certs.d/{{.RegistryDomain}}:22625 +cp /etc/iri-registry/certs/tls.crt /etc/docker/certs.d/{{.RegistryDomain}}:22625 +cp /etc/iri-registry/certs/tls.crt /etc/containers/certs.d/{{.RegistryDomain}}:22625 +cp /etc/iri-registry/certs/tls.crt /etc/pki/ca-trust/source/anchors/ update-ca-trust extract # Config registry local dns diff --git a/data/services/common/start-local-registry.service b/data/services/local-registry-default/start-local-registry.service similarity index 57% rename from data/services/common/start-local-registry.service rename to data/services/local-registry-default/start-local-registry.service index 36cd6afc..d0739dec 100644 --- a/data/services/common/start-local-registry.service +++ b/data/services/local-registry-default/start-local-registry.service @@ -7,7 +7,7 @@ Environment=PODMAN_SYSTEMD_UNIT=%n EnvironmentFile=/etc/assisted/registry.env ExecStartPre=/bin/rm -f %t/%n.ctr-id ExecStartPre=/usr/local/bin/setup-local-registry.sh -ExecStart=podman run --net host --cidfile=%t/%n.ctr-id --privileged --replace --log-driver=journald --name=registry -p 5000:5000 -p 5443:5000 -v ${REGISTRY_DATA}:/var/lib/registry -v /tmp/certs:/certs -e REGISTRY_HTTP_ADDR=0.0.0.0:5000 -e REGISTRY_HTTP_TLS_CERTIFICATE=certs/domain.crt -e REGISTRY_HTTP_TLS_KEY=certs/domain.key $REGISTRY_IMAGE +ExecStart=/usr/bin/podman run --net host --cidfile=%t/%n.ctr-id --privileged --replace --log-driver=journald --name=registry -v ${REGISTRY_DATA}:/var/lib/registry -v /etc/iri-registry/certs:/certs:ro -e REGISTRY_HTTP_ADDR=0.0.0.0:22625 -e REGISTRY_HTTP_TLS_CERTIFICATE=certs/tls.crt -e REGISTRY_HTTP_TLS_KEY=certs/tls.key ${REGISTRY_IMAGE} ExecStop=/usr/bin/podman stop --ignore --cidfile=%t/%n.ctr-id ExecStopPost=/usr/bin/podman rm -f --ignore --cidfile=%t/%n.ctr-id diff --git a/data/services/local-registry-ocp/start-local-registry.service b/data/services/local-registry-ocp/start-local-registry.service new file mode 100644 index 00000000..02f93b71 --- /dev/null +++ b/data/services/local-registry-ocp/start-local-registry.service @@ -0,0 +1,20 @@ +[Unit] +Description=Local Registry (OCP) +Wants=network.target + +[Service] +Environment=PODMAN_SYSTEMD_UNIT=%n +EnvironmentFile=/etc/assisted/registry.env +ExecStartPre=/bin/rm -f %t/%n.ctr-id +ExecStartPre=/usr/local/bin/setup-local-registry.sh +ExecStart=/usr/bin/podman run --net host --cidfile=%t/%n.ctr-id --privileged --replace --log-driver=journald --name=registry -v ${REGISTRY_DATA}:/var/lib/registry -v /etc/iri-registry/certs:/certs:ro -e REGISTRY_HTTP_ADDR=0.0.0.0:22625 -e REGISTRY_HTTP_TLS_CERTIFICATE=certs/tls.crt -e REGISTRY_HTTP_TLS_KEY=certs/tls.key -u 0 --entrypoint=/usr/bin/distribution ${REGISTRY_IMAGE} serve /etc/registry/config.yaml +ExecStop=/usr/bin/podman stop --ignore --cidfile=%t/%n.ctr-id +ExecStopPost=/usr/bin/podman rm -f --ignore --cidfile=%t/%n.ctr-id + +Restart=on-failure +RestartSec=10 +TimeoutStartSec=9000 +TimeoutStopSec=300 + +[Install] +WantedBy=multi-user.target diff --git a/docs/user-guide.md b/docs/user-guide.md index 8da71a84..1287e7f3 100644 --- a/docs/user-guide.md +++ b/docs/user-guide.md @@ -247,7 +247,7 @@ After installing the cluster, images should be available for pulling using the i To fetch the digest, use skopeo from inside the node. E.g. ```shell -skopeo inspect docker://registry.appliance.openshift.com:5000/fedora/httpd-24 | jq .Digest +skopeo inspect docker://registry.appliance.openshift.com:22625/fedora/httpd-24 | jq .Digest "sha256:5d98ffbb97ea86633aed7ae2445b9d939e29639a292d3052efb078e72606ba04" ``` ```shell diff --git a/pkg/asset/data/data_iso.go b/pkg/asset/data/data_iso.go index 5bba3eda..53c9017c 100644 --- a/pkg/asset/data/data_iso.go +++ b/pkg/asset/data/data_iso.go @@ -95,10 +95,11 @@ func (a *DataISO) Generate(_ context.Context, dependencies asset.Parents) error spinner.DirToMonitor = registryDir releaseImageRegistry := registry.NewRegistry( registry.RegistryConfig{ - DataDirPath: registryDir, - URI: registryUri, - Port: swag.IntValue(applianceConfig.Config.ImageRegistry.Port), - UseBinary: swag.BoolValue(applianceConfig.Config.ImageRegistry.UseBinary), + DataDirPath: registryDir, + URI: registryUri, + Port: swag.IntValue(applianceConfig.Config.ImageRegistry.Port), + UseBinary: swag.BoolValue(applianceConfig.Config.ImageRegistry.UseBinary), + UseOcpRegistry: registry.ShouldUseOcpRegistry(envConfig, applianceConfig), }) if err = releaseImageRegistry.StartRegistry(); err != nil { diff --git a/pkg/asset/ignition/bootstrap_ignition.go b/pkg/asset/ignition/bootstrap_ignition.go index 9eda7113..bf2832fe 100644 --- a/pkg/asset/ignition/bootstrap_ignition.go +++ b/pkg/asset/ignition/bootstrap_ignition.go @@ -24,6 +24,7 @@ import ( "github.com/openshift/appliance/pkg/asset/manifests" "github.com/openshift/appliance/pkg/asset/registry" "github.com/openshift/appliance/pkg/consts" + reg "github.com/openshift/appliance/pkg/registry" "github.com/openshift/appliance/pkg/templates" "github.com/openshift/installer/pkg/asset" "github.com/openshift/installer/pkg/asset/ignition/bootstrap" @@ -108,6 +109,12 @@ func (i *BootstrapIgnition) Generate(_ context.Context, dependencies asset.Paren installIgnition := &InstallIgnition{} dependencies.Get(envConfig, applianceConfig, extraManifests, registriesConf, installIgnition) + // Determine if we're using the OCP registry (for the podman run command) + useOcpRegistry := reg.ShouldUseOcpRegistry(envConfig, applianceConfig) + if useOcpRegistry { + logrus.Info("BootstrapIgnition will use OCP docker-registry image") + } + i.Config = igntypes.Config{ Ignition: igntypes.Ignition{ Version: igntypes.MaxVersion.String(), @@ -119,8 +126,12 @@ func (i *BootstrapIgnition) Generate(_ context.Context, dependencies asset.Paren bootstrapServices = append(bootstrapServices, "ironic-agent.service") } - // Add services common for bootstrap and install - if err := bootstrap.AddSystemdUnits(&i.Config, "services/common", nil, bootstrapServices); err != nil { + // Add registry service from appropriate directory (OCP or default) + registryServiceDir := "services/local-registry-default" + if useOcpRegistry { + registryServiceDir = "services/local-registry-ocp" + } + if err := bootstrap.AddSystemdUnits(&i.Config, registryServiceDir, nil, bootstrapServices); err != nil { return err } diff --git a/pkg/asset/ignition/install_ignition.go b/pkg/asset/ignition/install_ignition.go index 343ccee7..ca4d152a 100644 --- a/pkg/asset/ignition/install_ignition.go +++ b/pkg/asset/ignition/install_ignition.go @@ -14,6 +14,7 @@ import ( "github.com/openshift/appliance/pkg/asset/manifests" "github.com/openshift/appliance/pkg/consts" ignitionutil "github.com/openshift/appliance/pkg/ignition" + "github.com/openshift/appliance/pkg/registry" "github.com/openshift/appliance/pkg/templates" "github.com/openshift/installer/pkg/asset" ignasset "github.com/openshift/installer/pkg/asset/ignition" @@ -78,6 +79,12 @@ func (i *InstallIgnition) Generate(_ context.Context, dependencies asset.Parents operatorCRs := &manifests.OperatorCRs{} dependencies.Get(envConfig, applianceConfig, operatorCRs) + // Determine if we're using the OCP registry (for the podman run command) + useOcpRegistry := registry.ShouldUseOcpRegistry(envConfig, applianceConfig) + if useOcpRegistry { + logrus.Info("InstallIgnition will use OCP docker-registry image") + } + i.Config = igntypes.Config{ Ignition: igntypes.Ignition{ Version: igntypes.MaxVersion.String(), @@ -126,8 +133,12 @@ func (i *InstallIgnition) Generate(_ context.Context, dependencies asset.Parents envConfig.IsLiveISO, corePassHash) - // Add services common for bootstrap and install - if err := bootstrap.AddSystemdUnits(&i.Config, "services/common", templateData, installServices); err != nil { + // Add registry service from appropriate directory (OCP or default) + registryServiceDir := "services/local-registry-default" + if useOcpRegistry { + registryServiceDir = "services/local-registry-ocp" + } + if err := bootstrap.AddSystemdUnits(&i.Config, registryServiceDir, templateData, installServices); err != nil { return err } diff --git a/pkg/asset/registry/registriesconf.go b/pkg/asset/registry/registriesconf.go index 05cbe962..838d954d 100644 --- a/pkg/asset/registry/registriesconf.go +++ b/pkg/asset/registry/registriesconf.go @@ -20,7 +20,7 @@ import ( const ( RegistryDomain = "registry.appliance.openshift.com" - RegistryPort = 5000 + RegistryPort = 22625 RegistryPortUpgrade = 5001 ) diff --git a/pkg/asset/registry/registriesconf_test.go b/pkg/asset/registry/registriesconf_test.go index 5d0abd4b..0f49b618 100644 --- a/pkg/asset/registry/registriesconf_test.go +++ b/pkg/asset/registry/registriesconf_test.go @@ -33,7 +33,7 @@ var _ = Describe("Test RegistriesConf", func() { err := r.Generate(context.Background(), deps) Expect(err).NotTo(HaveOccurred()) - Expect(string(r.File.Data)).To(Equal("unqualified-search-registries = []\n\n[[registry]]\n location = \"quay-proxy.ci.openshift.org/openshift/ci\"\n prefix = \"\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:5000/openshift/release\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:5001/openshift/release\"\n\n[[registry]]\n location = \"registry.build05.ci.openshift.org/ci-op-f7f21dkx/stable\"\n prefix = \"\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:5000/openshift/release\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:5001/openshift/release\"\n\n[[registry]]\n location = \"registry.build05.ci.openshift.org/ci-op-f7f21dkx/release\"\n prefix = \"\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:5000/openshift/release-images\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:5001/openshift/release-images\"\n")) + Expect(string(r.File.Data)).To(Equal("unqualified-search-registries = []\n\n[[registry]]\n location = \"quay-proxy.ci.openshift.org/openshift/ci\"\n prefix = \"\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:22625/openshift/release\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:5001/openshift/release\"\n\n[[registry]]\n location = \"registry.build05.ci.openshift.org/ci-op-f7f21dkx/stable\"\n prefix = \"\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:22625/openshift/release\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:5001/openshift/release\"\n\n[[registry]]\n location = \"registry.build05.ci.openshift.org/ci-op-f7f21dkx/release\"\n prefix = \"\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:22625/openshift/release-images\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:5001/openshift/release-images\"\n")) }) It("Single Yaml", func() { @@ -41,7 +41,7 @@ var _ = Describe("Test RegistriesConf", func() { err := r.Generate(context.Background(), deps) Expect(err).NotTo(HaveOccurred()) - Expect(string(r.File.Data)).To(Equal("unqualified-search-registries = []\n\n[[registry]]\n location = \"registry.ci.openshift.org/ocp/release\"\n prefix = \"\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:5000/openshift/release-images\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:5001/openshift/release-images\"\n\n[[registry]]\n location = \"quay.io/openshift-release-dev/ocp-v4.0-art-dev\"\n prefix = \"\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:5000/openshift/release\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:5001/openshift/release\"\n")) + Expect(string(r.File.Data)).To(Equal("unqualified-search-registries = []\n\n[[registry]]\n location = \"registry.ci.openshift.org/ocp/release\"\n prefix = \"\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:22625/openshift/release-images\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:5001/openshift/release-images\"\n\n[[registry]]\n location = \"quay.io/openshift-release-dev/ocp-v4.0-art-dev\"\n prefix = \"\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:22625/openshift/release\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:5001/openshift/release\"\n")) }) It("Multiple Yaml", func() { @@ -49,7 +49,7 @@ var _ = Describe("Test RegistriesConf", func() { err := r.Generate(context.Background(), deps) Expect(err).NotTo(HaveOccurred()) - Expect(string(r.File.Data)).To(Equal("unqualified-search-registries = []\n\n[[registry]]\n location = \"registry.redhat.io/container-native-virtualization\"\n prefix = \"\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:5000/container-native-virtualization\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:5001/container-native-virtualization\"\n\n[[registry]]\n location = \"registry.redhat.io/openshift4\"\n prefix = \"\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:5000/openshift4\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:5001/openshift4\"\n\n[[registry]]\n location = \"registry.redhat.io/workload-availability\"\n prefix = \"\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:5000/workload-availability\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:5001/workload-availability\"\n\n[[registry]]\n location = \"registry.redhat.io/migration-toolkit-virtualization\"\n prefix = \"\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:5000/migration-toolkit-virtualization\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:5001/migration-toolkit-virtualization\"\n\n[[registry]]\n location = \"registry.redhat.io/kube-descheduler-operator\"\n prefix = \"\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:5000/kube-descheduler-operator\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:5001/kube-descheduler-operator\"\n\n[[registry]]\n location = \"registry.ci.openshift.org/ocp/release\"\n prefix = \"\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:5000/openshift/release-images\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:5001/openshift/release-images\"\n\n[[registry]]\n location = \"quay.io/openshift-release-dev/ocp-v4.0-art-dev\"\n prefix = \"\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:5000/openshift/release\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:5001/openshift/release\"\n")) + Expect(string(r.File.Data)).To(Equal("unqualified-search-registries = []\n\n[[registry]]\n location = \"registry.redhat.io/container-native-virtualization\"\n prefix = \"\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:22625/container-native-virtualization\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:5001/container-native-virtualization\"\n\n[[registry]]\n location = \"registry.redhat.io/openshift4\"\n prefix = \"\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:22625/openshift4\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:5001/openshift4\"\n\n[[registry]]\n location = \"registry.redhat.io/workload-availability\"\n prefix = \"\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:22625/workload-availability\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:5001/workload-availability\"\n\n[[registry]]\n location = \"registry.redhat.io/migration-toolkit-virtualization\"\n prefix = \"\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:22625/migration-toolkit-virtualization\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:5001/migration-toolkit-virtualization\"\n\n[[registry]]\n location = \"registry.redhat.io/kube-descheduler-operator\"\n prefix = \"\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:22625/kube-descheduler-operator\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:5001/kube-descheduler-operator\"\n\n[[registry]]\n location = \"registry.ci.openshift.org/ocp/release\"\n prefix = \"\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:22625/openshift/release-images\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:5001/openshift/release-images\"\n\n[[registry]]\n location = \"quay.io/openshift-release-dev/ocp-v4.0-art-dev\"\n prefix = \"\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:22625/openshift/release\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:5001/openshift/release\"\n")) }) }) diff --git a/pkg/asset/upgrade/upgrade_iso.go b/pkg/asset/upgrade/upgrade_iso.go index c0cea92a..f8571f6f 100644 --- a/pkg/asset/upgrade/upgrade_iso.go +++ b/pkg/asset/upgrade/upgrade_iso.go @@ -131,9 +131,10 @@ func (u *UpgradeISO) Generate(_ context.Context, dependencies asset.Parents) err spinner.DirToMonitor = registryDir releaseImageRegistry := registry.NewRegistry( registry.RegistryConfig{ - DataDirPath: registryDir, - URI: registryUri, - Port: swag.IntValue(applianceConfig.Config.ImageRegistry.Port), + DataDirPath: registryDir, + URI: registryUri, + Port: swag.IntValue(applianceConfig.Config.ImageRegistry.Port), + UseOcpRegistry: registry.ShouldUseOcpRegistry(envConfig, applianceConfig), }) if err = releaseImageRegistry.StartRegistry(); err != nil { diff --git a/pkg/consts/consts.go b/pkg/consts/consts.go index 4ba8b7a4..b6d1c658 100644 --- a/pkg/consts/consts.go +++ b/pkg/consts/consts.go @@ -36,6 +36,8 @@ const ( OcMirrorResourcesDir = "cluster-resources" // MinOcpVersionForPinnedImageSet - minimum version that supports PinnedImageSet MinOcpVersionForPinnedImageSet = "4.16" + // MinOcpVersionContainingDistributionRegistry - minimum version where docker-registry image in OCP release contains distribution binary + MinOcpVersionContainingDistributionRegistry = "4.21.0" // Recovery/Data partitions RecoveryPartitionName = "agentboot" diff --git a/pkg/registry/registry.go b/pkg/registry/registry.go index e7a12ead..aac6ddbf 100644 --- a/pkg/registry/registry.go +++ b/pkg/registry/registry.go @@ -9,10 +9,12 @@ import ( "time" "github.com/go-openapi/swag" + "github.com/hashicorp/go-version" "github.com/openshift/appliance/pkg/asset/config" "github.com/openshift/appliance/pkg/consts" "github.com/openshift/appliance/pkg/executer" "github.com/openshift/appliance/pkg/fileutil" + "github.com/openshift/appliance/pkg/release" "github.com/openshift/appliance/pkg/skopeo" "github.com/pkg/errors" "github.com/sirupsen/logrus" @@ -20,6 +22,7 @@ import ( const ( registryStartCmd = "podman run --net=host --privileged -d --name registry -v %s:/var/lib/registry --restart=always -e REGISTRY_HTTP_ADDR=0.0.0.0:%d %s" + registryStartCmdOcp = "podman run --net=host --privileged -d --name registry -v %s:/var/lib/registry --restart=always -e REGISTRY_HTTP_ADDR=0.0.0.0:%d -u 0 --entrypoint=/usr/bin/distribution containers-storage:%s serve /etc/registry/config.yaml" registryStopCmd = "podman rm registry -f" registryBuildCmd = "podman build -f Dockerfile.registry -t registry ." registrySaveCmd = "podman save -o %s/registry.tar %s" @@ -43,12 +46,13 @@ type HTTPClient interface { } type RegistryConfig struct { - Executer executer.Executer - HTTPClient HTTPClient - Port int - URI string - DataDirPath string - UseBinary bool + Executer executer.Executer + HTTPClient HTTPClient + Port int + URI string + DataDirPath string + UseBinary bool + UseOcpRegistry bool } type registry struct { @@ -113,8 +117,16 @@ func (r *registry) StartRegistry() error { func (r *registry) runRegistryImage() error { _ = r.StopRegistry() - logrus.Debug("Running registry image") - _, err := r.Executer.Execute(fmt.Sprintf(registryStartCmd, r.DataDirPath, r.Port, r.URI)) + var cmd string + if r.UseOcpRegistry { + logrus.Debug("Running OCP docker-registry image with distribution entrypoint") + cmd = fmt.Sprintf(registryStartCmdOcp, r.DataDirPath, r.Port, r.URI) + } else { + logrus.Debug("Running registry image") + cmd = fmt.Sprintf(registryStartCmd, r.DataDirPath, r.Port, r.URI) + } + + _, err := r.Executer.Execute(cmd) if err != nil { return errors.Wrapf(err, "registry start failure") } @@ -180,35 +192,115 @@ func LoadRegistryImage(cacheDir string) error { return err } +// ShouldUseOcpRegistry determines if the OCP docker-registry image should be used +// based on the priority: user config > OCP release > internally built +// Returns true only if no user config is set AND OCP version >= 4.21 AND OCP release has docker-registry available +func ShouldUseOcpRegistry(envConfig *config.EnvConfig, applianceConfig *config.ApplianceConfig) bool { + // Only use OCP registry if user hasn't configured their own imageRegistry.uri + if swag.StringValue(applianceConfig.Config.ImageRegistry.URI) != "" { + logrus.Debug("User-configured registry detected, not using OCP docker-registry") + return false + } + + // Check if OCP version supports docker-registry with distribution binary (>= 4.21) + if !ocpVersionContainsDistributionRegistry(applianceConfig) { + logrus.Debug("OCP version < 4.21, docker-registry does not contain distribution binary") + return false + } + + // No user-configured registry, check if OCP release has docker-registry + releaseConfig := release.ReleaseConfig{ + ApplianceConfig: applianceConfig, + EnvConfig: envConfig, + } + r := release.NewRelease(releaseConfig) + imageRegistryUri, err := r.GetImageFromRelease("docker-registry") + if err == nil && imageRegistryUri != "" { + logrus.Debug("OCP docker-registry available and will be used") + return true + } + + logrus.Debug("No OCP docker-registry available, using internally built registry") + return false +} + +// isVersionAtLeast checks if the given version string is at least the minimum version. +// Pre-release versions (e.g., "4.21.0-rc.1") are considered less than their stable release and would return false. +func isVersionAtLeast(versionStr, minVersionStr string) bool { + ocpVer, err := version.NewVersion(versionStr) + if err != nil { + return false + } + + minOcpVer, err := version.NewVersion(minVersionStr) + if err != nil { + return false + } + + return ocpVer.GreaterThanOrEqual(minOcpVer) +} + +func ocpVersionContainsDistributionRegistry(applianceConfig *config.ApplianceConfig) bool { + versionStr := applianceConfig.Config.OcpRelease.Version + result := isVersionAtLeast(versionStr, consts.MinOcpVersionContainingDistributionRegistry) + logrus.Debugf("ocpVersionContainsDistributionRegistry: OCP version %s >= minimum version %s: %v", + versionStr, consts.MinOcpVersionContainingDistributionRegistry, result) + return result +} + func CopyRegistryImageIfNeeded(envConfig *config.EnvConfig, applianceConfig *config.ApplianceConfig) (string, error) { registryFilename := filepath.Base(consts.RegistryFilePath) fileInCachePath := filepath.Join(envConfig.CacheDir, registryFilename) - registryUri := swag.StringValue(applianceConfig.Config.ImageRegistry.URI) - if registryUri == "" { - // Use an internally built registry image - registryUri = consts.RegistryImage + // Determine source registry URI with priority: appliance config, docker-registry from OCP release, or internally built + var sourceRegistryUri string + + // First priority: appliance config imageRegistry.uri (user-specified) + sourceRegistryUri = swag.StringValue(applianceConfig.Config.ImageRegistry.URI) + if sourceRegistryUri != "" { + logrus.Infof("Using registry from appliance config: %s", sourceRegistryUri) + } else if ShouldUseOcpRegistry(envConfig, applianceConfig) { + // Second priority: docker-registry from OCP release + releaseConfig := release.ReleaseConfig{ + ApplianceConfig: applianceConfig, + EnvConfig: envConfig, + } + r := release.NewRelease(releaseConfig) + imageRegistryUri, _ := r.GetImageFromRelease("docker-registry") + sourceRegistryUri = imageRegistryUri + logrus.Infof("Using docker-registry from OCP release: %s", sourceRegistryUri) + } else { + // Last resort: Use an internally built registry image + sourceRegistryUri = consts.RegistryImage + logrus.Infof("Using internally built registry image: %s", sourceRegistryUri) } // Search for registry image in cache dir - if fileName := envConfig.FindInCache(registryFilename); fileName != "" { - logrus.Debug("Reusing registry.tar from cache") - if err := LoadRegistryImage(envConfig.CacheDir); err != nil { - return "", err - } - } else if registryUri == consts.RegistryImage { - // Build the registry image internally - if err := BuildRegistryImage(envConfig.CacheDir); err != nil { - return "", err + if fileName := envConfig.FindInCache(registryFilename); fileName == "" { + // Not in cache, need to create it + if sourceRegistryUri == consts.RegistryImage { + // Build the registry image internally + if err := BuildRegistryImage(envConfig.CacheDir); err != nil { + return "", err + } + } else { + // Pull the source registry image (docker-registry from OCP release or from appliance config) + // and copy/tag it to localhost/registry:latest, then save to registry.tar + logrus.Infof("Copying registry image from %s to %s", sourceRegistryUri, consts.RegistryImage) + if err := skopeo.NewSkopeo(nil).CopyToFile( + sourceRegistryUri, + consts.RegistryImage, + fileInCachePath); err != nil { + return "", err + } } } else { - // Pulling the registry image and copying to cache - if err := skopeo.NewSkopeo(nil).CopyToFile( - registryUri, - consts.RegistryImage, - fileInCachePath); err != nil { - return registryUri, err - } + logrus.Debug("Reusing registry.tar from cache") + } + + // Load the registry image into podman storage + if err := LoadRegistryImage(envConfig.CacheDir); err != nil { + return "", err } // Copy to data dir in temp @@ -218,5 +310,6 @@ func CopyRegistryImageIfNeeded(envConfig *config.EnvConfig, applianceConfig *con return "", err } - return registryUri, nil + // Always return localhost/registry:latest as this is what will be loaded in the disconnected environment + return consts.RegistryImage, nil } diff --git a/pkg/registry/registry_test.go b/pkg/registry/registry_test.go index fafa75cf..f245d1c9 100644 --- a/pkg/registry/registry_test.go +++ b/pkg/registry/registry_test.go @@ -9,6 +9,7 @@ import ( "github.com/golang/mock/gomock" . "github.com/onsi/ginkgo/v2/dsl/core" + . "github.com/onsi/ginkgo/v2/dsl/table" . "github.com/onsi/gomega" "github.com/openshift/appliance/pkg/executer" ) @@ -22,6 +23,26 @@ func (c *ClientMock) Do(req *http.Request) (*http.Response, error) { return nil, errors.New("test client error, unexpected URL") } +var _ = Describe("Test isVersionAtLeast", func() { + DescribeTable("version comparison", + func(versionStr, minVersionStr string, expected bool) { + result := isVersionAtLeast(versionStr, minVersionStr) + Expect(result).To(Equal(expected)) + }, + Entry("CI version 4.21.0-0.ci-2025-11-17-124207 < 4.21.0", "4.21.0-0.ci-2025-11-17-124207", "4.21.0", false), + Entry("EC version 4.21.0-ec.3 < 4.21.0", "4.21.0-ec.3", "4.21.0", false), + Entry("Release version 4.21.0 >= 4.21", "4.21.0", "4.21", true), + Entry("Release version 4.21.5 >= 4.21", "4.21.5", "4.21", true), + Entry("Release version 4.22.0 >= 4.21", "4.22.0", "4.21", true), + Entry("CI version 4.22.0-0.nightly-2025-12-01 >= 4.21", "4.22.0-0.nightly-2025-12-01", "4.21", true), + Entry("Release version 4.20.10 < 4.21", "4.20.10", "4.21", false), + Entry("CI version 4.20.0-0.ci-2025-11-17-124207 < 4.21", "4.20.0-0.ci-2025-11-17-124207", "4.21", false), + Entry("Invalid version string", "invalid", "4.21", false), + Entry("Invalid minimum version", "4.21.0", "invalid", false), + Entry("Both invalid", "invalid", "also-invalid", false), + ) +}) + var _ = Describe("Test Image Registry", func() { var ( ctrl *gomock.Controller diff --git a/registry/config.yml b/registry/config.yml index 3277f9a2..dfc30c19 100644 --- a/registry/config.yml +++ b/registry/config.yml @@ -8,7 +8,7 @@ storage: filesystem: rootdirectory: /var/lib/registry http: - addr: :5000 + addr: :22625 headers: X-Content-Type-Options: [nosniff] health: From 6beafe9d49c74aa3e042687e96c6e40da24be705 Mon Sep 17 00:00:00 2001 From: Daniel Erez Date: Sun, 7 Dec 2025 00:10:10 +0200 Subject: [PATCH 07/20] AGENT-1387: added localhost/api-int to RegistriesConf Support api-int. and localhost in 'image-digest-mirror' IDMS. --- pkg/asset/registry/registriesconf.go | 6 ++++++ pkg/asset/registry/registriesconf_test.go | 6 +++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/pkg/asset/registry/registriesconf.go b/pkg/asset/registry/registriesconf.go index 838d954d..33355d21 100644 --- a/pkg/asset/registry/registriesconf.go +++ b/pkg/asset/registry/registriesconf.go @@ -128,6 +128,12 @@ func (i *RegistriesConf) generateRegistries() (*sysregistriesv2.V2RegistriesConf r.Mirrors = append(r.Mirrors, sysregistriesv2.Endpoint{ Location: re.ReplaceAllString(m, fmt.Sprintf("%s:%d", RegistryDomain, RegistryPortUpgrade)), }) + r.Mirrors = append(r.Mirrors, sysregistriesv2.Endpoint{ + Location: re.ReplaceAllString(m, fmt.Sprintf("api-int.%s:%d", RegistryDomain, RegistryPort)), + }) + r.Mirrors = append(r.Mirrors, sysregistriesv2.Endpoint{ + Location: re.ReplaceAllString(m, fmt.Sprintf("localhost:%d", RegistryPort)), + }) } regs.Registries = append(regs.Registries, r) } diff --git a/pkg/asset/registry/registriesconf_test.go b/pkg/asset/registry/registriesconf_test.go index 0f49b618..f79b4a01 100644 --- a/pkg/asset/registry/registriesconf_test.go +++ b/pkg/asset/registry/registriesconf_test.go @@ -33,7 +33,7 @@ var _ = Describe("Test RegistriesConf", func() { err := r.Generate(context.Background(), deps) Expect(err).NotTo(HaveOccurred()) - Expect(string(r.File.Data)).To(Equal("unqualified-search-registries = []\n\n[[registry]]\n location = \"quay-proxy.ci.openshift.org/openshift/ci\"\n prefix = \"\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:22625/openshift/release\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:5001/openshift/release\"\n\n[[registry]]\n location = \"registry.build05.ci.openshift.org/ci-op-f7f21dkx/stable\"\n prefix = \"\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:22625/openshift/release\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:5001/openshift/release\"\n\n[[registry]]\n location = \"registry.build05.ci.openshift.org/ci-op-f7f21dkx/release\"\n prefix = \"\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:22625/openshift/release-images\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:5001/openshift/release-images\"\n")) + Expect(string(r.File.Data)).To(Equal("unqualified-search-registries = []\n\n[[registry]]\n location = \"quay-proxy.ci.openshift.org/openshift/ci\"\n prefix = \"\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:22625/openshift/release\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:5001/openshift/release\"\n\n [[registry.mirror]]\n location = \"api-int.registry.appliance.openshift.com:22625/openshift/release\"\n\n [[registry.mirror]]\n location = \"localhost:22625/openshift/release\"\n\n[[registry]]\n location = \"registry.build05.ci.openshift.org/ci-op-f7f21dkx/stable\"\n prefix = \"\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:22625/openshift/release\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:5001/openshift/release\"\n\n [[registry.mirror]]\n location = \"api-int.registry.appliance.openshift.com:22625/openshift/release\"\n\n [[registry.mirror]]\n location = \"localhost:22625/openshift/release\"\n\n[[registry]]\n location = \"registry.build05.ci.openshift.org/ci-op-f7f21dkx/release\"\n prefix = \"\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:22625/openshift/release-images\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:5001/openshift/release-images\"\n\n [[registry.mirror]]\n location = \"api-int.registry.appliance.openshift.com:22625/openshift/release-images\"\n\n [[registry.mirror]]\n location = \"localhost:22625/openshift/release-images\"\n")) }) It("Single Yaml", func() { @@ -41,7 +41,7 @@ var _ = Describe("Test RegistriesConf", func() { err := r.Generate(context.Background(), deps) Expect(err).NotTo(HaveOccurred()) - Expect(string(r.File.Data)).To(Equal("unqualified-search-registries = []\n\n[[registry]]\n location = \"registry.ci.openshift.org/ocp/release\"\n prefix = \"\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:22625/openshift/release-images\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:5001/openshift/release-images\"\n\n[[registry]]\n location = \"quay.io/openshift-release-dev/ocp-v4.0-art-dev\"\n prefix = \"\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:22625/openshift/release\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:5001/openshift/release\"\n")) + Expect(string(r.File.Data)).To(Equal("unqualified-search-registries = []\n\n[[registry]]\n location = \"registry.ci.openshift.org/ocp/release\"\n prefix = \"\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:22625/openshift/release-images\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:5001/openshift/release-images\"\n\n [[registry.mirror]]\n location = \"api-int.registry.appliance.openshift.com:22625/openshift/release-images\"\n\n [[registry.mirror]]\n location = \"localhost:22625/openshift/release-images\"\n\n[[registry]]\n location = \"quay.io/openshift-release-dev/ocp-v4.0-art-dev\"\n prefix = \"\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:22625/openshift/release\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:5001/openshift/release\"\n\n [[registry.mirror]]\n location = \"api-int.registry.appliance.openshift.com:22625/openshift/release\"\n\n [[registry.mirror]]\n location = \"localhost:22625/openshift/release\"\n")) }) It("Multiple Yaml", func() { @@ -49,7 +49,7 @@ var _ = Describe("Test RegistriesConf", func() { err := r.Generate(context.Background(), deps) Expect(err).NotTo(HaveOccurred()) - Expect(string(r.File.Data)).To(Equal("unqualified-search-registries = []\n\n[[registry]]\n location = \"registry.redhat.io/container-native-virtualization\"\n prefix = \"\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:22625/container-native-virtualization\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:5001/container-native-virtualization\"\n\n[[registry]]\n location = \"registry.redhat.io/openshift4\"\n prefix = \"\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:22625/openshift4\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:5001/openshift4\"\n\n[[registry]]\n location = \"registry.redhat.io/workload-availability\"\n prefix = \"\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:22625/workload-availability\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:5001/workload-availability\"\n\n[[registry]]\n location = \"registry.redhat.io/migration-toolkit-virtualization\"\n prefix = \"\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:22625/migration-toolkit-virtualization\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:5001/migration-toolkit-virtualization\"\n\n[[registry]]\n location = \"registry.redhat.io/kube-descheduler-operator\"\n prefix = \"\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:22625/kube-descheduler-operator\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:5001/kube-descheduler-operator\"\n\n[[registry]]\n location = \"registry.ci.openshift.org/ocp/release\"\n prefix = \"\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:22625/openshift/release-images\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:5001/openshift/release-images\"\n\n[[registry]]\n location = \"quay.io/openshift-release-dev/ocp-v4.0-art-dev\"\n prefix = \"\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:22625/openshift/release\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:5001/openshift/release\"\n")) + Expect(string(r.File.Data)).To(Equal("unqualified-search-registries = []\n\n[[registry]]\n location = \"registry.redhat.io/container-native-virtualization\"\n prefix = \"\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:22625/container-native-virtualization\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:5001/container-native-virtualization\"\n\n [[registry.mirror]]\n location = \"api-int.registry.appliance.openshift.com:22625/container-native-virtualization\"\n\n [[registry.mirror]]\n location = \"localhost:22625/container-native-virtualization\"\n\n[[registry]]\n location = \"registry.redhat.io/openshift4\"\n prefix = \"\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:22625/openshift4\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:5001/openshift4\"\n\n [[registry.mirror]]\n location = \"api-int.registry.appliance.openshift.com:22625/openshift4\"\n\n [[registry.mirror]]\n location = \"localhost:22625/openshift4\"\n\n[[registry]]\n location = \"registry.redhat.io/workload-availability\"\n prefix = \"\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:22625/workload-availability\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:5001/workload-availability\"\n\n [[registry.mirror]]\n location = \"api-int.registry.appliance.openshift.com:22625/workload-availability\"\n\n [[registry.mirror]]\n location = \"localhost:22625/workload-availability\"\n\n[[registry]]\n location = \"registry.redhat.io/migration-toolkit-virtualization\"\n prefix = \"\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:22625/migration-toolkit-virtualization\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:5001/migration-toolkit-virtualization\"\n\n [[registry.mirror]]\n location = \"api-int.registry.appliance.openshift.com:22625/migration-toolkit-virtualization\"\n\n [[registry.mirror]]\n location = \"localhost:22625/migration-toolkit-virtualization\"\n\n[[registry]]\n location = \"registry.redhat.io/kube-descheduler-operator\"\n prefix = \"\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:22625/kube-descheduler-operator\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:5001/kube-descheduler-operator\"\n\n [[registry.mirror]]\n location = \"api-int.registry.appliance.openshift.com:22625/kube-descheduler-operator\"\n\n [[registry.mirror]]\n location = \"localhost:22625/kube-descheduler-operator\"\n\n[[registry]]\n location = \"registry.ci.openshift.org/ocp/release\"\n prefix = \"\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:22625/openshift/release-images\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:5001/openshift/release-images\"\n\n [[registry.mirror]]\n location = \"api-int.registry.appliance.openshift.com:22625/openshift/release-images\"\n\n [[registry.mirror]]\n location = \"localhost:22625/openshift/release-images\"\n\n[[registry]]\n location = \"quay.io/openshift-release-dev/ocp-v4.0-art-dev\"\n prefix = \"\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:22625/openshift/release\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:5001/openshift/release\"\n\n [[registry.mirror]]\n location = \"api-int.registry.appliance.openshift.com:22625/openshift/release\"\n\n [[registry.mirror]]\n location = \"localhost:22625/openshift/release\"\n")) }) }) From 6dd4c15bc9e2723095663494f2118309e3031311 Mon Sep 17 00:00:00 2001 From: Daniel Erez Date: Fri, 12 Dec 2025 14:23:50 +0200 Subject: [PATCH 08/20] Remove 'Requires' from update-hosts.service (#623) The apply-host-config service is now skipping on interactive: ConditionPathExists=!/etc/assisted/interactive-ui Thus, update-hosts service fails due to: Requires=apply-host-config.service Hence, move to 'Wants' instead, to ensure the service starts also when apply-host-config skips. --- data/services/bootstrap/update-hosts.service | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/data/services/bootstrap/update-hosts.service b/data/services/bootstrap/update-hosts.service index 4a233f62..e4c13de6 100644 --- a/data/services/bootstrap/update-hosts.service +++ b/data/services/bootstrap/update-hosts.service @@ -1,7 +1,6 @@ [Unit] Description=Service that updates ignition on all hosts -Wants=network-online.target -Requires=apply-host-config.service +Wants=network-online.target apply-host-config.service After=network-online.target apply-host-config.service ConditionPathExists=/etc/assisted/node0 From cbea59af45a41d0279c1502395242985ef4bc7e0 Mon Sep 17 00:00:00 2001 From: Richard Su Date: Sun, 14 Dec 2025 03:38:54 -0600 Subject: [PATCH 09/20] OCPBUGS-67312: Revert "Exclude pre-release versions from minimum version check" (#625) This reverts commit 161d74541c8a1c1772ec5fb169b6b60be2f2ca07. Prerelease 4.21 versions should be allowed to use docker-registry image. This is required so that we may test the docker-registry with appliance in CI. --- pkg/registry/registry.go | 8 +++++++- pkg/registry/registry_test.go | 4 ++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/pkg/registry/registry.go b/pkg/registry/registry.go index aac6ddbf..4a204db4 100644 --- a/pkg/registry/registry.go +++ b/pkg/registry/registry.go @@ -225,8 +225,14 @@ func ShouldUseOcpRegistry(envConfig *config.EnvConfig, applianceConfig *config.A } // isVersionAtLeast checks if the given version string is at least the minimum version. -// Pre-release versions (e.g., "4.21.0-rc.1") are considered less than their stable release and would return false. +// It strips pre-release and build metadata (everything after and including the first '-') +// before comparison. E.g., "4.21.0-0.ci-2025-11-17-124207" becomes "4.21.0". func isVersionAtLeast(versionStr, minVersionStr string) bool { + // Strip everything after and including the first '-' character + if idx := strings.Index(versionStr, "-"); idx != -1 { + versionStr = versionStr[:idx] + } + ocpVer, err := version.NewVersion(versionStr) if err != nil { return false diff --git a/pkg/registry/registry_test.go b/pkg/registry/registry_test.go index f245d1c9..13cb7331 100644 --- a/pkg/registry/registry_test.go +++ b/pkg/registry/registry_test.go @@ -29,8 +29,8 @@ var _ = Describe("Test isVersionAtLeast", func() { result := isVersionAtLeast(versionStr, minVersionStr) Expect(result).To(Equal(expected)) }, - Entry("CI version 4.21.0-0.ci-2025-11-17-124207 < 4.21.0", "4.21.0-0.ci-2025-11-17-124207", "4.21.0", false), - Entry("EC version 4.21.0-ec.3 < 4.21.0", "4.21.0-ec.3", "4.21.0", false), + Entry("CI version 4.21.0-0.ci-2025-11-17-124207 >= 4.21", "4.21.0-0.ci-2025-11-17-124207", "4.21", true), + Entry("CI version 4.21.0-0.ec.3 >= 4.21", "4.21.0-0.ec.3", "4.21", true), Entry("Release version 4.21.0 >= 4.21", "4.21.0", "4.21", true), Entry("Release version 4.21.5 >= 4.21", "4.21.5", "4.21", true), Entry("Release version 4.22.0 >= 4.21", "4.22.0", "4.21", true), From 547aa5069d95bd1c38340e7ed350a5fa8d2c5043 Mon Sep 17 00:00:00 2001 From: Richard Su Date: Sun, 14 Dec 2025 05:42:53 -0600 Subject: [PATCH 10/20] AGENT-1390: reconfigure registry with IRI TLS certificate (#619) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add a systemd.path unit that monitors for the internal-release-image TLS certificate and key files during the install phase. When both files appear at /opt/openshift/tls/, the path unit triggers a service that copies the certificates to /etc/iri-registry/certs/ and restarts the registry. The setup-local-registry.sh script is modified to skip certificate generation if valid certificates already exist, preventing the IRI TLS certificates from being overwritten when the registry service restarts. Key components: - watch-iri-tls-certs.path: Monitors for certificate files using PathModified - reconfigure-local-registry-iri-tls.service: Triggered by path unit to reconfigure the registry (not enabled independently) - reconfigure-local-registry-iri-tls.sh: Validates files, copies certs, restarts registry, and disables the path unit 🤖 Generated with [Claude Code](https://claude.com/claude-code) Assisted-by: Claude --- ...nfigure-local-registry-iri-tls.sh.template | 50 +++++++++++++++++++ .../bin/setup-local-registry.sh.template | 15 ++++-- ...reconfigure-local-registry-iri-tls.service | 11 ++++ .../services/install/watch-iri-tls-certs.path | 11 ++++ pkg/asset/ignition/install_ignition.go | 4 +- 5 files changed, 86 insertions(+), 5 deletions(-) create mode 100644 data/scripts/bin/reconfigure-local-registry-iri-tls.sh.template create mode 100644 data/services/install/reconfigure-local-registry-iri-tls.service create mode 100644 data/services/install/watch-iri-tls-certs.path diff --git a/data/scripts/bin/reconfigure-local-registry-iri-tls.sh.template b/data/scripts/bin/reconfigure-local-registry-iri-tls.sh.template new file mode 100644 index 00000000..75bf97a6 --- /dev/null +++ b/data/scripts/bin/reconfigure-local-registry-iri-tls.sh.template @@ -0,0 +1,50 @@ +#!/usr/bin/env bash + +set -e + +CERT_PATH="/opt/openshift/tls/internal-release-image.crt" +KEY_PATH="/opt/openshift/tls/internal-release-image.key" +DEST_DIR="/etc/iri-registry/certs" +REGISTRY_SERVICE="start-local-registry.service" + +echo "IRI TLS certificate and key detected" + +# Verify both files exist and have content +if [[ ! -f "${CERT_PATH}" ]]; then + echo "Error: Certificate not found at ${CERT_PATH}" + exit 1 +fi + +if [[ ! -s "${CERT_PATH}" ]]; then + echo "Error: Certificate file is empty at ${CERT_PATH}" + exit 1 +fi + +if [[ ! -f "${KEY_PATH}" ]]; then + echo "Error: Key not found at ${KEY_PATH}" + exit 1 +fi + +if [[ ! -s "${KEY_PATH}" ]]; then + echo "Error: Key file is empty at ${KEY_PATH}" + exit 1 +fi + +echo "Copying IRI TLS certificate and key to ${DEST_DIR}..." + +# Copy the certificate and key +cp "${CERT_PATH}" "${DEST_DIR}/tls.crt" +cp "${KEY_PATH}" "${DEST_DIR}/tls.key" + +# Set appropriate permissions +chmod 644 "${DEST_DIR}/tls.crt" +chmod 600 "${DEST_DIR}/tls.key" + +echo "Restarting ${REGISTRY_SERVICE}..." +systemctl restart "${REGISTRY_SERVICE}" + +echo "Registry successfully reconfigured with IRI TLS certificate" + +# Disable the path unit to prevent retriggering +echo "Disabling watch-iri-tls-certs.path to prevent retriggering..." +systemctl disable --now watch-iri-tls-certs.path diff --git a/data/scripts/bin/setup-local-registry.sh.template b/data/scripts/bin/setup-local-registry.sh.template index ca2bf1b4..6636838c 100644 --- a/data/scripts/bin/setup-local-registry.sh.template +++ b/data/scripts/bin/setup-local-registry.sh.template @@ -7,10 +7,17 @@ podman load -q -i /mnt/agentdata/images/{{.RegistryFilePath}} # Create certificate for the local registry mkdir -p /etc/iri-registry/certs -openssl req -newkey rsa:4096 -nodes -sha256 -keyout /etc/iri-registry/certs/tls.key \ - -subj "/C=US/ST=Denial/L=Springfield/O=Dis/CN={{.RegistryDomain}}" \ - -addext "subjectAltName=DNS:{{.RegistryDomain}},DNS:quay.io" \ - -x509 -days 36500 -out /etc/iri-registry/certs/tls.crt + +# Only generate self-signed certs if they don't already exist (e.g., from IRI TLS) +if [[ ! -s /etc/iri-registry/certs/tls.crt ]] || [[ ! -s /etc/iri-registry/certs/tls.key ]]; then + echo "Generating self-signed certificate for local registry" + openssl req -newkey rsa:4096 -nodes -sha256 -keyout /etc/iri-registry/certs/tls.key \ + -subj "/C=US/ST=Denial/L=Springfield/O=Dis/CN={{.RegistryDomain}}" \ + -addext "subjectAltName=DNS:{{.RegistryDomain}},DNS:quay.io" \ + -x509 -days 36500 -out /etc/iri-registry/certs/tls.crt +else + echo "Using existing certificates at /etc/iri-registry/certs/" +fi # Apply certificates mkdir -p /etc/docker/certs.d/{{.RegistryDomain}}:22625 diff --git a/data/services/install/reconfigure-local-registry-iri-tls.service b/data/services/install/reconfigure-local-registry-iri-tls.service new file mode 100644 index 00000000..1a6f997c --- /dev/null +++ b/data/services/install/reconfigure-local-registry-iri-tls.service @@ -0,0 +1,11 @@ +[Unit] +Description=Reconfigure local registry with IRI TLS certificate +After=start-local-registry.service + +[Service] +Type=oneshot +ExecStart=/usr/local/bin/reconfigure-local-registry-iri-tls.sh +RemainAfterExit=yes + +[Install] +WantedBy=multi-user.target diff --git a/data/services/install/watch-iri-tls-certs.path b/data/services/install/watch-iri-tls-certs.path new file mode 100644 index 00000000..daa1b551 --- /dev/null +++ b/data/services/install/watch-iri-tls-certs.path @@ -0,0 +1,11 @@ +[Unit] +Description=Watch for IRI TLS certificate files +Documentation=man:systemd.path(5) + +[Path] +PathModified=/opt/openshift/tls/internal-release-image.crt +PathModified=/opt/openshift/tls/internal-release-image.key +Unit=reconfigure-local-registry-iri-tls.service + +[Install] +WantedBy=multi-user.target diff --git a/pkg/asset/ignition/install_ignition.go b/pkg/asset/ignition/install_ignition.go index ca4d152a..45657f41 100644 --- a/pkg/asset/ignition/install_ignition.go +++ b/pkg/asset/ignition/install_ignition.go @@ -37,6 +37,7 @@ var ( installServices = []string{ "set-node-zero.service", "apply-operator-crs.service", + "watch-iri-tls-certs.path", } installScripts = []string{ @@ -46,6 +47,7 @@ var ( "stop-local-registry.sh", "mount-agent-data.sh", "apply-operator-crs.sh", + "reconfigure-local-registry-iri-tls.sh", } corePassHash string @@ -174,7 +176,7 @@ func (i *InstallIgnition) Generate(_ context.Context, dependencies asset.Parents i.Config.Storage.Files = append(i.Config.Storage.Files, rendezvousHostEnvFile) // Add operators CR manifests from 'openshift/crs' dir - if err = addExtraManifests( + if err := addExtraManifests( &i.Config, operatorCRs.FileList, filepath.Join(extraManifestsPath, postInstallationCrsDir), From aac44204d1212d126fa5a5e44b4182ac3e9a6e74 Mon Sep 17 00:00:00 2001 From: Daniel Erez Date: Mon, 15 Dec 2025 13:56:26 +0200 Subject: [PATCH 11/20] Revert "AGENT-1387: added localhost/api-int to RegistriesConf" (#626) This reverts commit 4421421f66854287fccfdeb291f3bab096d28eb7. --- pkg/asset/registry/registriesconf.go | 6 ------ pkg/asset/registry/registriesconf_test.go | 6 +++--- 2 files changed, 3 insertions(+), 9 deletions(-) diff --git a/pkg/asset/registry/registriesconf.go b/pkg/asset/registry/registriesconf.go index 33355d21..838d954d 100644 --- a/pkg/asset/registry/registriesconf.go +++ b/pkg/asset/registry/registriesconf.go @@ -128,12 +128,6 @@ func (i *RegistriesConf) generateRegistries() (*sysregistriesv2.V2RegistriesConf r.Mirrors = append(r.Mirrors, sysregistriesv2.Endpoint{ Location: re.ReplaceAllString(m, fmt.Sprintf("%s:%d", RegistryDomain, RegistryPortUpgrade)), }) - r.Mirrors = append(r.Mirrors, sysregistriesv2.Endpoint{ - Location: re.ReplaceAllString(m, fmt.Sprintf("api-int.%s:%d", RegistryDomain, RegistryPort)), - }) - r.Mirrors = append(r.Mirrors, sysregistriesv2.Endpoint{ - Location: re.ReplaceAllString(m, fmt.Sprintf("localhost:%d", RegistryPort)), - }) } regs.Registries = append(regs.Registries, r) } diff --git a/pkg/asset/registry/registriesconf_test.go b/pkg/asset/registry/registriesconf_test.go index f79b4a01..0f49b618 100644 --- a/pkg/asset/registry/registriesconf_test.go +++ b/pkg/asset/registry/registriesconf_test.go @@ -33,7 +33,7 @@ var _ = Describe("Test RegistriesConf", func() { err := r.Generate(context.Background(), deps) Expect(err).NotTo(HaveOccurred()) - Expect(string(r.File.Data)).To(Equal("unqualified-search-registries = []\n\n[[registry]]\n location = \"quay-proxy.ci.openshift.org/openshift/ci\"\n prefix = \"\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:22625/openshift/release\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:5001/openshift/release\"\n\n [[registry.mirror]]\n location = \"api-int.registry.appliance.openshift.com:22625/openshift/release\"\n\n [[registry.mirror]]\n location = \"localhost:22625/openshift/release\"\n\n[[registry]]\n location = \"registry.build05.ci.openshift.org/ci-op-f7f21dkx/stable\"\n prefix = \"\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:22625/openshift/release\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:5001/openshift/release\"\n\n [[registry.mirror]]\n location = \"api-int.registry.appliance.openshift.com:22625/openshift/release\"\n\n [[registry.mirror]]\n location = \"localhost:22625/openshift/release\"\n\n[[registry]]\n location = \"registry.build05.ci.openshift.org/ci-op-f7f21dkx/release\"\n prefix = \"\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:22625/openshift/release-images\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:5001/openshift/release-images\"\n\n [[registry.mirror]]\n location = \"api-int.registry.appliance.openshift.com:22625/openshift/release-images\"\n\n [[registry.mirror]]\n location = \"localhost:22625/openshift/release-images\"\n")) + Expect(string(r.File.Data)).To(Equal("unqualified-search-registries = []\n\n[[registry]]\n location = \"quay-proxy.ci.openshift.org/openshift/ci\"\n prefix = \"\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:22625/openshift/release\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:5001/openshift/release\"\n\n[[registry]]\n location = \"registry.build05.ci.openshift.org/ci-op-f7f21dkx/stable\"\n prefix = \"\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:22625/openshift/release\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:5001/openshift/release\"\n\n[[registry]]\n location = \"registry.build05.ci.openshift.org/ci-op-f7f21dkx/release\"\n prefix = \"\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:22625/openshift/release-images\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:5001/openshift/release-images\"\n")) }) It("Single Yaml", func() { @@ -41,7 +41,7 @@ var _ = Describe("Test RegistriesConf", func() { err := r.Generate(context.Background(), deps) Expect(err).NotTo(HaveOccurred()) - Expect(string(r.File.Data)).To(Equal("unqualified-search-registries = []\n\n[[registry]]\n location = \"registry.ci.openshift.org/ocp/release\"\n prefix = \"\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:22625/openshift/release-images\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:5001/openshift/release-images\"\n\n [[registry.mirror]]\n location = \"api-int.registry.appliance.openshift.com:22625/openshift/release-images\"\n\n [[registry.mirror]]\n location = \"localhost:22625/openshift/release-images\"\n\n[[registry]]\n location = \"quay.io/openshift-release-dev/ocp-v4.0-art-dev\"\n prefix = \"\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:22625/openshift/release\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:5001/openshift/release\"\n\n [[registry.mirror]]\n location = \"api-int.registry.appliance.openshift.com:22625/openshift/release\"\n\n [[registry.mirror]]\n location = \"localhost:22625/openshift/release\"\n")) + Expect(string(r.File.Data)).To(Equal("unqualified-search-registries = []\n\n[[registry]]\n location = \"registry.ci.openshift.org/ocp/release\"\n prefix = \"\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:22625/openshift/release-images\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:5001/openshift/release-images\"\n\n[[registry]]\n location = \"quay.io/openshift-release-dev/ocp-v4.0-art-dev\"\n prefix = \"\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:22625/openshift/release\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:5001/openshift/release\"\n")) }) It("Multiple Yaml", func() { @@ -49,7 +49,7 @@ var _ = Describe("Test RegistriesConf", func() { err := r.Generate(context.Background(), deps) Expect(err).NotTo(HaveOccurred()) - Expect(string(r.File.Data)).To(Equal("unqualified-search-registries = []\n\n[[registry]]\n location = \"registry.redhat.io/container-native-virtualization\"\n prefix = \"\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:22625/container-native-virtualization\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:5001/container-native-virtualization\"\n\n [[registry.mirror]]\n location = \"api-int.registry.appliance.openshift.com:22625/container-native-virtualization\"\n\n [[registry.mirror]]\n location = \"localhost:22625/container-native-virtualization\"\n\n[[registry]]\n location = \"registry.redhat.io/openshift4\"\n prefix = \"\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:22625/openshift4\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:5001/openshift4\"\n\n [[registry.mirror]]\n location = \"api-int.registry.appliance.openshift.com:22625/openshift4\"\n\n [[registry.mirror]]\n location = \"localhost:22625/openshift4\"\n\n[[registry]]\n location = \"registry.redhat.io/workload-availability\"\n prefix = \"\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:22625/workload-availability\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:5001/workload-availability\"\n\n [[registry.mirror]]\n location = \"api-int.registry.appliance.openshift.com:22625/workload-availability\"\n\n [[registry.mirror]]\n location = \"localhost:22625/workload-availability\"\n\n[[registry]]\n location = \"registry.redhat.io/migration-toolkit-virtualization\"\n prefix = \"\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:22625/migration-toolkit-virtualization\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:5001/migration-toolkit-virtualization\"\n\n [[registry.mirror]]\n location = \"api-int.registry.appliance.openshift.com:22625/migration-toolkit-virtualization\"\n\n [[registry.mirror]]\n location = \"localhost:22625/migration-toolkit-virtualization\"\n\n[[registry]]\n location = \"registry.redhat.io/kube-descheduler-operator\"\n prefix = \"\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:22625/kube-descheduler-operator\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:5001/kube-descheduler-operator\"\n\n [[registry.mirror]]\n location = \"api-int.registry.appliance.openshift.com:22625/kube-descheduler-operator\"\n\n [[registry.mirror]]\n location = \"localhost:22625/kube-descheduler-operator\"\n\n[[registry]]\n location = \"registry.ci.openshift.org/ocp/release\"\n prefix = \"\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:22625/openshift/release-images\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:5001/openshift/release-images\"\n\n [[registry.mirror]]\n location = \"api-int.registry.appliance.openshift.com:22625/openshift/release-images\"\n\n [[registry.mirror]]\n location = \"localhost:22625/openshift/release-images\"\n\n[[registry]]\n location = \"quay.io/openshift-release-dev/ocp-v4.0-art-dev\"\n prefix = \"\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:22625/openshift/release\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:5001/openshift/release\"\n\n [[registry.mirror]]\n location = \"api-int.registry.appliance.openshift.com:22625/openshift/release\"\n\n [[registry.mirror]]\n location = \"localhost:22625/openshift/release\"\n")) + Expect(string(r.File.Data)).To(Equal("unqualified-search-registries = []\n\n[[registry]]\n location = \"registry.redhat.io/container-native-virtualization\"\n prefix = \"\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:22625/container-native-virtualization\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:5001/container-native-virtualization\"\n\n[[registry]]\n location = \"registry.redhat.io/openshift4\"\n prefix = \"\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:22625/openshift4\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:5001/openshift4\"\n\n[[registry]]\n location = \"registry.redhat.io/workload-availability\"\n prefix = \"\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:22625/workload-availability\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:5001/workload-availability\"\n\n[[registry]]\n location = \"registry.redhat.io/migration-toolkit-virtualization\"\n prefix = \"\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:22625/migration-toolkit-virtualization\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:5001/migration-toolkit-virtualization\"\n\n[[registry]]\n location = \"registry.redhat.io/kube-descheduler-operator\"\n prefix = \"\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:22625/kube-descheduler-operator\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:5001/kube-descheduler-operator\"\n\n[[registry]]\n location = \"registry.ci.openshift.org/ocp/release\"\n prefix = \"\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:22625/openshift/release-images\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:5001/openshift/release-images\"\n\n[[registry]]\n location = \"quay.io/openshift-release-dev/ocp-v4.0-art-dev\"\n prefix = \"\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:22625/openshift/release\"\n\n [[registry.mirror]]\n location = \"registry.appliance.openshift.com:5001/openshift/release\"\n")) }) }) From c307425514f9ae9ba6c63dba7da6e1dd6b23a43b Mon Sep 17 00:00:00 2001 From: Daniel Erez Date: Fri, 19 Dec 2025 11:54:30 +0200 Subject: [PATCH 12/20] ISSUE-485: Fix PinnedImageSet support Move PinnedImageSet generation from install ignition to bootstrap ignition to ensure manifests are available during cluster bootstrap. Changes: - Add GetMappingFile() method to Release interface using oc mirror --dry-run to generate mapping.txt without performing the actual mirror operation - Move addPinnedImageSetConfigFiles from InstallIgnition to BootstrapIgnition and place manifests in extra-manifests directory - Add OCP version validation for PinnedImageSet in ApplianceConfig to fail early if version is below minimum required - Update PinnedImageSet API version from v1alpha1 to v1 - Simplify PinnedImageSetPattern constant to just the resource name - Remove obsolete copyMappingFile logic since mapping is now generated on demand See: https://github.com/openshift/appliance/issues/485 --- pkg/asset/config/appliance_config.go | 17 ++++++ pkg/asset/ignition/bootstrap_ignition.go | 52 ++++++++++++++++ pkg/asset/ignition/install_ignition.go | 57 +----------------- pkg/consts/consts.go | 2 +- pkg/release/mock_release.go | 15 +++++ pkg/release/release.go | 60 ++++++++++++------- pkg/release/release_test.go | 6 ++ .../mirror/pinned-image-set.yaml.template | 2 +- 8 files changed, 133 insertions(+), 78 deletions(-) diff --git a/pkg/asset/config/appliance_config.go b/pkg/asset/config/appliance_config.go index dc0ce69d..04bd8046 100644 --- a/pkg/asset/config/appliance_config.go +++ b/pkg/asset/config/appliance_config.go @@ -414,6 +414,11 @@ func (a *ApplianceConfig) validateConfig(f asset.FileFetcher) field.ErrorList { allErrs = append(allErrs, err...) } + // Validate pinnedImageSet + if err := a.validatePinnedImageSet(); err != nil { + allErrs = append(allErrs, field.Invalid(field.NewPath("createPinnedImageSets"), a.Config.CreatePinnedImageSets, err.Error())) + } + // Validate pullSecret if err := validate.ImagePullSecret(a.Config.PullSecret); err != nil { allErrs = append(allErrs, field.Invalid(field.NewPath("pullSecret"), a.Config.PullSecret, err.Error())) @@ -537,6 +542,18 @@ func (a *ApplianceConfig) validateDiskSize() error { return nil } +func (a *ApplianceConfig) validatePinnedImageSet() error { + if !swag.BoolValue(a.Config.CreatePinnedImageSets) { + return nil + } + minOcpVer, _ := version.NewVersion(consts.MinOcpVersionForPinnedImageSet) + ocpVer, _ := version.NewVersion(a.Config.OcpRelease.Version) + if ocpVer.LessThan(minOcpVer) { + return fmt.Errorf("OCP release version must be at least %s to create PinnedImageSets", consts.MinOcpVersionForPinnedImageSet) + } + return nil +} + func (a *ApplianceConfig) storePullSecret() error { // Get home dir (~) homeDir, err := os.UserHomeDir() diff --git a/pkg/asset/ignition/bootstrap_ignition.go b/pkg/asset/ignition/bootstrap_ignition.go index bf2832fe..6d6c8fe7 100644 --- a/pkg/asset/ignition/bootstrap_ignition.go +++ b/pkg/asset/ignition/bootstrap_ignition.go @@ -4,6 +4,7 @@ import ( "context" "encoding/json" "fmt" + "os" "path/filepath" "regexp" "strings" @@ -25,6 +26,7 @@ import ( "github.com/openshift/appliance/pkg/asset/registry" "github.com/openshift/appliance/pkg/consts" reg "github.com/openshift/appliance/pkg/registry" + "github.com/openshift/appliance/pkg/release" "github.com/openshift/appliance/pkg/templates" "github.com/openshift/installer/pkg/asset" "github.com/openshift/installer/pkg/asset/ignition/bootstrap" @@ -246,6 +248,12 @@ func (i *BootstrapIgnition) Generate(_ context.Context, dependencies asset.Paren } } + if swag.BoolValue(applianceConfig.Config.CreatePinnedImageSets) { + if err := i.addPinnedImageSetConfigFiles(envConfig, applianceConfig); err != nil { + return err + } + } + logrus.Debug("Successfully generated bootstrap ignition") return nil @@ -403,3 +411,47 @@ func (i *BootstrapIgnition) setCoreUserPass(role, pwdHash string) error { return nil } + +func (i *BootstrapIgnition) addPinnedImageSetConfigFiles(envConfig *config.EnvConfig, applianceConfig *config.ApplianceConfig) error { + // Get mapping file content using oc mirror dry-run + rel := release.NewRelease(release.ReleaseConfig{ + EnvConfig: envConfig, + ApplianceConfig: applianceConfig, + }) + + mappingBytes, err := rel.GetMappingFile() + if err != nil { + return err + } + + var builder strings.Builder + for _, mapping := range strings.Split(string(mappingBytes), "\n") { + image := strings.Split(mapping, "=")[0] + image = strings.TrimPrefix(image, "docker://") + if image != "" { + builder.WriteString(fmt.Sprintf(" - name: %s\n", image)) + } + } + images := builder.String() + + for _, role := range []string{"master", "worker"} { + outputDir := filepath.Join(envConfig.TempDir, role) + if err := templates.RenderTemplateFile( + consts.PinnedImageSetTemplateFile, + templates.GetPinnedImageSetTemplateData(images, role), + outputDir); err != nil { + return err + } + + fileBytes, err := os.ReadFile(templates.GetFilePathByTemplate(consts.PinnedImageSetTemplateFile, outputDir)) + if err != nil { + return err + } + + manifestPath := fmt.Sprintf("%s/%s.yaml", extraManifestsPath, fmt.Sprintf(consts.PinnedImageSetPattern, role)) + fileIgnitionConfig := ignasset.FileFromBytes(manifestPath, "root", 0644, fileBytes) + i.Config.Storage.Files = append(i.Config.Storage.Files, fileIgnitionConfig) + } + + return nil +} diff --git a/pkg/asset/ignition/install_ignition.go b/pkg/asset/ignition/install_ignition.go index 45657f41..98e2e983 100644 --- a/pkg/asset/ignition/install_ignition.go +++ b/pkg/asset/ignition/install_ignition.go @@ -2,14 +2,11 @@ package ignition import ( "context" - "fmt" "os" "path/filepath" - "strings" igntypes "github.com/coreos/ignition/v2/config/v3_2/types" "github.com/go-openapi/swag" - "github.com/hashicorp/go-version" "github.com/openshift/appliance/pkg/asset/config" "github.com/openshift/appliance/pkg/asset/manifests" "github.com/openshift/appliance/pkg/consts" @@ -111,13 +108,9 @@ func (i *InstallIgnition) Generate(_ context.Context, dependencies asset.Parents installServices = append(installServices, "stop-local-registry.service") } - if swag.BoolValue(applianceConfig.Config.CreatePinnedImageSets) && i.isOcpVersionCompatibleWithPinnedImageSet(applianceConfig) { + if swag.BoolValue(applianceConfig.Config.CreatePinnedImageSets) { installServices = append(installServices, "create-pinned-image-sets.service") installScripts = append(installScripts, "create-pinned-image-sets.sh") - - if err := i.addPinnedImageSetConfigFiles(envConfig); err != nil { - return err - } } if !envConfig.IsLiveISO { @@ -189,48 +182,6 @@ func (i *InstallIgnition) Generate(_ context.Context, dependencies asset.Parents return nil } -func (i *InstallIgnition) addPinnedImageSetConfigFiles(envConfig *config.EnvConfig) error { - mappingFile := envConfig.FindInCache(consts.OcMirrorMappingFileName) - if mappingFile == "" { - err := fmt.Errorf("unable to find %s in cache", consts.OcMirrorMappingFileName) - logrus.Error(err) - return err - } - mappingBytes, err := os.ReadFile(mappingFile) - if err != nil { - return err - } - - var builder strings.Builder - for _, mapping := range strings.Split(string(mappingBytes), "\n") { - image := strings.Split(mapping, "=")[0] - if image != "" { - builder.WriteString(fmt.Sprintf(" - name: %s\n", image)) - } - } - images := builder.String() - - for _, role := range []string{"master", "worker"} { - outputDir := filepath.Join(envConfig.TempDir, role) - if err := templates.RenderTemplateFile( - consts.PinnedImageSetTemplateFile, - templates.GetPinnedImageSetTemplateData(images, role), - outputDir); err != nil { - return err - } - - fileBytes, err := os.ReadFile(templates.GetFilePathByTemplate(consts.PinnedImageSetTemplateFile, outputDir)) - if err != nil { - return err - } - - fileIgnitionConfig := ignasset.FileFromBytes(fmt.Sprintf(consts.PinnedImageSetPattern, role), "root", 0644, fileBytes) - i.Config.Storage.Files = append(i.Config.Storage.Files, fileIgnitionConfig) - } - - return nil -} - func (i *InstallIgnition) addRecoveryGrubConfigFile(tempDir string, enableFips *bool) error { // Generate user.cfg if err := templates.RenderTemplateFile( @@ -273,9 +224,3 @@ func (i *InstallIgnition) PersistToFile(directory string) error { } return ignition.WriteIgnitionFile(configPath, config) } - -func (i *InstallIgnition) isOcpVersionCompatibleWithPinnedImageSet(applianceConfig *config.ApplianceConfig) bool { - minOcpVer, _ := version.NewVersion(consts.MinOcpVersionForPinnedImageSet) - ocpVer, _ := version.NewVersion(applianceConfig.Config.OcpRelease.Version) - return ocpVer.GreaterThanOrEqual(minOcpVer) -} diff --git a/pkg/consts/consts.go b/pkg/consts/consts.go index b6d1c658..babeb60e 100644 --- a/pkg/consts/consts.go +++ b/pkg/consts/consts.go @@ -29,7 +29,7 @@ const ( // PinnedImageSetTemplateFile template PinnedImageSetTemplateFile = "scripts/mirror/pinned-image-set.yaml.template" // PinnedImageSetPattern - for installation ignition - PinnedImageSetPattern = "/etc/assisted/%s-pinned-image-set.yaml" + PinnedImageSetPattern = "%s-pinned-image-set" // OcMirrorMappingFileName - name of the mapping file created by oc mirror OcMirrorMappingFileName = "mapping.txt" // OcMirrorResourcesDir - cluster resources directory created by oc mirror diff --git a/pkg/release/mock_release.go b/pkg/release/mock_release.go index 6de45314..c49432f6 100644 --- a/pkg/release/mock_release.go +++ b/pkg/release/mock_release.go @@ -89,3 +89,18 @@ func (mr *MockReleaseMockRecorder) MirrorReleaseImages() *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "MirrorReleaseImages", reflect.TypeOf((*MockRelease)(nil).MirrorInstallImages)) } + +// GetMappingFile mocks base method. +func (m *MockRelease) GetMappingFile() ([]byte, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetMappingFile") + ret0, _ := ret[0].([]byte) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetMappingFile indicates an expected call of GetMappingFile. +func (mr *MockReleaseMockRecorder) GetMappingFile() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetMappingFile", reflect.TypeOf((*MockRelease)(nil).GetMappingFile)) +} diff --git a/pkg/release/release.go b/pkg/release/release.go index 496b3ecf..84725132 100644 --- a/pkg/release/release.go +++ b/pkg/release/release.go @@ -36,6 +36,8 @@ const ( templateExtractCmd = "oc adm release extract --command=%s --to=%s %s" templateImageExtract = "oc image extract --path %s:%s --confirm %s" ocMirror = "oc mirror --v2 --config=%s docker://127.0.0.1:%d --workspace=file://%s --src-tls-verify=false --dest-tls-verify=false --parallel-images=1 --parallel-layers=1 --retry-times=5" + // ocMirrorDryRun is the command template for running oc mirror in dry-run mode to generate mapping.txt + ocMirrorDryRun = "oc mirror --v2 --config=%s docker://127.0.0.1:%d --workspace=file://%s --src-tls-verify=false --dest-tls-verify=false --dry-run" ) // Release is the interface to use the oc command to the get image info @@ -46,6 +48,7 @@ type Release interface { MirrorInstallImages() error GetImageFromRelease(imageName string) (string, error) ExtractCommand(command string, dest string) (string, error) + GetMappingFile() ([]byte, error) } type ReleaseConfig struct { @@ -163,29 +166,9 @@ func (r *release) mirrorImages(imageSetFile, blockedImages, additionalImages, op return err } - if err = r.copyMappingFile(tempDir); err != nil { - return err - } - return err } -func (r *release) copyMappingFile(ocMirrorDir string) error { - mappingFiles, err := filepath.Glob(filepath.Join(ocMirrorDir, fmt.Sprintf("results-*/%s", consts.OcMirrorMappingFileName))) - if err != nil { - return err - } - - // The slice returned from Glob will have a single filename when running the application, but it will be empty when running the unit-tests since they don't create the files "oc mirror" generates - for _, mappingFile := range mappingFiles { - if err := fileutil.CopyFile(mappingFile, filepath.Join(r.EnvConfig.CacheDir, consts.OcMirrorMappingFileName)); err != nil { - return err - } - } - - return nil -} - func (r *release) copyOutputYamls(ocMirrorDir string) error { yamlPaths, err := filepath.Glob(filepath.Join(ocMirrorDir, "working-dir", consts.OcMirrorResourcesDir, "*.yaml")) if err != nil { @@ -250,3 +233,40 @@ func (r *release) MirrorInstallImages() error { r.generateOperatorsList(r.ApplianceConfig.Config.Operators), ) } + +// GetMappingFile runs oc mirror in dry-run mode to generate and return the mapping.txt file content. +// mapping.txt is only generated with --dry-run flag. +func (r *release) GetMappingFile() ([]byte, error) { + // Render the imageset template + if err := templates.RenderTemplateFile( + consts.ImageSetTemplateFile, + templates.GetImageSetTemplateData(r.ApplianceConfig, + r.generateImagesList(r.ApplianceConfig.Config.BlockedImages), + r.generateImagesList(r.ApplianceConfig.Config.AdditionalImages), + r.generateOperatorsList(r.ApplianceConfig.Config.Operators)), + r.EnvConfig.TempDir); err != nil { + return nil, err + } + + imageSetFilePath, err := filepath.Abs(templates.GetFilePathByTemplate(consts.ImageSetTemplateFile, r.EnvConfig.TempDir)) + if err != nil { + return nil, err + } + + dryRunDir := filepath.Join(r.EnvConfig.TempDir, "oc-mirror-dry-run") + registryPort := swag.IntValue(r.ApplianceConfig.Config.ImageRegistry.Port) + dryRunCmd := fmt.Sprintf(ocMirrorDryRun, imageSetFilePath, registryPort, dryRunDir) + + logrus.Debugf("Running oc mirror dry-run to generate mapping file (%s)", dryRunCmd) + result, err := r.execute(dryRunCmd) + logrus.Debugf("dry-run result: %s", result) + if err != nil { + return nil, err + } + + // Find and read the mapping file from dry-run output + // In dry-run mode, oc-mirror puts the mapping file in working-dir/dry-run/mapping.txt + mappingFilePath := filepath.Join(dryRunDir, "working-dir", "dry-run", consts.OcMirrorMappingFileName) + + return r.OSInterface.ReadFile(mappingFilePath) +} diff --git a/pkg/release/release_test.go b/pkg/release/release_test.go index 8931dcf2..910f8dab 100644 --- a/pkg/release/release_test.go +++ b/pkg/release/release_test.go @@ -92,6 +92,12 @@ var _ = Describe("Test Release", func() { testRelease = NewRelease(coreOSConfig) }) + AfterEach(func() { + // Clean up scripts/mirror directory created by RenderTemplateFile during tests + scriptsDir := filepath.Join(tempDir, "scripts") + os.RemoveAll(scriptsDir) + }) + It("MirrorInstallImages - success", func() { mockExecuter.EXPECT().Execute(gomock.Any()).Return("", nil).Times(1) diff --git a/pkg/templates/scripts/mirror/pinned-image-set.yaml.template b/pkg/templates/scripts/mirror/pinned-image-set.yaml.template index c379145a..fa1cd5e9 100644 --- a/pkg/templates/scripts/mirror/pinned-image-set.yaml.template +++ b/pkg/templates/scripts/mirror/pinned-image-set.yaml.template @@ -1,4 +1,4 @@ -apiVersion: machineconfiguration.openshift.io/v1alpha1 +apiVersion: machineconfiguration.openshift.io/v1 kind: PinnedImageSet metadata: name: {{.Role}}-pinned-image-set From 638632e55521a8560a94d19b996a141632a5deb4 Mon Sep 17 00:00:00 2001 From: Richard Su Date: Mon, 22 Dec 2025 06:33:53 -0600 Subject: [PATCH 13/20] OCPBUGS-68368: Use dir format for registry images to preserve digests (#631) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Changes skopeo copy from docker-archive to dir format with --all and --preserve-digests flags to maintain manifest list and architecture-specific digests. This allows the registry image to be referenced by its original digest in start-local-registry.service. Key changes: - Use 'skopeo copy --all --preserve-digests docker://%s dir:%s' format - Change RegistryFilePath from registry.tar to registry directory - Update setup-local-registry.sh to use 'podman pull dir:' and tag the pulled image with :latest so podman run can reference the original digest for docker-registry images from the release payload - Add GetRegistryImageURI() to return actual source registry URI instead of always using localhost/registry:latest in REGISTRY_IMAGE env var - Update file copy operations to handle directories instead of tar files - Add comprehensive documentation explaining --all and --preserve-digests flags When using OCP docker-registry image with digest reference (e.g., registry.ci.openshift.org/ocp/4.21@sha256:abc...), the script now: 1. Pulls from dir: format 2. Finds the image by matching digest 3. Tags it as :latest enabling podman run to use the original digest 🤖 Generated with [Claude Code](https://claude.com/claude-code) Assisted-by: Claude Sonnet 4.5 --- .../bin/load-registry-image.sh.template | 45 +++++++++++ .../bin/setup-local-registry.sh.template | 4 +- pkg/asset/ignition/bootstrap_ignition.go | 4 +- pkg/asset/ignition/install_ignition.go | 5 +- pkg/consts/consts.go | 2 +- pkg/registry/registry.go | 74 +++++++++++-------- pkg/skopeo/skopeo.go | 21 +++++- pkg/skopeo/skopeo_test.go | 6 +- pkg/templates/data.go | 4 +- 9 files changed, 122 insertions(+), 43 deletions(-) create mode 100644 data/scripts/bin/load-registry-image.sh.template diff --git a/data/scripts/bin/load-registry-image.sh.template b/data/scripts/bin/load-registry-image.sh.template new file mode 100644 index 00000000..60753ddc --- /dev/null +++ b/data/scripts/bin/load-registry-image.sh.template @@ -0,0 +1,45 @@ +#!/usr/bin/env bash + +# Source registry environment variables +source /etc/assisted/registry.env + +# Load registry image from dir format +podman pull dir:/mnt/agentdata/images/{{.RegistryFilePath}} + +# Tag the pulled image with the reference from REGISTRY_IMAGE +# The dir: transport doesn't automatically create tags, so we must tag explicitly +if [[ "$REGISTRY_IMAGE" == *"@sha256:"* ]]; then + # When using OCP docker-registry image from the release payload, REGISTRY_IMAGE contains + # a digest reference (e.g., registry.ci.openshift.org/ocp/4.21-2025-12-15-160423@sha256:abc123...) + # We need to tag it with :latest so that podman run can reference the original digest. + # This is because: + # 1. The dir: transport preserves the digest but podman pull doesn't create a :latest tag automatically + # 2. podman run with containers-storage: requires a tag reference to resolve the digest + # 3. By tagging as :latest, podman can resolve the original @sha256:... reference + # 4. The digest ensures we're tagging the exact image that was pulled from the release + + # Extract base image name (everything before @sha256:) + BASE_IMAGE="${REGISTRY_IMAGE%@sha256:*}" + # Extract the digest (everything after @) + DIGEST="${REGISTRY_IMAGE#*@}" + # Get the image ID that matches this digest + IMAGE_ID=$(podman images --digests --filter "digest=${DIGEST}" --format '{{"{{"}} .ID {{"}}"}}') + + if [[ -n "$IMAGE_ID" ]]; then + # Tag the pulled image with :latest using the image ID + podman tag "$IMAGE_ID" "${BASE_IMAGE}:latest" + echo "Tagged registry image $IMAGE_ID (digest: $DIGEST) as ${BASE_IMAGE}:latest" + else + echo "Warning: Could not find image with digest $DIGEST" + fi +else + # REGISTRY_IMAGE without digest (e.g., localhost/registry:latest for internally built registry) + # Tag the most recently pulled image with the REGISTRY_IMAGE reference + IMAGE_ID=$(podman images -q --no-trunc | head -1) + if [[ -n "$IMAGE_ID" ]]; then + podman tag "$IMAGE_ID" "$REGISTRY_IMAGE" + echo "Tagged registry image $IMAGE_ID as $REGISTRY_IMAGE" + else + echo "Warning: Could not find recently pulled image to tag" + fi +fi diff --git a/data/scripts/bin/setup-local-registry.sh.template b/data/scripts/bin/setup-local-registry.sh.template index 6636838c..6bc2f709 100644 --- a/data/scripts/bin/setup-local-registry.sh.template +++ b/data/scripts/bin/setup-local-registry.sh.template @@ -2,8 +2,8 @@ source "mount-agent-data.sh" -# Load registry image -podman load -q -i /mnt/agentdata/images/{{.RegistryFilePath}} +# Load and tag the registry image +source "load-registry-image.sh" # Create certificate for the local registry mkdir -p /etc/iri-registry/certs diff --git a/pkg/asset/ignition/bootstrap_ignition.go b/pkg/asset/ignition/bootstrap_ignition.go index 6d6c8fe7..7f1e5346 100644 --- a/pkg/asset/ignition/bootstrap_ignition.go +++ b/pkg/asset/ignition/bootstrap_ignition.go @@ -65,6 +65,7 @@ var ( } bootstrapScripts = []string{ + "load-registry-image.sh", "setup-local-registry.sh", "set-env-files.sh", "pre-install.sh", @@ -198,8 +199,9 @@ func (i *BootstrapIgnition) Generate(_ context.Context, dependencies asset.Paren } // Add registry.env file + registryImageURI := reg.GetRegistryImageURI(envConfig, applianceConfig) registryEnvFile := ignasset.FileFromString(consts.RegistryEnvPath, - "root", 0644, templates.GetRegistryEnv(consts.RegistryDataInstall, "")) + "root", 0644, templates.GetRegistryEnv(registryImageURI, consts.RegistryDataInstall, "")) i.Config.Storage.Files = append(i.Config.Storage.Files, registryEnvFile) // Add public ssh key diff --git a/pkg/asset/ignition/install_ignition.go b/pkg/asset/ignition/install_ignition.go index 98e2e983..a0d2a05c 100644 --- a/pkg/asset/ignition/install_ignition.go +++ b/pkg/asset/ignition/install_ignition.go @@ -101,7 +101,7 @@ func (i *InstallIgnition) Generate(_ context.Context, dependencies asset.Parents if !swag.BoolValue(applianceConfig.Config.SkipLocalRegistry) { installServices = append(installServices, "start-local-registry.service") - installScripts = append(installScripts, "setup-local-registry.sh") + installScripts = append(installScripts, "load-registry-image.sh", "setup-local-registry.sh") } if swag.BoolValue(applianceConfig.Config.StopLocalRegistry) { @@ -159,8 +159,9 @@ func (i *InstallIgnition) Generate(_ context.Context, dependencies asset.Parents } // Add registry.env file + registryImageURI := registry.GetRegistryImageURI(envConfig, applianceConfig) registryEnvFile := ignasset.FileFromString(consts.RegistryEnvPath, - "root", 0644, templates.GetRegistryEnv(consts.RegistryDataInstall, consts.RegistryDataUpgrade)) + "root", 0644, templates.GetRegistryEnv(registryImageURI, consts.RegistryDataInstall, consts.RegistryDataUpgrade)) i.Config.Storage.Files = append(i.Config.Storage.Files, registryEnvFile) // Add a placeholder for rendezvous-host.env file diff --git a/pkg/consts/consts.go b/pkg/consts/consts.go index babeb60e..d1a8b664 100644 --- a/pkg/consts/consts.go +++ b/pkg/consts/consts.go @@ -48,7 +48,7 @@ const ( // Local registry RegistryImage = "localhost/registry:latest" - RegistryFilePath = "registry/registry.tar" + RegistryFilePath = "registry" RegistryPort = 5005 // Local registry env file diff --git a/pkg/registry/registry.go b/pkg/registry/registry.go index 4a204db4..2863f53c 100644 --- a/pkg/registry/registry.go +++ b/pkg/registry/registry.go @@ -13,7 +13,6 @@ import ( "github.com/openshift/appliance/pkg/asset/config" "github.com/openshift/appliance/pkg/consts" "github.com/openshift/appliance/pkg/executer" - "github.com/openshift/appliance/pkg/fileutil" "github.com/openshift/appliance/pkg/release" "github.com/openshift/appliance/pkg/skopeo" "github.com/pkg/errors" @@ -25,8 +24,8 @@ const ( registryStartCmdOcp = "podman run --net=host --privileged -d --name registry -v %s:/var/lib/registry --restart=always -e REGISTRY_HTTP_ADDR=0.0.0.0:%d -u 0 --entrypoint=/usr/bin/distribution containers-storage:%s serve /etc/registry/config.yaml" registryStopCmd = "podman rm registry -f" registryBuildCmd = "podman build -f Dockerfile.registry -t registry ." - registrySaveCmd = "podman save -o %s/registry.tar %s" - registryLoadCmd = "podman load -q -i %s/registry.tar" + registrySaveCmd = "podman push %s dir:%s/registry" + registryLoadCmd = "skopeo copy dir:%s/registry containers-storage:localhost/registry:latest" registryRunBinaryCmd = "/registry serve config.yml" registryAttempts = 3 @@ -119,11 +118,11 @@ func (r *registry) runRegistryImage() error { var cmd string if r.UseOcpRegistry { - logrus.Debug("Running OCP docker-registry image with distribution entrypoint") cmd = fmt.Sprintf(registryStartCmdOcp, r.DataDirPath, r.Port, r.URI) + logrus.Debugf("Running OCP docker-registry image with distribution entrypoint: %s", cmd) } else { - logrus.Debug("Running registry image") cmd = fmt.Sprintf(registryStartCmd, r.DataDirPath, r.Port, r.URI) + logrus.Debugf("Running registry image: %s", cmd) } _, err := r.Executer.Execute(cmd) @@ -180,8 +179,8 @@ func BuildRegistryImage(destDir string) error { if err != nil { return err } - // Store image - _, err = exec.Execute(fmt.Sprintf(registrySaveCmd, destDir, consts.RegistryImage)) + // Store image in dir format + _, err = exec.Execute(fmt.Sprintf(registrySaveCmd, consts.RegistryImage, destDir)) return err } @@ -254,33 +253,39 @@ func ocpVersionContainsDistributionRegistry(applianceConfig *config.ApplianceCon return result } -func CopyRegistryImageIfNeeded(envConfig *config.EnvConfig, applianceConfig *config.ApplianceConfig) (string, error) { - registryFilename := filepath.Base(consts.RegistryFilePath) - fileInCachePath := filepath.Join(envConfig.CacheDir, registryFilename) - - // Determine source registry URI with priority: appliance config, docker-registry from OCP release, or internally built - var sourceRegistryUri string - +// GetRegistryImageURI returns the registry image URI to use based on configuration priority +func GetRegistryImageURI(envConfig *config.EnvConfig, applianceConfig *config.ApplianceConfig) string { // First priority: appliance config imageRegistry.uri (user-specified) - sourceRegistryUri = swag.StringValue(applianceConfig.Config.ImageRegistry.URI) + sourceRegistryUri := swag.StringValue(applianceConfig.Config.ImageRegistry.URI) if sourceRegistryUri != "" { - logrus.Infof("Using registry from appliance config: %s", sourceRegistryUri) - } else if ShouldUseOcpRegistry(envConfig, applianceConfig) { - // Second priority: docker-registry from OCP release + return sourceRegistryUri + } + + // Second priority: docker-registry from OCP release + if ShouldUseOcpRegistry(envConfig, applianceConfig) { releaseConfig := release.ReleaseConfig{ ApplianceConfig: applianceConfig, EnvConfig: envConfig, } r := release.NewRelease(releaseConfig) - imageRegistryUri, _ := r.GetImageFromRelease("docker-registry") - sourceRegistryUri = imageRegistryUri - logrus.Infof("Using docker-registry from OCP release: %s", sourceRegistryUri) - } else { - // Last resort: Use an internally built registry image - sourceRegistryUri = consts.RegistryImage - logrus.Infof("Using internally built registry image: %s", sourceRegistryUri) + imageRegistryUri, err := r.GetImageFromRelease("docker-registry") + if err == nil && imageRegistryUri != "" { + return imageRegistryUri + } } + // Last resort: Use an internally built registry image + return consts.RegistryImage +} + +func CopyRegistryImageIfNeeded(envConfig *config.EnvConfig, applianceConfig *config.ApplianceConfig) (string, error) { + registryFilename := filepath.Base(consts.RegistryFilePath) + fileInCachePath := filepath.Join(envConfig.CacheDir, registryFilename) + + // Determine source registry URI using the helper function + sourceRegistryUri := GetRegistryImageURI(envConfig, applianceConfig) + logrus.Infof("Registry image URI: %s", sourceRegistryUri) + // Search for registry image in cache dir if fileName := envConfig.FindInCache(registryFilename); fileName == "" { // Not in cache, need to create it @@ -291,7 +296,7 @@ func CopyRegistryImageIfNeeded(envConfig *config.EnvConfig, applianceConfig *con } } else { // Pull the source registry image (docker-registry from OCP release or from appliance config) - // and copy/tag it to localhost/registry:latest, then save to registry.tar + // and copy it to dir format to preserve digests logrus.Infof("Copying registry image from %s to %s", sourceRegistryUri, consts.RegistryImage) if err := skopeo.NewSkopeo(nil).CopyToFile( sourceRegistryUri, @@ -301,7 +306,7 @@ func CopyRegistryImageIfNeeded(envConfig *config.EnvConfig, applianceConfig *con } } } else { - logrus.Debug("Reusing registry.tar from cache") + logrus.Debug("Reusing registry from cache") } // Load the registry image into podman storage @@ -309,13 +314,22 @@ func CopyRegistryImageIfNeeded(envConfig *config.EnvConfig, applianceConfig *con return "", err } - // Copy to data dir in temp + // Copy registry from cache to data dir staging area + // This staging area gets packaged into the data ISO (agentdata partition), + // which is mounted at /mnt/agentdata/ in the appliance for disconnected installation fileInDataDir := filepath.Join(envConfig.TempDir, dataDir, imagesDir, consts.RegistryFilePath) - if err := fileutil.CopyFile(fileInCachePath, fileInDataDir); err != nil { + exec := executer.NewExecuter() + if err := os.MkdirAll(filepath.Dir(fileInDataDir), os.ModePerm); err != nil { + logrus.Error(err) + return "", err + } + if _, err := exec.Execute(fmt.Sprintf("cp -r %s %s", fileInCachePath, fileInDataDir)); err != nil { logrus.Error(err) return "", err } - // Always return localhost/registry:latest as this is what will be loaded in the disconnected environment + // Return localhost/registry:latest for use in podman run during the build process + // LoadRegistryImage tagged the image as localhost/registry:latest in local storage + // Note: For REGISTRY_IMAGE env var in the appliance, use GetRegistryImageURI() instead return consts.RegistryImage, nil } diff --git a/pkg/skopeo/skopeo.go b/pkg/skopeo/skopeo.go index d0b2b2ae..e7d34ec3 100644 --- a/pkg/skopeo/skopeo.go +++ b/pkg/skopeo/skopeo.go @@ -9,7 +9,24 @@ import ( ) const ( - templateCopyToFile = "skopeo copy docker://%s docker-archive:%s:%s" + // templateCopyToFile copies container images to dir: format with critical flags: + // + // --all: Copies all architectures/platforms including the manifest list + // This is required to reference the image by its original digest because: + // 1. Multi-arch images have a top-level manifest list with a digest (e.g., sha256:abc123...) + // 2. REGISTRY_IMAGE may reference this manifest list digest + // (e.g., registry.ci.openshift.org/ocp/4.21@sha256:abc123...) + // 3. Without --all, only a single architecture manifest is copied, losing the original + // manifest list digest, making the image unreferenceable by the original digest + // 4. start-local-registry.service needs to podman run using this original digest + // + // --preserve-digests: Preserves architecture-specific manifest digests + // Each architecture (amd64, arm64, ppc64le) has its own manifest with a unique digest + // This flag ensures these individual architecture digests are maintained in the dir: format + // + // dir: format: Stores the image as a directory structure instead of a tar archive + // This format preserves all image metadata and supports podman pull dir: for loading + templateCopyToFile = "skopeo copy --all --preserve-digests docker://%s dir:%s" ) type Skopeo interface { @@ -35,6 +52,6 @@ func (s *skopeo) CopyToFile(imageUrl, imageName, filePath string) error { return err } - _, err := s.executer.Execute(fmt.Sprintf(templateCopyToFile, imageUrl, filePath, imageName)) + _, err := s.executer.Execute(fmt.Sprintf(templateCopyToFile, imageUrl, filePath)) return err } diff --git a/pkg/skopeo/skopeo_test.go b/pkg/skopeo/skopeo_test.go index 87b3332d..f30604d6 100644 --- a/pkg/skopeo/skopeo_test.go +++ b/pkg/skopeo/skopeo_test.go @@ -28,8 +28,8 @@ var _ = Describe("Test Skopeo", func() { It("skopeo CopyToFile - success", func() { - fakePath := "path/to/registry.tar" - cmd := fmt.Sprintf(templateCopyToFile, consts.RegistryImage, fakePath, consts.RegistryImage) + fakePath := "path/to/registry" + cmd := fmt.Sprintf(templateCopyToFile, consts.RegistryImage, fakePath) mockExecuter.EXPECT().Execute(cmd).Return("", nil).Times(1) err := testSkopeo.CopyToFile(consts.RegistryImage, consts.RegistryImage, fakePath) @@ -37,7 +37,7 @@ var _ = Describe("Test Skopeo", func() { }) It("skopeo CopyToFile - failure", func() { - fakePath := "path/to/registry.tar" + fakePath := "path/to/registry" mockExecuter.EXPECT().Execute(gomock.Any()).Return("", errors.New("some error")).Times(1) err := testSkopeo.CopyToFile(consts.RegistryImage, consts.RegistryImage, fakePath) diff --git a/pkg/templates/data.go b/pkg/templates/data.go index 93d6e4f8..1bd2740c 100644 --- a/pkg/templates/data.go +++ b/pkg/templates/data.go @@ -189,11 +189,11 @@ func GetDeployIgnitionTemplateData(targetDevice, postScript string, sparseClone, } } -func GetRegistryEnv(registryData, registryUpgrade string) string { +func GetRegistryEnv(registryImage, registryData, registryUpgrade string) string { return fmt.Sprintf(`REGISTRY_IMAGE=%s REGISTRY_DATA=%s REGISTRY_UPGRADE=%s -`, consts.RegistryImage, registryData, registryUpgrade) +`, registryImage, registryData, registryUpgrade) } func GetUpgradeISOEnv(releaseImage, releaseVersion string) string { From df19ab61021e8ba85190e530965d267901a54989 Mon Sep 17 00:00:00 2001 From: Daniel Erez Date: Wed, 31 Dec 2025 12:35:00 +0200 Subject: [PATCH 14/20] Update rpms-signature-scan task to trusted version Update the rpms-signature-scan task reference to the latest trusted version to resolve Konflux enterprise contract violation. Task: rpms-signature-scan Old SHA: 78c8d7960c6db284356d94aaae64d1fca34fff4de6a6e20d897a088af0c81cf5 New SHA: 0b10508c82ccb0f5a06a66ce7af56e9bfd40651ddefdf0f499988e897771ee28 --- .tekton/appliance-pull-request.yaml | 2 +- .tekton/appliance-push.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.tekton/appliance-pull-request.yaml b/.tekton/appliance-pull-request.yaml index 68993f76..98d72870 100644 --- a/.tekton/appliance-pull-request.yaml +++ b/.tekton/appliance-pull-request.yaml @@ -453,7 +453,7 @@ spec: - name: name value: rpms-signature-scan - name: bundle - value: quay.io/konflux-ci/konflux-vanguard/task-rpms-signature-scan:0.2@sha256:78c8d7960c6db284356d94aaae64d1fca34fff4de6a6e20d897a088af0c81cf5 + value: quay.io/konflux-ci/konflux-vanguard/task-rpms-signature-scan:0.2@sha256:0b10508c82ccb0f5a06a66ce7af56e9bfd40651ddefdf0f499988e897771ee28 - name: kind value: task resolver: bundles diff --git a/.tekton/appliance-push.yaml b/.tekton/appliance-push.yaml index 36218a49..548b0f6a 100644 --- a/.tekton/appliance-push.yaml +++ b/.tekton/appliance-push.yaml @@ -450,7 +450,7 @@ spec: - name: name value: rpms-signature-scan - name: bundle - value: quay.io/konflux-ci/konflux-vanguard/task-rpms-signature-scan:0.2@sha256:78c8d7960c6db284356d94aaae64d1fca34fff4de6a6e20d897a088af0c81cf5 + value: quay.io/konflux-ci/konflux-vanguard/task-rpms-signature-scan:0.2@sha256:0b10508c82ccb0f5a06a66ce7af56e9bfd40651ddefdf0f499988e897771ee28 - name: kind value: task resolver: bundles From 001e3069f28a8928c0268a7a38307fdc9878335a Mon Sep 17 00:00:00 2001 From: Daniel Erez Date: Tue, 30 Dec 2025 22:15:09 +0200 Subject: [PATCH 15/20] Update Go dependencies Update direct and indirect Go dependencies to their latest compatible versions: Direct dependencies: - github.com/coreos/stream-metadata-go: v0.4.5 -> v0.4.10 - github.com/diskfs/go-diskfs: v1.4.1 -> v1.4.2 - github.com/hashicorp/go-version: v1.7.0 -> v1.8.0 - github.com/itchyny/gojq: v0.12.17 -> v0.12.18 - github.com/openconfig/goyang: v1.6.0 -> v1.6.3 - github.com/spf13/cobra: v1.8.1 -> v1.10.2 - golang.org/x/crypto: v0.43.0 -> v0.46.0 - golang.org/x/term: v0.36.0 -> v0.38.0 Also updates various indirect dependencies including golang.org/x packages, prometheus, redis, and compression libraries. --- go.mod | 83 ++++++++++---------- go.sum | 236 +++++++++++++++++++++++++-------------------------------- 2 files changed, 144 insertions(+), 175 deletions(-) diff --git a/go.mod b/go.mod index feb3370b..0bcd9eff 100644 --- a/go.mod +++ b/go.mod @@ -12,17 +12,17 @@ require ( github.com/cavaliergopher/grab/v3 v3.0.1 github.com/containers/image v3.0.2+incompatible github.com/coreos/ignition/v2 v2.20.0 - github.com/coreos/stream-metadata-go v0.4.5 - github.com/diskfs/go-diskfs v1.4.1 + github.com/coreos/stream-metadata-go v0.4.10 + github.com/diskfs/go-diskfs v1.4.2 github.com/distribution/distribution/v3 v3.0.0-rc.3 github.com/dustin/go-humanize v1.0.1 github.com/go-openapi/swag v0.23.0 github.com/golang/mock v1.7.0-rc.1 - github.com/hashicorp/go-version v1.7.0 - github.com/itchyny/gojq v0.12.17 + github.com/hashicorp/go-version v1.8.0 + github.com/itchyny/gojq v0.12.18 github.com/onsi/ginkgo/v2 v2.19.1 github.com/onsi/gomega v1.34.0 - github.com/openconfig/goyang v1.6.0 + github.com/openconfig/goyang v1.6.3 github.com/openshift/api v0.0.0-20240808203820-e69593239e49 github.com/openshift/assisted-image-service v0.0.0-20250301084320-0faa6d927ecd github.com/openshift/assisted-service/api v0.0.0 @@ -32,25 +32,25 @@ require ( github.com/pelletier/go-toml v1.9.5 github.com/pkg/errors v0.9.1 github.com/sirupsen/logrus v1.9.4-0.20251023124752-b61f268f75b6 - github.com/spf13/cobra v1.8.1 + github.com/spf13/cobra v1.10.2 github.com/thedevsaddam/retry v1.2.1 github.com/thoas/go-funk v0.9.3 - golang.org/x/crypto v0.43.0 - golang.org/x/term v0.36.0 + golang.org/x/crypto v0.46.0 + golang.org/x/term v0.38.0 k8s.io/api v0.30.3 k8s.io/apimachinery v0.30.3 sigs.k8s.io/yaml v1.4.0 ) require ( - cloud.google.com/go/auth v0.9.3 // indirect - cloud.google.com/go/auth/oauth2adapt v0.2.4 // indirect - cloud.google.com/go/compute/metadata v0.6.0 // indirect + cloud.google.com/go/auth v0.14.0 // indirect + cloud.google.com/go/auth/oauth2adapt v0.2.7 // indirect + cloud.google.com/go/compute/metadata v0.9.0 // indirect github.com/AlecAivazis/survey/v2 v2.3.5 // indirect github.com/Azure/azure-sdk-for-go v68.0.0+incompatible // indirect - github.com/Azure/azure-sdk-for-go/sdk/azcore v1.12.0 // indirect - github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.6.0 // indirect - github.com/Azure/azure-sdk-for-go/sdk/internal v1.9.0 // indirect + github.com/Azure/azure-sdk-for-go/sdk/azcore v1.20.0 // indirect + github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.13.1 // indirect + github.com/Azure/azure-sdk-for-go/sdk/internal v1.11.2 // indirect github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/compute/armcompute/v5 v5.7.0 // indirect github.com/Azure/go-ansiterm v0.0.0-20250102033503-faa5f7b0171c // indirect github.com/Azure/go-autorest v14.2.0+incompatible // indirect @@ -61,7 +61,7 @@ require ( github.com/Azure/go-autorest/autorest/validation v0.3.1 // indirect github.com/Azure/go-autorest/logger v0.2.1 // indirect github.com/Azure/go-autorest/tracing v0.6.0 // indirect - github.com/AzureAD/microsoft-authentication-library-for-go v1.2.2 // indirect + github.com/AzureAD/microsoft-authentication-library-for-go v1.6.0 // indirect github.com/BurntSushi/toml v1.4.0 // indirect github.com/IBM-Cloud/bluemix-go v0.0.0-20250618042132-471bd83e0b74 // indirect github.com/IBM-Cloud/power-go-client v1.8.3 // indirect @@ -88,7 +88,7 @@ require ( github.com/containers/storage v1.54.0 // indirect github.com/coreos/go-json v0.0.0-20231102161613-e49c8866685a // indirect github.com/coreos/go-semver v0.3.1 // indirect - github.com/coreos/go-systemd/v22 v22.5.0 // indirect + github.com/coreos/go-systemd/v22 v22.6.0 // indirect github.com/coreos/vcontext v0.0.0-20231102161604-685dc7299dc5 // indirect github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f // indirect @@ -99,7 +99,7 @@ require ( github.com/docker/go-events v0.0.0-20250808211157-605354379745 // indirect github.com/docker/go-metrics v0.0.1 // indirect github.com/docker/go-units v0.5.0 // indirect - github.com/elliotwutingfeng/asciiset v0.0.0-20250812055617-fb43ac3ba420 // indirect + github.com/elliotwutingfeng/asciiset v0.0.0-20251209210403-59ed57bd7b86 // indirect github.com/emicklei/go-restful/v3 v3.12.1 // indirect github.com/evanphx/json-patch v5.9.0+incompatible // indirect github.com/evanphx/json-patch/v5 v5.9.0 // indirect @@ -110,8 +110,8 @@ require ( github.com/fsnotify/fsnotify v1.7.0 // indirect github.com/gabriel-vasile/mimetype v1.4.3 // indirect github.com/go-errors/errors v1.4.2 // indirect - github.com/go-jose/go-jose/v4 v4.0.2 // indirect - github.com/go-logr/logr v1.4.2 // indirect + github.com/go-jose/go-jose/v4 v4.1.3 // indirect + github.com/go-logr/logr v1.4.3 // indirect github.com/go-logr/stdr v1.2.2 // indirect github.com/go-logr/zapr v1.3.0 // indirect github.com/go-openapi/analysis v0.23.0 // indirect @@ -131,7 +131,7 @@ require ( github.com/gofrs/uuid/v5 v5.2.0 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/golang-jwt/jwt/v4 v4.5.0 // indirect - github.com/golang-jwt/jwt/v5 v5.2.1 // indirect + github.com/golang-jwt/jwt/v5 v5.3.0 // indirect github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8 // indirect github.com/golang/protobuf v1.5.4 // indirect github.com/google/btree v1.0.1 // indirect @@ -139,11 +139,11 @@ require ( github.com/google/go-cmp v0.7.0 // indirect github.com/google/gofuzz v1.2.0 // indirect github.com/google/pprof v0.0.0-20250630185457-6e76a2b096b5 // indirect - github.com/google/s2a-go v0.1.8 // indirect + github.com/google/s2a-go v0.1.9 // indirect github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 // indirect github.com/google/uuid v1.6.0 // indirect - github.com/googleapis/enterprise-certificate-proxy v0.3.4 // indirect - github.com/googleapis/gax-go/v2 v2.13.0 // indirect + github.com/googleapis/enterprise-certificate-proxy v0.3.7 // indirect + github.com/googleapis/gax-go/v2 v2.14.1 // indirect github.com/gophercloud/gophercloud/v2 v2.0.0 // indirect github.com/gophercloud/utils/v2 v2.0.0-20240701101423-2401526caee5 // indirect github.com/gorilla/handlers v1.5.2 // indirect @@ -159,7 +159,7 @@ require ( github.com/hashicorp/golang-lru/v2 v2.0.5 // indirect github.com/imdario/mergo v0.3.16 // indirect github.com/inconshreveable/mousetrap v1.1.0 // indirect - github.com/itchyny/timefmt-go v0.1.6 // indirect + github.com/itchyny/timefmt-go v0.1.7 // indirect github.com/jinzhu/inflection v1.0.0 // indirect github.com/jinzhu/now v1.1.4 // indirect github.com/jmespath/go-jmespath v0.4.0 // indirect @@ -168,7 +168,7 @@ require ( github.com/json-iterator/go v1.1.12 // indirect github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 // indirect github.com/kdomanski/iso9660 v0.2.1 // indirect - github.com/klauspost/compress v1.17.11 // indirect + github.com/klauspost/compress v1.18.2 // indirect github.com/kylelemons/godebug v1.1.0 // indirect github.com/leodido/go-urn v1.4.0 // indirect github.com/liggitt/tabwriter v0.0.0-20181228230101-89fcab3d43de // indirect @@ -213,9 +213,9 @@ require ( github.com/ovirt/go-ovirt v0.0.0-20210809163552-d4276e35d3db // indirect github.com/pborman/uuid v1.2.0 // indirect github.com/peterbourgon/diskv v2.0.1+incompatible // indirect - github.com/pierrec/lz4/v4 v4.1.17 // indirect + github.com/pierrec/lz4/v4 v4.1.23 // indirect github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c // indirect - github.com/pkg/xattr v0.4.9 // indirect + github.com/pkg/xattr v0.4.12 // indirect github.com/ppc64le-cloud/powervs-utils v0.0.0-20250820090732-d58d915fd4b6 // indirect github.com/prometheus/client_golang v1.20.5 // indirect github.com/prometheus/client_model v0.6.1 // indirect @@ -227,15 +227,14 @@ require ( github.com/russross/blackfriday/v2 v2.1.0 // indirect github.com/shurcooL/httpfs v0.0.0-20230704072500-f1e31cf0ba5c // indirect github.com/shurcooL/vfsgen v0.0.0-20181202132449-6a9ea43bcacd // indirect - github.com/spf13/pflag v1.0.6-0.20210604193023-d5e0c0615ace // indirect + github.com/spf13/pflag v1.0.10 // indirect github.com/syndtr/gocapability v0.0.0-20200815063812-42c35b437635 // indirect - github.com/ulikunitz/xz v0.5.12 // indirect + github.com/ulikunitz/xz v0.5.15 // indirect github.com/vincent-petithory/dataurl v1.0.0 // indirect github.com/vmware/govmomi v0.37.2 // indirect github.com/xlab/treeprint v1.2.0 // indirect github.com/yosida95/uritemplate/v3 v3.0.2 // indirect go.mongodb.org/mongo-driver v1.14.0 // indirect - go.opencensus.io v0.24.0 // indirect go.opentelemetry.io/auto/sdk v1.1.0 // indirect go.opentelemetry.io/contrib/bridges/prometheus v0.57.0 // indirect go.opentelemetry.io/contrib/exporters/autoexport v0.57.0 // indirect @@ -263,20 +262,20 @@ require ( go.uber.org/multierr v1.11.0 // indirect go.uber.org/zap v1.27.0 // indirect golang.org/x/exp v0.0.0-20251023183803-a4bb9ffd2546 // indirect - golang.org/x/mod v0.29.0 // indirect - golang.org/x/net v0.46.0 // indirect - golang.org/x/oauth2 v0.25.0 // indirect - golang.org/x/sync v0.17.0 // indirect - golang.org/x/sys v0.37.0 // indirect - golang.org/x/text v0.30.0 // indirect - golang.org/x/time v0.6.0 // indirect - golang.org/x/tools v0.38.0 // indirect + golang.org/x/mod v0.30.0 // indirect + golang.org/x/net v0.48.0 // indirect + golang.org/x/oauth2 v0.34.0 // indirect + golang.org/x/sync v0.19.0 // indirect + golang.org/x/sys v0.39.0 // indirect + golang.org/x/text v0.32.0 // indirect + golang.org/x/time v0.14.0 // indirect + golang.org/x/tools v0.39.0 // indirect golang.org/x/tools/godoc v0.1.0-deprecated // indirect gomodules.xyz/jsonpatch/v2 v2.4.0 // indirect - google.golang.org/api v0.197.0 // indirect - google.golang.org/genproto/googleapis/api v0.0.0-20251029180050-ab9386a59fda // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20251022142026-3a174f9686a8 // indirect - google.golang.org/grpc v1.71.0 // indirect + google.golang.org/api v0.219.0 // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20251111163417-95abcf5c77ba // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20251124214823-79d6a2a48846 // indirect + google.golang.org/grpc v1.73.0-dev // indirect google.golang.org/protobuf v1.36.10 // indirect gopkg.in/evanphx/json-patch.v5 v5.6.0 // indirect gopkg.in/gcfg.v1 v1.2.3 // indirect diff --git a/go.sum b/go.sum index 2f331aa3..95cf3f40 100644 --- a/go.sum +++ b/go.sum @@ -1,5 +1,5 @@ -cel.dev/expr v0.19.1 h1:NciYrtDRIR0lNCnH1LFJegdjspNx9fI59O7TWcua/W4= -cel.dev/expr v0.19.1/go.mod h1:MrpN08Q+lEBs+bGYdLxxHkZoUSsCp0nSKTs0nTymJgw= +cel.dev/expr v0.20.0 h1:OunBvVCfvpWlt4dN7zg3FM6TDkzOePe1+foGJ9AXeeI= +cel.dev/expr v0.20.0/go.mod h1:MrpN08Q+lEBs+bGYdLxxHkZoUSsCp0nSKTs0nTymJgw= cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= @@ -10,13 +10,13 @@ cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg cloud.google.com/go v0.51.0/go.mod h1:hWtGJ6gnXH+KgDv+V0zFGDvpi07n3z8ZNj3T1RW0Gcw= cloud.google.com/go v0.115.1 h1:Jo0SM9cQnSkYfp44+v+NQXHpcHqlnRJk2qxh6yvxxxQ= cloud.google.com/go v0.115.1/go.mod h1:DuujITeaufu3gL68/lOFIirVNJwQeyf5UXyi+Wbgknc= -cloud.google.com/go/auth v0.9.3 h1:VOEUIAADkkLtyfr3BLa3R8Ed/j6w1jTBmARx+wb5w5U= -cloud.google.com/go/auth v0.9.3/go.mod h1:7z6VY+7h3KUdRov5F1i8NDP5ZzWKYmEPO842BgCsmTk= -cloud.google.com/go/auth/oauth2adapt v0.2.4 h1:0GWE/FUsXhf6C+jAkWgYm7X9tK8cuEIfy19DBn6B6bY= -cloud.google.com/go/auth/oauth2adapt v0.2.4/go.mod h1:jC/jOpwFP6JBxhB3P5Rr0a9HLMC/Pe3eaL4NmdvqPtc= +cloud.google.com/go/auth v0.14.0 h1:A5C4dKV/Spdvxcl0ggWwWEzzP7AZMJSEIgrkngwhGYM= +cloud.google.com/go/auth v0.14.0/go.mod h1:CYsoRL1PdiDuqeQpZE0bP2pnPrGqFcOkI0nldEQis+A= +cloud.google.com/go/auth/oauth2adapt v0.2.7 h1:/Lc7xODdqcEw8IrZ9SvwnlLX6j9FHQM74z6cBk9Rw6M= +cloud.google.com/go/auth/oauth2adapt v0.2.7/go.mod h1:NTbTTzfvPl1Y3V1nPpOgl2w6d/FjO7NNUQaWSox6ZMc= cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= -cloud.google.com/go/compute/metadata v0.6.0 h1:A6hENjEsCDtC1k8byVsgwvVcioamEHvZ4j01OwKxG9I= -cloud.google.com/go/compute/metadata v0.6.0/go.mod h1:FjyFAW1MW0C203CEOMDTu3Dk1FlqW3Rga40jzHL4hfg= +cloud.google.com/go/compute/metadata v0.9.0 h1:pDUj4QMoPejqq20dK0Pg2N4yG9zIkYGdBtwLoEkH9Zs= +cloud.google.com/go/compute/metadata v0.9.0/go.mod h1:E0bWwX5wTnLPedCKqk3pJmVgCBSM6qQI1yTBdEb3C10= cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= cloud.google.com/go/iam v1.2.1 h1:QFct02HRb7H12J/3utj0qf5tobFh9V4vR6h9eX5EBRU= cloud.google.com/go/iam v1.2.1/go.mod h1:3VUIJDPpwT6p/amXRC5GY8fCCh70lxPygguVtI0Z4/g= @@ -34,12 +34,14 @@ github.com/AlecAivazis/survey/v2 v2.3.5 h1:A8cYupsAZkjaUmhtTYv3sSqc7LO5mp1XDfqe5 github.com/AlecAivazis/survey/v2 v2.3.5/go.mod h1:4AuI9b7RjAR+G7v9+C4YSlX/YL3K3cWNXgWXOhllqvI= github.com/Azure/azure-sdk-for-go v68.0.0+incompatible h1:fcYLmCpyNYRnvJbPerq7U0hS+6+I79yEDJBqVNcqUzU= github.com/Azure/azure-sdk-for-go v68.0.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= -github.com/Azure/azure-sdk-for-go/sdk/azcore v1.12.0 h1:1nGuui+4POelzDwI7RG56yfQJHCnKvwfMoU7VsEp+Zg= -github.com/Azure/azure-sdk-for-go/sdk/azcore v1.12.0/go.mod h1:99EvauvlcJ1U06amZiksfYz/3aFGyIhWGHVyiZXtBAI= -github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.6.0 h1:U2rTu3Ef+7w9FHKIAXM6ZyqF3UOWJZ12zIm8zECAFfg= -github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.6.0/go.mod h1:9kIvujWAA58nmPmWB1m23fyWic1kYZMxD9CxaWn4Qpg= -github.com/Azure/azure-sdk-for-go/sdk/internal v1.9.0 h1:H+U3Gk9zY56G3u872L82bk4thcsy2Gghb9ExT4Zvm1o= -github.com/Azure/azure-sdk-for-go/sdk/internal v1.9.0/go.mod h1:mgrmMSgaLp9hmax62XQTd0N4aAqSE5E0DulSpVYK7vc= +github.com/Azure/azure-sdk-for-go/sdk/azcore v1.20.0 h1:JXg2dwJUmPB9JmtVmdEB16APJ7jurfbY5jnfXpJoRMc= +github.com/Azure/azure-sdk-for-go/sdk/azcore v1.20.0/go.mod h1:YD5h/ldMsG0XiIw7PdyNhLxaM317eFh5yNLccNfGdyw= +github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.13.1 h1:Hk5QBxZQC1jb2Fwj6mpzme37xbCDdNTxU7O9eb5+LB4= +github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.13.1/go.mod h1:IYus9qsFobWIc2YVwe/WPjcnyCkPKtnHAqUYeebc8z0= +github.com/Azure/azure-sdk-for-go/sdk/azidentity/cache v0.3.2 h1:yz1bePFlP5Vws5+8ez6T3HWXPmwOK7Yvq8QxDBD3SKY= +github.com/Azure/azure-sdk-for-go/sdk/azidentity/cache v0.3.2/go.mod h1:Pa9ZNPuoNu/GztvBSKk9J1cDJW6vk/n0zLtV4mgd8N8= +github.com/Azure/azure-sdk-for-go/sdk/internal v1.11.2 h1:9iefClla7iYpfYWdzPCRDozdmndjTm8DXdpCzPajMgA= +github.com/Azure/azure-sdk-for-go/sdk/internal v1.11.2/go.mod h1:XtLgD3ZD34DAaVIIAyG3objl5DynM3CQ/vMcbBNJZGI= github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/authorization/armauthorization/v3 v3.0.0-beta.2 h1:qiir/pptnHqp6hV8QwV+IExYIf6cPsXBfUDUXQ27t2Y= github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/authorization/armauthorization/v3 v3.0.0-beta.2/go.mod h1:jVRrRDLCOuif95HDYC23ADTMlvahB7tMdl519m9Iyjc= github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/compute/armcompute/v4 v4.2.1 h1:UPeCRD+XY7QlaGQte2EVI2iOcWvUYA2XY8w5T/8v0NQ= @@ -102,14 +104,16 @@ github.com/Azure/go-autorest/logger v0.2.1/go.mod h1:T9E3cAhj2VqvPOtCYAvby9aBXkZ github.com/Azure/go-autorest/tracing v0.5.0/go.mod h1:r/s2XiOKccPW3HrqB+W0TQzfbtp2fGCgRFtBroKn4Dk= github.com/Azure/go-autorest/tracing v0.6.0 h1:TYi4+3m5t6K48TGI9AUdb+IzbnSxvnvUMfuitfgcfuo= github.com/Azure/go-autorest/tracing v0.6.0/go.mod h1:+vhtPC754Xsa23ID7GlGsrdKBpUA79WCAKPPZVC2DeU= -github.com/AzureAD/microsoft-authentication-library-for-go v1.2.2 h1:XHOnouVk1mxXfQidrMEnLlPk9UMeRtyBTnEFtxkV0kU= -github.com/AzureAD/microsoft-authentication-library-for-go v1.2.2/go.mod h1:wP83P5OoQ5p6ip3ScPr0BAq0BvuPAvacpEuSzyouqAI= +github.com/AzureAD/microsoft-authentication-extensions-for-go/cache v0.1.1 h1:WJTmL004Abzc5wDB5VtZG2PJk5ndYDgVacGqfirKxjM= +github.com/AzureAD/microsoft-authentication-extensions-for-go/cache v0.1.1/go.mod h1:tCcJZ0uHAmvjsVYzEFivsRTN00oz5BEsRgQHu5JZ9WE= +github.com/AzureAD/microsoft-authentication-library-for-go v1.6.0 h1:XRzhVemXdgvJqCH0sFfrBUTnUJSBrBf7++ypk+twtRs= +github.com/AzureAD/microsoft-authentication-library-for-go v1.6.0/go.mod h1:HKpQxkWaGLJ+D/5H8QRpyQXA1eKjxkFlOMwck5+33Jk= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/BurntSushi/toml v1.4.0 h1:kuoIxZQy2WRRk1pttg9asf+WVv6tWQuBNVmK8+nqPr0= github.com/BurntSushi/toml v1.4.0/go.mod h1:ukJfTF/6rtPPRCnwkur4qwRxa8vTRFBF0uk2lLoLwho= github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= -github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.25.0 h1:3c8yed4lgqTt+oTQ+JNMDo+F4xprBf+O/il4ZC0nRLw= -github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.25.0/go.mod h1:obipzmGjfSjam60XLwGfqUkJsfiheAl+TUjG+4yzyPM= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.26.0 h1:f2Qw/Ehhimh5uO1fayV0QIW7DShEQqhtUfhYc+cBPlw= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.26.0/go.mod h1:2bIszWvQRlJVmJLiuLhukLImRjKPcYdzzsx6darK02A= github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/metric v0.48.1 h1:UQ0AhxogsIRZDkElkblfnwjc3IaltCm2HUMvezQaL7s= github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/metric v0.48.1/go.mod h1:jyqM3eLpJ3IbIFDTKVz2rF9T/xWGW0rIriGwnz8l9Tk= github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemapping v0.48.1 h1:8nn+rsCvTq9axyEh382S0PFLBeaFwNsT43IrPWzctRU= @@ -166,7 +170,6 @@ github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRF github.com/alecthomas/units v0.0.0-20240927000941-0f3dac36c52b h1:mimo19zliBX/vSQ6PWWSL9lK8qwHozUj03+zLoEB8O0= github.com/alecthomas/units v0.0.0-20240927000941-0f3dac36c52b/go.mod h1:fvzegU4vN3H1qMT+8wDmzjAcDONcgo2/SZ/TyfdUOFs= github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883/go.mod h1:rCTlJbsFo29Kk6CurOXKm700vrz8f0KW0JNfpkRJY/8= -github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= github.com/antlr/antlr4/runtime/Go/antlr/v4 v4.0.0-20230321174746-8dcc6526cfb1 h1:X8MJ0fnN5FPdcGF5Ij2/OW+HgiJrRg3AfHAx1PJtIzM= github.com/antlr/antlr4/runtime/Go/antlr/v4 v4.0.0-20230321174746-8dcc6526cfb1/go.mod h1:pSwJ0fSY5KhvocuWSx4fz3BA8OrA1bQn+K1Eli3BRwM= github.com/apparentlymart/go-cidr v1.0.0/go.mod h1:EBcsNrHc3zQeuaeCeCtQruQm+n9/YjEn/vI25Lg7Gwc= @@ -210,7 +213,6 @@ github.com/cavaliercoder/go-cpio v0.0.0-20180626203310-925f9528c45e h1:hHg27A0RS github.com/cavaliercoder/go-cpio v0.0.0-20180626203310-925f9528c45e/go.mod h1:oDpT4efm8tSYHXV5tHSdRvBet/b/QzxZ+XyyPehvm3A= github.com/cavaliergopher/grab/v3 v3.0.1 h1:4z7TkBfmPjmLAAmkkAZNX/6QJ1nNFdv3SdIHXju0Fr4= github.com/cavaliergopher/grab/v3 v3.0.1/go.mod h1:1U/KNnD+Ft6JJiYoYBAimKH2XrYptb8Kl3DFGmsjpq4= -github.com/cenkalti/backoff/v4 v4.1.1/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInqkPWOWmG2CLw= github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8= github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= @@ -231,11 +233,8 @@ github.com/cjlapao/common-go v0.0.39/go.mod h1:M3dzazLjTjEtZJbbxoA5ZDiGCiHmpwqW9 github.com/clarketm/json v1.14.1 h1:43bkbTTKKdDx7crs3WHzkrnH6S1EvAF1VZrdFGMmmz4= github.com/clarketm/json v1.14.1/go.mod h1:ynr2LRfb0fQU34l07csRNBTcivjySLLiY1YzQqKVfdo= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= -github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= -github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cncf/xds/go v0.0.0-20241223141626-cff3c89139a3 h1:boJj011Hh+874zpIySeApCX4GeOjPl9qhRF3QuIZq+Q= -github.com/cncf/xds/go v0.0.0-20241223141626-cff3c89139a3/go.mod h1:W+zGtBO5Y1IgJhy4+A9GOqVhqLpfZi+vwmdNXUehLA8= +github.com/cncf/xds/go v0.0.0-20250121191232-2f005788dc42 h1:Om6kYQYDUk5wWbT0t0q6pvyM49i9XZAv9dDrkDA7gjk= +github.com/cncf/xds/go v0.0.0-20250121191232-2f005788dc42/go.mod h1:W+zGtBO5Y1IgJhy4+A9GOqVhqLpfZi+vwmdNXUehLA8= github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod h1:zn76sxSg3SzpJ0PPJaLDCu+Bu0Lg3sKTORVIj19EIF8= github.com/containerd/cgroups v0.0.0-20190919134610-bf292b21730f/go.mod h1:OApqhQ4XNSNC13gXIwDjhOQxjWa/NxkwZXJ1EvqT0ko= github.com/containerd/console v0.0.0-20180822173158-c12b1e7919c1/go.mod h1:Tj/on1eG8kiEhd0+fhSDzsPAFESxzBBvdyEgyryXffw= @@ -272,8 +271,8 @@ github.com/coreos/go-systemd v0.0.0-20181031085051-9002847aa142/go.mod h1:F5haX7 github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= github.com/coreos/go-systemd v0.0.0-20190719114852-fd7a80b32e1f/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= github.com/coreos/go-systemd/v22 v22.0.0/go.mod h1:xO0FLkIi5MaZafQlIrOotqXZ90ih+1atmu1JpKERPPk= -github.com/coreos/go-systemd/v22 v22.5.0 h1:RrqgGjYQKalulkV8NGVIfkXQf6YYmOyiJKk8iXXhfZs= -github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= +github.com/coreos/go-systemd/v22 v22.6.0 h1:aGVa/v8B7hpb0TKl0MWoAavPDmHvobFe5R5zn0bCJWo= +github.com/coreos/go-systemd/v22 v22.6.0/go.mod h1:iG+pp635Fo7ZmV/j14KUcmEyWF+0X7Lua8rrTWzYgWU= github.com/coreos/ign-converter v0.0.0-20200629171308-e40a44f244c5/go.mod h1:LNu0WTt8iVH/WJH15R/SjZw7AdyY2qAyf9ILZTCBvho= github.com/coreos/ignition v0.35.0/go.mod h1:WJQapxzEn9DE0ryxsGvm8QnBajm/XsS/PkrDqSpz+bA= github.com/coreos/ignition/v2 v2.1.1/go.mod h1:RqmqU64zxarUJa3l4cHtbhcSwfQLpUhv0WVziZwoXvE= @@ -282,14 +281,14 @@ github.com/coreos/ignition/v2 v2.20.0 h1:xQjrxhCbcSKpqrN2hOQavAc1rx0GOf6qh2QCauS github.com/coreos/ignition/v2 v2.20.0/go.mod h1:l7EpXNWA7jBXmjUMvnVBlrrj+LX2wA/PAyD9kstwFDQ= github.com/coreos/pkg v0.0.0-20160727233714-3ac0863d7acf/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= -github.com/coreos/stream-metadata-go v0.4.5 h1:Ik1pPKKCug7TPw9rgqmlsU+dZkR+hDYFQ0iPpx5Ucrg= -github.com/coreos/stream-metadata-go v0.4.5/go.mod h1:fMObQqQm8Ku91G04btKzEH3AsdP1mrAb986z9aaK0tE= +github.com/coreos/stream-metadata-go v0.4.10 h1:PlZjbJF94cCeCAHwkeBOrLhdT36qq1O8RdJ/auFa7DI= +github.com/coreos/stream-metadata-go v0.4.10/go.mod h1:dTE8UEFgyUcrbdUg7vGT3uIP7S8a1IwUlmWLKlOp8G8= github.com/coreos/vcontext v0.0.0-20190529201340-22b159166068/go.mod h1:E+6hug9bFSe0KZ2ZAzr8M9F5JlArJjv5D1JS7KSkPKE= github.com/coreos/vcontext v0.0.0-20191017033345-260217907eb5/go.mod h1:E+6hug9bFSe0KZ2ZAzr8M9F5JlArJjv5D1JS7KSkPKE= github.com/coreos/vcontext v0.0.0-20231102161604-685dc7299dc5 h1:sMZSC2BW5LKCdvNbfN12SbKrNvtLBUNjfHZmMvI2ItY= github.com/coreos/vcontext v0.0.0-20231102161604-685dc7299dc5/go.mod h1:Salmysdw7DAVuobBW/LwsKKgpyCPHUhjyJoMJD+ZJiI= github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= -github.com/cpuguy83/go-md2man/v2 v2.0.4/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= +github.com/cpuguy83/go-md2man/v2 v2.0.6/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g= github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/creack/pty v1.1.17/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4= @@ -310,8 +309,8 @@ github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f/go.mod h1:cu github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= github.com/digitalocean/go-libvirt v0.0.0-20250616175656-5843751af96c h1:VTYS0X+Vfs/W5ABzT5SerR4bTc5n27oOVgGqM2Tbg90= github.com/digitalocean/go-libvirt v0.0.0-20250616175656-5843751af96c/go.mod h1:GwQQeZzqvtOneY034nAMNxnXA/6aXd/9z7uDm7Hb8sk= -github.com/diskfs/go-diskfs v1.4.1 h1:iODgkzHLmvXS+1VDztpW53T+dQm8GQzi20y9yUd5UCA= -github.com/diskfs/go-diskfs v1.4.1/go.mod h1:+tOkQs8CMMog6Nvljg8DGIxEXrgL48iyT3OM3IlSz74= +github.com/diskfs/go-diskfs v1.4.2 h1:khBr9RTkqAZFaMYK7PP8NooL30hqj3bSgRmj3Ouguls= +github.com/diskfs/go-diskfs v1.4.2/go.mod h1:ss1uAUBhgDdEOewZFDWWpYqJFjNPbK7hYSjRoQE+D94= github.com/distribution/distribution/v3 v3.0.0-rc.3 h1:JRJso9IVLoooKX76oWR+DWCCdZlK5m4nRtDWvzB1ITg= github.com/distribution/distribution/v3 v3.0.0-rc.3/go.mod h1:offoOgrnYs+CFwis8nE0hyzYZqRCZj5EFc5kgfszwiE= github.com/distribution/reference v0.6.0 h1:0IXCQ5g4/QMHHkarYzh5l+u8T3t73zM5QvfrDyIgxBk= @@ -349,19 +348,15 @@ github.com/elazarl/goproxy v0.0.0-20180725130230-947c36da3153/go.mod h1:/Zj4wYkg github.com/elazarl/goproxy v0.0.0-20190911111923-ecfe977594f1/go.mod h1:Ro8st/ElPeALwNFlcTpWmkr6IoMFfkjXAvTHpevnDsM= github.com/elazarl/goproxy/ext v0.0.0-20190711103511-473e67f1d7d2/go.mod h1:gNh8nYJoAm43RfaxurUnxr+N1PwuFV3ZMl/efxlIlY8= github.com/elazarl/goproxy/ext v0.0.0-20190911111923-ecfe977594f1/go.mod h1:gNh8nYJoAm43RfaxurUnxr+N1PwuFV3ZMl/efxlIlY8= -github.com/elliotwutingfeng/asciiset v0.0.0-20250812055617-fb43ac3ba420 h1:uZyWYH3Ceh5g7JkbrV2DuKPIyernHQzlQz4uo+v4E+0= -github.com/elliotwutingfeng/asciiset v0.0.0-20250812055617-fb43ac3ba420/go.mod h1:GLo/8fDswSAniFG+BFIaiSPcK610jyzgEhWYPQwuQdw= +github.com/elliotwutingfeng/asciiset v0.0.0-20251209210403-59ed57bd7b86 h1:4eMYSciH1O/s15ZkFgp3Wbj05pVu4vs9SWPi8CVjVcw= +github.com/elliotwutingfeng/asciiset v0.0.0-20251209210403-59ed57bd7b86/go.mod h1:GLo/8fDswSAniFG+BFIaiSPcK610jyzgEhWYPQwuQdw= github.com/emicklei/go-restful v0.0.0-20170410110728-ff4f55a20633/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= github.com/emicklei/go-restful v2.9.5+incompatible/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= github.com/emicklei/go-restful v2.10.0+incompatible/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= github.com/emicklei/go-restful v2.15.0+incompatible/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= github.com/emicklei/go-restful/v3 v3.12.1 h1:PJMDIM/ak7btuL8Ex0iYET9hxM3CI2sjZtzpL63nKAU= github.com/emicklei/go-restful/v3 v3.12.1/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= -github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= -github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= -github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= -github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ= github.com/envoyproxy/go-control-plane v0.13.4 h1:zEqyPVyku6IvWCFwux4x9RxkLOMUL+1vC9xUFv5l2/M= github.com/envoyproxy/go-control-plane/envoy v1.32.4 h1:jb83lalDRZSpPWW2Z7Mck/8kXZ5CQAFYVjQcdVIr83A= github.com/envoyproxy/go-control-plane/envoy v1.32.4/go.mod h1:Gzjc5k8JcJswLjAx1Zm+wSYE20UrLtt7JZMWiWQXQEw= @@ -408,8 +403,8 @@ github.com/go-critic/go-critic v0.3.5-0.20190526074819-1df300866540/go.mod h1:+s github.com/go-errors/errors v1.4.2 h1:J6MZopCL4uSllY1OfXM374weqZFFItUbrImctkmUxIA= github.com/go-errors/errors v1.4.2/go.mod h1:sIVyrIiJhuEF+Pj9Ebtd6P/rEYROXFi3BopGUQ5a5Og= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= -github.com/go-jose/go-jose/v4 v4.0.2 h1:R3l3kkBds16bO7ZFAEEcofK0MkrAJt3jlJznWZG0nvk= -github.com/go-jose/go-jose/v4 v4.0.2/go.mod h1:WVf9LFMHh/QVrmqrOfqun0C45tMe3RoiKJMPvgWwLfY= +github.com/go-jose/go-jose/v4 v4.1.3 h1:CVLmWDhDVRa6Mi/IgCgaopNosCaHz7zrMeF9MlZRkrs= +github.com/go-jose/go-jose/v4 v4.1.3/go.mod h1:x4oUasVrzR7071A4TnHLGSPpNOm2a21K9Kf04k1rs08= github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= github.com/go-lintpack/lintpack v0.5.2/go.mod h1:NwZuYi2nUHho8XEIZ6SIxihrnPoqBTDqfpXvXAN0sXM= @@ -419,8 +414,8 @@ github.com/go-logr/logr v0.1.0/go.mod h1:ixOQHD9gLJUVQQ2ZOR7zLEifBX6tGkNJF4QyIY7 github.com/go-logr/logr v0.2.0/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU= github.com/go-logr/logr v1.2.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= -github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= +github.com/go-logr/logr v1.4.3 h1:CjnDlHq8ikf6E492q6eKboGOC0T8CDaOvkHCIg8idEI= +github.com/go-logr/logr v1.4.3/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= github.com/go-logr/zapr v1.3.0 h1:XGdV8XW8zdwFiwOA2Dryh1gj2KRQyOOoNmBy4EplIcQ= @@ -527,7 +522,6 @@ github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJA github.com/godbus/dbus v0.0.0-20181025153459-66d97aec3384/go.mod h1:/YcGZj5zSblfDWMMoOzV4fas9FZnQYTkDnsGvmh2Grw= github.com/godbus/dbus v0.0.0-20190422162347-ade71ed3457e/go.mod h1:bBOAhwG1umN6/6ZUMtDFBMQR8jRg9O75tm9K00oMsK4= github.com/godbus/dbus/v5 v5.0.3/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= -github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= github.com/gofrs/uuid/v5 v5.2.0 h1:qw1GMx6/y8vhVsx626ImfKMuS5CvJmhIKKtuyvfajMM= github.com/gofrs/uuid/v5 v5.2.0/go.mod h1:CDOjlDMVAtN56jqyRUZh58JT31Tiw7/oQyEXZV+9bD8= github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= @@ -538,14 +532,13 @@ github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69 github.com/golang-jwt/jwt/v4 v4.0.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg= github.com/golang-jwt/jwt/v4 v4.5.0 h1:7cYmW1XlMY7h7ii7UhUyChSgS5wUJEnm9uZVTGqOWzg= github.com/golang-jwt/jwt/v4 v4.5.0/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w39/MY0Ch0= -github.com/golang-jwt/jwt/v5 v5.2.1 h1:OuVbFODueb089Lh128TAcimifWaLhJwVflnrgM17wHk= -github.com/golang-jwt/jwt/v5 v5.2.1/go.mod h1:pqrtFR0X4osieyHYxtmOUWsAWrfe1Q5UVIyoH402zdk= +github.com/golang-jwt/jwt/v5 v5.3.0 h1:pv4AsKCKKZuqlgs5sUmn4x8UlGa0kEVt/puTpKx9vvo= +github.com/golang-jwt/jwt/v5 v5.3.0/go.mod h1:fxCRLWMO43lRc8nhHWY6LGqRcf+1gQWArsqaEUEa5bE= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8 h1:f+oWsMOmNPc8JmEHVZIycC7hBoQxHH9pNKQORJNozsQ= github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8/go.mod h1:wcDNUvekVysuuOpQKo3191zZyTpiI6se1N1ULghS0sw= github.com/golang/mock v1.0.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= @@ -566,7 +559,6 @@ github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:W github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8= github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= -github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek= @@ -609,12 +601,8 @@ github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5a github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8/DtOE= github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8= github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= @@ -629,8 +617,8 @@ github.com/google/pprof v0.0.0-20210407192527-94a9f03dee38/go.mod h1:kpwsk12EmLe github.com/google/pprof v0.0.0-20250630185457-6e76a2b096b5 h1:xhMrHhTJ6zxu3gA4enFM9MLn9AY7613teCdFnlUVbSQ= github.com/google/pprof v0.0.0-20250630185457-6e76a2b096b5/go.mod h1:5hDyRhoBCxViHszMt12TnOpEI4VVi+U8Gm9iphldiMA= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= -github.com/google/s2a-go v0.1.8 h1:zZDs9gcbt9ZPLV0ndSyQk6Kacx2g/X+SKYovpnz3SMM= -github.com/google/s2a-go v0.1.8/go.mod h1:6iNWHTpQ+nfNRN5E00MSdfDwVesa8hhS32PhPO8deJA= +github.com/google/s2a-go v0.1.9 h1:LGD7gtMgezd8a/Xak7mEWL0PjoTQFvpRudN895yqKW0= +github.com/google/s2a-go v0.1.9/go.mod h1:YA0Ei2ZQL3acow2O62kdp9UlnvMmU7kA6Eutn0dXayM= github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 h1:El6M4kTTCOh6aBiKaUGG7oYTSPP8MxqL4YI3kZKwcP4= github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510/go.mod h1:pupxD2MaaD3pAXIBCelhxNneeOaAeabZDe5s4K6zSpQ= github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= @@ -639,12 +627,12 @@ github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+ github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/googleapis/enterprise-certificate-proxy v0.3.4 h1:XYIDZApgAnrN1c855gTgghdIA6Stxb52D5RnLI1SLyw= -github.com/googleapis/enterprise-certificate-proxy v0.3.4/go.mod h1:YKe7cfqYXjKGpGvmSg28/fFvhNzinZQm8DGnaburhGA= +github.com/googleapis/enterprise-certificate-proxy v0.3.7 h1:zrn2Ee/nWmHulBx5sAVrGgAa0f2/R35S4DJwfFaUPFQ= +github.com/googleapis/enterprise-certificate-proxy v0.3.7/go.mod h1:MkHOF77EYAE7qfSuSS9PU6g4Nt4e11cnsDUowfwewLA= github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= -github.com/googleapis/gax-go/v2 v2.13.0 h1:yitjD5f7jQHhyDsnhKEBU52NdvvdSeGzlAnDPT0hH1s= -github.com/googleapis/gax-go/v2 v2.13.0/go.mod h1:Z/fvTZXF8/uw7Xu5GuslPw+bplx6SS338j1Is2S+B7A= +github.com/googleapis/gax-go/v2 v2.14.1 h1:hb0FFeiPaQskmvakKu5EbCbpntQn48jyHuvrkurSS/Q= +github.com/googleapis/gax-go/v2 v2.14.1/go.mod h1:Hb/NubMaVM88SrNkvl8X/o8XWwDJEPqouaLeN2IUxoA= github.com/googleapis/gnostic v0.0.0-20170729233727-0c5108395e2d/go.mod h1:sJBsCZ4ayReDTBIg8b9dl28c5xFWyhBTVRp3pOg5EKY= github.com/googleapis/gnostic v0.1.0/go.mod h1:sJBsCZ4ayReDTBIg8b9dl28c5xFWyhBTVRp3pOg5EKY= github.com/googleapis/gnostic v0.4.1/go.mod h1:LRhVm6pbyptWbWbuZ38d1eyptfvIytN3ir6b65WBswg= @@ -677,7 +665,6 @@ github.com/grpc-ecosystem/go-grpc-middleware v1.0.1-0.20190118093823-f849b5445de github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= github.com/grpc-ecosystem/grpc-gateway v1.9.5/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= -github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= github.com/grpc-ecosystem/grpc-gateway/v2 v2.23.0 h1:ad0vkEBuk23VJzZR9nkLVG0YAoN9coASF1GusYX6AlU= github.com/grpc-ecosystem/grpc-gateway/v2 v2.23.0/go.mod h1:igFoXX2ELCW06bol23DWPB5BEWfZISOzSP5K2sbLea0= github.com/h2non/filetype v1.0.12 h1:yHCsIe0y2cvbDARtJhGBTD2ecvqMSTvlIcph9En/Zao= @@ -699,8 +686,8 @@ github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9 github.com/hashicorp/go-retryablehttp v0.7.0/go.mod h1:vAew36LZh98gCBJNLH42IQ1ER/9wtLZZ8meHqQvEYWY= github.com/hashicorp/go-retryablehttp v0.7.7 h1:C8hUCYzor8PIfXHa4UrZkU4VvK8o9ISHxT2Q8+VepXU= github.com/hashicorp/go-retryablehttp v0.7.7/go.mod h1:pkQpWZeYWskR+D1tR2O5OcBFOxfA7DoAO6xtkuQnHTk= -github.com/hashicorp/go-version v1.7.0 h1:5tqGy27NaOTB8yJKUZELlFAS/LTKJkrmONwQKeRZfjY= -github.com/hashicorp/go-version v1.7.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= +github.com/hashicorp/go-version v1.8.0 h1:KAkNb1HAiZd1ukkxDFGmokVZe1Xy9HG6NUp+bPle2i4= +github.com/hashicorp/go-version v1.8.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/golang-lru v0.5.3/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= @@ -728,10 +715,10 @@ github.com/imdario/mergo v0.3.16/go.mod h1:WBLT9ZmE3lPoWsEzCh9LPo3TiwVN+ZKEjmz+h github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= -github.com/itchyny/gojq v0.12.17 h1:8av8eGduDb5+rvEdaOO+zQUjA04MS0m3Ps8HiD+fceg= -github.com/itchyny/gojq v0.12.17/go.mod h1:WBrEMkgAfAGO1LUcGOckBl5O726KPp+OlkKug0I/FEY= -github.com/itchyny/timefmt-go v0.1.6 h1:ia3s54iciXDdzWzwaVKXZPbiXzxxnv1SPGFfM/myJ5Q= -github.com/itchyny/timefmt-go v0.1.6/go.mod h1:RRDZYC5s9ErkjQvTvvU7keJjxUYzIISJGxm9/mAERQg= +github.com/itchyny/gojq v0.12.18 h1:gFGHyt/MLbG9n6dqnvlliiya2TaMMh6FFaR2b1H6Drc= +github.com/itchyny/gojq v0.12.18/go.mod h1:4hPoZ/3lN9fDL1D+aK7DY1f39XZpY9+1Xpjz8atrEkg= +github.com/itchyny/timefmt-go v0.1.7 h1:xyftit9Tbw+Dc/huSSPJaEmX1TVL8lw5vxjJLK4GMMA= +github.com/itchyny/timefmt-go v0.1.7/go.mod h1:5E46Q+zj7vbTgWY8o5YkMeYb4I6GeWLFnetPy5oBrAI= github.com/jhump/protoreflect v1.14.0 h1:MBbQK392K3u8NTLbKOCIi3XdI+y+c6yt5oMq0X3xviw= github.com/jhump/protoreflect v1.14.0/go.mod h1:JytZfP5d0r8pVNLZvai7U/MCuTWITgrI4tTg7puQFKI= github.com/jinzhu/inflection v1.0.0 h1:K317FqzuhWc8YvSVlFMCCUb36O/S9MCKRDI7QkRKD/E= @@ -768,6 +755,8 @@ github.com/kdomanski/iso9660 v0.2.1 h1:IepyfCeEqx77rZeOM4XZgWB4XJWEF7Jp+1ehMTrSE github.com/kdomanski/iso9660 v0.2.1/go.mod h1:LY50s7BlG+ES6V99oxYGd0ub9giLrKdHZb3LLOweBj0= github.com/keploy/go-sdk v0.9.0 h1:kpSNcCTDdELsa1gWyhoD9oV57SgSMbG/wq6Cjp4y7cY= github.com/keploy/go-sdk v0.9.0/go.mod h1:vNKXoFd2MaK+Gly/K6XeP1Hs9dP834C74szH+vtBPwg= +github.com/keybase/go-keychain v0.0.1 h1:way+bWYa6lDppZoZcgMbYsvC7GxljxrskdNInRtuthU= +github.com/keybase/go-keychain v0.0.1/go.mod h1:PdEILRW3i9D8JcdM+FmY6RwkHGnhHxXwkPPMeUgOK1k= github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q= github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= @@ -777,8 +766,8 @@ github.com/klauspost/compress v1.4.0/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0 github.com/klauspost/compress v1.4.1/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A= github.com/klauspost/compress v1.10.7/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= github.com/klauspost/compress v1.10.8/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= -github.com/klauspost/compress v1.17.11 h1:In6xLpyWOi1+C7tXUUWv2ot1QvBjxevKAaI6IXrJmUc= -github.com/klauspost/compress v1.17.11/go.mod h1:pMDklpSncoRMuLFrf1W9Ss9KT+0rH90U12bZKk7uwG0= +github.com/klauspost/compress v1.18.2 h1:iiPHWW0YrcFgpBYhsA6D1+fqHssJscY/Tm/y2Uqnapk= +github.com/klauspost/compress v1.18.2/go.mod h1:R0h/fSBs8DE4ENlcrlib3PsXS61voFxhIs2DeRhCvJ4= github.com/klauspost/cpuid v0.0.0-20180405133222-e7e905edc00e/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek= github.com/klauspost/cpuid v1.2.0/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek= github.com/klauspost/pgzip v1.2.4/go.mod h1:Ch1tH69qFZu15pkjo5kYi6mth2Zzwzt50oCQKQE9RUs= @@ -920,12 +909,8 @@ github.com/onsi/gomega v1.17.0/go.mod h1:HnhC7FXeEQY45zxNK3PPoIUhzk/80Xly9PcubAl github.com/onsi/gomega v1.18.1/go.mod h1:0q+aL8jAiMXy9hbwj2mr5GziHiwhAIQpFmmtT5hitRs= github.com/onsi/gomega v1.34.0 h1:eSSPsPNp6ZpsG8X1OVmOTxig+CblTc4AxpPBykhe2Os= github.com/onsi/gomega v1.34.0/go.mod h1:MIKI8c+f+QLWk+hxbePD4i0LMJSExPaZOVfkoex4cAo= -github.com/openconfig/gnmi v0.10.0/go.mod h1:Y9os75GmSkhHw2wX8sMsxfI7qRGAEcDh8NTa5a8vj6E= -github.com/openconfig/goyang v0.0.0-20200115183954-d0a48929f0ea/go.mod h1:dhXaV0JgHJzdrHi2l+w0fZrwArtXL7jEFoiqLEdmkvU= -github.com/openconfig/goyang v1.6.0 h1:JjnPbLY1/y28VyTO67LsEV0TaLWNiZyDcsppGq4F4is= -github.com/openconfig/goyang v1.6.0/go.mod h1:sdNZi/wdTZyLNBNfgLzmmbi7kISm7FskMDKKzMY+x1M= -github.com/openconfig/grpctunnel v0.0.0-20220819142823-6f5422b8ca70/go.mod h1:OmTWe7RyZj2CIzIgy4ovEBzCLBJzRvWSZmn7u02U9gU= -github.com/openconfig/ygot v0.6.0/go.mod h1:o30svNf7O0xK+R35tlx95odkDmZWS9JyWWQSmIhqwAs= +github.com/openconfig/goyang v1.6.3 h1:9nWXBwd6b4+nZr8ni7O4zUXVhrVMXCLFz8os5YWFuo4= +github.com/openconfig/goyang v1.6.3/go.mod h1:5WolITjek1NF8yrNERyVZ7jqjOClJTpO8p/+OwmETM4= github.com/opencontainers/go-digest v0.0.0-20180430190053-c9281466c8b2/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= github.com/opencontainers/go-digest v1.0.0-rc1/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= @@ -989,7 +974,6 @@ github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYr github.com/ostreedev/ostree-go v0.0.0-20190702140239-759a8c1ac913/go.mod h1:J6OG6YJVEWopen4avK3VNQSnALmmjvniMmni/YFYAwc= github.com/ovirt/go-ovirt v0.0.0-20210809163552-d4276e35d3db h1:ahvAlEurj4TF1SExDJHNeqknQC8lAwnZEPLyZJuRyd0= github.com/ovirt/go-ovirt v0.0.0-20210809163552-d4276e35d3db/go.mod h1:Zkdj9/rW6eyuw0uOeEns6O3pP5G2ak+bI/tgkQ/tEZI= -github.com/pborman/getopt v1.1.0/go.mod h1:FxXoW1Re00sQG/+KIkuSqRL/LwQgSkv7uyac+STFsbk= github.com/pborman/uuid v1.2.0 h1:J7Q5mO4ysT1dv8hyrUGHb9+ooztCXu1D8MY8DZYsu3g= github.com/pborman/uuid v1.2.0/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k= github.com/pelletier/go-toml v1.1.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= @@ -998,8 +982,8 @@ github.com/pelletier/go-toml v1.9.5 h1:4yBQzkHv+7BHq2PQUZF3Mx0IYxG7LsP222s7Agd3v github.com/pelletier/go-toml v1.9.5/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= github.com/peterbourgon/diskv v2.0.1+incompatible h1:UBdAOUP5p4RWqPBg048CAvpKN+vxiaj6gdUUzhl4XmI= github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU= -github.com/pierrec/lz4/v4 v4.1.17 h1:kV4Ip+/hUBC+8T6+2EgburRtkE9ef4nbY3f4dFhGjMc= -github.com/pierrec/lz4/v4 v4.1.17/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4= +github.com/pierrec/lz4/v4 v4.1.23 h1:oJE7T90aYBGtFNrI8+KbETnPymobAhzRrR8Mu8n1yfU= +github.com/pierrec/lz4/v4 v4.1.23/go.mod h1:EoQMVJgeeEOMsCqCzqFm2O0cJvljX2nGZjcRIPL34O4= github.com/pin/tftp v2.1.0+incompatible/go.mod h1:xVpZOMCXTy+A5QMjEVN0Glwa1sUvaJhFXbr/aAxuxGY= github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c h1:+mdjkGKdHQG3305AYmdv1U2eRNDiU2ErMBj1gwrq8eQ= github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c/go.mod h1:7rwL4CYBLnjLxUqIJNnCWiEdr3bn6IUYi15bNlnbCCU= @@ -1008,8 +992,8 @@ github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINE github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/profile v1.3.0/go.mod h1:hJw3o1OdXxsrSjjVksARp5W95eeEaEfptyVZyv6JUPA= -github.com/pkg/xattr v0.4.9 h1:5883YPCtkSd8LFbs13nXplj9g9tlrwoJRjgpgMu1/fE= -github.com/pkg/xattr v0.4.9/go.mod h1:di8WF84zAKk8jzR1UBTEWh9AUlIZZ7M/JNt8e9B6ktU= +github.com/pkg/xattr v0.4.12 h1:rRTkSyFNTRElv6pkA3zpjHpQ90p/OdHQC1GmGh1aTjM= +github.com/pkg/xattr v0.4.12/go.mod h1:di8WF84zAKk8jzR1UBTEWh9AUlIZZ7M/JNt8e9B6ktU= github.com/planetscale/vtprotobuf v0.6.1-0.20240319094008-0393e58bdf10 h1:GFCKgmp0tecUJ0sJuv4pzYCqS9+RGSn52M3FUwPs+uo= github.com/planetscale/vtprotobuf v0.6.1-0.20240319094008-0393e58bdf10/go.mod h1:t/avpk3KcrXxUnYOhZhMXJlSEyie6gQbtLq5NM3loB8= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= @@ -1049,7 +1033,6 @@ github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4O github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= -github.com/protocolbuffers/txtpbfmt v0.0.0-20220608084003-fc78c767cd6a/go.mod h1:KjY0wibdYKc4DYkerHSbguaf3JeIPGhNJBp2BNiFH78= github.com/quasilyte/go-consistent v0.0.0-20190521200055-c6f3937de18c/go.mod h1:5STLWrekHfjyYwxBRVRXNOSewLJ3PWfDJd1VyTS21fI= github.com/redis/go-redis/extra/rediscmd/v9 v9.0.5 h1:EaDatTxkdHG+U3Bk4EUr+DZ7fOGwTfezUiUJMaIcaho= github.com/redis/go-redis/extra/rediscmd/v9 v9.0.5/go.mod h1:fyalQWdtzDBECAQFBJuQe5bzQ02jGd5Qcbgb97Flm7U= @@ -1060,7 +1043,6 @@ github.com/redis/go-redis/v9 v9.1.0 h1:137FnGdk+EQdCbye1FW+qOEcY5S+SpY9T0Niuqvtf github.com/redis/go-redis/v9 v9.1.0/go.mod h1:urWj3He21Dj5k4TK1y59xH8Uj6ATueP8AH1cY3lZl4c= github.com/robfig/cron v1.2.0/go.mod h1:JGuDeoQd7Z6yL4zQhZ3OPEVHB7fL6Ka6skscFHfmt2k= github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= -github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/go-charset v0.0.0-20180617210344-2471d30d28b4/go.mod h1:qgYeAmZ5ZIpBWTGllZSQnw97Dj+woV0toclVaRGI8pc= github.com/rogpeppe/go-internal v1.1.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= @@ -1104,8 +1086,8 @@ github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkU github.com/spf13/cobra v0.0.2/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= github.com/spf13/cobra v1.0.0/go.mod h1:/6GTrnGXV9HjY+aR4k0oJ5tcvakLuG6EuKReYlHNrgE= -github.com/spf13/cobra v1.8.1 h1:e5/vxKd/rZsfSJMUX1agtjeTDf+qv1/JdBF8gg5k9ZM= -github.com/spf13/cobra v1.8.1/go.mod h1:wHxEcudfqmLYa8iTfL+OuZPbBZkmvliBWKIezN3kD9Y= +github.com/spf13/cobra v1.10.2 h1:DMTTonx5m65Ic0GOoRY2c16WCbHxOOw6xxezuLaBpcU= +github.com/spf13/cobra v1.10.2/go.mod h1:7C1pvHqHw5A4vrJfjNwvOdzYu0Gml16OCs2GRiTUUS4= github.com/spf13/jwalterweatherman v0.0.0-20180109140146-7c0cea34c8ec/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo= @@ -1113,10 +1095,13 @@ github.com/spf13/pflag v0.0.0-20170130214245-9ff6c6923cff/go.mod h1:DYY7MBk1bdzu github.com/spf13/pflag v1.0.1/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/spf13/pflag v1.0.6-0.20210604193023-d5e0c0615ace h1:9PNP1jnUjRhfmGMlkXHjYPishpcw4jpSt/V/xYY3FMA= -github.com/spf13/pflag v1.0.6-0.20210604193023-d5e0c0615ace/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= +github.com/spf13/pflag v1.0.9/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= +github.com/spf13/pflag v1.0.10 h1:4EBh2KAYBwaONj6b2Ye1GiHfwjqyROoF4RwYO+vPwFk= +github.com/spf13/pflag v1.0.10/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/spf13/viper v1.0.2/go.mod h1:A8kyI5cUJhb8N+3pkfONlcEcZbueH6nhAm0Fq7SrnBM= github.com/spf13/viper v1.4.0/go.mod h1:PTJ7Z/lr49W6bUbkmS1V3by4uWynFiR9p7+dSq/yZzE= +github.com/spiffe/go-spiffe/v2 v2.5.0 h1:N2I01KCUkv1FAjZXJMwh95KK1ZIQLYbPfhaxw8WS0hE= +github.com/spiffe/go-spiffe/v2 v2.5.0/go.mod h1:P+NxobPc6wXhVtINNtFjNWGBTreew1GBUCwT2wPmb7g= github.com/stoewer/go-strcase v1.2.0/go.mod h1:IBiWB2sKIp3wVVQ3Y035++gc+knqhUQag1KpM8ahLw8= github.com/stoewer/go-strcase v1.3.0 h1:g0eASXYtp+yvN9fK8sH94oCIk0fau9uV1/ZdJ0AVEzs= github.com/stoewer/go-strcase v1.3.0/go.mod h1:fAH5hQ5pehh+j3nZfvwdk2RgEgQjAoM8wodgtPmh1xo= @@ -1140,8 +1125,8 @@ github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= -github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA= -github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= +github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U= +github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U= github.com/syndtr/gocapability v0.0.0-20180916011248-d98352740cb2/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww= github.com/syndtr/gocapability v0.0.0-20200815063812-42c35b437635 h1:kdXcSzyDtseVEc4yCz2qF8ZrQvIDBJLl4S1c3GCXmoI= github.com/syndtr/gocapability v0.0.0-20200815063812-42c35b437635/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww= @@ -1156,8 +1141,8 @@ github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1 github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= github.com/ugorji/go v1.1.4/go.mod h1:uQMGLiO92mf5W77hV/PUCpI3pbzQx3CRekS0kk+RGrc= github.com/ulikunitz/xz v0.5.7/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14= -github.com/ulikunitz/xz v0.5.12 h1:37Nm15o69RwBkXM0J6A5OlE67RZTfzUxTj8fB3dfcsc= -github.com/ulikunitz/xz v0.5.12/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14= +github.com/ulikunitz/xz v0.5.15 h1:9DNdB5s+SgV3bQ2ApL10xRc35ck0DuIX/isZvIk+ubY= +github.com/ulikunitz/xz v0.5.15/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14= github.com/ultraware/funlen v0.0.1/go.mod h1:Dp4UiAus7Wdb9KUZsYWZEWiRzGuM2kXM1lPbfaF6xhA= github.com/ultraware/funlen v0.0.2/go.mod h1:Dp4UiAus7Wdb9KUZsYWZEWiRzGuM2kXM1lPbfaF6xhA= github.com/urfave/cli v0.0.0-20171014202726-7bc6a0acffa5/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= @@ -1198,6 +1183,8 @@ github.com/yuin/goldmark v1.4.1/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1 github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= github.com/zclconf/go-cty v1.11.0 h1:726SxLdi2SDnjY+BStqB9J1hNp4+2WlzyXLuimibIe0= github.com/zclconf/go-cty v1.11.0/go.mod h1:s9IfD1LK5ccNMSWCVFCE2rJfHiZgi7JijgeWIMfhLvA= +github.com/zeebo/errs v1.4.0 h1:XNdoD/RRMKP7HD0UhJnIzUy74ISdGGxURlYG8HSWSfM= +github.com/zeebo/errs v1.4.0/go.mod h1:sgbWHsvVuTPHcqJJGQ1WhI5KbWlHYz+2+2C/LSEtCw4= go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= go.etcd.io/bbolt v1.3.4/go.mod h1:G5EMThwa9y8QZGBClrRx5EY+Yw9kAhnjy3bSjsnlVTQ= @@ -1263,7 +1250,6 @@ go.opentelemetry.io/otel/sdk/metric v1.34.0 h1:5CeK9ujjbFVL5c1PhLuStg1wxA7vQv7ce go.opentelemetry.io/otel/sdk/metric v1.34.0/go.mod h1:jQ/r8Ze28zRKoNRdkjCZxfs6YvBTG1+YIqyFVFYec5w= go.opentelemetry.io/otel/trace v1.34.0 h1:+ouXS2V8Rd4hp4580a8q23bg0azF2nI8cqLYnC8mh/k= go.opentelemetry.io/otel/trace v1.34.0/go.mod h1:Svm7lSjQD7kG7KJ/MUHPVXSDGz2OX4h0M2jHBhmSfRE= -go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= go.opentelemetry.io/proto/otlp v1.3.1 h1:TrMUixzpM0yuc/znrFTP9MMRh8trP93mkCiDVeXrui0= go.opentelemetry.io/proto/otlp v1.3.1/go.mod h1:0X1WI4de4ZsLrrJNLAQbFeLCm3T7yBkR0XqQ7niQU+8= go.starlark.net v0.0.0-20251029211736-7849196f18cf h1:iyRnW9PWEZDYnIKzNjW3K9Xa+/o19k/cLLwIkKGDEYg= @@ -1278,6 +1264,7 @@ go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN8 go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= go.uber.org/zap v1.27.0 h1:aJMhYGrd5QSmlpLMr2MftRKl7t8J8PTZPA732ud/XR8= go.uber.org/zap v1.27.0/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E= +go.yaml.in/yaml/v3 v3.0.4/go.mod h1:DhzuOOF2ATzADvBadXxruRBLzYTpT36CKvDb3+aBEFg= go4.org v0.0.0-20200104003542-c7e774b10ea0/go.mod h1:MkTOUMDaeVYJUOUsaDXIhWPZYa1yOyC1qaOBpL57BhE= golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= @@ -1296,8 +1283,8 @@ golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPh golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.6.0/go.mod h1:OFC/31mSvZgRz0V1QTNCzfAI1aIRzbiufJtkMIlEp58= -golang.org/x/crypto v0.43.0 h1:dduJYIi3A3KOfdGOHX8AVZ/jGiyPa3IbBozJ5kNuE04= -golang.org/x/crypto v0.43.0/go.mod h1:BFbav4mRNlXJL4wNeejLpWxB7wMbc79PdRGhWKncxR0= +golang.org/x/crypto v0.46.0 h1:cKRW/pmt1pKAfetfu+RCEvjvZkA9RimPbh7bhFjGVBU= +golang.org/x/crypto v0.46.0/go.mod h1:Evb/oLKmMraqjZ2iQTwDwvCtJkczlDuTmdJXoZVzqU0= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= @@ -1314,7 +1301,6 @@ golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHl golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs= -golang.org/x/lint v0.0.0-20210508222113-6edffad5e616/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= @@ -1325,8 +1311,8 @@ golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.5.1/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= -golang.org/x/mod v0.29.0 h1:HV8lRxZC4l2cr3Zq1LvtOsi/ThTgWnUk/y64QSs8GwA= -golang.org/x/mod v0.29.0/go.mod h1:NyhrlYXJ2H4eJiRy/WDBO6HMqZQ6q9nk4JzS3NuCK+w= +golang.org/x/mod v0.30.0 h1:fDEXFVZ/fmCKProc/yAXXUijritrDzahmwwefnjoPFk= +golang.org/x/mod v0.30.0/go.mod h1:lAsf5O2EvJeSFMiBxXDki7sCgAxEUcZHXoXMKT4GJKc= golang.org/x/net v0.0.0-20170114055629-f2499483f923/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20170915142106-8351a756f30f/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -1357,9 +1343,7 @@ golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= golang.org/x/net v0.0.0-20210421230115-4e50805a0758/go.mod h1:72T/g9IO56b78aLF+1Kcs5dz7/ng1VjMUvfKvpfy+jM= @@ -1371,15 +1355,14 @@ golang.org/x/net v0.0.0-20211209124913-491a49abca63/go.mod h1:9nx3DQGgdP8bBQD5qx golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= -golang.org/x/net v0.46.0 h1:giFlY12I07fugqwPuWJi68oOnpfqFnJIJzaIIm2JVV4= -golang.org/x/net v0.46.0/go.mod h1:Q9BGdFy1y4nkUwiLvT5qtyhAnEHgnQ/zd8PfU6nc210= +golang.org/x/net v0.48.0 h1:zyQRTTrjc33Lhh0fBgT/H3oZq9WuvRR5gPC70xpDiQU= +golang.org/x/net v0.48.0/go.mod h1:+ndRgGjkh8FGtu1w1FGbEC31if4VrNVMuKTgcAAnQRY= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.25.0 h1:CY4y7XT9v0cRI9oupztF8AgiIu99L/ksR/Xp/6jrZ70= -golang.org/x/oauth2 v0.25.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= +golang.org/x/oauth2 v0.34.0 h1:hqK/t4AKgbqWkdkcAeI8XLmbK+4m4G5YeQRrmiotGlw= +golang.org/x/oauth2 v0.34.0/go.mod h1:lzm5WQJQwKZ3nwavOZ3IS5Aulzxi68dUSgRHujetwEA= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -1390,8 +1373,8 @@ golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.17.0 h1:l60nONMj9l5drqw6jlhIELNv9I0A4OFgRsG9k2oT9Ug= -golang.org/x/sync v0.17.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI= +golang.org/x/sync v0.19.0 h1:vV+1eWNmZ5geRlYjzm2adRgW2/mcpevXNg50YZtPCE4= +golang.org/x/sync v0.19.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI= golang.org/x/sys v0.0.0-20170830134202-bb24a47a89ea/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20171026204733-164713f0dfce/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -1454,14 +1437,14 @@ golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.37.0 h1:fdNQudmxPjkdUTPnLn5mdQv7Zwvbvpaxqs831goi9kQ= -golang.org/x/sys v0.37.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= +golang.org/x/sys v0.39.0 h1:CvCKL8MeisomCi6qNZ+wbb0DN9E5AATixKsvNtMoMFk= +golang.org/x/sys v0.39.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210503060354-a79de5458b56/go.mod h1:tfny5GFUkzUvx4ps4ajbZsCe5lw1metzhBm9T3x7oIY= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= -golang.org/x/term v0.36.0 h1:zMPR+aF8gfksFprF/Nc/rd1wRS1EI6nDBGyWAvDzx2Q= -golang.org/x/term v0.36.0/go.mod h1:Qu394IJq6V6dCBRgwqshf3mPF85AqzYEzofzRdZkWss= +golang.org/x/term v0.38.0 h1:PQ5pkm/rLO6HnxFR7N2lJHOZX6Kez5Y1gDSJla6jo7Q= +golang.org/x/term v0.38.0/go.mod h1:bSEAKrOT1W+VSu9TSCMtoGEOUcKxOKgl3LE5QEF/xVg= golang.org/x/text v0.0.0-20160726164857-2910a502d2bf/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.0.0-20170915090833-1cbadb444a80/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -1472,14 +1455,14 @@ golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.30.0 h1:yznKA/E9zq54KzlzBEAWn1NXSQ8DIp/NYMy88xJjl4k= -golang.org/x/text v0.30.0/go.mod h1:yDdHFIX9t+tORqspjENWgzaCVXgk0yYnYuSZ8UzzBVM= +golang.org/x/text v0.32.0 h1:ZD01bjUt1FQ9WJ0ClOL5vxgxOI/sVCNgX1YtKwcY0mU= +golang.org/x/text v0.32.0/go.mod h1:o/rUWzghvpD5TXrTIBuJU77MTaN0ljMWE47kxGJQ7jY= golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.6.0 h1:eTDhh4ZXt5Qf0augr54TN6suAUudPcawVZeIAPU7D4U= -golang.org/x/time v0.6.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= +golang.org/x/time v0.14.0 h1:MRx4UaLrDotUKUdCIqzPC48t1Y9hANFKIRpNx+Te8PI= +golang.org/x/time v0.14.0/go.mod h1:eL/Oa2bBBK0TkX57Fyni+NgnyQQN4LitPmob2Hjnqw4= golang.org/x/tools v0.0.0-20170915040203-e531a2a1c15f/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180525024113-a5b4c53f6e8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -1517,7 +1500,6 @@ golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtn golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200115044656-831fdb1e1868/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200505023115-26f46d2f7ef8/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200616133436-c1934b75d054/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= @@ -1528,8 +1510,8 @@ golang.org/x/tools v0.1.6-0.20210820212750-d4cc65f0b2ff/go.mod h1:YD9qOF0M9xpSpd golang.org/x/tools v0.1.8/go.mod h1:nABZi5QlRsZVlzPpHl034qft6wpY4eDcsTt5AaioBiU= golang.org/x/tools v0.1.9/go.mod h1:nABZi5QlRsZVlzPpHl034qft6wpY4eDcsTt5AaioBiU= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= -golang.org/x/tools v0.38.0 h1:Hx2Xv8hISq8Lm16jvBZ2VQf+RLmbd7wVUsALibYI/IQ= -golang.org/x/tools v0.38.0/go.mod h1:yEsQ/d/YK8cjh0L6rZlY8tgtlKiBNTL14pGDJPJpYQs= +golang.org/x/tools v0.39.0 h1:ik4ho21kwuQln40uelmciQPp9SipgNDdrafrYA4TmQQ= +golang.org/x/tools v0.39.0/go.mod h1:JnefbkDPyD8UU2kI5fuf8ZX4/yUeh9W877ZeBONxUqQ= golang.org/x/tools/godoc v0.1.0-deprecated h1:o+aZ1BOj6Hsx/GBdJO/s815sqftjSnrZZwyYTHODvtk= golang.org/x/tools/godoc v0.1.0-deprecated/go.mod h1:qM63CriJ961IHWmnWa9CjZnBndniPt4a3CK0PVB9bIg= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= @@ -1543,8 +1525,8 @@ google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= google.golang.org/api v0.15.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/api v0.197.0 h1:x6CwqQLsFiA5JKAiGyGBjc2bNtHtLddhJCE2IKuhhcQ= -google.golang.org/api v0.197.0/go.mod h1:AuOuo20GoQ331nq7DquGHlU6d+2wN2fZ8O0ta60nRNw= +google.golang.org/api v0.219.0 h1:nnKIvxKs/06jWawp2liznTBnMRQBEPpGo7I+oEypTX0= +google.golang.org/api v0.219.0/go.mod h1:K6OmjGm+NtLrIkHxv1U3a0qIf/0JOvAHd5O/6AoyKYE= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= @@ -1559,16 +1541,14 @@ google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98 google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= google.golang.org/genproto v0.0.0-20201019141844-1ed22bb0c154/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210811021853-ddbe55d93216/go.mod h1:cFeNkxwySK631ADgubI+/XFU/xp8FD5KIVV4rj8UC5w= google.golang.org/genproto v0.0.0-20240903143218-8af14fe29dc1 h1:BulPr26Jqjnd4eYDVe+YvyR7Yc2vJGkO5/0UxD0/jZU= google.golang.org/genproto v0.0.0-20240903143218-8af14fe29dc1/go.mod h1:hL97c3SYopEHblzpxRL4lSs523++l8DYxGM1FQiYmb4= -google.golang.org/genproto/googleapis/api v0.0.0-20251029180050-ab9386a59fda h1:+2XxjfsAu6vqFxwGBRcHiMaDCuZiqXGDUDVWVtrFAnE= -google.golang.org/genproto/googleapis/api v0.0.0-20251029180050-ab9386a59fda/go.mod h1:fDMmzKV90WSg1NbozdqrE64fkuTv6mlq2zxo9ad+3yo= -google.golang.org/genproto/googleapis/rpc v0.0.0-20251022142026-3a174f9686a8 h1:M1rk8KBnUsBDg1oPGHNCxG4vc1f49epmTO7xscSajMk= -google.golang.org/genproto/googleapis/rpc v0.0.0-20251022142026-3a174f9686a8/go.mod h1:7i2o+ce6H/6BluujYR+kqX3GKH+dChPTQU19wjRPiGk= +google.golang.org/genproto/googleapis/api v0.0.0-20251111163417-95abcf5c77ba h1:B14OtaXuMaCQsl2deSvNkyPKIzq3BjfxQp8d00QyWx4= +google.golang.org/genproto/googleapis/api v0.0.0-20251111163417-95abcf5c77ba/go.mod h1:G5IanEx8/PgI9w6CFcYQf7jMtHQhZruvfM1i3qOqk5U= +google.golang.org/genproto/googleapis/rpc v0.0.0-20251124214823-79d6a2a48846 h1:Wgl1rcDNThT+Zn47YyCXOXyX/COgMTIdhJ717F0l4xk= +google.golang.org/genproto/googleapis/rpc v0.0.0-20251124214823-79d6a2a48846/go.mod h1:7i2o+ce6H/6BluujYR+kqX3GKH+dChPTQU19wjRPiGk= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= google.golang.org/grpc v1.21.0/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= @@ -1576,17 +1556,10 @@ google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ij google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= google.golang.org/grpc v1.23.1/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= google.golang.org/grpc v1.24.0/go.mod h1:XDChyiUovWa60DnaeDeZmSW86xtLtjtZbwvSiRnRtcA= -google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0= -google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= -google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= -google.golang.org/grpc v1.39.1/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= -google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= -google.golang.org/grpc v1.71.0 h1:kF77BGdPTQ4/JZWMlb9VpJ5pa25aqvVqogsxNHHdeBg= -google.golang.org/grpc v1.71.0/go.mod h1:H0GRtasmQOh9LkFoCPDu3ZrwUtD1YGE+b2vYBYd/8Ec= -google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= +google.golang.org/grpc v1.73.0-dev h1:LQabkmbwor6quamIuIobJnhV/D5wpyxlgZSAHuS29Vk= +google.golang.org/grpc v1.73.0-dev/go.mod h1:wH5Aktxcg25y1I3w7H69nHfXdOG3UiadoBtjh3izSDM= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= @@ -1596,11 +1569,9 @@ google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2 google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4= -google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= google.golang.org/protobuf v1.36.10 h1:AYd7cD/uASjIL6Q9LiTjz8JLcrh/88q5UObnmY3aOOE= google.golang.org/protobuf v1.36.10/go.mod h1:HTf+CrKn2C3g5S8VImy6tdcUvCska2kB7j23XfzDpco= gopkg.in/airbrake/gobrake.v2 v2.0.9/go.mod h1:/h5ZAUhDkGaJfjzjKLSjv6zCL6O0LLBxU4K+aSYdM/U= @@ -1638,7 +1609,6 @@ gopkg.in/warnings.v0 v0.1.2/go.mod h1:jksf8JmL6Qr/oQM2OXTHunEvvTAsrWBLb6OOjuVWRN gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74= gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.5/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= From bc679a29b9b301499d556fe9c032a8d7af21f5bc Mon Sep 17 00:00:00 2001 From: Daniel Erez Date: Thu, 1 Jan 2026 12:40:28 +0200 Subject: [PATCH 16/20] Update Go toolset to 1.25 and golangci-lint to v2.7.2 - Bump ubi9/go-toolset base image from 1.24 to 1.25 - Upgrade golangci-lint from v1.64.8 to v2.7.2 --- Dockerfile.openshift-appliance-build | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile.openshift-appliance-build b/Dockerfile.openshift-appliance-build index cdf54d23..1cda343a 100644 --- a/Dockerfile.openshift-appliance-build +++ b/Dockerfile.openshift-appliance-build @@ -1,8 +1,8 @@ -FROM registry.access.redhat.com/ubi9/go-toolset:1.24 AS golang +FROM registry.access.redhat.com/ubi9/go-toolset:1.25 AS golang ENV GOFLAGS="" -RUN curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(go env GOPATH)/bin v1.64.8 && \ +RUN curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(go env GOPATH)/bin v2.7.2 && \ go install golang.org/x/tools/cmd/goimports@v0.1.0 && \ go install github.com/onsi/ginkgo/ginkgo@v1.16.1 && \ go install github.com/golang/mock/mockgen@v1.6.0 && \ From 0fbf78169e27dde9cc3b179258006207ace2d7de Mon Sep 17 00:00:00 2001 From: Daniel Erez Date: Thu, 1 Jan 2026 12:18:43 +0200 Subject: [PATCH 17/20] Update to Go 1.25 and refresh dependencies - Upgrade Go version from 1.24.0 to 1.25.0 - Update golangci-lint to v2.7.2 for Go 1.25 compatibility - Update direct dependencies: - github.com/distribution/distribution/v3: v3.0.0-rc.3 -> v3.0.0 - github.com/coreos/ignition/v2: v2.20.0 -> v2.21.0 - github.com/onsi/ginkgo/v2: v2.19.1 -> v2.22.0 - github.com/onsi/gomega: v1.34.0 -> v1.36.0 - github.com/Masterminds/semver/v3: v3.2.1 -> v3.4.0 - Update indirect dependencies: - cloud.google.com/go/auth, aws-sdk-go, redis, otelhttp, etc. - Regenerate vendor directory --- Dockerfile.openshift-appliance | 2 +- Dockerfile.openshift-appliance.ds | 2 +- go.mod | 38 ++++----- go.sum | 101 ++++++++++++----------- pkg/asset/ignition/bootstrap_ignition.go | 3 +- pkg/release/release_test.go | 3 +- 6 files changed, 75 insertions(+), 74 deletions(-) diff --git a/Dockerfile.openshift-appliance b/Dockerfile.openshift-appliance index 435eff41..9b83ea3e 100644 --- a/Dockerfile.openshift-appliance +++ b/Dockerfile.openshift-appliance @@ -1,5 +1,5 @@ # Build appliance -FROM registry.access.redhat.com/ubi9/go-toolset:1.24 AS builder +FROM registry.access.redhat.com/ubi9/go-toolset:1.25 AS builder COPY go.mod go.mod COPY go.sum go.sum RUN go mod download diff --git a/Dockerfile.openshift-appliance.ds b/Dockerfile.openshift-appliance.ds index b9e603c1..4a4a4f07 100644 --- a/Dockerfile.openshift-appliance.ds +++ b/Dockerfile.openshift-appliance.ds @@ -1,5 +1,5 @@ # Build appliance -FROM registry.access.redhat.com/ubi9/go-toolset:1.24 AS builder +FROM registry.access.redhat.com/ubi9/go-toolset:1.25 AS builder COPY go.mod go.mod COPY go.sum go.sum RUN go mod download diff --git a/go.mod b/go.mod index 0bcd9eff..335bae9b 100644 --- a/go.mod +++ b/go.mod @@ -1,8 +1,6 @@ module github.com/openshift/appliance -go 1.24.0 - -toolchain go1.24.6 +go 1.25.0 require ( github.com/alecthomas/units v0.0.0-20240927000941-0f3dac36c52b @@ -11,17 +9,17 @@ require ( github.com/cavaliercoder/go-cpio v0.0.0-20180626203310-925f9528c45e github.com/cavaliergopher/grab/v3 v3.0.1 github.com/containers/image v3.0.2+incompatible - github.com/coreos/ignition/v2 v2.20.0 + github.com/coreos/ignition/v2 v2.21.0 github.com/coreos/stream-metadata-go v0.4.10 github.com/diskfs/go-diskfs v1.4.2 - github.com/distribution/distribution/v3 v3.0.0-rc.3 + github.com/distribution/distribution/v3 v3.0.0 github.com/dustin/go-humanize v1.0.1 github.com/go-openapi/swag v0.23.0 github.com/golang/mock v1.7.0-rc.1 github.com/hashicorp/go-version v1.8.0 github.com/itchyny/gojq v0.12.18 - github.com/onsi/ginkgo/v2 v2.19.1 - github.com/onsi/gomega v1.34.0 + github.com/onsi/ginkgo/v2 v2.22.0 + github.com/onsi/gomega v1.36.0 github.com/openconfig/goyang v1.6.3 github.com/openshift/api v0.0.0-20240808203820-e69593239e49 github.com/openshift/assisted-image-service v0.0.0-20250301084320-0faa6d927ecd @@ -43,8 +41,8 @@ require ( ) require ( - cloud.google.com/go/auth v0.14.0 // indirect - cloud.google.com/go/auth/oauth2adapt v0.2.7 // indirect + cloud.google.com/go/auth v0.15.0 // indirect + cloud.google.com/go/auth/oauth2adapt v0.2.8 // indirect cloud.google.com/go/compute/metadata v0.9.0 // indirect github.com/AlecAivazis/survey/v2 v2.3.5 // indirect github.com/Azure/azure-sdk-for-go v68.0.0+incompatible // indirect @@ -75,7 +73,7 @@ require ( github.com/PaesslerAG/jsonpath v0.1.1 // indirect github.com/apparentlymart/go-cidr v1.1.0 // indirect github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 // indirect - github.com/aws/aws-sdk-go v1.55.5 // indirect + github.com/aws/aws-sdk-go v1.55.6 // indirect github.com/beorn7/perks v1.0.1 // indirect github.com/blang/semver/v4 v4.0.0 // indirect github.com/bshuster-repo/logrus-logstash-hook v1.0.0 // indirect @@ -138,7 +136,7 @@ require ( github.com/google/gnostic-models v0.6.9-0.20230804172637-c7be7c783f49 // indirect github.com/google/go-cmp v0.7.0 // indirect github.com/google/gofuzz v1.2.0 // indirect - github.com/google/pprof v0.0.0-20250630185457-6e76a2b096b5 // indirect + github.com/google/pprof v0.0.0-20251213031049-b05bdaca462f // indirect github.com/google/s2a-go v0.1.9 // indirect github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 // indirect github.com/google/uuid v1.6.0 // indirect @@ -183,12 +181,12 @@ require ( github.com/mitchellh/go-homedir v1.1.0 // indirect github.com/mitchellh/go-wordwrap v1.0.1 // indirect github.com/mitchellh/mapstructure v1.5.0 // indirect - github.com/moby/spdystream v0.2.0 // indirect + github.com/moby/spdystream v0.5.0 // indirect github.com/moby/sys/mountinfo v0.7.1 // indirect github.com/moby/sys/user v0.1.0 // indirect github.com/moby/term v0.5.0 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect - github.com/modern-go/reflect2 v1.0.2 // indirect + github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee // indirect github.com/monochromegane/go-gitignore v0.0.0-20200626010858-205db1a8cc00 // indirect github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f // indirect @@ -196,7 +194,7 @@ require ( github.com/nutanix-cloud-native/prism-go-client v0.5.0 // indirect github.com/oklog/ulid v1.3.1 // indirect github.com/opencontainers/go-digest v1.0.0 // indirect - github.com/opencontainers/image-spec v1.1.0 // indirect + github.com/opencontainers/image-spec v1.1.1 // indirect github.com/opencontainers/runtime-spec v1.2.0 // indirect github.com/openshift/assisted-service/models v0.0.0 // indirect github.com/openshift/client-go v0.0.0-20240528061634-b054aa794d87 // indirect @@ -223,7 +221,7 @@ require ( github.com/prometheus/procfs v0.15.1 // indirect github.com/redis/go-redis/extra/rediscmd/v9 v9.0.5 // indirect github.com/redis/go-redis/extra/redisotel/v9 v9.0.5 // indirect - github.com/redis/go-redis/v9 v9.1.0 // indirect + github.com/redis/go-redis/v9 v9.7.3 // indirect github.com/russross/blackfriday/v2 v2.1.0 // indirect github.com/shurcooL/httpfs v0.0.0-20230704072500-f1e31cf0ba5c // indirect github.com/shurcooL/vfsgen v0.0.0-20181202132449-6a9ea43bcacd // indirect @@ -238,7 +236,7 @@ require ( go.opentelemetry.io/auto/sdk v1.1.0 // indirect go.opentelemetry.io/contrib/bridges/prometheus v0.57.0 // indirect go.opentelemetry.io/contrib/exporters/autoexport v0.57.0 // indirect - go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.57.0 // indirect + go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.59.0 // indirect go.opentelemetry.io/otel v1.34.0 // indirect go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc v0.8.0 // indirect go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.8.0 // indirect @@ -262,17 +260,17 @@ require ( go.uber.org/multierr v1.11.0 // indirect go.uber.org/zap v1.27.0 // indirect golang.org/x/exp v0.0.0-20251023183803-a4bb9ffd2546 // indirect - golang.org/x/mod v0.30.0 // indirect + golang.org/x/mod v0.31.0 // indirect golang.org/x/net v0.48.0 // indirect golang.org/x/oauth2 v0.34.0 // indirect golang.org/x/sync v0.19.0 // indirect golang.org/x/sys v0.39.0 // indirect golang.org/x/text v0.32.0 // indirect golang.org/x/time v0.14.0 // indirect - golang.org/x/tools v0.39.0 // indirect + golang.org/x/tools v0.40.0 // indirect golang.org/x/tools/godoc v0.1.0-deprecated // indirect gomodules.xyz/jsonpatch/v2 v2.4.0 // indirect - google.golang.org/api v0.219.0 // indirect + google.golang.org/api v0.228.0 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20251111163417-95abcf5c77ba // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20251124214823-79d6a2a48846 // indirect google.golang.org/grpc v1.73.0-dev // indirect @@ -291,7 +289,7 @@ require ( k8s.io/cloud-provider-vsphere v1.30.1 // indirect k8s.io/component-base v0.30.3 // indirect k8s.io/klog v1.0.0 // indirect - k8s.io/klog/v2 v2.120.1 // indirect + k8s.io/klog/v2 v2.130.1 // indirect k8s.io/kube-openapi v0.0.0-20240228011516-70dd3763d340 // indirect k8s.io/kubectl v0.30.3 // indirect k8s.io/utils v0.0.0-20251002143259-bc988d571ff4 // indirect diff --git a/go.sum b/go.sum index 95cf3f40..be4fb3ce 100644 --- a/go.sum +++ b/go.sum @@ -8,24 +8,24 @@ cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxK cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc= cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0= cloud.google.com/go v0.51.0/go.mod h1:hWtGJ6gnXH+KgDv+V0zFGDvpi07n3z8ZNj3T1RW0Gcw= -cloud.google.com/go v0.115.1 h1:Jo0SM9cQnSkYfp44+v+NQXHpcHqlnRJk2qxh6yvxxxQ= -cloud.google.com/go v0.115.1/go.mod h1:DuujITeaufu3gL68/lOFIirVNJwQeyf5UXyi+Wbgknc= -cloud.google.com/go/auth v0.14.0 h1:A5C4dKV/Spdvxcl0ggWwWEzzP7AZMJSEIgrkngwhGYM= -cloud.google.com/go/auth v0.14.0/go.mod h1:CYsoRL1PdiDuqeQpZE0bP2pnPrGqFcOkI0nldEQis+A= -cloud.google.com/go/auth/oauth2adapt v0.2.7 h1:/Lc7xODdqcEw8IrZ9SvwnlLX6j9FHQM74z6cBk9Rw6M= -cloud.google.com/go/auth/oauth2adapt v0.2.7/go.mod h1:NTbTTzfvPl1Y3V1nPpOgl2w6d/FjO7NNUQaWSox6ZMc= +cloud.google.com/go v0.116.0 h1:B3fRrSDkLRt5qSHWe40ERJvhvnQwdZiHu0bJOpldweE= +cloud.google.com/go v0.116.0/go.mod h1:cEPSRWPzZEswwdr9BxE6ChEn01dWlTaF05LiC2Xs70U= +cloud.google.com/go/auth v0.15.0 h1:Ly0u4aA5vG/fsSsxu98qCQBemXtAtJf+95z9HK+cxps= +cloud.google.com/go/auth v0.15.0/go.mod h1:WJDGqZ1o9E9wKIL+IwStfyn/+s59zl4Bi+1KQNVXLZ8= +cloud.google.com/go/auth/oauth2adapt v0.2.8 h1:keo8NaayQZ6wimpNSmW5OPc283g65QNIiLpZnkHRbnc= +cloud.google.com/go/auth/oauth2adapt v0.2.8/go.mod h1:XQ9y31RkqZCcwJWNSx2Xvric3RrU88hAYYbjDWYDL+c= cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= cloud.google.com/go/compute/metadata v0.9.0 h1:pDUj4QMoPejqq20dK0Pg2N4yG9zIkYGdBtwLoEkH9Zs= cloud.google.com/go/compute/metadata v0.9.0/go.mod h1:E0bWwX5wTnLPedCKqk3pJmVgCBSM6qQI1yTBdEb3C10= cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= -cloud.google.com/go/iam v1.2.1 h1:QFct02HRb7H12J/3utj0qf5tobFh9V4vR6h9eX5EBRU= -cloud.google.com/go/iam v1.2.1/go.mod h1:3VUIJDPpwT6p/amXRC5GY8fCCh70lxPygguVtI0Z4/g= -cloud.google.com/go/monitoring v1.21.0 h1:EMc0tB+d3lUewT2NzKC/hr8cSR9WsUieVywzIHetGro= -cloud.google.com/go/monitoring v1.21.0/go.mod h1:tuJ+KNDdJbetSsbSGTqnaBvbauS5kr3Q/koy3Up6r+4= +cloud.google.com/go/iam v1.2.2 h1:ozUSofHUGf/F4tCNy/mu9tHLTaxZFLOUiKzjcgWHGIA= +cloud.google.com/go/iam v1.2.2/go.mod h1:0Ys8ccaZHdI1dEUilwzqng/6ps2YB6vRsjIe00/+6JY= +cloud.google.com/go/monitoring v1.21.2 h1:FChwVtClH19E7pJ+e0xUhJPGksctZNVOk2UhMmblmdU= +cloud.google.com/go/monitoring v1.21.2/go.mod h1:hS3pXvaG8KgWTSz+dAdyzPrGUYmi2Q+WFX8g2hqVEZU= cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw= -cloud.google.com/go/storage v1.45.0 h1:5av0QcIVj77t+44mV4gffFC/LscFRUhto6UBMB5SimM= -cloud.google.com/go/storage v1.45.0/go.mod h1:wpPblkIuMP5jCB/E48Pz9zIo2S/zD8g+ITmxKkPCITE= +cloud.google.com/go/storage v1.50.0 h1:3TbVkzTooBvnZsk7WaAQfOsNrdoM8QHusXA1cpk6QJs= +cloud.google.com/go/storage v1.50.0/go.mod h1:l7XeiD//vx5lfqE3RavfmU9yvk5Pp0Zhcv482poyafY= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= github.com/14rcole/gopopulate v0.0.0-20180821133914-b175b219e774/go.mod h1:6/0dYRLLXyJjbkIPeeGyoJ/eKOSI0eU6eTlCBYibgd0= github.com/AdaLogics/go-fuzz-headers v0.0.0-20221103172237-443f56ff4ba8 h1:d+pBUmsteW5tM87xmVXHZ4+LibHRFn40SPAoZJOg2ak= @@ -66,8 +66,8 @@ github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armresources v1. github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armresources v1.2.0/go.mod h1:5kakwfW5CjC9KK+Q4wjXAg+ShuIm2mBMua0ZFj2C8PE= github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/storage/armstorage v1.5.0 h1:AifHbc4mg0x9zW52WOpKbsHaDKuRhlI7TVl47thgQ70= github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/storage/armstorage v1.5.0/go.mod h1:T5RfihdXtBDxt1Ch2wobif3TvzTdumDy29kahv6AV9A= -github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v1.2.1 h1:AMf7YbZOZIW5b66cXNHMWWT/zkjhz5+a+k/3x40EO7E= -github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v1.2.1/go.mod h1:uwfk06ZBcvL/g4VHNjurPfVln9NMbsk2XIZxJ+hu81k= +github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v1.6.0 h1:UXT0o77lXQrikd1kgwIPQOUect7EoR/+sbP4wQKdzxM= +github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v1.6.0/go.mod h1:cTvi54pg19DoT07ekoeMgE/taAwNtCShVeZqA+Iv2xI= github.com/Azure/azure-service-operator/v2 v2.6.0 h1:1Uwg4Ak+KhwK5ANBDFW0Ifgz0DXs4sSOFOBU7AIQY3s= github.com/Azure/azure-service-operator/v2 v2.6.0/go.mod h1:CFa7/cM5y+2mDynV0AteLoQRk5Tl/1c3gCyyiLAHRJA= github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78/go.mod h1:LmzpDX56iTiv29bbRTIsUNlaFfuhWRQBWjQdVyAevI8= @@ -186,8 +186,8 @@ github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 h1:DklsrG3d github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2/go.mod h1:WaHUgvxTVq04UNunO+XhnAqY/wQc+bxr74GqbsZ/Jqw= github.com/ashcrow/osrelease v0.0.0-20180626175927-9b292693c55c/go.mod h1:BRljTyotlu+6N+Qlu5MhjxpdmccCnp9lDvZjNNV8qr4= github.com/aws/aws-sdk-go v1.19.11/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= -github.com/aws/aws-sdk-go v1.55.5 h1:KKUZBfBoyqy5d3swXyiC7Q76ic40rYcbqH7qjh59kzU= -github.com/aws/aws-sdk-go v1.55.5/go.mod h1:eRwEWoyTWFMVYVQzKMNHWP5/RV4xIUGMQfXQHfHkpNU= +github.com/aws/aws-sdk-go v1.55.6 h1:cSg4pvZ3m8dgYcgqB97MrcdjUmZ1BeMYKUxMMB89IPk= +github.com/aws/aws-sdk-go v1.55.6/go.mod h1:eRwEWoyTWFMVYVQzKMNHWP5/RV4xIUGMQfXQHfHkpNU= github.com/benbjohnson/clock v1.3.5 h1:VvXlSJBzZpA/zum6Sj74hxwYI2DIxRWuNIoXAzHZz5o= github.com/benbjohnson/clock v1.3.5/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= @@ -205,10 +205,11 @@ github.com/briandowns/spinner v1.23.2/go.mod h1:LaZeM4wm2Ywy6vO571mvhQNRcWfRUnXO github.com/bshuster-repo/logrus-logstash-hook v1.0.0 h1:e+C0SB5R1pu//O4MQ3f9cFuPGoOVeF2fE4Og9otCc70= github.com/bshuster-repo/logrus-logstash-hook v1.0.0/go.mod h1:zsTqEiSzDgAa/8GZR7E1qaXrhYNDKBYy5/dWPTIflbk= github.com/bsm/ginkgo/v2 v2.7.0/go.mod h1:AiKlXPm7ItEHNc/2+OkrNG4E0ITzojb9/xWzvQ9XZ9w= -github.com/bsm/ginkgo/v2 v2.9.5 h1:rtVBYPs3+TC5iLUVOis1B9tjLTup7Cj5IfzosKtvTJ0= -github.com/bsm/ginkgo/v2 v2.9.5/go.mod h1:SwYbGRRDovPVboqFv0tPTcG1sN61LM1Z4ARdbAV9g4c= -github.com/bsm/gomega v1.26.0 h1:LhQm+AFcgV2M0WyKroMASzAzCAJVpAxQXv4SaI9a69Y= +github.com/bsm/ginkgo/v2 v2.12.0 h1:Ny8MWAHyOepLGlLKYmXG4IEkioBysk6GpaRTLC8zwWs= +github.com/bsm/ginkgo/v2 v2.12.0/go.mod h1:SwYbGRRDovPVboqFv0tPTcG1sN61LM1Z4ARdbAV9g4c= github.com/bsm/gomega v1.26.0/go.mod h1:JyEr/xRbxbtgWNi8tIEVPUYZ5Dzef52k01W3YH0H+O0= +github.com/bsm/gomega v1.27.10 h1:yeMWxP2pV2fG3FgAODIY8EiRE3dy0aeFYt4l7wh6yKA= +github.com/bsm/gomega v1.27.10/go.mod h1:JyEr/xRbxbtgWNi8tIEVPUYZ5Dzef52k01W3YH0H+O0= github.com/cavaliercoder/go-cpio v0.0.0-20180626203310-925f9528c45e h1:hHg27A0RSSp2Om9lubZpiMgVbvn39bsUmW9U5h0twqc= github.com/cavaliercoder/go-cpio v0.0.0-20180626203310-925f9528c45e/go.mod h1:oDpT4efm8tSYHXV5tHSdRvBet/b/QzxZ+XyyPehvm3A= github.com/cavaliergopher/grab/v3 v3.0.1 h1:4z7TkBfmPjmLAAmkkAZNX/6QJ1nNFdv3SdIHXju0Fr4= @@ -277,8 +278,8 @@ github.com/coreos/ign-converter v0.0.0-20200629171308-e40a44f244c5/go.mod h1:LNu github.com/coreos/ignition v0.35.0/go.mod h1:WJQapxzEn9DE0ryxsGvm8QnBajm/XsS/PkrDqSpz+bA= github.com/coreos/ignition/v2 v2.1.1/go.mod h1:RqmqU64zxarUJa3l4cHtbhcSwfQLpUhv0WVziZwoXvE= github.com/coreos/ignition/v2 v2.3.0/go.mod h1:85dmM/CERMZXNrJsXqtNLIxR/dn8G9qlL1CmEjCugp0= -github.com/coreos/ignition/v2 v2.20.0 h1:xQjrxhCbcSKpqrN2hOQavAc1rx0GOf6qh2QCauScwPU= -github.com/coreos/ignition/v2 v2.20.0/go.mod h1:l7EpXNWA7jBXmjUMvnVBlrrj+LX2wA/PAyD9kstwFDQ= +github.com/coreos/ignition/v2 v2.21.0 h1:2q44zldXRuBXOJl/6Z6xBshZzi2muQuXRZBGGpvNbsk= +github.com/coreos/ignition/v2 v2.21.0/go.mod h1:axhFZ3jEgXBjKtKp0rSMv2li0Rt43rasp5hS9uyYjco= github.com/coreos/pkg v0.0.0-20160727233714-3ac0863d7acf/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= github.com/coreos/stream-metadata-go v0.4.10 h1:PlZjbJF94cCeCAHwkeBOrLhdT36qq1O8RdJ/auFa7DI= @@ -311,8 +312,8 @@ github.com/digitalocean/go-libvirt v0.0.0-20250616175656-5843751af96c h1:VTYS0X+ github.com/digitalocean/go-libvirt v0.0.0-20250616175656-5843751af96c/go.mod h1:GwQQeZzqvtOneY034nAMNxnXA/6aXd/9z7uDm7Hb8sk= github.com/diskfs/go-diskfs v1.4.2 h1:khBr9RTkqAZFaMYK7PP8NooL30hqj3bSgRmj3Ouguls= github.com/diskfs/go-diskfs v1.4.2/go.mod h1:ss1uAUBhgDdEOewZFDWWpYqJFjNPbK7hYSjRoQE+D94= -github.com/distribution/distribution/v3 v3.0.0-rc.3 h1:JRJso9IVLoooKX76oWR+DWCCdZlK5m4nRtDWvzB1ITg= -github.com/distribution/distribution/v3 v3.0.0-rc.3/go.mod h1:offoOgrnYs+CFwis8nE0hyzYZqRCZj5EFc5kgfszwiE= +github.com/distribution/distribution/v3 v3.0.0 h1:q4R8wemdRQDClzoNNStftB2ZAfqOiN6UX90KJc4HjyM= +github.com/distribution/distribution/v3 v3.0.0/go.mod h1:tRNuFoZsUdyRVegq8xGNeds4KLjwLCRin/tTo6i1DhU= github.com/distribution/reference v0.6.0 h1:0IXCQ5g4/QMHHkarYzh5l+u8T3t73zM5QvfrDyIgxBk= github.com/distribution/reference v0.6.0/go.mod h1:BbU0aIcezP1/5jX/8MP0YiH4SdvB5Y4f/wlDRiLyi3E= github.com/djherbis/times v1.6.0 h1:w2ctJ92J8fBvWPxugmXIv7Nz7Q3iDMKNx9v5ocVH20c= @@ -614,8 +615,8 @@ github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OI github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= github.com/google/pprof v0.0.0-20210407192527-94a9f03dee38/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20250630185457-6e76a2b096b5 h1:xhMrHhTJ6zxu3gA4enFM9MLn9AY7613teCdFnlUVbSQ= -github.com/google/pprof v0.0.0-20250630185457-6e76a2b096b5/go.mod h1:5hDyRhoBCxViHszMt12TnOpEI4VVi+U8Gm9iphldiMA= +github.com/google/pprof v0.0.0-20251213031049-b05bdaca462f h1:HU1RgM6NALf/KW9HEY6zry3ADbDKcmpQ+hJedoNGQYQ= +github.com/google/pprof v0.0.0-20251213031049-b05bdaca462f/go.mod h1:67FPmZWbr+KDT/VlpWtw6sO9XSjpJmLuHpoLmWiTGgY= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= github.com/google/s2a-go v0.1.9 h1:LGD7gtMgezd8a/Xak7mEWL0PjoTQFvpRudN895yqKW0= github.com/google/s2a-go v0.1.9/go.mod h1:YA0Ei2ZQL3acow2O62kdp9UlnvMmU7kA6Eutn0dXayM= @@ -845,8 +846,9 @@ github.com/mitchellh/mapstructure v0.0.0-20180220230111-00c29f56e238/go.mod h1:F github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY= github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= -github.com/moby/spdystream v0.2.0 h1:cjW1zVyyoiM0T7b6UoySUFqzXMoqRckQtXwGPiBhOM8= github.com/moby/spdystream v0.2.0/go.mod h1:f7i0iNDQJ059oMTcWxx8MA/zKFIuD/lY+0GqbN2Wy8c= +github.com/moby/spdystream v0.5.0 h1:7r0J1Si3QO/kjRitvSLVVFUjxMEb/YLj6S9FF62JBCU= +github.com/moby/spdystream v0.5.0/go.mod h1:xBAYlnt/ay+11ShkdFKNAG7LsyK/tmNBVvVOwrfMgdI= github.com/moby/sys/mountinfo v0.7.1 h1:/tTvQaSJRr2FshkhXiIpux6fQ2Zvc4j7tAhMTStAG2g= github.com/moby/sys/mountinfo v0.7.1/go.mod h1:IJb6JQeOklcdMU9F5xQ8ZALD+CUr5VlGpwtX+VE0rpI= github.com/moby/sys/user v0.1.0 h1:WmZ93f5Ux6het5iituh9x2zAG7NFY9Aqi49jjE1PaQg= @@ -859,8 +861,9 @@ github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= -github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= +github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee h1:W5t00kpgFdJifH4BDsTlE89Zl93FEloxaWZfGcifgq8= +github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= github.com/monochromegane/go-gitignore v0.0.0-20200626010858-205db1a8cc00 h1:n6/2gBQ3RWajuToeY6ZtZTIKv2v7ThUy5KKusIT0yc0= github.com/monochromegane/go-gitignore v0.0.0-20200626010858-205db1a8cc00/go.mod h1:Pm3mSP3c5uWn86xMLZ5Sa7JB9GsEZySvHYXCTK4E9q4= github.com/morikuni/aec v1.0.0/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc= @@ -898,8 +901,8 @@ github.com/onsi/ginkgo v1.16.4/go.mod h1:dX+/inL/fNMqNlz0e9LfyB9TswhZpCVdJM/Z6Vv github.com/onsi/ginkgo v1.16.5 h1:8xi0RTUf59SOSfEtZMvwTvXYMzG4gV23XVHOZiXNtnE= github.com/onsi/ginkgo v1.16.5/go.mod h1:+E8gABHa3K6zRBolWtd+ROzc/U5bkGt0FwiG042wbpU= github.com/onsi/ginkgo/v2 v2.0.0/go.mod h1:vw5CSIxN1JObi/U8gcbwft7ZxR2dgaR70JSE3/PpL4c= -github.com/onsi/ginkgo/v2 v2.19.1 h1:QXgq3Z8Crl5EL1WBAC98A5sEBHARrAJNzAmMxzLcRF0= -github.com/onsi/ginkgo/v2 v2.19.1/go.mod h1:O3DtEWQkPa/F7fBMgmZQKKsluAy8pd3rEQdrjkPb9zA= +github.com/onsi/ginkgo/v2 v2.22.0 h1:Yed107/8DjTr0lKCNt7Dn8yQ6ybuDRQoMGrNFKzMfHg= +github.com/onsi/ginkgo/v2 v2.22.0/go.mod h1:7Du3c42kxCUegi0IImZ1wUQzMBVecgIHjR1C+NkhLQo= github.com/onsi/gomega v0.0.0-20170829124025-dcabb60a477c/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= github.com/onsi/gomega v1.4.2/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= github.com/onsi/gomega v1.7.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= @@ -907,8 +910,8 @@ github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7J github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= github.com/onsi/gomega v1.17.0/go.mod h1:HnhC7FXeEQY45zxNK3PPoIUhzk/80Xly9PcubAlGdZY= github.com/onsi/gomega v1.18.1/go.mod h1:0q+aL8jAiMXy9hbwj2mr5GziHiwhAIQpFmmtT5hitRs= -github.com/onsi/gomega v1.34.0 h1:eSSPsPNp6ZpsG8X1OVmOTxig+CblTc4AxpPBykhe2Os= -github.com/onsi/gomega v1.34.0/go.mod h1:MIKI8c+f+QLWk+hxbePD4i0LMJSExPaZOVfkoex4cAo= +github.com/onsi/gomega v1.36.0 h1:Pb12RlruUtj4XUuPUqeEWc6j5DkVVVA49Uf6YLfC95Y= +github.com/onsi/gomega v1.36.0/go.mod h1:PvZbdDc8J6XJEpDK4HCuRBm8a6Fzp9/DmhC9C7yFlog= github.com/openconfig/goyang v1.6.3 h1:9nWXBwd6b4+nZr8ni7O4zUXVhrVMXCLFz8os5YWFuo4= github.com/openconfig/goyang v1.6.3/go.mod h1:5WolITjek1NF8yrNERyVZ7jqjOClJTpO8p/+OwmETM4= github.com/opencontainers/go-digest v0.0.0-20180430190053-c9281466c8b2/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= @@ -917,8 +920,8 @@ github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8 github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= github.com/opencontainers/image-spec v1.0.1/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= github.com/opencontainers/image-spec v1.0.2-0.20190823105129-775207bd45b6/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= -github.com/opencontainers/image-spec v1.1.0 h1:8SG7/vwALn54lVB/0yZ/MMwhFrPYtpEHQb2IpWsCzug= -github.com/opencontainers/image-spec v1.1.0/go.mod h1:W4s4sFTMaBeK1BQLXbG4AdM2szdn85PY75RI83NrTrM= +github.com/opencontainers/image-spec v1.1.1 h1:y0fUlFfIZhPF1W537XOLg0/fcx6zcHCJwooC2xJA040= +github.com/opencontainers/image-spec v1.1.1/go.mod h1:qpqAh3Dmcf36wStyyWU+kCeDgrGnAve2nCC8+7h8Q0M= github.com/opencontainers/runc v0.0.0-20190115041553-12f6a991201f/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= github.com/opencontainers/runc v0.0.0-20191031171055-b133feaeeb2e/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= github.com/opencontainers/runc v1.0.0-rc90/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= @@ -1039,8 +1042,8 @@ github.com/redis/go-redis/extra/rediscmd/v9 v9.0.5/go.mod h1:fyalQWdtzDBECAQFBJu github.com/redis/go-redis/extra/redisotel/v9 v9.0.5 h1:EfpWLLCyXw8PSM2/XNJLjI3Pb27yVE+gIAfeqp8LUCc= github.com/redis/go-redis/extra/redisotel/v9 v9.0.5/go.mod h1:WZjPDy7VNzn77AAfnAfVjZNvfJTYfPetfZk5yoSTLaQ= github.com/redis/go-redis/v9 v9.0.5/go.mod h1:WqMKv5vnQbRuZstUwxQI195wHy+t4PuXDOjzMvcuQHk= -github.com/redis/go-redis/v9 v9.1.0 h1:137FnGdk+EQdCbye1FW+qOEcY5S+SpY9T0NiuqvtfMY= -github.com/redis/go-redis/v9 v9.1.0/go.mod h1:urWj3He21Dj5k4TK1y59xH8Uj6ATueP8AH1cY3lZl4c= +github.com/redis/go-redis/v9 v9.7.3 h1:YpPyAayJV+XErNsatSElgRZZVCwXX9QzkKYNvO7x0wM= +github.com/redis/go-redis/v9 v9.7.3/go.mod h1:bGUrSggJ9X9GUmZpZNEOQKaANxSGgOEBRltRTZHSvrA= github.com/robfig/cron v1.2.0/go.mod h1:JGuDeoQd7Z6yL4zQhZ3OPEVHB7fL6Ka6skscFHfmt2k= github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= github.com/rogpeppe/go-charset v0.0.0-20180617210344-2471d30d28b4/go.mod h1:qgYeAmZ5ZIpBWTGllZSQnw97Dj+woV0toclVaRGI8pc= @@ -1210,10 +1213,10 @@ go.opentelemetry.io/contrib/detectors/gcp v1.34.0 h1:JRxssobiPg23otYU5SbWtQC//sn go.opentelemetry.io/contrib/detectors/gcp v1.34.0/go.mod h1:cV4BMFcscUR/ckqLkbfQmF0PRsq8w/lMGzdbCSveBHo= go.opentelemetry.io/contrib/exporters/autoexport v0.57.0 h1:jmTVJ86dP60C01K3slFQa2NQ/Aoi7zA+wy7vMOKD9H4= go.opentelemetry.io/contrib/exporters/autoexport v0.57.0/go.mod h1:EJBheUMttD/lABFyLXhce47Wr6DPWYReCzaZiXadH7g= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.54.0 h1:r6I7RJCN86bpD/FQwedZ0vSixDpwuWREjW9oRMsmqDc= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.54.0/go.mod h1:B9yO6b04uB80CzjedvewuqDhxJxi11s7/GtiGa8bAjI= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.57.0 h1:DheMAlT6POBP+gh8RUH19EOTnQIor5QE0uSRPtzCpSw= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.57.0/go.mod h1:wZcGmeVO9nzP67aYSLDqXNWK87EZWhi7JWj1v7ZXf94= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.59.0 h1:rgMkmiGfix9vFJDcDi1PK8WEQP4FLQwLDfhp5ZLpFeE= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.59.0/go.mod h1:ijPqXp5P6IRRByFVVg9DY8P5HkxkHE5ARIa+86aXPf4= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.59.0 h1:CV7UdSGJt/Ao6Gp4CXckLxVRRsRgDHoI8XjbL3PDl8s= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.59.0/go.mod h1:FRmFuRJfag1IZ2dPkHnEoSFVgTVPUd2qf5Vi69hLb8I= go.opentelemetry.io/otel v1.34.0 h1:zRLXxLCgL1WyKsPVrgbSdMN4c0FMkDAskSTQP+0hdUY= go.opentelemetry.io/otel v1.34.0/go.mod h1:OWFPOQ+h4G8xpyjgqo4SxJYdDQ/qmRH+wivy7zzx9oI= go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc v0.8.0 h1:WzNab7hOOLzdDF/EoWCt4glhrbMPVMOO5JYTmpz36Ls= @@ -1311,8 +1314,8 @@ golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.5.1/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= -golang.org/x/mod v0.30.0 h1:fDEXFVZ/fmCKProc/yAXXUijritrDzahmwwefnjoPFk= -golang.org/x/mod v0.30.0/go.mod h1:lAsf5O2EvJeSFMiBxXDki7sCgAxEUcZHXoXMKT4GJKc= +golang.org/x/mod v0.31.0 h1:HaW9xtz0+kOcWKwli0ZXy79Ix+UW/vOfmWI5QVd2tgI= +golang.org/x/mod v0.31.0/go.mod h1:43JraMp9cGx1Rx3AqioxrbrhNsLl2l/iNAvuBkrezpg= golang.org/x/net v0.0.0-20170114055629-f2499483f923/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20170915142106-8351a756f30f/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -1510,8 +1513,8 @@ golang.org/x/tools v0.1.6-0.20210820212750-d4cc65f0b2ff/go.mod h1:YD9qOF0M9xpSpd golang.org/x/tools v0.1.8/go.mod h1:nABZi5QlRsZVlzPpHl034qft6wpY4eDcsTt5AaioBiU= golang.org/x/tools v0.1.9/go.mod h1:nABZi5QlRsZVlzPpHl034qft6wpY4eDcsTt5AaioBiU= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= -golang.org/x/tools v0.39.0 h1:ik4ho21kwuQln40uelmciQPp9SipgNDdrafrYA4TmQQ= -golang.org/x/tools v0.39.0/go.mod h1:JnefbkDPyD8UU2kI5fuf8ZX4/yUeh9W877ZeBONxUqQ= +golang.org/x/tools v0.40.0 h1:yLkxfA+Qnul4cs9QA3KnlFu0lVmd8JJfoq+E41uSutA= +golang.org/x/tools v0.40.0/go.mod h1:Ik/tzLRlbscWpqqMRjyWYDisX8bG13FrdXp3o4Sr9lc= golang.org/x/tools/godoc v0.1.0-deprecated h1:o+aZ1BOj6Hsx/GBdJO/s815sqftjSnrZZwyYTHODvtk= golang.org/x/tools/godoc v0.1.0-deprecated/go.mod h1:qM63CriJ961IHWmnWa9CjZnBndniPt4a3CK0PVB9bIg= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= @@ -1525,8 +1528,8 @@ google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= google.golang.org/api v0.15.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/api v0.219.0 h1:nnKIvxKs/06jWawp2liznTBnMRQBEPpGo7I+oEypTX0= -google.golang.org/api v0.219.0/go.mod h1:K6OmjGm+NtLrIkHxv1U3a0qIf/0JOvAHd5O/6AoyKYE= +google.golang.org/api v0.228.0 h1:X2DJ/uoWGnY5obVjewbp8icSL5U4FzuCfy9OjbLSnLs= +google.golang.org/api v0.228.0/go.mod h1:wNvRS1Pbe8r4+IfBIniV8fwCpGwTrYa+kMUDiC5z5a4= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= @@ -1543,8 +1546,8 @@ google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBr google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= google.golang.org/genproto v0.0.0-20201019141844-1ed22bb0c154/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20240903143218-8af14fe29dc1 h1:BulPr26Jqjnd4eYDVe+YvyR7Yc2vJGkO5/0UxD0/jZU= -google.golang.org/genproto v0.0.0-20240903143218-8af14fe29dc1/go.mod h1:hL97c3SYopEHblzpxRL4lSs523++l8DYxGM1FQiYmb4= +google.golang.org/genproto v0.0.0-20241118233622-e639e219e697 h1:ToEetK57OidYuqD4Q5w+vfEnPvPpuTwedCNVohYJfNk= +google.golang.org/genproto v0.0.0-20241118233622-e639e219e697/go.mod h1:JJrvXBWRZaFMxBufik1a4RpFw4HhgVtBBWQeQgUj2cc= google.golang.org/genproto/googleapis/api v0.0.0-20251111163417-95abcf5c77ba h1:B14OtaXuMaCQsl2deSvNkyPKIzq3BjfxQp8d00QyWx4= google.golang.org/genproto/googleapis/api v0.0.0-20251111163417-95abcf5c77ba/go.mod h1:G5IanEx8/PgI9w6CFcYQf7jMtHQhZruvfM1i3qOqk5U= google.golang.org/genproto/googleapis/rpc v0.0.0-20251124214823-79d6a2a48846 h1:Wgl1rcDNThT+Zn47YyCXOXyX/COgMTIdhJ717F0l4xk= @@ -1677,8 +1680,8 @@ k8s.io/klog/v2 v2.2.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y= k8s.io/klog/v2 v2.3.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y= k8s.io/klog/v2 v2.30.0/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= k8s.io/klog/v2 v2.40.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= -k8s.io/klog/v2 v2.120.1 h1:QXU6cPEOIslTGvZaXvFWiP9VKyeet3sawzTOvdXb4Vw= -k8s.io/klog/v2 v2.120.1/go.mod h1:3Jpz1GvMt720eyJH1ckRHK1EDfpxISzJ7I9OYgaDtPE= +k8s.io/klog/v2 v2.130.1 h1:n9Xl7H1Xvksem4KFG4PYbdQCQxqc/tTUyrgXaOhHSzk= +k8s.io/klog/v2 v2.130.1/go.mod h1:3Jpz1GvMt720eyJH1ckRHK1EDfpxISzJ7I9OYgaDtPE= k8s.io/kube-aggregator v0.19.0/go.mod h1:1Ln45PQggFAG8xOqWPIYMxUq8WNtpPnYsbUJ39DpF/A= k8s.io/kube-openapi v0.0.0-20200121204235-bf4fb3bd569c/go.mod h1:GRQhZsXIAJ1xR0C9bd8UpWHZ5plfAS9fzPjJuQ6JL3E= k8s.io/kube-openapi v0.0.0-20200805222855-6aeccd4b50c6/go.mod h1:UuqjUnNftUyPE5H64/qeyjQoUZhGpeFDVdxjTeEVN2o= diff --git a/pkg/asset/ignition/bootstrap_ignition.go b/pkg/asset/ignition/bootstrap_ignition.go index 7f1e5346..b6b6d7d7 100644 --- a/pkg/asset/ignition/bootstrap_ignition.go +++ b/pkg/asset/ignition/bootstrap_ignition.go @@ -15,7 +15,6 @@ import ( igntypes "github.com/coreos/ignition/v2/config/v3_2/types" agentManifests "github.com/openshift/installer/pkg/asset/agent/manifests" - "github.com/openshift/installer/pkg/asset/ignition" ignasset "github.com/openshift/installer/pkg/asset/ignition" "golang.org/x/crypto/bcrypt" "sigs.k8s.io/yaml" @@ -222,7 +221,7 @@ func (i *BootstrapIgnition) Generate(_ context.Context, dependencies asset.Paren i.Config.Storage.Files = append(i.Config.Storage.Files, clusterImageSetFile) // Add registries.conf file - registriesConfFile := ignition.FileFromBytes(filepath.Join(registriesConfFilePath, registriesConfFilename), + registriesConfFile := ignasset.FileFromBytes(filepath.Join(registriesConfFilePath, registriesConfFilename), "root", 0644, registriesConf.File.Data) i.Config.Storage.Files = append(i.Config.Storage.Files, registriesConfFile) diff --git a/pkg/release/release_test.go b/pkg/release/release_test.go index 910f8dab..0d7e09b9 100644 --- a/pkg/release/release_test.go +++ b/pkg/release/release_test.go @@ -95,7 +95,8 @@ var _ = Describe("Test Release", func() { AfterEach(func() { // Clean up scripts/mirror directory created by RenderTemplateFile during tests scriptsDir := filepath.Join(tempDir, "scripts") - os.RemoveAll(scriptsDir) + err := os.RemoveAll(scriptsDir) + Expect(err).ToNot(HaveOccurred()) }) It("MirrorInstallImages - success", func() { From c18f2c68a2b1822102613b909e9c5b20fe505dea Mon Sep 17 00:00:00 2001 From: Daniel Erez Date: Thu, 1 Jan 2026 13:45:21 +0200 Subject: [PATCH 18/20] fix: Support disk by-path symlinks in deployment ISO Fixes the deployment ISO failing to clone the appliance disk image when using /dev/disk/by-path/* paths as the target device. The virt-resize command was failing with 'No such file or directory' because symlinks were not being properly resolved. Changes: - Wait for udev to settle before accessing disk paths - Wait up to 60 seconds for the target device to become available - Resolve symlinks to their actual device paths before passing to virt-resize - Add proper error handling when target device is not found - Add --pull=never to podman run to prevent TTY prompt errors - Tag loaded image to configured name to fix 'image not found' errors Fixes: https://github.com/openshift/appliance/issues/368 --- data/scripts/bin/deploy.sh.template | 42 ++++++++++++++++++++++++++--- 1 file changed, 39 insertions(+), 3 deletions(-) diff --git a/data/scripts/bin/deploy.sh.template b/data/scripts/bin/deploy.sh.template index 78e815f3..24252135 100644 --- a/data/scripts/bin/deploy.sh.template +++ b/data/scripts/bin/deploy.sh.template @@ -20,7 +20,13 @@ output_issue=/etc/issue.d/90_output.issue printf '\\e{yellow}Preparing to start appliance disk image cloning...\\e{reset}\n' | tee $prepare_issue # Load appliance image -podman load -q -i /run/media/iso/deploy/{{.ApplianceImageTar}} +podman load -i /run/media/iso/deploy/{{.ApplianceImageTar}} + +# Tag the loaded image to a consistent name +IMAGE_ID=$(podman images --quiet | head -1) +podman tag "$IMAGE_ID" {{.ApplianceImageName}} + +printf '\\e{cyan}Tagged appliance image: {{.ApplianceImageName}}\\e{reset}\n' # Create a loop device for each appliance part APPLIANCE_FILES="/run/media/iso/deploy/{{.ApplianceFileName}}*" @@ -44,14 +50,44 @@ done ) | dmsetup create appliance rm -rf $prepare_issue -printf '\\e{cyan}Cloning appliance disk image to {{.TargetDevice}}...\\e{reset}\n' | tee $start_issue + +# Resolve target device path (handles symlinks like /dev/disk/by-path/*) +TARGET_DEVICE="{{.TargetDevice}}" + +# Wait for udev to settle and ensure all disk symlinks are created +udevadm settle --timeout=60 + +# Wait for the target device to become available (up to 60 seconds) +wait_count=0 +while [ ! -e "$TARGET_DEVICE" ] && [ $wait_count -lt 30 ]; do + printf '\\e{yellow}Waiting for target device %s to become available...\\e{reset}\n' "$TARGET_DEVICE" + udevadm settle --timeout=5 + sleep 2 + ((wait_count++)) +done + +if [ ! -e "$TARGET_DEVICE" ]; then + printf '\\e{red}Error: Target device %s not found after waiting.\\e{reset}\n' "$TARGET_DEVICE" | tee $clone_issue + printf '\\e{red}\nAppliance disk image cloning failed.\\e{reset}\n' | tee $done_issue + agetty --reload + exit 1 +fi + +# If the target device is a symlink, resolve it to the actual device +if [ -L "$TARGET_DEVICE" ]; then + RESOLVED_DEVICE=$(readlink -f "$TARGET_DEVICE") + printf '\\e{cyan}Resolved symlink %s -> %s\\e{reset}\n' "$TARGET_DEVICE" "$RESOLVED_DEVICE" + TARGET_DEVICE="$RESOLVED_DEVICE" +fi + +printf '\\e{cyan}Cloning appliance disk image to %s...\\e{reset}\n' "$TARGET_DEVICE" | tee $start_issue # Run virt-resize sparse="--no-sparse" if [ "{{.SparseClone}}" = "true" ]; then sparse="" fi -podman run --rm -t --privileged --entrypoint virt-resize {{.ApplianceImageName}} --expand /dev/sda4 /dev/dm-0 {{.TargetDevice}} $sparse 2>&1 | tee $clone_issue +podman run --rm -t --privileged --pull=never --entrypoint virt-resize {{.ApplianceImageName}} --expand /dev/sda4 /dev/dm-0 "$TARGET_DEVICE" $sparse 2>&1 | tee $clone_issue # Handle clone failure/success if [ "$?" -eq 0 ]; then From d375e7acaade8167b1651b3433247d33fd65722e Mon Sep 17 00:00:00 2001 From: Brandon Palm Date: Thu, 13 Nov 2025 17:15:22 -0600 Subject: [PATCH 19/20] mockgen deprecated: use uber-go/mock instead --- go.mod | 1 + go.sum | 2 ++ pkg/asset/config/env_config.go | 2 +- pkg/executer/mock_executer.go | 3 ++- pkg/ignition/mock_ignition.go | 14 ++++++++---- pkg/release/mock_release.go | 40 ++++++++++++++++++++-------------- 6 files changed, 40 insertions(+), 22 deletions(-) diff --git a/go.mod b/go.mod index 335bae9b..20c59b68 100644 --- a/go.mod +++ b/go.mod @@ -33,6 +33,7 @@ require ( github.com/spf13/cobra v1.10.2 github.com/thedevsaddam/retry v1.2.1 github.com/thoas/go-funk v0.9.3 + go.uber.org/mock v0.6.0 golang.org/x/crypto v0.46.0 golang.org/x/term v0.38.0 k8s.io/api v0.30.3 diff --git a/go.sum b/go.sum index be4fb3ce..7337f6ea 100644 --- a/go.sum +++ b/go.sum @@ -1261,6 +1261,8 @@ go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= +go.uber.org/mock v0.6.0 h1:hyF9dfmbgIX5EfOdasqLsWD6xqpNZlXblLB/Dbnwv3Y= +go.uber.org/mock v0.6.0/go.mod h1:KiVJ4BqZJaMj4svdfmHM0AUx4NJYO8ZNpPnZn1Z+BBU= go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y= diff --git a/pkg/asset/config/env_config.go b/pkg/asset/config/env_config.go index 32a362a9..84c644ae 100644 --- a/pkg/asset/config/env_config.go +++ b/pkg/asset/config/env_config.go @@ -139,7 +139,7 @@ func (e *EnvConfig) FindInAssets(filePattern string) string { } // FindFilesInCache returns the files from cache whose name match the given regexp. -func (e *EnvConfig) FindFilesInCache(pattern string) (files []*asset.File, err error) { +func (e *EnvConfig) FindFilesInCache(pattern string) (files []*asset.File, err error) { matches, err := filepath.Glob(filepath.Join(e.CacheDir, pattern)) if err != nil { return nil, err diff --git a/pkg/executer/mock_executer.go b/pkg/executer/mock_executer.go index f49feb58..be876b10 100644 --- a/pkg/executer/mock_executer.go +++ b/pkg/executer/mock_executer.go @@ -13,13 +13,14 @@ import ( os "os" reflect "reflect" - gomock "github.com/golang/mock/gomock" + gomock "go.uber.org/mock/gomock" ) // MockExecuter is a mock of Executer interface. type MockExecuter struct { ctrl *gomock.Controller recorder *MockExecuterMockRecorder + isgomock struct{} } // MockExecuterMockRecorder is the mock recorder for MockExecuter. diff --git a/pkg/ignition/mock_ignition.go b/pkg/ignition/mock_ignition.go index c89f8523..5d273c38 100644 --- a/pkg/ignition/mock_ignition.go +++ b/pkg/ignition/mock_ignition.go @@ -1,5 +1,10 @@ // Code generated by MockGen. DO NOT EDIT. // Source: ignition.go +// +// Generated by this command: +// +// mockgen -source=ignition.go -package=ignitionutil -destination=mock_ignition.go +// // Package ignitionutil is a generated GoMock package. package ignitionutil @@ -8,13 +13,14 @@ import ( reflect "reflect" types "github.com/coreos/ignition/v2/config/v3_2/types" - gomock "github.com/golang/mock/gomock" + gomock "go.uber.org/mock/gomock" ) // MockIgnition is a mock of Ignition interface. type MockIgnition struct { ctrl *gomock.Controller recorder *MockIgnitionMockRecorder + isgomock struct{} } // MockIgnitionMockRecorder is the mock recorder for MockIgnition. @@ -44,7 +50,7 @@ func (m *MockIgnition) MergeIgnitionConfig(base, overrides *types.Config) (*type } // MergeIgnitionConfig indicates an expected call of MergeIgnitionConfig. -func (mr *MockIgnitionMockRecorder) MergeIgnitionConfig(base, overrides interface{}) *gomock.Call { +func (mr *MockIgnitionMockRecorder) MergeIgnitionConfig(base, overrides any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "MergeIgnitionConfig", reflect.TypeOf((*MockIgnition)(nil).MergeIgnitionConfig), base, overrides) } @@ -59,7 +65,7 @@ func (m *MockIgnition) ParseIgnitionFile(path string) (*types.Config, error) { } // ParseIgnitionFile indicates an expected call of ParseIgnitionFile. -func (mr *MockIgnitionMockRecorder) ParseIgnitionFile(path interface{}) *gomock.Call { +func (mr *MockIgnitionMockRecorder) ParseIgnitionFile(path any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ParseIgnitionFile", reflect.TypeOf((*MockIgnition)(nil).ParseIgnitionFile), path) } @@ -73,7 +79,7 @@ func (m *MockIgnition) WriteIgnitionFile(path string, config *types.Config) erro } // WriteIgnitionFile indicates an expected call of WriteIgnitionFile. -func (mr *MockIgnitionMockRecorder) WriteIgnitionFile(path, config interface{}) *gomock.Call { +func (mr *MockIgnitionMockRecorder) WriteIgnitionFile(path, config any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "WriteIgnitionFile", reflect.TypeOf((*MockIgnition)(nil).WriteIgnitionFile), path, config) } diff --git a/pkg/release/mock_release.go b/pkg/release/mock_release.go index c49432f6..674055bb 100644 --- a/pkg/release/mock_release.go +++ b/pkg/release/mock_release.go @@ -1,5 +1,10 @@ // Code generated by MockGen. DO NOT EDIT. // Source: release.go +// +// Generated by this command: +// +// mockgen -source=release.go -package=release -destination=mock_release.go +// // Package release is a generated GoMock package. package release @@ -7,13 +12,14 @@ package release import ( reflect "reflect" - gomock "github.com/golang/mock/gomock" + gomock "go.uber.org/mock/gomock" ) // MockRelease is a mock of Release interface. type MockRelease struct { ctrl *gomock.Controller recorder *MockReleaseMockRecorder + isgomock struct{} } // MockReleaseMockRecorder is the mock recorder for MockRelease. @@ -33,32 +39,34 @@ func (m *MockRelease) EXPECT() *MockReleaseMockRecorder { return m.recorder } -// ExtractFile mocks base method. -func (m *MockRelease) ExtractFile(image, filename string) (string, error) { +// ExtractCommand mocks base method. +func (m *MockRelease) ExtractCommand(command, dest string) (string, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "ExtractFile", image, filename) + ret := m.ctrl.Call(m, "ExtractCommand", command, dest) ret0, _ := ret[0].(string) ret1, _ := ret[1].(error) return ret0, ret1 } -// ExtractFile indicates an expected call of ExtractFile. -func (mr *MockReleaseMockRecorder) ExtractFile(image, filename interface{}) *gomock.Call { +// ExtractCommand indicates an expected call of ExtractCommand. +func (mr *MockReleaseMockRecorder) ExtractCommand(command, dest any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ExtractFile", reflect.TypeOf((*MockRelease)(nil).ExtractFile), image, filename) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ExtractCommand", reflect.TypeOf((*MockRelease)(nil).ExtractCommand), command, dest) } -func (m *MockRelease) ExtractCommand(command string, dest string) (string, error) { +// ExtractFile mocks base method. +func (m *MockRelease) ExtractFile(image, filename string) (string, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "ExtractCommand", command, dest) + ret := m.ctrl.Call(m, "ExtractFile", image, filename) ret0, _ := ret[0].(string) ret1, _ := ret[1].(error) return ret0, ret1 } -func (mr *MockReleaseMockRecorder) ExtractCommand(command string, dest string) *gomock.Call { +// ExtractFile indicates an expected call of ExtractFile. +func (mr *MockReleaseMockRecorder) ExtractFile(image, filename any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ExtractCommand", reflect.TypeOf((*MockRelease)(nil).ExtractCommand), command, dest) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ExtractFile", reflect.TypeOf((*MockRelease)(nil).ExtractFile), image, filename) } // GetImageFromRelease mocks base method. @@ -71,7 +79,7 @@ func (m *MockRelease) GetImageFromRelease(imageName string) (string, error) { } // GetImageFromRelease indicates an expected call of GetImageFromRelease. -func (mr *MockReleaseMockRecorder) GetImageFromRelease(imageName interface{}) *gomock.Call { +func (mr *MockReleaseMockRecorder) GetImageFromRelease(imageName any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetImageFromRelease", reflect.TypeOf((*MockRelease)(nil).GetImageFromRelease), imageName) } @@ -79,15 +87,15 @@ func (mr *MockReleaseMockRecorder) GetImageFromRelease(imageName interface{}) *g // MirrorInstallImages mocks base method. func (m *MockRelease) MirrorInstallImages() error { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "MirrorReleaseImages") + ret := m.ctrl.Call(m, "MirrorInstallImages") ret0, _ := ret[0].(error) return ret0 } -// MirrorReleaseImages indicates an expected call of MirrorReleaseImages. -func (mr *MockReleaseMockRecorder) MirrorReleaseImages() *gomock.Call { +// MirrorInstallImages indicates an expected call of MirrorInstallImages. +func (mr *MockReleaseMockRecorder) MirrorInstallImages() *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "MirrorReleaseImages", reflect.TypeOf((*MockRelease)(nil).MirrorInstallImages)) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "MirrorInstallImages", reflect.TypeOf((*MockRelease)(nil).MirrorInstallImages)) } // GetMappingFile mocks base method. From 131c9e8b53b474fcfccd7d092963752e0cd24a44 Mon Sep 17 00:00:00 2001 From: Brandon Palm Date: Wed, 28 Jan 2026 14:16:58 -0600 Subject: [PATCH 20/20] Update test files to use uber-go/mock import The test files were still importing github.com/golang/mock/gomock instead of go.uber.org/mock/gomock, causing type mismatch errors when the mocks were regenerated with uber-go/mock. --- pkg/coreos/coreos_test.go | 2 +- pkg/genisoimage/genisoimage_test.go | 2 +- pkg/installer/installer_test.go | 2 +- pkg/registry/registry_test.go | 2 +- pkg/release/release_test.go | 2 +- pkg/skopeo/skopeo_test.go | 2 +- pkg/syslinux/syslinux_test.go | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/pkg/coreos/coreos_test.go b/pkg/coreos/coreos_test.go index 0b222a73..0cdc2e0c 100644 --- a/pkg/coreos/coreos_test.go +++ b/pkg/coreos/coreos_test.go @@ -8,7 +8,7 @@ import ( "github.com/go-openapi/swag" "github.com/openshift/appliance/pkg/types" - "github.com/golang/mock/gomock" + "go.uber.org/mock/gomock" . "github.com/onsi/ginkgo/v2/dsl/core" . "github.com/onsi/gomega" "github.com/openshift/appliance/pkg/asset/config" diff --git a/pkg/genisoimage/genisoimage_test.go b/pkg/genisoimage/genisoimage_test.go index df7f42eb..fc95702d 100644 --- a/pkg/genisoimage/genisoimage_test.go +++ b/pkg/genisoimage/genisoimage_test.go @@ -5,7 +5,7 @@ import ( "fmt" "testing" - "github.com/golang/mock/gomock" + "go.uber.org/mock/gomock" . "github.com/onsi/ginkgo/v2/dsl/core" . "github.com/onsi/gomega" "github.com/openshift/appliance/pkg/executer" diff --git a/pkg/installer/installer_test.go b/pkg/installer/installer_test.go index d1688195..c7e1c7fc 100644 --- a/pkg/installer/installer_test.go +++ b/pkg/installer/installer_test.go @@ -10,7 +10,7 @@ import ( "github.com/openshift/appliance/pkg/release" "github.com/openshift/appliance/pkg/types" - "github.com/golang/mock/gomock" + "go.uber.org/mock/gomock" . "github.com/onsi/ginkgo/v2/dsl/core" . "github.com/onsi/gomega" "github.com/openshift/appliance/pkg/asset/config" diff --git a/pkg/registry/registry_test.go b/pkg/registry/registry_test.go index 13cb7331..e7d59464 100644 --- a/pkg/registry/registry_test.go +++ b/pkg/registry/registry_test.go @@ -7,7 +7,7 @@ import ( "strings" "testing" - "github.com/golang/mock/gomock" + "go.uber.org/mock/gomock" . "github.com/onsi/ginkgo/v2/dsl/core" . "github.com/onsi/ginkgo/v2/dsl/table" . "github.com/onsi/gomega" diff --git a/pkg/release/release_test.go b/pkg/release/release_test.go index 0d7e09b9..c07490ab 100644 --- a/pkg/release/release_test.go +++ b/pkg/release/release_test.go @@ -8,7 +8,7 @@ import ( "testing" "github.com/go-openapi/swag" - "github.com/golang/mock/gomock" + "go.uber.org/mock/gomock" . "github.com/onsi/ginkgo/v2/dsl/core" . "github.com/onsi/gomega" "github.com/openshift/appliance/pkg/asset/config" diff --git a/pkg/skopeo/skopeo_test.go b/pkg/skopeo/skopeo_test.go index f30604d6..392b4887 100644 --- a/pkg/skopeo/skopeo_test.go +++ b/pkg/skopeo/skopeo_test.go @@ -7,7 +7,7 @@ import ( "github.com/openshift/appliance/pkg/consts" - "github.com/golang/mock/gomock" + "go.uber.org/mock/gomock" . "github.com/onsi/ginkgo/v2/dsl/core" . "github.com/onsi/gomega" "github.com/openshift/appliance/pkg/executer" diff --git a/pkg/syslinux/syslinux_test.go b/pkg/syslinux/syslinux_test.go index 65e7ff16..f329f12c 100644 --- a/pkg/syslinux/syslinux_test.go +++ b/pkg/syslinux/syslinux_test.go @@ -5,7 +5,7 @@ import ( "fmt" "testing" - "github.com/golang/mock/gomock" + "go.uber.org/mock/gomock" . "github.com/onsi/ginkgo/v2/dsl/core" . "github.com/onsi/gomega" "github.com/openshift/appliance/pkg/executer"