Skip to content

Migrate containers libs to new mono repo#10599

Draft
rh-roman wants to merge 1 commit into
openshift:mainfrom
rh-roman:update-container-dependency
Draft

Migrate containers libs to new mono repo#10599
rh-roman wants to merge 1 commit into
openshift:mainfrom
rh-roman:update-container-dependency

Conversation

@rh-roman
Copy link
Copy Markdown

@rh-roman rh-roman commented Jun 4, 2026

Around August 2025 container containers/common, containers/storage, and containers/image were consolidated into containers/container-libs monorepo. All maintenance work has been happening in the monorepo since then.

Migrating from legacy container imports to the new Podman import paths.

Updating to newest version of image and storage dependencies

  • github.com/containers/image/v5 v5.31.0 → go.podman.io/image/v5 v5.40.0
  • github.com/containers/storage v1.54.0 → go.podman.io/storage v1.63.0

https://blog.podman.io/2025/08/upcoming-migration-of-three-containers-repositories-to-monorepo/

Summary by CodeRabbit

  • Chores
    • Updated Go module dependencies and bumped core libraries to newer stable versions.
    • Advanced observability/telemetry packages to a more recent release.
    • Standardized image and registry-related imports across components.
    • Updated compression, runtime spec, and storage-related libraries.
    • Minor test and build metadata adjustments to align with dependency updates.

@openshift-ci openshift-ci Bot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Jun 4, 2026
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Jun 4, 2026

Note

.coderabbit.yaml has unrecognized properties

CodeRabbit is using all valid settings from your configuration. Unrecognized properties (listed below) have been ignored and may indicate typos or deprecated fields that can be removed.

⚠️ Parsing warnings (1)
Validation error: Unrecognized key: "tools"
⚙️ Configuration instructions
  • Please see the configuration documentation for more information.
  • You can also validate your configuration using the online YAML validator.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository YAML (base), Central YAML (inherited)

Review profile: CHILL

Plan: Enterprise

Run ID: b846bbd8-1598-4c33-a182-33d853c34ea8

📥 Commits

Reviewing files that changed from the base of the PR and between 94af925 and 249a55c.

