-
Notifications
You must be signed in to change notification settings - Fork 255
Switch containers/[image,storage,common] to go.podman.io monorepo and update libhvee
dependency
#4954
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here.
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
WalkthroughThis PR migrates many imports from github.com/containers/* and github.com/containers/image/v5 to go.podman.io/*, vendors a new strongunits package, upgrades Go/toolchain and numerous dependencies, adds optional DVD support to libhvee VM config, adjusts TLS/tlsconfig behaviors, and applies assorted vendor fixes and API tweaks. Changes
Sequence Diagram(s)sequenceDiagram
autonumber
actor User
participant CRC as CRC CLI
participant LibHvee as libhvee
participant VM as VM Builder
User->>CRC: start VM
CRC->>LibHvee: NewVirtualMachine(hwConfig)
LibHvee->>VM: Add controller and drive(s)
alt DVDDiskPath provided
LibHvee->>VM: Add DVD drive and define DVD disk
else No DVDDiskPath
Note right of VM: DVD setup skipped
end
LibHvee->>VM: Finish/Complete
LibHvee-->>CRC: VM object / result
CRC-->>User: started / error
sequenceDiagram
autonumber
actor Caller
participant TLS as tlsconfig
participant Client as HTTP Client
Caller->>TLS: ClientDefault()
TLS-->>Caller: *tls.Config (with CipherSuites)
Caller->>Client: build transport with config
Client-->>Caller: transport ready
note over TLS,Client: Encrypted private keys (passphrase) path deprecated/unsupported
Estimated code review effort🎯 4 (Complex) | ⏱️ ~60 minutes Suggested labels
Poem
Pre-merge checks and finishing touches❌ Failed checks (2 warnings)
✅ Passed checks (1 passed)
✨ Finishing touches
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
🧹 Nitpick comments (2)
vendor/go.podman.io/image/v5/internal/useragent/useragent.go (1)
6-6
: User agent string still references old path.The
DefaultUserAgent
string includes"github.com/containers/image"
while the import now usesgo.podman.io/image/v5
. This is likely intentional for backward compatibility or branding, but worth noting since this is a vendored file and the decision is upstream's.vendor/github.com/containers/libhvee/pkg/hypervctl/vm.go (1)
433-458
: LGTM! Clean builder pattern with conditional DVD drive.The refactor correctly uses the builder pattern to conditionally add a DVD drive when
DVDDiskPath
is provided:
- The builder variable enables conditional modification while maintaining proper chain completion
- Using separate indices (0 for disk, 1 for DVD) prevents device conflicts
- Error handling is consistent with the existing pattern
The implementation aligns with the PR objective of enabling optional DVD drive support for scenarios like cloud-init.
Optional: Consider validating DVDDiskPath before use.
While the current implementation is consistent with how
DiskPath
is handled, you could add basic validation to fail fast with a clear error message if the DVD path doesn't exist:if config.DVDDiskPath != "" { if _, err := os.Stat(config.DVDDiskPath); err != nil { return fmt.Errorf("DVD disk path is invalid: %w", err) } // Add a DVD drive if the DVDDiskPath is set // This is useful for cloud-init or other bootable media builder = builder. AddSyntheticDvdDrive(1). DefineVirtualDvdDisk(config.DVDDiskPath). Finish(). // disk Finish() // drive }This is a low-priority suggestion since the Hyper-V API will likely return its own error for invalid paths, and the existing
DiskPath
doesn't perform this validation either.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
⛔ Files ignored due to path filters (1)
go.sum
is excluded by!**/*.sum
📒 Files selected for processing (107)
cmd/crc/cmd/start.go
(1 hunks)cmd/crc/cmd/status.go
(1 hunks)go.mod
(10 hunks)pkg/crc/api/api_client_test.go
(1 hunks)pkg/crc/api/client/types.go
(1 hunks)pkg/crc/api/handlers.go
(1 hunks)pkg/crc/cluster/cluster.go
(1 hunks)pkg/crc/config/settings_test.go
(1 hunks)pkg/crc/config/validations.go
(1 hunks)pkg/crc/constants/constants.go
(1 hunks)pkg/crc/image/image.go
(1 hunks)pkg/crc/machine/config/config.go
(1 hunks)pkg/crc/machine/driver.go
(1 hunks)pkg/crc/machine/start.go
(1 hunks)pkg/crc/machine/start_test.go
(1 hunks)pkg/crc/machine/status.go
(1 hunks)pkg/crc/machine/status_test.go
(1 hunks)pkg/crc/machine/types/types.go
(1 hunks)pkg/crc/validation/validation.go
(1 hunks)pkg/drivers/libhvee/libhvee_windows.go
(1 hunks)test/e2e/testsuite/testsuite.go
(1 hunks)vendor/github.com/containers/libhvee/pkg/hypervctl/vhd.go
(1 hunks)vendor/github.com/containers/libhvee/pkg/hypervctl/vm.go
(2 hunks)vendor/github.com/containers/libhvee/pkg/hypervctl/vm_config.go
(1 hunks)vendor/github.com/containers/libhvee/pkg/wmiext/array.go
(2 hunks)vendor/github.com/containers/libhvee/pkg/wmiext/conversion.go
(2 hunks)vendor/github.com/docker/go-connections/tlsconfig/config.go
(7 hunks)vendor/github.com/docker/go-connections/tlsconfig/config_client_ciphers.go
(0 hunks)vendor/github.com/google/pprof/profile/merge.go
(2 hunks)vendor/github.com/google/pprof/profile/profile.go
(3 hunks)vendor/github.com/google/pprof/profile/prune.go
(2 hunks)vendor/github.com/mattn/go-sqlite3/README.md
(1 hunks)vendor/github.com/mattn/go-sqlite3/sqlite3-binding.h
(71 hunks)vendor/github.com/mattn/go-sqlite3/sqlite3_opt_userauth.go
(10 hunks)vendor/github.com/mattn/go-sqlite3/sqlite3ext.h
(2 hunks)vendor/github.com/proglottis/gpgme/gpgme.go
(1 hunks)vendor/go.podman.io/common/LICENSE
(1 hunks)vendor/go.podman.io/common/pkg/strongunits/config.go
(1 hunks)vendor/go.podman.io/image/v5/copy/blob.go
(1 hunks)vendor/go.podman.io/image/v5/copy/compression.go
(1 hunks)vendor/go.podman.io/image/v5/copy/copy.go
(1 hunks)vendor/go.podman.io/image/v5/copy/encryption.go
(1 hunks)vendor/go.podman.io/image/v5/copy/manifest.go
(1 hunks)vendor/go.podman.io/image/v5/copy/multiple.go
(1 hunks)vendor/go.podman.io/image/v5/copy/progress_bars.go
(1 hunks)vendor/go.podman.io/image/v5/copy/progress_channel.go
(1 hunks)vendor/go.podman.io/image/v5/copy/sign.go
(1 hunks)vendor/go.podman.io/image/v5/copy/single.go
(1 hunks)vendor/go.podman.io/image/v5/directory/directory_dest.go
(1 hunks)vendor/go.podman.io/image/v5/directory/directory_src.go
(1 hunks)vendor/go.podman.io/image/v5/directory/directory_transport.go
(1 hunks)vendor/go.podman.io/image/v5/directory/explicitfilepath/path.go
(1 hunks)vendor/go.podman.io/image/v5/docker/cache.go
(1 hunks)vendor/go.podman.io/image/v5/docker/docker_client.go
(2 hunks)vendor/go.podman.io/image/v5/docker/docker_image.go
(1 hunks)vendor/go.podman.io/image/v5/docker/docker_image_dest.go
(1 hunks)vendor/go.podman.io/image/v5/docker/docker_image_src.go
(1 hunks)vendor/go.podman.io/image/v5/docker/docker_transport.go
(1 hunks)vendor/go.podman.io/image/v5/docker/policyconfiguration/naming.go
(1 hunks)vendor/go.podman.io/image/v5/docker/reference/regexp.go
(1 hunks)vendor/go.podman.io/image/v5/docker/registries_d.go
(1 hunks)vendor/go.podman.io/image/v5/internal/blobinfocache/blobinfocache.go
(1 hunks)vendor/go.podman.io/image/v5/internal/blobinfocache/types.go
(1 hunks)vendor/go.podman.io/image/v5/internal/image/docker_list.go
(1 hunks)vendor/go.podman.io/image/v5/internal/image/docker_schema1.go
(3 hunks)vendor/go.podman.io/image/v5/internal/image/docker_schema2.go
(1 hunks)vendor/go.podman.io/image/v5/internal/image/manifest.go
(1 hunks)vendor/go.podman.io/image/v5/internal/image/memory.go
(1 hunks)vendor/go.podman.io/image/v5/internal/image/oci.go
(1 hunks)vendor/go.podman.io/image/v5/internal/image/oci_index.go
(1 hunks)vendor/go.podman.io/image/v5/internal/image/sourced.go
(1 hunks)vendor/go.podman.io/image/v5/internal/image/unparsed.go
(1 hunks)vendor/go.podman.io/image/v5/internal/imagedestination/impl/compat.go
(1 hunks)vendor/go.podman.io/image/v5/internal/imagedestination/impl/helpers.go
(1 hunks)vendor/go.podman.io/image/v5/internal/imagedestination/impl/properties.go
(1 hunks)vendor/go.podman.io/image/v5/internal/imagedestination/stubs/put_blob_partial.go
(1 hunks)vendor/go.podman.io/image/v5/internal/imagedestination/stubs/signatures.go
(1 hunks)vendor/go.podman.io/image/v5/internal/imagedestination/wrapper.go
(1 hunks)vendor/go.podman.io/image/v5/internal/imagesource/impl/compat.go
(1 hunks)vendor/go.podman.io/image/v5/internal/imagesource/impl/layer_infos.go
(1 hunks)vendor/go.podman.io/image/v5/internal/imagesource/impl/signatures.go
(1 hunks)vendor/go.podman.io/image/v5/internal/imagesource/stubs/get_blob_at.go
(1 hunks)vendor/go.podman.io/image/v5/internal/imagesource/wrapper.go
(1 hunks)vendor/go.podman.io/image/v5/internal/manifest/docker_schema2_list.go
(1 hunks)vendor/go.podman.io/image/v5/internal/manifest/list.go
(1 hunks)vendor/go.podman.io/image/v5/internal/manifest/manifest.go
(1 hunks)vendor/go.podman.io/image/v5/internal/manifest/oci_index.go
(1 hunks)vendor/go.podman.io/image/v5/internal/pkg/platform/platform_matcher.go
(1 hunks)vendor/go.podman.io/image/v5/internal/private/private.go
(1 hunks)vendor/go.podman.io/image/v5/internal/putblobdigest/put_blob_digest.go
(1 hunks)vendor/go.podman.io/image/v5/internal/signer/signer.go
(1 hunks)vendor/go.podman.io/image/v5/internal/streamdigest/stream_digest.go
(1 hunks)vendor/go.podman.io/image/v5/internal/tmpdir/tmpdir.go
(1 hunks)vendor/go.podman.io/image/v5/internal/unparsedimage/wrapper.go
(1 hunks)vendor/go.podman.io/image/v5/internal/useragent/useragent.go
(1 hunks)vendor/go.podman.io/image/v5/manifest/common.go
(1 hunks)vendor/go.podman.io/image/v5/manifest/docker_schema1.go
(1 hunks)vendor/go.podman.io/image/v5/manifest/docker_schema2.go
(1 hunks)vendor/go.podman.io/image/v5/manifest/docker_schema2_list.go
(1 hunks)vendor/go.podman.io/image/v5/manifest/list.go
(1 hunks)vendor/go.podman.io/image/v5/manifest/manifest.go
(1 hunks)vendor/go.podman.io/image/v5/manifest/oci.go
(1 hunks)vendor/go.podman.io/image/v5/manifest/oci_index.go
(1 hunks)vendor/go.podman.io/image/v5/pkg/blobinfocache/default.go
(1 hunks)vendor/go.podman.io/image/v5/pkg/blobinfocache/internal/prioritize/prioritize.go
(1 hunks)vendor/go.podman.io/image/v5/pkg/blobinfocache/memory/memory.go
(1 hunks)vendor/go.podman.io/image/v5/pkg/blobinfocache/none/none.go
(1 hunks)
⛔ Files not processed due to max files limit (61)
- vendor/go.podman.io/image/v5/pkg/blobinfocache/sqlite/sqlite.go
- vendor/go.podman.io/image/v5/pkg/compression/compression.go
- vendor/go.podman.io/image/v5/pkg/compression/types/types.go
- vendor/go.podman.io/image/v5/pkg/docker/config/config.go
- vendor/go.podman.io/image/v5/pkg/sysregistriesv2/shortnames.go
- vendor/go.podman.io/image/v5/pkg/sysregistriesv2/system_registries_v2.go
- vendor/go.podman.io/image/v5/signature/docker.go
- vendor/go.podman.io/image/v5/signature/fulcio_cert.go
- vendor/go.podman.io/image/v5/signature/internal/json.go
- vendor/go.podman.io/image/v5/signature/internal/sequoia/gosequoia.c
- vendor/go.podman.io/image/v5/signature/internal/sequoia/gosequoia.h
- vendor/go.podman.io/image/v5/signature/internal/sequoia/gosequoiafuncs.h
- vendor/go.podman.io/image/v5/signature/internal/sequoia/sequoia.go
- vendor/go.podman.io/image/v5/signature/internal/sequoia/sequoia.h
- vendor/go.podman.io/image/v5/signature/internal/sigstore_payload.go
- vendor/go.podman.io/image/v5/signature/mechanism.go
- vendor/go.podman.io/image/v5/signature/mechanism_gpgme.go
- vendor/go.podman.io/image/v5/signature/mechanism_gpgme_only.go
- vendor/go.podman.io/image/v5/signature/mechanism_openpgp.go
- vendor/go.podman.io/image/v5/signature/mechanism_sequoia.go
- vendor/go.podman.io/image/v5/signature/pki_cert.go
- vendor/go.podman.io/image/v5/signature/policy_config.go
- vendor/go.podman.io/image/v5/signature/policy_config_sigstore.go
- vendor/go.podman.io/image/v5/signature/policy_eval.go
- vendor/go.podman.io/image/v5/signature/policy_eval_baselayer.go
- vendor/go.podman.io/image/v5/signature/policy_eval_signedby.go
- vendor/go.podman.io/image/v5/signature/policy_eval_sigstore.go
- vendor/go.podman.io/image/v5/signature/policy_eval_simple.go
- vendor/go.podman.io/image/v5/signature/policy_reference_match.go
- vendor/go.podman.io/image/v5/signature/signer/signer.go
- vendor/go.podman.io/image/v5/signature/sigstore/internal/signer.go
- vendor/go.podman.io/image/v5/signature/sigstore/signer.go
- vendor/go.podman.io/image/v5/signature/simple.go
- vendor/go.podman.io/image/v5/signature/simplesigning/signer.go
- vendor/go.podman.io/image/v5/transports/stub.go
- vendor/go.podman.io/image/v5/transports/transports.go
- vendor/go.podman.io/image/v5/types/types.go
- vendor/go.podman.io/image/v5/version/version.go
- vendor/go.podman.io/storage/pkg/archive/archive.go
- vendor/go.podman.io/storage/pkg/archive/archive_linux.go
- vendor/go.podman.io/storage/pkg/archive/archive_unix.go
- vendor/go.podman.io/storage/pkg/archive/archive_windows.go
- vendor/go.podman.io/storage/pkg/archive/changes.go
- vendor/go.podman.io/storage/pkg/archive/changes_linux.go
- vendor/go.podman.io/storage/pkg/archive/changes_other.go
- vendor/go.podman.io/storage/pkg/archive/changes_unix.go
- vendor/go.podman.io/storage/pkg/archive/changes_windows.go
- vendor/go.podman.io/storage/pkg/archive/copy.go
- vendor/go.podman.io/storage/pkg/archive/diff.go
- vendor/go.podman.io/storage/pkg/archive/fflags_bsd.go
- vendor/go.podman.io/storage/pkg/chunked/compressor/compressor.go
- vendor/go.podman.io/storage/pkg/chunked/internal/minimal/compression.go
- vendor/go.podman.io/storage/pkg/chunked/toc/toc.go
- vendor/go.podman.io/storage/pkg/homedir/homedir_unix.go
- vendor/go.podman.io/storage/pkg/idtools/idtools.go
- vendor/go.podman.io/storage/pkg/idtools/idtools_unix.go
- vendor/go.podman.io/storage/pkg/idtools/usergroupadd_linux.go
- vendor/go.podman.io/storage/pkg/ioutils/temp_windows.go
- vendor/go.podman.io/storage/pkg/lockfile/lockfile.go
- vendor/go.podman.io/storage/pkg/lockfile/lockfile_unix.go
- vendor/go.podman.io/storage/pkg/pools/pools.go
💤 Files with no reviewable changes (1)
- vendor/github.com/docker/go-connections/tlsconfig/config_client_ciphers.go
🧰 Additional context used
🧬 Code graph analysis (3)
vendor/github.com/google/pprof/profile/merge.go (1)
vendor/github.com/google/pprof/profile/profile.go (2)
Sample
(75-98)Profile
(35-63)
vendor/github.com/containers/libhvee/pkg/wmiext/conversion.go (1)
vendor/github.com/go-ole/go-ole/variant.go (1)
NewVariant
(6-8)
vendor/github.com/containers/libhvee/pkg/hypervctl/vm.go (2)
vendor/github.com/containers/libhvee/pkg/hypervctl/drive_settings_builder.go (1)
NewDriveSettingsBuilder
(41-43)vendor/github.com/containers/libhvee/pkg/hypervctl/vhd_storage_settings.go (1)
VirtualHardDiskStorageSettings
(8-13)
🪛 ast-grep (0.39.5)
vendor/go.podman.io/image/v5/docker/docker_client.go
[warning] 229-236: MinVersionis missing from this TLS configuration. By default, TLS 1.2 is currently used as the minimum when acting as a client, and TLS 1.0 when acting as a server. General purpose web applications should default to TLS 1.3 with all other protocols disabled. Only where it is known that a web server must support legacy clients with unsupported an insecure browsers (such as Internet Explorer 10), it may be necessary to enable TLS 1.0 to provide support. Add
MinVersion: tls.VersionTLS13' to the TLS configuration to bump the minimum version to TLS 1.3.
Context: tls.Config{
// As of 2025-08, tlsconfig.ClientDefault() differs from Go 1.23 defaults only in CipherSuites;
// so, limit us to only using that value. If go-connections/tlsconfig changes its policy, we
// will want to consider that and make a decision whether to follow suit.
// There is some chance that eventually the Go default will be to require TLS 1.3, and that point
// we might want to drop the dependency on go-connections entirely.
CipherSuites: tlsconfig.ClientDefault().CipherSuites,
}
Note: [CWE-327]: Use of a Broken or Risky Cryptographic Algorithm [OWASP A03:2017]: Sensitive Data Exposure [OWASP A02:2021]: Cryptographic Failures [REFERENCES]
https://owasp.org/Top10/A02_2021-Cryptographic_Failures
(missing-ssl-minversion-go)
🪛 markdownlint-cli2 (0.18.1)
vendor/github.com/mattn/go-sqlite3/README.md
354-354: Emphasis style
Expected: underscore; Actual: asterisk
(MD049, emphasis-style)
354-354: Emphasis style
Expected: underscore; Actual: asterisk
(MD049, emphasis-style)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (18)
- GitHub Check: build (macOS-14, 1.24)
- GitHub Check: build (macOS-13, 1.24)
- GitHub Check: verify-devcontainer
- GitHub Check: Run OKD bundle with crc (1.24)
- GitHub Check: build-qe (linux, amd64)
- GitHub Check: build-qe (windows, amd64)
- GitHub Check: build-qe (darwin, arm64)
- GitHub Check: build-qe (linux, arm64)
- GitHub Check: build (windows-2022, 1.24)
- GitHub Check: build-qe (darwin, amd64)
- GitHub Check: Konflux kflux-prd-rh02 / crc-binary-on-pull-request
- GitHub Check: build (ubuntu-latest, 1.24)
- GitHub Check: build-installer (windows-2022, 1.24)
- GitHub Check: build (windows-2022, 1.24)
- GitHub Check: build (macOS-14, 1.24)
- GitHub Check: build (macOS-13, 1.24)
- GitHub Check: build (ubuntu-latest, 1.24)
- GitHub Check: build (ubuntu-22.04, 1.24)
🔇 Additional comments (128)
vendor/go.podman.io/image/v5/manifest/oci_index.go (1)
5-5
: Import migration looks correct.Switching to the go.podman.io path keeps the manifest wrapper aligned with the monorepo move and preserves existing behavior.
pkg/crc/image/image.go (1)
20-23
: Import path migration looks correct.The go.podman.io paths expose the same APIs, so this aligns with the monorepo switch without changing behavior.
vendor/go.podman.io/image/v5/internal/image/sourced.go (1)
9-9
: LGTM! Import path correctly updated for monorepo migration.The import path change from
github.com/containers/image/v5/types
togo.podman.io/image/v5/types
is correct and aligns with the PR's objective to migrate to the go.podman.io monorepo. This change resolves the strongunits type mismatch issue mentioned in the PR description while maintaining API compatibility.vendor/go.podman.io/image/v5/manifest/docker_schema2_list.go (1)
4-4
: LGTM! Import path migration is correct.The import path update from
github.com/containers/image/v5/internal/manifest
togo.podman.io/image/v5/internal/manifest
correctly reflects the monorepo migration described in the PR objectives. The relative package structure is preserved, and all type aliases and wrapper functions continue to work without modification.vendor/github.com/containers/libhvee/pkg/wmiext/array.go (2)
44-44
: LGTM: Appropriate linter suppression for Windows API interop.The
nolint:govet
directive is justified here. Converting the uintptr return value fromprocSafeArrayCreateVector.Call()
to*ole.SafeArray
requiresunsafe.Pointer
, which govet flags. This pattern is standard for Windows COM/OLE API calls in Go, and the code includes a NULL check before the conversion.
150-155
: LGTM: Improved readability with explicit conditional.The refactored implementation makes the intent clearer by explicitly returning
false
forVT_RECORD
andVT_VARIANT
types, thentrue
for all others. The logic is functionally identical to the previous version but more readable.vendor/go.podman.io/image/v5/internal/useragent/useragent.go (1)
3-3
: LGTM! Import path correctly updated to monorepo.The import path change from
github.com/containers/image/v5/version
togo.podman.io/image/v5/version
correctly implements the monorepo migration objective.vendor/go.podman.io/image/v5/internal/image/unparsed.go (1)
8-13
: LGTM – import path migration complete. No remaininggithub.com/containers/image/v5
imports invendor/
, andgo.mod
references the correctgo.podman.io
modules.vendor/github.com/containers/libhvee/pkg/hypervctl/vm_config.go (1)
104-106
: LGTM! Well-documented field addition.The new
DVDDiskPath
field is clearly documented and follows the existing struct field patterns. This addition enables optional DVD drive functionality for scenarios like cloud-init, which aligns with the PR objectives.vendor/github.com/containers/libhvee/pkg/hypervctl/vm.go (1)
221-221
: LGTM! More idiomatic string replacement.Using
strings.ReplaceAll
is the preferred way to replace all occurrences of a substring in Go, making the intent clearer than usingstrings.Replace
with-1
.vendor/github.com/proglottis/gpgme/gpgme.go (1)
880-884
: LGTM! Correctly implemented method addition.The new
Fingerprint()
method follows the established pattern in this file: it accesses the C fingerprint field, converts it to a Go string, and properly callsruntime.KeepAlive(k)
to prevent premature garbage collection. The implementation is consistent with other similar accessor methods likeIssuerSerial()
andChainID()
.vendor/github.com/mattn/go-sqlite3/sqlite3_opt_userauth.go (4)
48-50
: Public API now returns unsupported errors.All public authentication methods (
Authenticate
,AuthUserAdd
,AuthUserChange
,AuthUserDelete
) now immediately returnerrUserAuthNoLongerSupported
, andAuthEnabled
returnsfalse
. This correctly implements the deprecation of SQLite's user authentication extension.The implementation is consistent and aligns with the upstream removal of this feature as documented in the referenced GitHub issue #1341.
Also applies to: 73-75, 100-102, 130-132, 151-153
61-63
: Internal methods return error codes.The internal
authenticate*
andauthEnabled
functions now return appropriate error/disabled codes (1
for SQLITE_ERROR,0
for disabled) instead of performing actual authentication. This matches the expected behavior when the feature is no longer supported.Also applies to: 91-93, 121-123, 146-148, 164-166
1-168
: Document the SQLite user authentication deprecation.This vendor update reflects upstream go-sqlite3's removal of user authentication support. Since this is a breaking change in the vendored dependency:
- Verify that the
sqlite_userauth
build tag is not used in your project's build configuration- Consider documenting this breaking change in the PR description or release notes if this update is part of a release
- If user authentication was previously used, you'll need to implement an alternative authentication mechanism
Based on the PR objectives, this appears to be a side effect of broader dependency updates related to the go.podman.io monorepo migration. If SQLite user authentication is not used in the project, this change should be safe.
30-32
: Ensure no usage of deprecated sqlite_userauth functions
This update removes SQLite user authentication support and introduceserrUserAuthNoLongerSupported
. Our automated search found no calls toAuthenticate
,AuthUser*
, orAuthEnabled
, but please manually verify that no code relies on these methods before merging.vendor/go.podman.io/image/v5/internal/manifest/docker_schema2_list.go (1)
10-12
: LGTM: Import migration complete. No remaininggithub.com/containers/{image,storage,common}
imports in non-vendored code; legacy references in vendored comments are expected.vendor/go.podman.io/image/v5/internal/putblobdigest/put_blob_digest.go (1)
7-7
: LGTM: Import path correctly migrated to go.podman.io monorepo.The import path change from
github.com/containers/image/v5/types
togo.podman.io/image/v5/types
is correct and aligns with the PR's objective of migrating to the Podman monorepo structure. No functional changes were made.vendor/go.podman.io/image/v5/copy/progress_bars.go (1)
12-13
: LGTM: Import paths correctly migrated to go.podman.io monorepo.Both import path changes are correct:
go.podman.io/image/v5/internal/private
go.podman.io/image/v5/types
These align with the PR's objective of migrating to the Podman monorepo structure. No functional changes were made.
vendor/go.podman.io/image/v5/internal/image/memory.go (1)
7-7
: LGTM: Import path correctly migrated to go.podman.io monorepo.The import path change from
github.com/containers/image/v5/types
togo.podman.io/image/v5/types
is correct and consistent with the monorepo migration. No functional changes were made.vendor/go.podman.io/image/v5/docker/policyconfiguration/naming.go (1)
8-8
: LGTM: Import path correctly migrated to go.podman.io monorepo.The import path change from
github.com/containers/image/v5/docker/reference
togo.podman.io/image/v5/docker/reference
is correct and aligns with the monorepo migration. No functional changes were made.vendor/go.podman.io/image/v5/docker/cache.go (1)
4-5
: LGTM: Import paths correctly migrated to go.podman.io monorepo.Both import path changes are correct:
go.podman.io/image/v5/docker/reference
go.podman.io/image/v5/types
These align with the PR's objective of migrating to the Podman monorepo structure. No functional changes were made.
vendor/go.podman.io/image/v5/manifest/oci.go (1)
13-15
: LGTM: Import paths correctly migrated to go.podman.io monorepo.All three import path changes are correct:
go.podman.io/image/v5/internal/manifest
go.podman.io/image/v5/pkg/compression/types
go.podman.io/image/v5/types
These align with the PR's objective of migrating to the Podman monorepo structure. No functional changes were made.
vendor/go.podman.io/image/v5/docker/reference/regexp.go (1)
7-7
: LGTM: Import path correctly migrated to go.podman.io monorepo.The import path change from
github.com/containers/storage/pkg/regexp
togo.podman.io/storage/pkg/regexp
is correct. This extends the monorepo migration to the storage module, which aligns with the PR's objective of migrating containers/{image,storage,common} packages. No functional changes were made.vendor/go.podman.io/image/v5/internal/pkg/platform/platform_matcher.go (1)
29-29
: LGTM: Import path correctly migrated to go.podman.io monorepo.The import path change from
github.com/containers/image/v5/types
togo.podman.io/image/v5/types
is correct and consistent with the monorepo migration. No functional changes were made.vendor/go.podman.io/common/LICENSE (1)
1-201
: LGTM! Standard Apache 2.0 license.This is a standard Apache License, Version 2.0 text file added for the new go.podman.io/common vendor module.
vendor/go.podman.io/image/v5/internal/imagesource/impl/signatures.go (1)
7-7
: LGTM! Import path successfully migrated to monorepo.The import path has been correctly updated from
github.com/containers/image/v5/internal/signature
togo.podman.io/image/v5/internal/signature
, consistent with the PR's goal of switching to the Podman monorepo.vendor/go.podman.io/image/v5/internal/manifest/oci_index.go (1)
15-17
: LGTM! Import paths correctly updated to monorepo.All three import paths have been properly migrated from
github.com/containers/image/v5
togo.podman.io/image/v5
, maintaining consistency with the broader import path refactoring in this PR.vendor/go.podman.io/image/v5/internal/imagedestination/stubs/signatures.go (1)
8-8
: LGTM! Import path updated correctly.The import has been successfully migrated to
go.podman.io/image/v5/internal/signature
, consistent with the monorepo migration.vendor/go.podman.io/image/v5/internal/tmpdir/tmpdir.go (2)
7-7
: LGTM! Import path migrated correctly.The import has been updated to
go.podman.io/image/v5/types
.
12-12
: LGTM! Documentation updated to reflect new import path.The ldflags comment has been correctly updated to reference the new monorepo path:
go.podman.io/image/v5/internal/tmpdir.unixTempDirForBigFiles
.vendor/go.podman.io/image/v5/docker/docker_image.go (1)
14-17
: LGTM! All Docker image imports migrated to monorepo.All four import paths have been successfully updated from
github.com/containers/image/v5
togo.podman.io/image/v5
, maintaining consistency with the monorepo migration.vendor/github.com/google/pprof/profile/merge.go (2)
20-20
: LGTM! Added slices import for standard library usage.The
slices
package import is added to support the refactored zero-sample check below.
82-86
: LGTM! Cleaner implementation using standard library.The code has been refactored to use
slices.ContainsFunc
instead of a manual loop, which is more idiomatic and maintains the same behavior: re-merging the profile if any zero samples are detected.vendor/go.podman.io/image/v5/docker/docker_client.go (2)
26-38
: LGTM! Import paths successfully migrated to monorepo.All import paths have been correctly updated from
github.com/containers/*
and related packages togo.podman.io/image/v5
andgo.podman.io/storage
, consistent with the PR's monorepo migration goals.
231-236
: Note static analysis finding on TLS configuration.The TLS configuration now explicitly sets
CipherSuites
fromtlsconfig.ClientDefault()
. The static analysis tool correctly identifies thatMinVersion
is not set, which means it will default to TLS 1.2 for clients.Since this is vendor code from upstream
go.podman.io/image/v5
, and the comment indicates the developers are aware of TLS version considerations, this is acceptable for this PR. If the missingMinVersion
is a concern for your security requirements, consider reporting it upstream to the go.podman.io maintainers.Based on static analysis hints.
vendor/github.com/containers/libhvee/pkg/wmiext/conversion.go (2)
350-350
: LGTM - naming improvement.The rename from
daySeconds
todayTime
better reflects that this constant represents atime.Duration
value rather than a raw integer count of seconds.Also applies to: 356-357
438-438
: LGTM - safe type inference.Using type inference (
var stamp = secs
) is safe here sincesecs
is alreadyuint64
fromparseUintChain
.vendor/github.com/google/pprof/profile/profile.go (2)
738-738
: LGTM - good simplification.Replacing the explicit loop with
slices.Contains
is more concise and idiomatic for Go 1.24+.
849-862
: Vendor modification: confirm Unsymbolizable behavior and update upstream
- Avoid editing
vendor/github.com/google/pprof/profile/profile.go
directly; propose this change upstream in google/pprof and re-vendor.- Verify that treating
m.File == ""
and all/memfd:
prefixes as unsymbolizable is intentional.- Add unit tests for these edge cases and a code comment explaining why they’re unsymbolizable.
vendor/github.com/google/pprof/profile/prune.go (1)
44-44
: LGTM - consistent modernization.Good use of
slices.Contains
consistent with the changes in profile.go.go.mod (4)
3-5
: LGTM - Go version updates.The Go version bump to 1.24.2 and toolchain to 1.24.6 align with using modern stdlib features like the
slices
package used in the pprof vendor updates.
57-58
: LGTM - Podman monorepo migration.The addition of
go.podman.io/common
andgo.podman.io/image/v5
modules correctly replaces the previouscontainers/*
imports, aligning with the PR objective to switch to the Podman monorepo.
95-97
: Verify dependency updates for breaking changes.Several dependencies have been updated to newer versions:
docker/docker
→ v28.4.0docker/go-connections
→ v0.6.0 (new dependency)google/go-containerregistry
→ v0.20.4google/pprof
→ latest snapshotmattn/go-sqlite3
→ v1.14.32- Security-related packages (gpgme, go-securesystemslib, fulcio)
google.golang.org/protobuf
→ v1.36.8While these appear to be minor/patch updates, please verify:
- The docker/go-connections v0.6.0 addition doesn't introduce new TLS or connection handling behavior that could affect registry operations.
- The protobuf v1.36.8 update maintains compatibility with the existing codebase.
Based on learnings: The retrieved context indicates these are standard dependency updates in the Podman ecosystem. The docker/go-connections update includes TLS-related changes, so extra testing of registry connectivity would be prudent.
Also applies to: 119-122, 140-140, 158-164, 189-192
17-17
: Verify strongunits import path migration in libhvee update
Confirm that [email protected] replaces all imports of "github.com/containers/common/pkg/strongunits" with "go.podman.io/common/pkg/strongunits".vendor/github.com/docker/go-connections/tlsconfig/config.go (1)
1-245
: LGTM! Vendor update aligns with security best practices.This vendor update removes support for password-protected private keys, which aligns with Go's deprecation of legacy PEM encryption (RFC 1423) due to its vulnerability to padding oracle attacks. The consolidation of cipher suite defaults and TLS configuration via
defaultConfig
improves consistency between client and server configurations.Key changes:
- Removed
Passphrase
field andIsErrEncryptedKey
function (breaking API change in vendor)- Encrypted keys now return
errEncryptedKeyDeprecated
with clear guidance- Shared
defaultCipherSuites
for both client and server- Centralized TLS config creation via
defaultConfig
pkg/crc/validation/validation.go (1)
12-12
: LGTM! Import path migration is correct.The import path update from
github.com/containers/common/pkg/strongunits
togo.podman.io/common/pkg/strongunits
aligns with the PR's objective to migrate to the Podman monorepo. No functional changes are introduced.vendor/github.com/containers/libhvee/pkg/hypervctl/vhd.go (1)
10-10
: LGTM! Vendor update reflects upstream libhvee changes.The import path update in the vendored libhvee package aligns with the PR's objective to update the libhvee dependency. This change resolves the mismatched strongunits types mentioned in the PR description.
pkg/drivers/libhvee/libhvee_windows.go (1)
15-15
: LGTM! Import path migration resolves compilation error.The import path update from
github.com/containers/common/pkg/strongunits
togo.podman.io/common/pkg/strongunits
fixes the compilation error mentioned in the PR description (mismatched types at Line 295). BothnewSize
andcurrentSize.ToBytes()
now use the samestrongunits.B
type from the unified module path.pkg/crc/machine/start_test.go (1)
10-10
: LGTM! Import path migration is correct.The import path update maintains test compatibility while migrating to the Podman monorepo. No test logic changes are introduced.
pkg/crc/config/validations.go (1)
8-8
: LGTM! Import path migration is correct.The import path update from
github.com/containers/common/pkg/strongunits
togo.podman.io/common/pkg/strongunits
is consistent with the repository-wide migration to the Podman monorepo. No functional changes are introduced.pkg/crc/api/handlers.go (1)
7-7
: LGTM! Import path migration is correct.The import path update maintains API compatibility while migrating to the Podman monorepo. The
strongunits.MiB
andstrongunits.GiB
usage ingetStartConfig
(Lines 126-127) remains functionally identical.vendor/go.podman.io/image/v5/manifest/list.go (1)
5-5
: LGTM!Import path correctly updated to use the go.podman.io monorepo structure.
cmd/crc/cmd/start.go (1)
13-13
: LGTM!Strongunits import correctly migrated to go.podman.io module path, resolving the type mismatch issue described in the PR.
vendor/go.podman.io/image/v5/internal/unparsedimage/wrapper.go (1)
6-8
: LGTM!Import paths consistently updated to go.podman.io/image/v5 module structure.
vendor/go.podman.io/image/v5/copy/manifest.go (1)
12-16
: LGTM!Import paths consistently migrated to go.podman.io/image/v5 module, preserving aliases.
pkg/crc/machine/status.go (1)
9-9
: LGTM!Strongunits import correctly updated to go.podman.io module path.
pkg/crc/api/api_client_test.go (1)
10-10
: LGTM!Strongunits import correctly updated in test file.
pkg/crc/constants/constants.go (1)
10-10
: LGTM!Strongunits import correctly migrated to go.podman.io module path.
pkg/crc/cluster/cluster.go (1)
18-18
: LGTM!Strongunits import correctly updated to go.podman.io module path, maintaining all existing functionality.
vendor/go.podman.io/image/v5/directory/directory_transport.go (1)
11-15
: LGTM! Import path migration is correct.The import paths have been successfully migrated from
github.com/containers/image/v5/...
togo.podman.io/image/v5/...
as intended by the PR. No functional changes introduced.vendor/go.podman.io/image/v5/internal/imagesource/wrapper.go (1)
7-10
: LGTM! Import path migration is correct.The import paths have been successfully migrated from
github.com/containers/image/v5/...
togo.podman.io/image/v5/...
as intended by the PR. No functional changes introduced.vendor/go.podman.io/image/v5/copy/copy.go (1)
15-28
: LGTM! Import path migration is correct.All import paths have been successfully migrated from
github.com/containers/image/v5/...
togo.podman.io/image/v5/...
across multiple subpackages. No functional changes introduced.test/e2e/testsuite/testsuite.go (1)
22-22
: LGTM! Import path migration resolves type mismatch.The import path has been successfully migrated from
github.com/containers/common/pkg/strongunits
togo.podman.io/common/pkg/strongunits
. This aligns with the PR objective and resolves the build error caused by mismatched strongunits types.pkg/crc/machine/status_test.go (1)
7-7
: LGTM! Import path migration is correct.The import path has been successfully migrated from
github.com/containers/common/pkg/strongunits
togo.podman.io/common/pkg/strongunits
, consistent with the monorepo migration.pkg/crc/machine/driver.go (1)
6-6
: LGTM! Import path migration is correct.The import path has been successfully migrated from
github.com/containers/common/pkg/strongunits
togo.podman.io/common/pkg/strongunits
, consistent with the monorepo migration.pkg/crc/machine/types/types.go (1)
8-8
: LGTM! Import path migration is correct.The import path has been successfully migrated from
github.com/containers/common/pkg/strongunits
togo.podman.io/common/pkg/strongunits
. All strongunits type usages (MiB, GiB, B) in the file remain unchanged and compatible.vendor/go.podman.io/image/v5/internal/blobinfocache/types.go (1)
5-6
: LGTM! Import path migration is correct.The import paths have been successfully migrated from
github.com/containers/image/v5/...
togo.podman.io/image/v5/...
as intended by the PR. No functional changes introduced.vendor/go.podman.io/image/v5/pkg/blobinfocache/memory/memory.go (1)
10-13
: LGTM! Import paths correctly migrated to go.podman.io monorepo.The import paths have been successfully updated from
github.com/containers/image/v5
togo.podman.io/image/v5
for internal dependencies. This aligns with the PR objective of migrating to the Podman monorepo structure.vendor/go.podman.io/image/v5/internal/manifest/list.go (1)
8-9
: LGTM! Import paths correctly migrated to go.podman.io monorepo.The compression types and image types imports have been properly updated to reference the Podman monorepo namespace.
vendor/go.podman.io/image/v5/pkg/blobinfocache/internal/prioritize/prioritize.go (1)
12-15
: LGTM! Import paths correctly migrated to go.podman.io monorepo.All four image-related imports have been successfully migrated to the Podman monorepo namespace, maintaining consistency with the broader migration effort.
vendor/go.podman.io/image/v5/internal/imagedestination/wrapper.go (1)
8-11
: LGTM! Import paths correctly migrated to go.podman.io monorepo.The imagedestination internal dependencies have been properly migrated to the Podman monorepo structure.
vendor/go.podman.io/image/v5/internal/image/manifest.go (1)
8-10
: LGTM! Import paths correctly migrated to go.podman.io monorepo.The docker reference, manifest, and types imports have been successfully updated to the Podman monorepo namespace.
vendor/go.podman.io/image/v5/internal/manifest/manifest.go (1)
10-10
: LGTM! Import path correctly migrated to go.podman.io monorepo.The compression types import has been properly updated to reference the Podman monorepo.
vendor/go.podman.io/image/v5/pkg/blobinfocache/none/none.go (1)
6-7
: LGTM! Import paths correctly migrated to go.podman.io monorepo.The blobinfocache internal and types imports have been successfully updated to the Podman monorepo namespace.
vendor/go.podman.io/image/v5/pkg/blobinfocache/default.go (1)
9-12
: LGTM! Import paths correctly migrated to go.podman.io monorepo.All four imports including rootless, memory cache, SQLite cache, and types have been properly migrated to the Podman monorepo namespace. The default cache behavior remains unchanged.
pkg/crc/machine/start.go (1)
14-14
: LGTM! Clean import path migration.The import path has been correctly updated from
github.com/containers/common/pkg/strongunits
togo.podman.io/common/pkg/strongunits
. The usage ofstrongunits.MiB(14336)
at line 44 remains unchanged, confirming backward compatibility.vendor/go.podman.io/image/v5/internal/image/docker_list.go (1)
7-8
: LGTM! Vendor file correctly updated.Import paths successfully migrated from
containers/image/v5/*
togo.podman.io/image/v5/*
. As a vendor file, this should be auto-generated bygo mod vendor
, which aligns with the module updates in go.mod.vendor/go.podman.io/image/v5/manifest/common.go (1)
7-8
: LGTM! Import aliases preserved correctly.The import paths have been updated to
go.podman.io/image/v5/*
while preserving the import aliases (compressiontypes
andtypes
), ensuring all references throughout the file remain valid.vendor/go.podman.io/image/v5/internal/imagedestination/impl/helpers.go (1)
4-5
: LGTM! Internal import paths correctly migrated.Import paths successfully updated to
go.podman.io/image/v5/internal/*
. The functionOriginalCandidateMatchesTryReusingBlobOptions
remains functionally unchanged.vendor/go.podman.io/image/v5/internal/image/docker_schema2.go (1)
16-20
: LGTM! Comprehensive import path migration.All image-related imports successfully migrated to the
go.podman.io/image/v5/*
module namespace. The function signatures and logic throughout the file remain unchanged, confirming a clean mechanical refactor.vendor/go.podman.io/image/v5/copy/encryption.go (1)
11-11
: LGTM! Targeted import update.The types import has been correctly updated to
go.podman.io/image/v5/types
while appropriately preserving other external dependencies likegithub.com/containers/ocicrypt
.vendor/go.podman.io/image/v5/internal/blobinfocache/blobinfocache.go (1)
5-5
: LGTM! Interface definitions preserved.The types import has been updated to
go.podman.io/image/v5/types
. All type references liketypes.BlobInfoCache
remain valid, preserving the interface definitions.pkg/crc/config/settings_test.go (1)
8-8
: LGTM – strongunits import updated correctly. Test logic is unchanged; failures arise from the missing GPGMe cgo dependency. Please verify tests pass in a CGO‐enabled environment (e.g. CGO_ENABLED=1).vendor/go.podman.io/image/v5/copy/blob.go (1)
10-12
: Import path migration looks good.Namespaces now align with the go.podman.io monorepo without touching logic.
vendor/go.podman.io/image/v5/directory/directory_dest.go (1)
14-20
: Directory transport imports updated correctly.The switch to go.podman.io modules keeps the build aligned with the new monorepo.
pkg/crc/machine/config/config.go (1)
5-5
: Strongunits import matches the podman monorepo.This resolves the cross-module type mismatch introduced by the upstream move.
vendor/go.podman.io/image/v5/internal/image/oci_index.go (1)
7-8
: Manifest/types import switch verified.The file now consistently targets go.podman.io/image/v5 packages; behavior unchanged.
cmd/crc/cmd/status.go (1)
14-14
: Status command now imports strongunits from go.podman.io.Keeps the CLI in sync with the module migration.
vendor/go.podman.io/image/v5/manifest/docker_schema2.go (1)
9-12
: LGTM! Import paths correctly migrated to monorepo.The import paths have been successfully updated from
github.com/containers/image/v5/*
togo.podman.io/image/v5/*
, aligning with the PR's objective to migrate to the Podman monorepo.vendor/go.podman.io/image/v5/copy/sign.go (1)
7-13
: LGTM! Import paths correctly migrated to monorepo.All signature-related imports have been successfully updated to use the Podman monorepo paths.
vendor/go.podman.io/image/v5/manifest/docker_schema1.go (1)
13-18
: LGTM! Import paths correctly migrated to monorepo.The imports have been updated to use both
go.podman.io/image/v5/*
andgo.podman.io/storage/*
paths, which is consistent with the broader monorepo migration.vendor/go.podman.io/image/v5/internal/image/oci.go (1)
13-18
: LGTM! Import paths correctly migrated to monorepo.The internal image handling imports have been successfully updated to use the Podman monorepo paths.
vendor/go.podman.io/image/v5/manifest/manifest.go (1)
9-10
: LGTM! Import paths correctly migrated to monorepo.The manifest package imports have been successfully updated to use the Podman monorepo paths.
vendor/go.podman.io/image/v5/internal/imagedestination/impl/compat.go (1)
8-11
: LGTM! Import paths correctly migrated to monorepo.The image destination compatibility layer imports have been successfully updated to use the Podman monorepo paths.
vendor/go.podman.io/image/v5/copy/single.go (1)
20-30
: LGTM! Import paths correctly migrated to monorepo.All copy-related imports have been successfully updated to use both
go.podman.io/image/v5/*
andgo.podman.io/storage/*
paths, which is consistent with the broader monorepo migration.vendor/go.podman.io/image/v5/internal/imagesource/impl/compat.go (1)
7-8
: LGTM! Import paths correctly migrated to monorepo.The image source compatibility layer imports have been successfully updated to use the Podman monorepo paths.
vendor/go.podman.io/image/v5/directory/directory_src.go (1)
10-15
: LGTM! Import path migration is correct.The import paths have been successfully updated from
github.com/containers/image/v5/*
togo.podman.io/image/v5/*
, consistent with the Podman monorepo migration objective.vendor/go.podman.io/image/v5/internal/private/private.go (1)
10-14
: LGTM! Import paths correctly migrated.All import paths have been updated to use
go.podman.io/image/v5/*
, maintaining compatibility with existing interface definitions.vendor/go.podman.io/image/v5/copy/compression.go (1)
11-16
: LGTM! Dual package migration is correct.Import paths have been successfully updated for both the image library (
go.podman.io/image/v5/*
) and the storage library (go.podman.io/storage/*
), consistent with the monorepo migration.vendor/go.podman.io/image/v5/internal/image/docker_schema1.go (2)
9-11
: LGTM! Import paths correctly updated.Import paths successfully migrated to
go.podman.io/image/v5/*
.
205-205
: Nice improvement: Using constants instead of hardcoded strings.Replacing hardcoded media type strings with
manifest.DockerV2Schema2LayerMediaType
andmanifest.DockerV2Schema2ConfigMediaType
constants improves maintainability and reduces the risk of typos.Also applies to: 220-220
vendor/go.podman.io/image/v5/copy/multiple.go (1)
16-21
: LGTM! Import migration is correct.All import paths successfully updated to
go.podman.io/image/v5/*
, with theinternalManifest
alias properly preserved.pkg/crc/api/client/types.go (1)
7-7
: LGTM! strongunits import correctly migrated.The import path has been updated to
go.podman.io/common/pkg/strongunits
, which resolves the type mismatch issue mentioned in the PR description (after the corresponding libhvee update).vendor/go.podman.io/image/v5/internal/imagesource/impl/layer_infos.go (1)
7-7
: LGTM—allgithub.com/containers/image/v5/types
imports have been replaced.vendor/github.com/mattn/go-sqlite3/sqlite3ext.h (2)
709-710
: LGTM!The macro definition correctly maps the public API function to the function pointer in the
sqlite3_api_routines
struct, following the established pattern for all SQLite extension APIs.
374-375
: LGTM – Verified thatsetlk_timeout
matches the SQLite 3.50.0 API signature (int sqlite3_setlk_timeout(sqlite3*,int ms,int flags)
).vendor/github.com/mattn/go-sqlite3/sqlite3-binding.h (22)
137-137
: Doc-only change.
150-152
: SQLite core bumped to 3.50.4 — verify downstream cgo/build flags compatibilityThe header now declares 3.50.4. Please confirm:
- the amalgamation source compiled by go-sqlite3 matches this header version, and
- any custom SQLite compile options (threading, mutex, extensions) are consistent.
This avoids ODR/symbol drift when linking statically vs. system lib.
1167-1172
: Doc-only addition: new file-control (BLOCK_ON_CONNECT) description.
1269-1269
: New file-control opcode SQLITE_FCNTL_BLOCK_ON_CONNECT (44)Looks good and sequential after 43. Please verify no internal usages assumed old opcode values and that any VFS hooks (if you have custom VFS) ignore unknown opcodes by returning SQLITE_NOTFOUND as required.
1988-2009
: Doc-only edits around SQLITE_CONFIG_LOOKASIDE.
2246-2290
: Doc-only edits around SQLITE_DBCONFIG_LOOKASIDE.
3026-3063
: New API sqlite3_setlk_timeout() and flag SQLITE_SETLK_BLOCK_ON_CONNECT
- Declaration is always present; behavior depends on SQLITE_ENABLE_SETLK_TIMEOUT and VFS support. If you plan to call this, guard usage (e.g., check sqlite3_compileoption_used("ENABLE_SETLK_TIMEOUT")) or tolerate SQLITE_OK no-op on builds without support.
- Ensure any WAL usage with connect-block semantics is deliberate when passing SQLITE_SETLK_BLOCK_ON_CONNECT.
No ABI concerns spotted; good addition.
4083-4094
: Doc-only tweak (create_filename param wording).
5180-5185
: Doc-only note.
5815-5832
: Doc-only: new SQLITE_SELFORDER1 flag docs.
11778-11778
: New flag SQLITE_CHANGESETSTART_INVERT (0x0002) for sqlite3changeset_start_v2Good to see parity with apply_v2’s INVERT flag. If any code inverted at start using the apply flag previously, switch to this START_INVERT for correctness and clarity.
6762-6775
: Doc-only (Win32 directory helpers).
6839-6868
: Doc-only.
9989-10004
: Doc-only (vtab config).
10101-10102
: Doc-only (vtab_nochange).
10136-10137
: Doc-only (vtab collation).
10230-10231
: Doc-only (vtab distinct).
10303-10304
: Doc-only (vtab IN constraints).
10350-10352
: Doc-only (vtab IN iterators).
10393-10394
: Doc-only (vtab rhs value).
10682-10701
: Doc-only (pre-update hook).
11752-11754
: Doc-only (API experimental note).
These go packages were migrated to a monorepo, as stated in the https://blog.podman.io/2025/08/migration-to-the-container-libs-monorepo-is-complete/. This commit updates the crc package to use these packages from new locations. It was generated using following commands: ``` $ find . -type f -name '*.go' -exec sed -i -e 's,"github.com/containers/image,"go.podman.io/image,g' {} \; $ find . -type f -name '*.go' -exec sed -i -e 's,"github.com/containers/common,"go.podman.io/common,g' {} \; $ find . -type f -name '*.go' -exec sed -i -e 's,"github.com/containers/storage,"go.podman.io/storage,g' {} \; $ goimports -v -w . $ git checkout vendor/ $ git checkout tools/vendor $ vi go.mod # to change the storage, image and common imports $ go mod tidy $ go mod vendor ``` Signed-off-by: Jan Kaluza <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
vendor/github.com/mattn/go-sqlite3/sqlite3-binding.h (1)
13709-13718
: Document the new FTS5 API version.The new
xColumnLocale
/xTokenize_v2
entries meanfts5_api.iVersion
is now at least 4, but the comment on Line 13713 still states “Currently always set to 3”. Extension authors rely on that comment to gate new functionality; leaving it stale will cause them to skip the new fields altogether. Please update the version note (and any related docs) to advertise the bumped version.
♻️ Duplicate comments (1)
vendor/go.podman.io/common/pkg/strongunits/config.go (1)
57-60
: Naming inconsistency already noted in previous review.The function
ToMib
(line 58) should beToMiB
to match the naming convention ofToKiB
(line 53) andToGiB
(line 63), and to align with theMiB
type name (line 12).Since this is a vendored file from the go.podman.io monorepo, this inconsistency should be addressed upstream in the Podman project rather than in this PR.
🧹 Nitpick comments (10)
vendor/github.com/mattn/go-sqlite3/README.md (1)
354-354
: Fix markdown emphasis style for consistency.The static analysis tool flags the emphasis style as inconsistent. Per MD049 rules, use underscores instead of asterisks for emphasis.
Apply this diff to align with markdown style conventions:
-***This is deprecated*** +___This is deprecated___vendor/github.com/mattn/go-sqlite3/sqlite3_opt_userauth.go (9)
30-33
: Make the unsupported state easy to detect and surface deprecation in docs.Consider exporting the sentinel and adding Deprecated: notices to the affected APIs for clearer
errors.Is
matching and godoc visibility.var ( - ErrUnauthorized = errors.New("SQLITE_AUTH: Unauthorized") - ErrAdminRequired = errors.New("SQLITE_AUTH: Unauthorized; Admin Privileges Required") - errUserAuthNoLongerSupported = errors.New("sqlite3: the sqlite_userauth tag is no longer supported as the userauth extension is no longer supported by the SQLite authors, see https://github.com/mattn/go-sqlite3/issues/1341") + ErrUnauthorized = errors.New("SQLITE_AUTH: Unauthorized") + ErrAdminRequired = errors.New("SQLITE_AUTH: Unauthorized; Admin Privileges Required") + // ErrUserAuthNoLongerSupported is returned when sqlite_userauth is enabled but unsupported. + ErrUserAuthNoLongerSupported = errors.New("sqlite3: the sqlite_userauth tag is no longer supported as the userauth extension is no longer supported by the SQLite authors, see https://github.com/mattn/go-sqlite3/issues/1341") )And update call sites below to return
ErrUserAuthNoLongerSupported
.
62-63
: Prefer named constants over magic numbers.Return SQLite error via named constant for readability.
-func (c *SQLiteConn) authenticate(username, password string) int { - return 1 +func (c *SQLiteConn) authenticate(username, password string) int { + return int(C.SQLITE_ERROR) }
74-75
: AuthUserAdd: unsupported error is fine; add Deprecated: to doc.Mark this API as deprecated to avoid misleading IDE/tooling hints.
92-93
: Prefer named constants over magic numbers.Use
int(C.SQLITE_ERROR)
instead of1
.-func (c *SQLiteConn) authUserAdd(username, password string, admin int) int { - return 1 +func (c *SQLiteConn) authUserAdd(username, password string, admin int) int { + return int(C.SQLITE_ERROR) }
101-102
: AuthUserChange: unsupported error is fine; add Deprecated: to doc.Same deprecation note suggestion as above.
122-123
: Prefer named constants over magic numbers.Use
int(C.SQLITE_ERROR)
.-func (c *SQLiteConn) authUserChange(username, password string, admin int) int { - return 1 +func (c *SQLiteConn) authUserChange(username, password string, admin int) int { + return int(C.SQLITE_ERROR) }
131-132
: AuthUserDelete: unsupported error is fine; add Deprecated: to doc.Keep behavior but surface deprecation in comments.
147-148
: Prefer named constants over magic numbers.Use
int(C.SQLITE_ERROR)
for clarity.-func (c *SQLiteConn) authUserDelete(username string) int { - return 1 +func (c *SQLiteConn) authUserDelete(username string) int { + return int(C.SQLITE_ERROR) }
152-153
: AuthEnabled always false: LGTM.Consistent with de-supported feature. Consider a
// Deprecated: always returns false.
doc note.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
⛔ Files ignored due to path filters (1)
go.sum
is excluded by!**/*.sum
📒 Files selected for processing (107)
cmd/crc/cmd/start.go
(1 hunks)cmd/crc/cmd/status.go
(1 hunks)go.mod
(10 hunks)pkg/crc/api/api_client_test.go
(1 hunks)pkg/crc/api/client/types.go
(1 hunks)pkg/crc/api/handlers.go
(1 hunks)pkg/crc/cluster/cluster.go
(1 hunks)pkg/crc/config/settings_test.go
(1 hunks)pkg/crc/config/validations.go
(1 hunks)pkg/crc/constants/constants.go
(1 hunks)pkg/crc/image/image.go
(1 hunks)pkg/crc/machine/config/config.go
(1 hunks)pkg/crc/machine/driver.go
(1 hunks)pkg/crc/machine/start.go
(1 hunks)pkg/crc/machine/start_test.go
(1 hunks)pkg/crc/machine/status.go
(1 hunks)pkg/crc/machine/status_test.go
(1 hunks)pkg/crc/machine/types/types.go
(1 hunks)pkg/crc/validation/validation.go
(1 hunks)pkg/drivers/libhvee/libhvee_windows.go
(1 hunks)test/e2e/testsuite/testsuite.go
(1 hunks)vendor/github.com/containers/libhvee/pkg/hypervctl/vhd.go
(1 hunks)vendor/github.com/containers/libhvee/pkg/hypervctl/vm.go
(2 hunks)vendor/github.com/containers/libhvee/pkg/hypervctl/vm_config.go
(1 hunks)vendor/github.com/containers/libhvee/pkg/wmiext/array.go
(2 hunks)vendor/github.com/containers/libhvee/pkg/wmiext/conversion.go
(2 hunks)vendor/github.com/docker/go-connections/tlsconfig/config.go
(7 hunks)vendor/github.com/docker/go-connections/tlsconfig/config_client_ciphers.go
(0 hunks)vendor/github.com/google/pprof/profile/merge.go
(2 hunks)vendor/github.com/google/pprof/profile/profile.go
(3 hunks)vendor/github.com/google/pprof/profile/prune.go
(2 hunks)vendor/github.com/mattn/go-sqlite3/README.md
(1 hunks)vendor/github.com/mattn/go-sqlite3/sqlite3-binding.h
(71 hunks)vendor/github.com/mattn/go-sqlite3/sqlite3_opt_userauth.go
(10 hunks)vendor/github.com/mattn/go-sqlite3/sqlite3ext.h
(2 hunks)vendor/github.com/proglottis/gpgme/gpgme.go
(1 hunks)vendor/go.podman.io/common/LICENSE
(1 hunks)vendor/go.podman.io/common/pkg/strongunits/config.go
(1 hunks)vendor/go.podman.io/image/v5/copy/blob.go
(1 hunks)vendor/go.podman.io/image/v5/copy/compression.go
(1 hunks)vendor/go.podman.io/image/v5/copy/copy.go
(1 hunks)vendor/go.podman.io/image/v5/copy/encryption.go
(1 hunks)vendor/go.podman.io/image/v5/copy/manifest.go
(1 hunks)vendor/go.podman.io/image/v5/copy/multiple.go
(1 hunks)vendor/go.podman.io/image/v5/copy/progress_bars.go
(1 hunks)vendor/go.podman.io/image/v5/copy/progress_channel.go
(1 hunks)vendor/go.podman.io/image/v5/copy/sign.go
(1 hunks)vendor/go.podman.io/image/v5/copy/single.go
(1 hunks)vendor/go.podman.io/image/v5/directory/directory_dest.go
(1 hunks)vendor/go.podman.io/image/v5/directory/directory_src.go
(1 hunks)vendor/go.podman.io/image/v5/directory/directory_transport.go
(1 hunks)vendor/go.podman.io/image/v5/directory/explicitfilepath/path.go
(1 hunks)vendor/go.podman.io/image/v5/docker/cache.go
(1 hunks)vendor/go.podman.io/image/v5/docker/docker_client.go
(2 hunks)vendor/go.podman.io/image/v5/docker/docker_image.go
(1 hunks)vendor/go.podman.io/image/v5/docker/docker_image_dest.go
(1 hunks)vendor/go.podman.io/image/v5/docker/docker_image_src.go
(1 hunks)vendor/go.podman.io/image/v5/docker/docker_transport.go
(1 hunks)vendor/go.podman.io/image/v5/docker/policyconfiguration/naming.go
(1 hunks)vendor/go.podman.io/image/v5/docker/reference/regexp.go
(1 hunks)vendor/go.podman.io/image/v5/docker/registries_d.go
(1 hunks)vendor/go.podman.io/image/v5/internal/blobinfocache/blobinfocache.go
(1 hunks)vendor/go.podman.io/image/v5/internal/blobinfocache/types.go
(1 hunks)vendor/go.podman.io/image/v5/internal/image/docker_list.go
(1 hunks)vendor/go.podman.io/image/v5/internal/image/docker_schema1.go
(3 hunks)vendor/go.podman.io/image/v5/internal/image/docker_schema2.go
(1 hunks)vendor/go.podman.io/image/v5/internal/image/manifest.go
(1 hunks)vendor/go.podman.io/image/v5/internal/image/memory.go
(1 hunks)vendor/go.podman.io/image/v5/internal/image/oci.go
(1 hunks)vendor/go.podman.io/image/v5/internal/image/oci_index.go
(1 hunks)vendor/go.podman.io/image/v5/internal/image/sourced.go
(1 hunks)vendor/go.podman.io/image/v5/internal/image/unparsed.go
(1 hunks)vendor/go.podman.io/image/v5/internal/imagedestination/impl/compat.go
(1 hunks)vendor/go.podman.io/image/v5/internal/imagedestination/impl/helpers.go
(1 hunks)vendor/go.podman.io/image/v5/internal/imagedestination/impl/properties.go
(1 hunks)vendor/go.podman.io/image/v5/internal/imagedestination/stubs/put_blob_partial.go
(1 hunks)vendor/go.podman.io/image/v5/internal/imagedestination/stubs/signatures.go
(1 hunks)vendor/go.podman.io/image/v5/internal/imagedestination/wrapper.go
(1 hunks)vendor/go.podman.io/image/v5/internal/imagesource/impl/compat.go
(1 hunks)vendor/go.podman.io/image/v5/internal/imagesource/impl/layer_infos.go
(1 hunks)vendor/go.podman.io/image/v5/internal/imagesource/impl/signatures.go
(1 hunks)vendor/go.podman.io/image/v5/internal/imagesource/stubs/get_blob_at.go
(1 hunks)vendor/go.podman.io/image/v5/internal/imagesource/wrapper.go
(1 hunks)vendor/go.podman.io/image/v5/internal/manifest/docker_schema2_list.go
(1 hunks)vendor/go.podman.io/image/v5/internal/manifest/list.go
(1 hunks)vendor/go.podman.io/image/v5/internal/manifest/manifest.go
(1 hunks)vendor/go.podman.io/image/v5/internal/manifest/oci_index.go
(1 hunks)vendor/go.podman.io/image/v5/internal/pkg/platform/platform_matcher.go
(1 hunks)vendor/go.podman.io/image/v5/internal/private/private.go
(1 hunks)vendor/go.podman.io/image/v5/internal/putblobdigest/put_blob_digest.go
(1 hunks)vendor/go.podman.io/image/v5/internal/signer/signer.go
(1 hunks)vendor/go.podman.io/image/v5/internal/streamdigest/stream_digest.go
(1 hunks)vendor/go.podman.io/image/v5/internal/tmpdir/tmpdir.go
(1 hunks)vendor/go.podman.io/image/v5/internal/unparsedimage/wrapper.go
(1 hunks)vendor/go.podman.io/image/v5/internal/useragent/useragent.go
(1 hunks)vendor/go.podman.io/image/v5/manifest/common.go
(1 hunks)vendor/go.podman.io/image/v5/manifest/docker_schema1.go
(1 hunks)vendor/go.podman.io/image/v5/manifest/docker_schema2.go
(1 hunks)vendor/go.podman.io/image/v5/manifest/docker_schema2_list.go
(1 hunks)vendor/go.podman.io/image/v5/manifest/list.go
(1 hunks)vendor/go.podman.io/image/v5/manifest/manifest.go
(1 hunks)vendor/go.podman.io/image/v5/manifest/oci.go
(1 hunks)vendor/go.podman.io/image/v5/manifest/oci_index.go
(1 hunks)vendor/go.podman.io/image/v5/pkg/blobinfocache/default.go
(1 hunks)vendor/go.podman.io/image/v5/pkg/blobinfocache/internal/prioritize/prioritize.go
(1 hunks)vendor/go.podman.io/image/v5/pkg/blobinfocache/memory/memory.go
(1 hunks)vendor/go.podman.io/image/v5/pkg/blobinfocache/none/none.go
(1 hunks)
⛔ Files not processed due to max files limit (61)
- vendor/go.podman.io/image/v5/pkg/blobinfocache/sqlite/sqlite.go
- vendor/go.podman.io/image/v5/pkg/compression/compression.go
- vendor/go.podman.io/image/v5/pkg/compression/types/types.go
- vendor/go.podman.io/image/v5/pkg/docker/config/config.go
- vendor/go.podman.io/image/v5/pkg/sysregistriesv2/shortnames.go
- vendor/go.podman.io/image/v5/pkg/sysregistriesv2/system_registries_v2.go
- vendor/go.podman.io/image/v5/signature/docker.go
- vendor/go.podman.io/image/v5/signature/fulcio_cert.go
- vendor/go.podman.io/image/v5/signature/internal/json.go
- vendor/go.podman.io/image/v5/signature/internal/sequoia/gosequoia.c
- vendor/go.podman.io/image/v5/signature/internal/sequoia/gosequoia.h
- vendor/go.podman.io/image/v5/signature/internal/sequoia/gosequoiafuncs.h
- vendor/go.podman.io/image/v5/signature/internal/sequoia/sequoia.go
- vendor/go.podman.io/image/v5/signature/internal/sequoia/sequoia.h
- vendor/go.podman.io/image/v5/signature/internal/sigstore_payload.go
- vendor/go.podman.io/image/v5/signature/mechanism.go
- vendor/go.podman.io/image/v5/signature/mechanism_gpgme.go
- vendor/go.podman.io/image/v5/signature/mechanism_gpgme_only.go
- vendor/go.podman.io/image/v5/signature/mechanism_openpgp.go
- vendor/go.podman.io/image/v5/signature/mechanism_sequoia.go
- vendor/go.podman.io/image/v5/signature/pki_cert.go
- vendor/go.podman.io/image/v5/signature/policy_config.go
- vendor/go.podman.io/image/v5/signature/policy_config_sigstore.go
- vendor/go.podman.io/image/v5/signature/policy_eval.go
- vendor/go.podman.io/image/v5/signature/policy_eval_baselayer.go
- vendor/go.podman.io/image/v5/signature/policy_eval_signedby.go
- vendor/go.podman.io/image/v5/signature/policy_eval_sigstore.go
- vendor/go.podman.io/image/v5/signature/policy_eval_simple.go
- vendor/go.podman.io/image/v5/signature/policy_reference_match.go
- vendor/go.podman.io/image/v5/signature/signer/signer.go
- vendor/go.podman.io/image/v5/signature/sigstore/internal/signer.go
- vendor/go.podman.io/image/v5/signature/sigstore/signer.go
- vendor/go.podman.io/image/v5/signature/simple.go
- vendor/go.podman.io/image/v5/signature/simplesigning/signer.go
- vendor/go.podman.io/image/v5/transports/stub.go
- vendor/go.podman.io/image/v5/transports/transports.go
- vendor/go.podman.io/image/v5/types/types.go
- vendor/go.podman.io/image/v5/version/version.go
- vendor/go.podman.io/storage/pkg/archive/archive.go
- vendor/go.podman.io/storage/pkg/archive/archive_linux.go
- vendor/go.podman.io/storage/pkg/archive/archive_unix.go
- vendor/go.podman.io/storage/pkg/archive/archive_windows.go
- vendor/go.podman.io/storage/pkg/archive/changes.go
- vendor/go.podman.io/storage/pkg/archive/changes_linux.go
- vendor/go.podman.io/storage/pkg/archive/changes_other.go
- vendor/go.podman.io/storage/pkg/archive/changes_unix.go
- vendor/go.podman.io/storage/pkg/archive/changes_windows.go
- vendor/go.podman.io/storage/pkg/archive/copy.go
- vendor/go.podman.io/storage/pkg/archive/diff.go
- vendor/go.podman.io/storage/pkg/archive/fflags_bsd.go
- vendor/go.podman.io/storage/pkg/chunked/compressor/compressor.go
- vendor/go.podman.io/storage/pkg/chunked/internal/minimal/compression.go
- vendor/go.podman.io/storage/pkg/chunked/toc/toc.go
- vendor/go.podman.io/storage/pkg/homedir/homedir_unix.go
- vendor/go.podman.io/storage/pkg/idtools/idtools.go
- vendor/go.podman.io/storage/pkg/idtools/idtools_unix.go
- vendor/go.podman.io/storage/pkg/idtools/usergroupadd_linux.go
- vendor/go.podman.io/storage/pkg/ioutils/temp_windows.go
- vendor/go.podman.io/storage/pkg/lockfile/lockfile.go
- vendor/go.podman.io/storage/pkg/lockfile/lockfile_unix.go
- vendor/go.podman.io/storage/pkg/pools/pools.go
💤 Files with no reviewable changes (1)
- vendor/github.com/docker/go-connections/tlsconfig/config_client_ciphers.go
✅ Files skipped from review due to trivial changes (4)
- vendor/go.podman.io/image/v5/internal/imagedestination/stubs/put_blob_partial.go
- pkg/crc/config/validations.go
- pkg/crc/machine/start_test.go
- vendor/go.podman.io/image/v5/internal/imagesource/impl/layer_infos.go
🚧 Files skipped from review as they are similar to previous changes (67)
- pkg/crc/api/handlers.go
- vendor/github.com/containers/libhvee/pkg/hypervctl/vm.go
- vendor/go.podman.io/image/v5/internal/imagesource/impl/compat.go
- pkg/crc/machine/types/types.go
- pkg/crc/api/api_client_test.go
- pkg/crc/machine/driver.go
- vendor/github.com/mattn/go-sqlite3/sqlite3ext.h
- vendor/go.podman.io/image/v5/internal/image/unparsed.go
- pkg/crc/machine/config/config.go
- vendor/go.podman.io/image/v5/manifest/docker_schema1.go
- vendor/go.podman.io/image/v5/internal/blobinfocache/blobinfocache.go
- pkg/crc/machine/status_test.go
- vendor/go.podman.io/image/v5/manifest/oci_index.go
- vendor/go.podman.io/image/v5/pkg/blobinfocache/none/none.go
- vendor/go.podman.io/image/v5/manifest/docker_schema2_list.go
- vendor/github.com/containers/libhvee/pkg/wmiext/array.go
- vendor/go.podman.io/image/v5/copy/progress_bars.go
- vendor/go.podman.io/image/v5/internal/manifest/manifest.go
- vendor/go.podman.io/image/v5/internal/signer/signer.go
- cmd/crc/cmd/status.go
- pkg/crc/constants/constants.go
- vendor/go.podman.io/image/v5/internal/imagedestination/wrapper.go
- vendor/go.podman.io/image/v5/internal/manifest/docker_schema2_list.go
- vendor/github.com/google/pprof/profile/profile.go
- vendor/go.podman.io/image/v5/internal/unparsedimage/wrapper.go
- pkg/drivers/libhvee/libhvee_windows.go
- vendor/go.podman.io/image/v5/manifest/docker_schema2.go
- vendor/go.podman.io/image/v5/docker/reference/regexp.go
- vendor/go.podman.io/image/v5/manifest/list.go
- vendor/go.podman.io/image/v5/internal/imagesource/wrapper.go
- vendor/go.podman.io/image/v5/copy/single.go
- vendor/github.com/containers/libhvee/pkg/wmiext/conversion.go
- pkg/crc/machine/start.go
- test/e2e/testsuite/testsuite.go
- vendor/github.com/containers/libhvee/pkg/hypervctl/vhd.go
- vendor/go.podman.io/image/v5/internal/image/sourced.go
- vendor/github.com/containers/libhvee/pkg/hypervctl/vm_config.go
- vendor/go.podman.io/image/v5/internal/image/docker_schema1.go
- vendor/go.podman.io/image/v5/internal/streamdigest/stream_digest.go
- pkg/crc/cluster/cluster.go
- vendor/go.podman.io/image/v5/internal/tmpdir/tmpdir.go
- pkg/crc/validation/validation.go
- vendor/go.podman.io/image/v5/internal/imagesource/stubs/get_blob_at.go
- vendor/go.podman.io/image/v5/internal/pkg/platform/platform_matcher.go
- vendor/go.podman.io/image/v5/pkg/blobinfocache/default.go
- vendor/github.com/google/pprof/profile/merge.go
- vendor/go.podman.io/image/v5/internal/useragent/useragent.go
- vendor/go.podman.io/image/v5/copy/encryption.go
- vendor/go.podman.io/image/v5/copy/copy.go
- pkg/crc/config/settings_test.go
- cmd/crc/cmd/start.go
- vendor/go.podman.io/image/v5/manifest/manifest.go
- vendor/go.podman.io/image/v5/docker/registries_d.go
- vendor/go.podman.io/image/v5/internal/imagesource/impl/signatures.go
- vendor/go.podman.io/image/v5/internal/imagedestination/impl/properties.go
- vendor/go.podman.io/image/v5/docker/policyconfiguration/naming.go
- pkg/crc/image/image.go
- vendor/go.podman.io/image/v5/manifest/common.go
- vendor/go.podman.io/image/v5/internal/image/oci_index.go
- vendor/go.podman.io/image/v5/copy/manifest.go
- vendor/go.podman.io/image/v5/internal/blobinfocache/types.go
- vendor/go.podman.io/image/v5/internal/image/oci.go
- vendor/go.podman.io/image/v5/pkg/blobinfocache/memory/memory.go
- vendor/go.podman.io/image/v5/copy/multiple.go
- vendor/go.podman.io/image/v5/internal/image/manifest.go
- vendor/go.podman.io/image/v5/internal/putblobdigest/put_blob_digest.go
- pkg/crc/machine/status.go
🧰 Additional context used
🪛 ast-grep (0.39.6)
vendor/go.podman.io/image/v5/docker/docker_client.go
[warning] 229-236: MinVersionis missing from this TLS configuration. By default, TLS 1.2 is currently used as the minimum when acting as a client, and TLS 1.0 when acting as a server. General purpose web applications should default to TLS 1.3 with all other protocols disabled. Only where it is known that a web server must support legacy clients with unsupported an insecure browsers (such as Internet Explorer 10), it may be necessary to enable TLS 1.0 to provide support. Add
MinVersion: tls.VersionTLS13' to the TLS configuration to bump the minimum version to TLS 1.3.
Context: tls.Config{
// As of 2025-08, tlsconfig.ClientDefault() differs from Go 1.23 defaults only in CipherSuites;
// so, limit us to only using that value. If go-connections/tlsconfig changes its policy, we
// will want to consider that and make a decision whether to follow suit.
// There is some chance that eventually the Go default will be to require TLS 1.3, and that point
// we might want to drop the dependency on go-connections entirely.
CipherSuites: tlsconfig.ClientDefault().CipherSuites,
}
Note: [CWE-327]: Use of a Broken or Risky Cryptographic Algorithm [OWASP A03:2017]: Sensitive Data Exposure [OWASP A02:2021]: Cryptographic Failures [REFERENCES]
https://owasp.org/Top10/A02_2021-Cryptographic_Failures
(missing-ssl-minversion-go)
🪛 markdownlint-cli2 (0.18.1)
vendor/github.com/mattn/go-sqlite3/README.md
354-354: Emphasis style
Expected: underscore; Actual: asterisk
(MD049, emphasis-style)
354-354: Emphasis style
Expected: underscore; Actual: asterisk
(MD049, emphasis-style)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
- GitHub Check: Konflux kflux-prd-rh02 / crc-binary-on-pull-request
🔇 Additional comments (39)
vendor/github.com/mattn/go-sqlite3/README.md (1)
352-356
: Clarify why a vendored file is being modified.Vendored files typically remain unchanged; modifications should be applied upstream in the original repository. This change adds a deprecation marker to the User Authentication section, but the PR objectives focus on migrating imports to the go.podman.io monorepo and updating libhvee, with no mention of go-sqlite3 documentation changes.
Please confirm whether this modification is intentional and how it relates to the stated PR objectives.
vendor/github.com/proglottis/gpgme/gpgme.go (1)
880-884
: LGTM! Well-implemented accessor method.The new
Fingerprint()
method correctly follows the established pattern for accessor methods in this file, properly converting the C field to a Go string and ensuring the Key remains alive during the operation. This provides helpful API consistency with the existingSubKey.Fingerprint()
method.vendor/go.podman.io/image/v5/internal/image/docker_schema2.go (1)
16-20
: LGTM! Import paths correctly migrated to the monorepo.The import paths have been successfully updated from
github.com/containers/image/v5
togo.podman.io/image/v5
, with all five imports consistently using the new monorepo path. No functional changes were made to the code logic, which is appropriate for this vendor dependency update.vendor/go.podman.io/image/v5/internal/imagedestination/impl/helpers.go (1)
4-5
: LGTM! Import paths correctly updated for monorepo migration.The import paths have been properly updated from
github.com/containers/image/v5
togo.podman.io/image/v5
, aligning with the PR's objective to migrate to the Podman monorepo. This vendor update ensures type consistency across the codebase.vendor/github.com/google/pprof/profile/prune.go (1)
22-22
: LGTM! Clean refactor from upstream.The addition of the
slices
import and the use ofslices.Contains
to replace the manual loop is a good improvement. This vendored update from google/pprof simplifies the code while maintaining identical semantics.Also applies to: 44-44
vendor/go.podman.io/image/v5/internal/imagedestination/stubs/signatures.go (1)
8-8
: LGTM! Import path correctly updated for monorepo migration.The import path change from
github.com/containers/image/v5/internal/signature
togo.podman.io/image/v5/internal/signature
is correct and aligns with the PR objectives. This vendored file reflects the upstream migration to the Podman monorepo, with no functional changes.vendor/go.podman.io/image/v5/directory/explicitfilepath/path.go (1)
8-8
: LGTM! Import path correctly migrated to monorepo.The import path change from
github.com/containers/storage/pkg/fileutils
togo.podman.io/storage/pkg/fileutils
is consistent with the PR's objective to migrate to the go.podman.io monorepo. Since this is a vendored dependency file and no code logic changed beyond the import, the API remains compatible.vendor/go.podman.io/image/v5/docker/docker_transport.go (1)
9-12
: LGTM! Import migration to monorepo is correct.The import paths have been correctly updated from
github.com/containers/image/v5/...
togo.podman.io/image/v5/...
as part of the vendored dependency update. All four imports are consistently using the new module path with the/v5
major version, and no logic changes are present in the file.vendor/go.podman.io/image/v5/pkg/blobinfocache/internal/prioritize/prioritize.go (1)
12-15
: LGTM! Import paths correctly updated for monorepo migration—migration is complete and consistent.The import changes from
github.com/containers/image/v5/*
togo.podman.io/image/v5/*
are correct. The verification confirms no old import paths remain in non-vendored code, indicating the migration is complete across the codebase.All four internal imports updated correctly:
internal/blobinfocache
internal/manifest
pkg/compression
types
External dependencies (opencontainers, logrus) correctly remain unchanged.
vendor/go.podman.io/image/v5/internal/private/private.go (1)
10-14
: Import paths correctly updated for monorepo migration.The vendored imports have been mechanically updated from
github.com/containers/image/v5
togo.podman.io/image/v5
. Verification confirms no lingering old import paths in the source code, and allgo.podman.io
imports (including the relocatedstrongunits
fromgo.podman.io/common/pkg/strongunits
) are active throughout the codebase, resolving the type mismatch mentioned in the PR.vendor/go.podman.io/image/v5/internal/image/docker_list.go (1)
7-8
: LGTM! Import paths correctly updated for monorepo migration.The import path changes from
github.com/containers/image/v5/*
togo.podman.io/image/v5/*
on lines 7-8 are correct and verified. The vendor directory has been properly regenerated with the newgo.podman.io/image/v5 v5.37.0
dependency, and no old import references remain in non-vendor code.vendor/go.podman.io/image/v5/manifest/oci.go (1)
13-15
: Import migration to go.podman.io verified, but strongunits type resolution claim is unverified.The import path updates from
github.com/containers/image/v5/*
togo.podman.io/image/v5/*
are correct and consistent. No references to old paths remain in non-vendor code, and the new imports are in use throughout the codebase.However,
strongunits.B
originates from separate dependencies (libhvee, vfkit), not the image package being migrated. Whether this PR actually resolves the libhvee v0.10.0 type mismatch requires build verification.Please confirm:
- Build succeeds with these changes
- The strongunits.B type mismatch error is resolved (verify compile/test output)
vendor/go.podman.io/image/v5/internal/imagedestination/impl/compat.go (1)
8-11
: Import path migration looks good.The import paths have been correctly updated from
github.com/containers/image/v5
togo.podman.io/image/v5
, consistent with the monorepo migration.vendor/go.podman.io/image/v5/internal/image/memory.go (1)
7-7
: LGTM.Import path correctly updated to the Podman monorepo module.
vendor/go.podman.io/image/v5/directory/directory_transport.go (1)
11-15
: LGTM.All import paths correctly migrated to
go.podman.io/image/v5
namespace.vendor/go.podman.io/image/v5/docker/cache.go (1)
4-5
: LGTM.Import paths properly updated for the monorepo migration.
vendor/go.podman.io/image/v5/internal/manifest/list.go (1)
8-9
: LGTM.Import paths correctly updated to Podman monorepo structure.
vendor/go.podman.io/image/v5/internal/manifest/oci_index.go (1)
15-17
: LGTM.Import path updates are consistent with the monorepo migration.
vendor/go.podman.io/image/v5/directory/directory_src.go (1)
10-15
: LGTM.All internal import paths correctly migrated to the Podman monorepo namespace.
vendor/go.podman.io/image/v5/docker/docker_client.go (2)
26-37
: LGTM.Import paths correctly updated to use the Podman monorepo modules.
230-237
: Note TLS MinVersion configuration.Static analysis correctly identifies that
MinVersion
is not set in the TLS config. The current Go default for clients is TLS 1.2, but TLS 1.3 is recommended. The inline comment acknowledges awareness of this issue and suggests it may be addressed when Go's defaults change.Since this is vendored code from
go.podman.io/image/v5
, any fix would need to come from upstream. The current configuration restricts onlyCipherSuites
per thetlsconfig.ClientDefault()
policy.As per static analysis hints
vendor/go.podman.io/common/LICENSE (1)
1-201
: LGTM: Standard Apache 2.0 license for new vendor dependency.This is the expected license file for the new go.podman.io/common module being vendored as part of the monorepo migration.
vendor/go.podman.io/image/v5/copy/compression.go (1)
11-16
: LGTM: Import path migration to Podman monorepo.These import path updates from
github.com/containers/image/v5/*
togo.podman.io/image/v5/*
are the expected mechanical changes for the monorepo migration. No logic changes.vendor/go.podman.io/image/v5/copy/blob.go (1)
10-12
: LGTM: Import path migration to Podman monorepo.Mechanical import path updates consistent with the broader monorepo migration.
go.mod (3)
3-5
: LGTM: Go toolchain version updates.Minor Go version bump to 1.24.2 with explicit toolchain 1.24.6. These updates are appropriate for dependency compatibility.
16-16
: LGTM: Critical libhvee update fixes strongunits type mismatch.This libhvee version update to
v0.10.1-0.20250902114412-a85aab2976a4
is essential to resolve the build failure mentioned in the PR description:invalid operation: newSize == currentSize.ToBytes() (mismatched types "go.podman.io/common/pkg/strongunits".B and "github.com/containers/common/pkg/strongunits".B)
The updated libhvee version includes the monorepo migration, ensuring type compatibility.
59-60
: LGTM: Podman monorepo modules added.The addition of
go.podman.io/common
andgo.podman.io/image/v5
modules completes the migration fromcontainers/*
to the Podman monorepo, as intended by this PR.vendor/github.com/docker/go-connections/tlsconfig/config.go (2)
42-50
: Verify: Consolidated default cipher suites.The
DefaultServerAcceptedCiphers
now references a new shareddefaultCipherSuites
variable. This consolidates cipher suite configuration between client and server. The cipher suite list itself appears unchanged, maintaining the same secure ciphers.
133-162
: No actionable concerns found—breaking change has no impact on this codebase.Verification confirms that the removed APIs (
Options.Passphrase
,IsErrEncryptedKey
) are not used anywhere in the codebase. The docker/go-connections library is only an indirect dependency, and the codebase does not directly use the tlsconfig package. Additionally, the only private key file in the repository (test/extended/util/rootCA.key) is unencrypted PKCS8 format, not the legacy encrypted PEM format being deprecated by the vendor library. The codebase uses its own TLS and SSH abstractions independent of the tlsconfig implementation.vendor/go.podman.io/image/v5/copy/progress_channel.go (1)
7-7
: LGTM: Import path migration to Podman monorepo.Mechanical import path update consistent with the monorepo migration.
vendor/go.podman.io/image/v5/copy/sign.go (1)
7-13
: LGTM: Import path migration to Podman monorepo.Mechanical import path updates for multiple image-related packages, consistent with the broader monorepo migration.
vendor/go.podman.io/image/v5/docker/docker_image_src.go (1)
22-32
: LGTM: Import path migration to Podman monorepo.Comprehensive import path updates from
github.com/containers/image/v5/*
andgithub.com/containers/storage/*
togo.podman.io/image/v5/*
andgo.podman.io/storage/*
respectively. These mechanical changes are consistent with the monorepo migration objectives.vendor/go.podman.io/image/v5/docker/docker_image_dest.go (1)
24-38
: LGTM! Import paths successfully migrated to go.podman.io monorepo.The import path updates from
containers/image/v5
togo.podman.io/image/v5
are consistent and complete. This vendored file correctly reflects the upstream monorepo migration.vendor/go.podman.io/image/v5/directory/directory_dest.go (1)
14-21
: LGTM! Import paths correctly updated.The migration from
containers/image/v5
andcontainers/storage
to theirgo.podman.io
equivalents is complete and consistent with the broader monorepo migration.vendor/go.podman.io/image/v5/docker/docker_image.go (1)
14-17
: LGTM! Imports correctly migrated.The import path updates are consistent with the monorepo migration across all image-related packages.
pkg/crc/api/client/types.go (1)
7-7
: LGTM! Import migration resolves the strongunits type mismatch.This import path update from
github.com/containers/common/pkg/strongunits
togo.podman.io/common/pkg/strongunits
is essential for resolving the build error mentioned in the PR description. The strongunits.B type usage in ClusterStatusResult (lines 27-32) remains compatible with the new import path.vendor/go.podman.io/common/pkg/strongunits/config.go (1)
1-65
: LGTM! New vendored strongunits package successfully integrated.This vendored file introduces the strongunits package under the new
go.podman.io/common
import path, which is necessary for the monorepo migration. The implementation provides proper type definitions and conversion utilities for storage units (B, KiB, MiB, GiB).vendor/github.com/mattn/go-sqlite3/sqlite3_opt_userauth.go (2)
165-166
: authEnabled returns 0 (disabled): LGTM.Matches documented return contract (0 disabled / 1 enabled).
49-50
: No project callers affected—change is safe.Verification confirms the project has no dependencies on the userauth functionality: no build tags enable
sqlite_userauth
, no code calls the userauth APIs, and no error sentinels are referenced. The behavior change to return a hard error is safe.
@redbeam: The following tests failed, say
Full PR test history. Your PR dashboard. 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. |
Follow-up of #4902, with the addition of an update of the
github.com/containers/libhvee
package.This is needed because after the migration, we were getting this error during build:
due to using v.0.10.0 of
libhvee
that doesn't contain the repo switch and is thus causing problems.Summary by CodeRabbit
New Features
Refactor
Chores
Documentation