⛔ Files ignored due to path filters (278)
  • go.sum is excluded by !**/*.sum
  • vendor/github.com/BurntSushi/toml/README.md is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/BurntSushi/toml/decode.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/BurntSushi/toml/encode.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/BurntSushi/toml/error.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/BurntSushi/toml/lex.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/BurntSushi/toml/meta.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/BurntSushi/toml/parse.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/containers/image/v5/pkg/sysregistriesv2/paths_common.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/containers/image/v5/pkg/sysregistriesv2/paths_freebsd.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/containers/storage/pkg/homedir/homedir_others.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/containers/storage/pkg/mount/mountinfo_linux.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/containers/storage/pkg/unshare/unshare.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/go-jose/go-jose/v4/asymmetric.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/go-jose/go-jose/v4/cipher/key_wrap.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/go-jose/go-jose/v4/symmetric.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/klauspost/compress/.gitattributes is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/klauspost/compress/.goreleaser.yml is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/klauspost/compress/README.md is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/klauspost/compress/fse/README.md is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/klauspost/compress/fse/bitwriter.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/klauspost/compress/fse/compress.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/klauspost/compress/huff0/README.md is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/klauspost/compress/huff0/bitwriter.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/klauspost/compress/huff0/compress.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/klauspost/compress/huff0/decompress.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/klauspost/compress/huff0/decompress_amd64.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/klauspost/compress/huff0/decompress_generic.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/klauspost/compress/huff0/huff0.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/klauspost/compress/internal/cpuinfo/cpuinfo_amd64.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/klauspost/compress/internal/le/unsafe_disabled.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/klauspost/compress/internal/le/unsafe_enabled.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/klauspost/compress/internal/snapref/decode.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/klauspost/compress/internal/snapref/encode.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/klauspost/compress/zstd/bitwriter.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/klauspost/compress/zstd/blockdec.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/klauspost/compress/zstd/blockenc.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/klauspost/compress/zstd/decoder.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/klauspost/compress/zstd/decoder_options.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/klauspost/compress/zstd/dict.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/klauspost/compress/zstd/enc_base.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/klauspost/compress/zstd/enc_best.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/klauspost/compress/zstd/enc_better.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/klauspost/compress/zstd/enc_dfast.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/klauspost/compress/zstd/enc_fast.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/klauspost/compress/zstd/encoder.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/klauspost/compress/zstd/encoder_options.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/klauspost/compress/zstd/framedec.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/klauspost/compress/zstd/fse_decoder_amd64.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/klauspost/compress/zstd/fse_decoder_generic.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/klauspost/compress/zstd/fse_encoder.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/klauspost/compress/zstd/internal/xxhash/xxhash_other.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/klauspost/compress/zstd/matchlen_amd64.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/klauspost/compress/zstd/matchlen_generic.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/klauspost/compress/zstd/seqdec.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/klauspost/compress/zstd/seqdec_amd64.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/klauspost/compress/zstd/seqdec_generic.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/klauspost/compress/zstd/simple_go124.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/klauspost/compress/zstd/snappy.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/klauspost/compress/zstd/zip.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/klauspost/compress/zstd/zstd.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/moby/sys/capability/CHANGELOG.md is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/moby/sys/capability/LICENSE is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/moby/sys/capability/README.md is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/moby/sys/capability/capability.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/moby/sys/capability/capability_linux.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/moby/sys/capability/capability_noop.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/moby/sys/capability/enum.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/moby/sys/capability/enum_gen.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/moby/sys/capability/syscall_linux.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/opencontainers/runtime-spec/specs-go/config.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/opencontainers/runtime-spec/specs-go/version.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/sirupsen/logrus/.golangci.yml is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/sirupsen/logrus/CHANGELOG.md is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/sirupsen/logrus/README.md is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/sirupsen/logrus/appveyor.yml is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/sirupsen/logrus/entry.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/sirupsen/logrus/hooks.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/sirupsen/logrus/hooks/test/test.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/sirupsen/logrus/logger.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/sirupsen/logrus/logrus.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/sirupsen/logrus/text_formatter.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/syndtr/gocapability/capability/capability.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/syndtr/gocapability/capability/capability_noop.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/config.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/handler.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/internal/request/resp_writer_wrapper.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/internal/semconv/client.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/internal/semconv/server.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/internal/semconv/util.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/transport.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/version.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.opentelemetry.io/otel/.golangci.yml is excluded by !vendor/**, !**/vendor/**
  • vendor/go.opentelemetry.io/otel/CHANGELOG.md is excluded by !vendor/**, !**/vendor/**
  • vendor/go.opentelemetry.io/otel/CONTRIBUTING.md is excluded by !vendor/**, !**/vendor/**
  • vendor/go.opentelemetry.io/otel/Makefile is excluded by !vendor/**, !**/vendor/**
  • vendor/go.opentelemetry.io/otel/README.md is excluded by !vendor/**, !**/vendor/**
  • vendor/go.opentelemetry.io/otel/RELEASING.md is excluded by !vendor/**, !**/vendor/**
  • vendor/go.opentelemetry.io/otel/attribute/encoder.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.opentelemetry.io/otel/attribute/hash.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.opentelemetry.io/otel/attribute/internal/attribute.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.opentelemetry.io/otel/attribute/kv.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.opentelemetry.io/otel/attribute/type_string.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.opentelemetry.io/otel/attribute/value.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.opentelemetry.io/otel/baggage/baggage.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.opentelemetry.io/otel/dependencies.Dockerfile is excluded by !vendor/**, !**/vendor/**
  • vendor/go.opentelemetry.io/otel/internal/errorhandler/errorhandler.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.opentelemetry.io/otel/internal/global/handler.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.opentelemetry.io/otel/internal/global/state.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.opentelemetry.io/otel/metric/asyncfloat64.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.opentelemetry.io/otel/metric/asyncint64.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.opentelemetry.io/otel/metric/meter.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.opentelemetry.io/otel/metric/syncfloat64.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.opentelemetry.io/otel/metric/syncint64.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.opentelemetry.io/otel/propagation/baggage.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.opentelemetry.io/otel/propagation/trace_context.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.opentelemetry.io/otel/requirements.txt is excluded by !vendor/**, !**/vendor/**
  • vendor/go.opentelemetry.io/otel/sdk/internal/x/features.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.opentelemetry.io/otel/sdk/metric/config.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.opentelemetry.io/otel/sdk/metric/internal/aggregate/exponential_histogram.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.opentelemetry.io/otel/sdk/metric/internal/aggregate/histogram.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.opentelemetry.io/otel/sdk/metric/internal/aggregate/lastvalue.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.opentelemetry.io/otel/sdk/metric/internal/aggregate/sum.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.opentelemetry.io/otel/sdk/metric/internal/observ/instrumentation.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.opentelemetry.io/otel/sdk/metric/manual_reader.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.opentelemetry.io/otel/sdk/metric/periodic_reader.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.opentelemetry.io/otel/sdk/metric/pipeline.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.opentelemetry.io/otel/sdk/metric/reader.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.opentelemetry.io/otel/sdk/metric/version.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.opentelemetry.io/otel/sdk/resource/builtin.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.opentelemetry.io/otel/sdk/resource/config.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.opentelemetry.io/otel/sdk/resource/container.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.opentelemetry.io/otel/sdk/resource/env.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.opentelemetry.io/otel/sdk/resource/host_id.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.opentelemetry.io/otel/sdk/resource/host_id_readfile.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.opentelemetry.io/otel/sdk/resource/os.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.opentelemetry.io/otel/sdk/resource/process.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.opentelemetry.io/otel/sdk/resource/resource.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.opentelemetry.io/otel/sdk/version.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.opentelemetry.io/otel/semconv/v1.39.0/MIGRATION.md is excluded by !vendor/**, !**/vendor/**
  • vendor/go.opentelemetry.io/otel/semconv/v1.39.0/README.md is excluded by !vendor/**, !**/vendor/**
  • vendor/go.opentelemetry.io/otel/semconv/v1.40.0/MIGRATION.md is excluded by !vendor/**, !**/vendor/**
  • vendor/go.opentelemetry.io/otel/semconv/v1.40.0/README.md is excluded by !vendor/**, !**/vendor/**
  • vendor/go.opentelemetry.io/otel/semconv/v1.40.0/attribute_group.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.opentelemetry.io/otel/semconv/v1.40.0/doc.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.opentelemetry.io/otel/semconv/v1.40.0/error_type.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.opentelemetry.io/otel/semconv/v1.40.0/exception.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.opentelemetry.io/otel/semconv/v1.40.0/httpconv/metric.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.opentelemetry.io/otel/semconv/v1.40.0/otelconv/metric.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.opentelemetry.io/otel/semconv/v1.40.0/schema.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.opentelemetry.io/otel/trace/auto.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.opentelemetry.io/otel/trace/trace.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.opentelemetry.io/otel/trace/tracestate.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.opentelemetry.io/otel/version.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.opentelemetry.io/otel/versions.yaml is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/image/v5/LICENSE is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/image/v5/docker/reference/README.md is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/image/v5/docker/reference/helpers.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/image/v5/docker/reference/normalize.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/image/v5/docker/reference/reference.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/image/v5/docker/reference/regexp-additions.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/image/v5/docker/reference/regexp.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/image/v5/internal/multierr/multierr.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/image/v5/internal/rootless/rootless.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/image/v5/pkg/compression/internal/types.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/image/v5/pkg/compression/types/types.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/image/v5/pkg/sysregistriesv2/shortnames.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/image/v5/pkg/sysregistriesv2/system_registries_v2.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/image/v5/types/types.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/storage/AUTHORS is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/storage/LICENSE is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/storage/NOTICE is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/storage/internal/rawfilelock/rawfilelock.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/storage/internal/rawfilelock/rawfilelock_unix.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/storage/internal/rawfilelock/rawfilelock_windows.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/storage/pkg/configfile/doc.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/storage/pkg/configfile/parse.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/storage/pkg/configfile/path.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/storage/pkg/configfile/path_freebsd.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/storage/pkg/configfile/path_unix.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/storage/pkg/configfile/path_windows.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/storage/pkg/configfile/slice.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/storage/pkg/fileutils/exists_freebsd.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/storage/pkg/fileutils/exists_unix.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/storage/pkg/fileutils/exists_windows.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/storage/pkg/fileutils/fileutils.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/storage/pkg/fileutils/fileutils_darwin.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/storage/pkg/fileutils/fileutils_solaris.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/storage/pkg/fileutils/fileutils_unix.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/storage/pkg/fileutils/fileutils_windows.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/storage/pkg/fileutils/reflink_linux.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/storage/pkg/fileutils/reflink_unsupported.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/storage/pkg/homedir/homedir.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/storage/pkg/homedir/homedir_unix.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/storage/pkg/homedir/homedir_windows.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/storage/pkg/idtools/idtools.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/storage/pkg/idtools/idtools_supported.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/storage/pkg/idtools/idtools_unix.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/storage/pkg/idtools/idtools_unsupported.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/storage/pkg/idtools/idtools_windows.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/storage/pkg/idtools/parser.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/storage/pkg/idtools/usergroupadd_linux.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/storage/pkg/idtools/usergroupadd_unsupported.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/storage/pkg/idtools/utils_unix.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/storage/pkg/lockfile/lastwrite.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/storage/pkg/lockfile/lockfile.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/storage/pkg/lockfile/lockfile_unix.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/storage/pkg/lockfile/lockfile_windows.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/storage/pkg/mount/flags.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/storage/pkg/mount/flags_freebsd.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/storage/pkg/mount/flags_linux.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/storage/pkg/mount/flags_unsupported.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/storage/pkg/mount/mount.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/storage/pkg/mount/mounter_freebsd.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/storage/pkg/mount/mounter_linux.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/storage/pkg/mount/mounter_unsupported.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/storage/pkg/mount/mountinfo.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/storage/pkg/mount/sharedsubtree_linux.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/storage/pkg/mount/unmount_unix.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/storage/pkg/mount/unmount_unsupported.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/storage/pkg/reexec/README.md is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/storage/pkg/reexec/command_freebsd.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/storage/pkg/reexec/command_linux.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/storage/pkg/reexec/command_unix.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/storage/pkg/reexec/command_unsupported.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/storage/pkg/reexec/command_windows.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/storage/pkg/reexec/reexec.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/storage/pkg/regexp/regexp.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/storage/pkg/regexp/regexp_dontprecompile.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/storage/pkg/regexp/regexp_precompile.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/storage/pkg/system/chmod.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/storage/pkg/system/chtimes.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/storage/pkg/system/chtimes_unix.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/storage/pkg/system/chtimes_windows.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/storage/pkg/system/errors.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/storage/pkg/system/exitcode.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/storage/pkg/system/extattr_freebsd.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/storage/pkg/system/extattr_unsupported.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/storage/pkg/system/init.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/storage/pkg/system/init_windows.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/storage/pkg/system/lchflags_bsd.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/storage/pkg/system/lchown.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/storage/pkg/system/lcow_unix.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/storage/pkg/system/lcow_windows.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/storage/pkg/system/lstat_unix.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/storage/pkg/system/lstat_windows.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/storage/pkg/system/meminfo.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/storage/pkg/system/meminfo_freebsd.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/storage/pkg/system/meminfo_linux.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/storage/pkg/system/meminfo_solaris.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/storage/pkg/system/meminfo_unsupported.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/storage/pkg/system/meminfo_windows.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/storage/pkg/system/mknod.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/storage/pkg/system/mknod_freebsd.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/storage/pkg/system/mknod_windows.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/storage/pkg/system/path.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/storage/pkg/system/path_unix.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/storage/pkg/system/path_windows.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/storage/pkg/system/process_unix.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/storage/pkg/system/rm.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/storage/pkg/system/rm_common.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/storage/pkg/system/rm_freebsd.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/storage/pkg/system/stat_common.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/storage/pkg/system/stat_darwin.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/storage/pkg/system/stat_freebsd.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/storage/pkg/system/stat_linux.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/storage/pkg/system/stat_netbsd.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/storage/pkg/system/stat_openbsd.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/storage/pkg/system/stat_solaris.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/storage/pkg/system/stat_unix.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/storage/pkg/system/stat_windows.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/storage/pkg/system/syncfs_linux.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/storage/pkg/system/syncfs_unix.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/storage/pkg/system/syncfs_windows.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/storage/pkg/system/syscall_unix.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/storage/pkg/system/syscall_windows.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/storage/pkg/system/umask.go is excluded by !vendor/**, !**/vendor/**
  • vendor/go.podman.io/storage/pkg/system/umask_windows.go is excluded by !vendor/**, !**/vendor/**
📒 Files selected for processing (8)
  • go.mod
  • pkg/asset/agent/mirror/registriesconf.go
  • pkg/asset/ignition/bootstrap/common.go
  • pkg/asset/imagebased/image/ignition_test.go
  • pkg/asset/imagebased/image/imagebased_config.go
  • pkg/asset/imagebased/image/registriesconf.go
  • pkg/asset/releaseimage/pullspec.go
  • pkg/types/validation/installconfig.go
✅ Files skipped from review due to trivial changes (5)
  • pkg/asset/agent/mirror/registriesconf.go
  • pkg/types/validation/installconfig.go
  • pkg/asset/imagebased/image/registriesconf.go
  • pkg/asset/releaseimage/pullspec.go
  • pkg/asset/ignition/bootstrap/common.go
🚧 Files skipped from review as they are similar to previous changes (3)
  • pkg/asset/imagebased/image/ignition_test.go
  • pkg/asset/imagebased/image/imagebased_config.go
  • go.mod

📝 Walkthrough

Walkthrough

Migrate module and imports from github.com/containers/image/v5 to go.podman.io/image/v5, update go.mod dependency versions (including OpenTelemetry and golang.org/x/*), and update all affected source and test import paths accordingly.

Changes

Image Dependency Migration

Layer / File(s) Summary
Module dependency updates
go.mod
Remove github.com/containers/image/v5, add go.podman.io/image/v5 v5.40.0, normalize github.com/sirupsen/logrus to v1.9.4, bump OpenTelemetry packages to v1.43.0, refresh golang.org/x modules, compression, runtime-spec, and other indirect dependencies.
Sysregistriesv2 import migration
pkg/asset/agent/mirror/registriesconf.go, pkg/asset/ignition/bootstrap/common.go, pkg/asset/imagebased/image/registriesconf.go, pkg/asset/imagebased/image/ignition_test.go
Update sysregistriesv2 imports to go.podman.io/image/v5/pkg/sysregistriesv2 in source and test files without other logic changes.
Dockerref import migration
pkg/asset/imagebased/image/imagebased_config.go, pkg/asset/releaseimage/pullspec.go, pkg/types/validation/installconfig.go
Update dockerref imports to go.podman.io/image/v5/docker/reference (alias dockerref) for repository parsing/validation and pullspec parsing.

🎯 2 (Simple) | ⏱️ ~10 minutes

🚥 Pre-merge checks | ✅ 15
✅ Passed checks (15 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and specifically describes the main change: migrating from legacy containers libraries to new Podman mono-repo imports.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Stable And Deterministic Test Names ✅ Passed PR only modifies import paths; the one test file (ignition_test.go) uses static, deterministic test names with no dynamic values.
Test Structure And Quality ✅ Passed The PR contains only one test file change (ignition_test.go), which uses standard Go testing with testify/assert, not Ginkgo. No Ginkgo test code was modified, making the custom check inapplicable.
Microshift Test Compatibility ✅ Passed No new Ginkgo e2e tests (It(), Describe(), Context(), When()) are added in this PR. Changes are limited to dependency updates and import path migrations from containers to podman monorepo.
Single Node Openshift (Sno) Test Compatibility ✅ Passed No new Ginkgo e2e tests are added in this PR. Changes are limited to dependency version updates in go.mod and import path migrations from github.com/containers/* to go.podman.io/*.
Topology-Aware Scheduling Compatibility ✅ Passed PR contains only dependency migration (import path updates). No deployment manifests, operators, controllers, or scheduling constraints are added or modified.
Ote Binary Stdout Contract ✅ Passed PR contains only import path migrations and dependency bumps; no process-level code, logging setup, or stdout writes were added or modified.
Ipv6 And Disconnected Network Test Compatibility ✅ Passed No new Ginkgo e2e tests were added in this PR. Changes are import path migrations only, with no test definitions or logic added.
No-Weak-Crypto ✅ Passed PR is a dependency migration (containers to podman.io) with import path updates only; no weak crypto, custom implementations, or unsafe comparisons introduced.
Container-Privileges ✅ Passed PR contains only Go source files and go.mod dependency updates; no container/Kubernetes manifests with privileged settings found.
No-Sensitive-Data-In-Logs ✅ Passed PR contains only import path updates and dependency bumps. No new logging added, and existing logging statements do not expose passwords, tokens, API keys, or PII.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Warning

There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure.

🔧 golangci-lint (2.12.2)

Error: can't load config: unsupported version of the configuration: "" See https://golangci-lint.run/docs/product/migration-guide for migration instructions
The command is terminated due to an error: can't load config: unsupported version of the configuration: "" See https://golangci-lint.run/docs/product/migration-guide for migration instructions


Comment @coderabbitai help to get the list of available commands and usage tips.

@openshift-ci openshift-ci Bot requested review from tsorya and tthvo June 4, 2026 19:22
@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented Jun 4, 2026

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign pawanpinjarkar for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

Around August 2025 container containers/common, containers/storage, and
containers/image were consolidated into containers/container-libs
monorepo. All maintenance work has been happening in the monorepo since
then.

Migrating from legacy container imports to the new Podman import paths.

Updating to newest version of image and storage dependencies
  - github.com/containers/image/v5 v5.31.0 → go.podman.io/image/v5 v5.40.0
  - github.com/containers/storage v1.54.0 → go.podman.io/storage v1.63.0

https://blog.podman.io/2025/08/upcoming-migration-of-three-containers-repositories-to-monorepo/
@rh-roman rh-roman force-pushed the update-container-dependency branch from 94af925 to 249a55c Compare June 4, 2026 19:22
@openshift-ci openshift-ci Bot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Jun 4, 2026
@rh-roman rh-roman marked this pull request as draft June 4, 2026 21:13
@openshift-ci openshift-ci Bot added the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Jun 4, 2026
@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented Jun 4, 2026

@rh-roman: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
ci/prow/unit 249a55c link true /test unit
ci/prow/e2e-gcp-custom-dns 249a55c link false /test e2e-gcp-custom-dns
ci/prow/gofmt 249a55c link true /test gofmt
ci/prow/gcp-custom-endpoints-proxy-wif 249a55c link false /test gcp-custom-endpoints-proxy-wif
ci/prow/golint 249a55c link true /test golint
ci/prow/e2e-gcp-xpn-custom-dns 249a55c link false /test e2e-gcp-xpn-custom-dns
ci/prow/integration-tests-nodejoiner 249a55c link true /test integration-tests-nodejoiner
ci/prow/e2e-gcp-ovn-byo-vpc 249a55c link false /test e2e-gcp-ovn-byo-vpc

Full PR test history. Your PR dashboard.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant