Sync upstream (335edee3) — needs conflict resolution - #79
cloud-api-adaptor-upstream-sync[bot] wants to merge 220 commits into
Conversation
Move the cluster provisioning to BYOM to remove the dependency on the deprecated Docker provider. Signed-off-by: Amulyam24 <amulmek1@in.ibm.com>
This commit adds extensive unit test coverage for the libvirt cloud provider, while preserving all existing tests from the main branch. New unit tests added (using mocks): - TestGetGuestForArchType (6 subtests) - TestLookupMachine (5 subtests) - TestGetCanonicalMachineName (7 subtests) - TestCreateCloudInitISO (3 subtests) - TestGetLaunchSecurityTypeInvalidURI - TestCreateDomainXMLs390xWithMocks (mock-based unit test) - TestCreateDomainXMLaarch64WithMocks (mock-based unit test) - TestCreateDomainXMLx86_64 (3 subtests) - TestCreateDomainXML (3 subtests) - TestVerifyDomainXMLIOMMU (4 subtests) - Combined TestCreateDomainXMLs390x and TestCreateDomainXMLaarch64 into TestCreateDomainXMLArchitectures - Combined TestCreateDomainXMLs390xWithMocks and TestCreateDomainXMLaarch64WithMocks into TestCreateDomainXMLArchitecturesWithMocks - Improves code maintainability and reduces duplication Signed-off-by: Chathurya Adapa <Adapa.Chathurya1@ibm.com> Assisted-by: IBM Bob <noreply@ibm.com>
- Refactor TestCloudInit to use verifyISOContents helper and tabular format - Combined TestCreateCloudInitWithEmptyData, TestCreateCloudInitWithLargeData, TestCreateCloudInitWithSpecialCharacters, and TestCreateCloudInitVerifyVendorData into TestCreateCloudInitVariations - Add TestCreateCloudInitErrorHandling for boundary condition testing - All tests now use verifyISOContents helper for consistent ISO validation - Improves code maintainability and reduces duplication Signed-off-by: Chathurya Adapa <Adapa.Chathurya1@ibm.com> Assisted-by: IBM Bob <noreply@ibm.com>
- Add tests for Manager.ParseCmd() flag registration - Add tests for Manager configuration with values - Add tests for Manager.LoadEnv() and GetConfig() - Add tests for Manager.NewProvider() with valid/invalid configs - Add tests for default constants validation - Add tests for launch security, firmware, and data directory configuration - Covers all Manager initialization and configuration scenarios Signed-off-by: Chathurya Adapa <Adapa.Chathurya1@ibm.com> Assisted-by: IBM Bob <noreply@ibm.com>
Bumps [github.com/containerd/containerd](https://github.com/containerd/containerd) from 1.7.29 to 1.7.32. - [Release notes](https://github.com/containerd/containerd/releases) - [Changelog](https://github.com/containerd/containerd/blob/main/RELEASES.md) - [Commits](containerd/containerd@v1.7.29...v1.7.32) --- updated-dependencies: - dependency-name: github.com/containerd/containerd dependency-version: 1.7.32 dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com>
Now that agent-ctl tags based on sha, we can switch to use the main kata-containers version, rather than having a separate one. Signed-off-by: stevenhorsman <steven@uk.ibm.com>
Bump components to match the kata 3.31.0 release Assisted-by: IBM Bob Signed-off-by: stevenhorsman <steven@uk.ibm.com>
Update to pick up the 3.31.0 release Assisted-by: IBM Bob Signed-off-by: stevenhorsman <steven@uk.ibm.com>
Pin kata-deploy to the 3.31.0 version in prep of the 0.21.0 release Assisted-by: IBM Bob Signed-off-by: stevenhorsman <steven@uk.ibm.com>
Bumps [zizmorcore/zizmor-action](https://github.com/zizmorcore/zizmor-action) from 0.5.3 to 0.5.6. - [Release notes](https://github.com/zizmorcore/zizmor-action/releases) - [Commits](zizmorcore/zizmor-action@b1d7e1f...5f14fd0) --- updated-dependencies: - dependency-name: zizmorcore/zizmor-action dependency-version: 0.5.6 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
Bump the go module to remediate CVEs: - GO-2026-5026 - GO-2026-4883 Signed-off-by: stevenhorsman <steven@uk.ibm.com>
Bump the go module to remediate CVEs: - GO-2026-5013 - GO-2026-5017 - GO-2026-5018 - GO-2026-5019 - GO-2026-5020 Signed-off-by: stevenhorsman <steven@uk.ibm.com>
Update the helm charts with the latest image of CAA Signed-off-by: stevenhorsman <steven@uk.ibm.com>
But the appVersion to 0.21 to match the release and bump the version in peer-pods, peerpod-ctrl and webhook Signed-off-by: stevenhorsman <steven@uk.ibm.com>
The `kubectl apply` of the cert-manager manifest occasionally fails with an etcd timeout: ``` Error from server: error when creating ".../cert-manager.yaml": etcdserver: request timed out. ``` The manifest creates a large batch of resources (6 CRDs, RBAC, deployments, webhook configs) in a single apply, and individual writes can occasionally exceed the API server's request timeout under transient cluster load. Wrap the apply in a retry loop (3 attempts, 10s backoff). `kubectl apply` is idempotent, so retrying after a partial failure simply creates the missing resources without disturbing the ones already applied. On the observed failing run, everything except (likely) the last webhook config got created, and the retry will fill in the gap. For `kubectl wait`, the Endpoints object isn't created by the cert-manager manifest directly. It's created by the kube-controller-manager's endpoints controller after the Service is created and once matching pods exist. Right after `kubectl apply` returns, there's a brief window where the Service exists but its Endpoints object hasn't been populated yet. The apply just finished, so `kubectl wait` raced ahead of the controller. Assisted-by: IBM Bob Signed-off-by: Hyounggyu Choi <Hyounggyu.Choi@ibm.com>
The podvm-ubuntu-mkosi job calls podvm_mkosi_ubuntu.yaml which requires artifact-metadata: write permission for the actions/attest@v4.1.0 action to write attestation metadata. Without this permission, the workflow fails with "The nested job 'build-image' is requesting 'artifact-metadata: write', but is only allowed 'artifact-metadata: none'." This matches the permission already granted to the podvm-mkosi job on line 84. Signed-off-by: stevenhorsman <steven@uk.ibm.com> Generated-By: IBM Bob Signed-off-by: stevenhorsman <steven@uk.ibm.com>
Also added MKOSI_VERSION environment variable to image build steps in both podvm_mkosi.yaml and podvm_mkosi_ubuntu.yaml workflows to ensure the mkosi version from versions.yaml is explicitly passed to make commands, maintaining consistency with the binaries build step. Signed-off-by: stevenhorsman <steven@uk.ibm.com> Generated-By: IBM Bob
The image target was calling mkosi with '--image system' argument which is not supported in mkosi v26, causing build failures with: "mkosi: error: argument verb: invalid Verb value: 'system'" This argument was a remnant from mkosi v22 that wasn't removed during the v26 upgrade. The image-debug and image-sftp targets were already correct, so this change aligns the image target with them. Fixes the s390x production image builds. Signed-off-by: stevenhorsman <steven@uk.ibm.com> Generated-By: IBM Bob
The cross-build script was failing on ARM64 native builds because it compared ARCH=arm64 with uname -m=aarch64, which didn't match, causing it to incorrectly attempt cross-compilation and fail with: "E: Unable to locate package qemu-system-aarch64" Added replacement pattern to handle this Co-authored-by: Magnus Kulke <magnuskulke@microsoft.com> Signed-off-by: stevenhorsman <steven@uk.ibm.com> Generated-By: IBM Bob
Implement IRSA support for the AWS provider to enable workload identity authentication on EKS, eliminating the need for static credentials stored in Kubernetes secrets. NewEC2Client now supports three authentication methods: 1. Static credentials (AWS_ACCESS_KEY_ID + AWS_SECRET_ACCESS_KEY) 2. Shared AWS profile (AWS_PROFILE, currently, only non-containerized CAA binary execution is supported) 3. Default credential chain (for IRSA support) The default credential chain automatically supports IRSA via AWS_WEB_IDENTITY_TOKEN_FILE and AWS_ROLE_ARN Entrypoint validation updated to accept either: - Both AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY (static credentials) - AWS_WEB_IDENTITY_TOKEN_FILE and AWS_ROLE_ARN (IRSA) Fixes: confidential-containers#3027 Signed-off-by: Snir Schreiber <ssheribe@redhat.com> Assisted-by: Claude AI
Add unit tests to verify the two authentication paths in NewEC2Client: 1. Static credentials (AWS_ACCESS_KEY_ID + AWS_SECRET_ACCESS_KEY) 2. Default credential chain (IRSA, IMDS, environment variables, etc.) Tests cover: - Static credentials path with both access key and secret key - Default credential chain path when no static credentials provided - Partial credentials (only access key) falls through to default chain Assisted-by: Claude AI Signed-off-by: Snir Schreiber <ssheribe@redhat.com>
Added comprehensive guide for configuring IRSA with cloud-api-adaptor and peerpod-ctrl on Amazon EKS. The guide covers: - IAM trust policy configuration - Kubernetes service account annotations - Deployment configuration examples - Troubleshooting steps Assisted-by: Claude AI Signed-off-by: Snir Schreiber <ssheribe@redhat.com>
It looks like when the arm "support" for podvm builds was added, it wasn't updated to use the native arm runner, so update this, for simpler workflows Signed-off-by: stevenhorsman <steven@uk.ibm.com>
In case we want to support cross-compilation in future e.g. for local dev, fix up the logic. The cross-build script was using architecture names directly as QEMU package names, but Debian/Ubuntu package names don't always match: - x86_64 → qemu-system-x86 (not qemu-system-x86_64) - aarch64 → qemu-system-arm (not qemu-system-aarch64) - s390x → qemu-system-s390x (matches) Added architecture-to-package mapping for Debian/Ubuntu systems to use correct package names. Package names verified against Ubuntu 24.04. Signed-off-by: stevenhorsman <steven@uk.ibm.com> Assisted-by: IBM Bob
As we are doing a 0.21.1 release, we should update the charts to match this version. Signed-off-by: stevenhorsman <steven@uk.ibm.com>
This reverts commit a1633eb. Signed-off-by: stevenhorsman <steven@uk.ibm.com>
This reverts commit 02bb592. Signed-off-by: stevenhorsman <steven@uk.ibm.com>
Update the CITATION.cff for the 0.21.1 release Signed-off-by: stevenhorsman <steven@uk.ibm.com>
debian:trixie-slim ships without CA certificates. The dev build got them transitively via openssh-client, but the release build only installed iptables, causing Go TLS verification to fail against ec2.<region>.amazonaws.com with x509: certificate signed by unknown authority. Signed-off-by: Pradipta Banerjee <pradipta.banerjee@gmail.com>
Bumps [actions/stale](https://github.com/actions/stale) from 10.2.0 to 10.3.0. - [Release notes](https://github.com/actions/stale/releases) - [Changelog](https://github.com/actions/stale/blob/main/CHANGELOG.md) - [Commits](actions/stale@b5d41d4...eb5cf3a) --- updated-dependencies: - dependency-name: actions/stale dependency-version: 10.3.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
The workflow is modelled after similar workflows for libvirt and AWS. Signed-off-by: Magnus Kulke <magnuskulke@microsoft.com>
Instead of running a costly gh action matrix, we specify the instance-size in the tests, so they can run on the same AKS cluster. Signed-off-by: Magnus Kulke <magnuskulke@microsoft.com>
Inlined the test into the azure test file, since it wasn't used elsewhere, also made it use both SNP and TDX. Signed-off-by: Magnus Kulke <magnuskulke@microsoft.com>
The current matching logic was flawed because it ignored the random strings. It was only exercised by a skipped test, so it went unnoticed, but we'll need it eventually. Signed-off-by: Magnus Kulke <magnuskulke@microsoft.com>
This change will run azure e2e test in the daily schedule or when triggered manually. Note: the e2e tests cannot be triggered by a label on a PR for security reasons, since the test suite requires privileges on an azure subscription. Signed-off-by: Magnus Kulke <magnuskulke@microsoft.com>
OIDC/STS temporary credentials include a security token that must be passed through to the ECS/VPC clients and Helm secrets for e2e CI. Signed-off-by: Xynnn007 <xynnn@linux.alibaba.com> Co-authored-by: Cursor <cursoragent@cursor.com>
Add VPC/OSS/ImportImage provisioning, Helm chart configuration, and e2e tests mirroring the AWS provider path for onprem clusters. Signed-off-by: Xynnn007 <xynnn@linux.alibaba.com> Co-authored-by: Cursor <cursoragent@cursor.com>
Wire OIDC-authenticated Alibaba e2e into PR label, daily, and run-all flows, with failure cleanup matching the AWS path. Signed-off-by: Xynnn007 <xynnn@linux.alibaba.com> Co-authored-by: Cursor <cursoragent@cursor.com>
uploadVolume, createVolume, deleteVolume, and deleteVolumeByPath had no context parameter, leaving the ctx argument to waitForSuccess undefined. This meant cancellation signals from the gRPC caller (e.g. kubelet deadline expiry) were never propagated — waitForSuccess would continue retrying libvirt pool refreshes for the full 5-minute waitTimeout even after the caller had given up. Thread context.Context from CreateDomain and DeleteDomain down through uploadIso → uploadVolume, createVolume, and deleteVolumeByPath → deleteVolume so that waitForSuccess can exit immediately on cancellation. The waitTimeout floor is retained as a safety net when no deadline is set. fixes: confidential-containers#3231 Signed-off-by: Chathurya Adapa <Adapa.Chathurya1@ibm.com> Assisted-by: IBM Bob noreply@ibm.com
Bumps the ibm-sdk group with 3 updates in the /src/cloud-api-adaptor directory: [github.com/IBM/go-sdk-core/v5](https://github.com/IBM/go-sdk-core), [github.com/IBM/vpc-go-sdk](https://github.com/IBM/vpc-go-sdk) and [github.com/IBM/ibm-cos-sdk-go](https://github.com/IBM/ibm-cos-sdk-go). Bumps the ibm-sdk group with 4 updates in the /src/cloud-providers directory: [github.com/IBM/go-sdk-core/v5](https://github.com/IBM/go-sdk-core), [github.com/IBM/vpc-go-sdk](https://github.com/IBM/vpc-go-sdk), [github.com/IBM-Cloud/power-go-client](https://github.com/IBM-Cloud/power-go-client) and [github.com/IBM/platform-services-go-sdk](https://github.com/IBM/platform-services-go-sdk). Updates `github.com/IBM/go-sdk-core/v5` from 5.21.4 to 5.23.2 - [Release notes](https://github.com/IBM/go-sdk-core/releases) - [Changelog](https://github.com/IBM/go-sdk-core/blob/main/CHANGELOG.md) - [Commits](IBM/go-sdk-core@v5.21.4...v5.23.2) Updates `github.com/IBM/vpc-go-sdk` from 0.85.0 to 0.88.0 - [Release notes](https://github.com/IBM/vpc-go-sdk/releases) - [Changelog](https://github.com/IBM/vpc-go-sdk/blob/master/CHANGELOG.md) - [Commits](IBM/vpc-go-sdk@v0.85.0...v0.88.0) Updates `github.com/IBM/ibm-cos-sdk-go` from 1.14.1 to 1.15.0 - [Release notes](https://github.com/IBM/ibm-cos-sdk-go/releases) - [Changelog](https://github.com/IBM/ibm-cos-sdk-go/blob/master/CHANGELOG.md) - [Commits](IBM/ibm-cos-sdk-go@v1.14.1...v1.15.0) Updates `github.com/IBM/go-sdk-core/v5` from 5.21.4 to 5.23.2 - [Release notes](https://github.com/IBM/go-sdk-core/releases) - [Changelog](https://github.com/IBM/go-sdk-core/blob/main/CHANGELOG.md) - [Commits](IBM/go-sdk-core@v5.21.4...v5.23.2) Updates `github.com/IBM/vpc-go-sdk` from 0.85.0 to 0.88.0 - [Release notes](https://github.com/IBM/vpc-go-sdk/releases) - [Changelog](https://github.com/IBM/vpc-go-sdk/blob/master/CHANGELOG.md) - [Commits](IBM/vpc-go-sdk@v0.85.0...v0.88.0) Updates `github.com/IBM/go-sdk-core/v5` from 5.21.4 to 5.23.2 - [Release notes](https://github.com/IBM/go-sdk-core/releases) - [Changelog](https://github.com/IBM/go-sdk-core/blob/main/CHANGELOG.md) - [Commits](IBM/go-sdk-core@v5.21.4...v5.23.2) Updates `github.com/IBM/vpc-go-sdk` from 0.85.0 to 0.88.0 - [Release notes](https://github.com/IBM/vpc-go-sdk/releases) - [Changelog](https://github.com/IBM/vpc-go-sdk/blob/master/CHANGELOG.md) - [Commits](IBM/vpc-go-sdk@v0.85.0...v0.88.0) Updates `github.com/IBM-Cloud/power-go-client` from 1.16.0 to 1.16.2 - [Release notes](https://github.com/IBM-Cloud/power-go-client/releases) - [Commits](IBM-Cloud/power-go-client@v1.16.0...v1.16.2) Updates `github.com/IBM/go-sdk-core/v5` from 5.21.4 to 5.23.2 - [Release notes](https://github.com/IBM/go-sdk-core/releases) - [Changelog](https://github.com/IBM/go-sdk-core/blob/main/CHANGELOG.md) - [Commits](IBM/go-sdk-core@v5.21.4...v5.23.2) Updates `github.com/IBM/platform-services-go-sdk` from 0.99.1 to 0.103.0 - [Release notes](https://github.com/IBM/platform-services-go-sdk/releases) - [Changelog](https://github.com/IBM/platform-services-go-sdk/blob/main/CHANGELOG.md) - [Commits](IBM/platform-services-go-sdk@v0.99.1...v0.103.0) Updates `github.com/IBM/vpc-go-sdk` from 0.85.0 to 0.88.0 - [Release notes](https://github.com/IBM/vpc-go-sdk/releases) - [Changelog](https://github.com/IBM/vpc-go-sdk/blob/master/CHANGELOG.md) - [Commits](IBM/vpc-go-sdk@v0.85.0...v0.88.0) --- updated-dependencies: - dependency-name: github.com/IBM-Cloud/power-go-client dependency-version: 1.16.2 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: ibm-sdk - dependency-name: github.com/IBM/go-sdk-core/v5 dependency-version: 5.23.2 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: ibm-sdk - dependency-name: github.com/IBM/go-sdk-core/v5 dependency-version: 5.23.2 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: ibm-sdk - dependency-name: github.com/IBM/go-sdk-core/v5 dependency-version: 5.23.2 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: ibm-sdk - dependency-name: github.com/IBM/go-sdk-core/v5 dependency-version: 5.23.2 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: ibm-sdk - dependency-name: github.com/IBM/ibm-cos-sdk-go dependency-version: 1.15.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: ibm-sdk - dependency-name: github.com/IBM/platform-services-go-sdk dependency-version: 0.102.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: ibm-sdk - dependency-name: github.com/IBM/vpc-go-sdk dependency-version: 0.88.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: ibm-sdk - dependency-name: github.com/IBM/vpc-go-sdk dependency-version: 0.88.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: ibm-sdk - dependency-name: github.com/IBM/vpc-go-sdk dependency-version: 0.88.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: ibm-sdk - dependency-name: github.com/IBM/vpc-go-sdk dependency-version: 0.88.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: ibm-sdk ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) from 4.1.0 to 4.2.0. - [Release notes](https://github.com/docker/setup-buildx-action/releases) - [Commits](docker/setup-buildx-action@d7f5e7f...bb05f3f) --- updated-dependencies: - dependency-name: docker/setup-buildx-action dependency-version: 4.2.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
…onfidential-containers#3251) * Fix flaky CreateContainer cancellation handling Co-authored-by: mkulke <273280+mkulke@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: mkulke <273280+mkulke@users.noreply.github.com>
Bumps [oras-project/setup-oras](https://github.com/oras-project/setup-oras) from 2.0.0 to 2.0.1. - [Release notes](https://github.com/oras-project/setup-oras/releases) - [Commits](oras-project/setup-oras@v2...1d808f7) --- updated-dependencies: - dependency-name: oras-project/setup-oras dependency-version: 2.0.1 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps the ibm-sdk group with 1 update in the /src/cloud-api-adaptor directory: [github.com/IBM/vpc-go-sdk](https://github.com/IBM/vpc-go-sdk). Bumps the ibm-sdk group with 1 update in the /src/cloud-providers directory: [github.com/IBM/vpc-go-sdk](https://github.com/IBM/vpc-go-sdk). Updates `github.com/IBM/vpc-go-sdk` from 0.88.0 to 0.89.0 - [Release notes](https://github.com/IBM/vpc-go-sdk/releases) - [Changelog](https://github.com/IBM/vpc-go-sdk/blob/master/CHANGELOG.md) - [Commits](IBM/vpc-go-sdk@v0.88.0...v0.89.0) Updates `github.com/IBM/vpc-go-sdk` from 0.88.0 to 0.89.0 - [Release notes](https://github.com/IBM/vpc-go-sdk/releases) - [Changelog](https://github.com/IBM/vpc-go-sdk/blob/master/CHANGELOG.md) - [Commits](IBM/vpc-go-sdk@v0.88.0...v0.89.0) --- updated-dependencies: - dependency-name: github.com/IBM/vpc-go-sdk dependency-version: 0.89.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: ibm-sdk - dependency-name: github.com/IBM/vpc-go-sdk dependency-version: 0.89.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: ibm-sdk ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps [ossf/scorecard-action](https://github.com/ossf/scorecard-action) from 2.4.3 to 2.4.4. - [Release notes](https://github.com/ossf/scorecard-action/releases) - [Changelog](https://github.com/ossf/scorecard-action/blob/main/RELEASE.md) - [Commits](ossf/scorecard-action@4eaacf0...2d11466) --- updated-dependencies: - dependency-name: ossf/scorecard-action dependency-version: 2.4.4 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps [zizmorcore/zizmor-action](https://github.com/zizmorcore/zizmor-action) from 0.6.0 to 0.6.2. - [Release notes](https://github.com/zizmorcore/zizmor-action/releases) - [Commits](zizmorcore/zizmor-action@6599ee8...3dc1ecc) --- updated-dependencies: - dependency-name: zizmorcore/zizmor-action dependency-version: 0.6.2 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
… updates Bumps the aws-sdk-go-v2 group with 6 updates in the /src/cloud-api-adaptor directory: | Package | From | To | | --- | --- | --- | | [github.com/aws/aws-sdk-go-v2](https://github.com/aws/aws-sdk-go-v2) | `1.42.0` | `1.43.6` | | [github.com/aws/aws-sdk-go-v2/config](https://github.com/aws/aws-sdk-go-v2) | `1.32.25` | `1.32.37` | | [github.com/aws/aws-sdk-go-v2/service/ec2](https://github.com/aws/aws-sdk-go-v2) | `1.308.0` | `1.321.2` | | [github.com/aws/aws-sdk-go-v2/service/eks](https://github.com/aws/aws-sdk-go-v2) | `1.87.0` | `1.91.1` | | [github.com/aws/aws-sdk-go-v2/service/iam](https://github.com/aws/aws-sdk-go-v2) | `1.54.5` | `1.59.1` | | [github.com/aws/aws-sdk-go-v2/service/s3](https://github.com/aws/aws-sdk-go-v2) | `1.104.0` | `1.107.2` | Bumps the aws-sdk-go-v2 group with 3 updates in the /src/cloud-providers directory: [github.com/aws/aws-sdk-go-v2](https://github.com/aws/aws-sdk-go-v2), [github.com/aws/aws-sdk-go-v2/config](https://github.com/aws/aws-sdk-go-v2) and [github.com/aws/aws-sdk-go-v2/service/ec2](https://github.com/aws/aws-sdk-go-v2). Updates `github.com/aws/aws-sdk-go-v2` from 1.42.0 to 1.43.6 - [Release notes](https://github.com/aws/aws-sdk-go-v2/releases) - [Commits](aws/aws-sdk-go-v2@v1.42.0...v1.43.6) Updates `github.com/aws/aws-sdk-go-v2/config` from 1.32.25 to 1.32.37 - [Release notes](https://github.com/aws/aws-sdk-go-v2/releases) - [Commits](aws/aws-sdk-go-v2@config/v1.32.25...config/v1.32.37) Updates `github.com/aws/aws-sdk-go-v2/service/ec2` from 1.308.0 to 1.321.2 - [Release notes](https://github.com/aws/aws-sdk-go-v2/releases) - [Commits](aws/aws-sdk-go-v2@service/ec2/v1.308.0...service/ec2/v1.321.2) Updates `github.com/aws/aws-sdk-go-v2/service/eks` from 1.87.0 to 1.91.1 - [Release notes](https://github.com/aws/aws-sdk-go-v2/releases) - [Commits](aws/aws-sdk-go-v2@service/s3/v1.87.0...service/s3/v1.91.1) Updates `github.com/aws/aws-sdk-go-v2/service/iam` from 1.54.5 to 1.59.1 - [Release notes](https://github.com/aws/aws-sdk-go-v2/releases) - [Commits](aws/aws-sdk-go-v2@service/ecs/v1.54.5...service/ssm/v1.59.1) Updates `github.com/aws/aws-sdk-go-v2/service/s3` from 1.104.0 to 1.107.2 - [Release notes](https://github.com/aws/aws-sdk-go-v2/releases) - [Commits](aws/aws-sdk-go-v2@service/s3/v1.104.0...service/s3/v1.107.2) Updates `github.com/aws/aws-sdk-go-v2` from 1.42.0 to 1.43.6 - [Release notes](https://github.com/aws/aws-sdk-go-v2/releases) - [Commits](aws/aws-sdk-go-v2@v1.42.0...v1.43.6) Updates `github.com/aws/aws-sdk-go-v2/config` from 1.32.25 to 1.32.37 - [Release notes](https://github.com/aws/aws-sdk-go-v2/releases) - [Commits](aws/aws-sdk-go-v2@config/v1.32.25...config/v1.32.37) Updates `github.com/aws/aws-sdk-go-v2/service/ec2` from 1.308.0 to 1.321.2 - [Release notes](https://github.com/aws/aws-sdk-go-v2/releases) - [Commits](aws/aws-sdk-go-v2@service/ec2/v1.308.0...service/ec2/v1.321.2) Updates `github.com/aws/aws-sdk-go-v2` from 1.42.0 to 1.43.6 - [Release notes](https://github.com/aws/aws-sdk-go-v2/releases) - [Commits](aws/aws-sdk-go-v2@v1.42.0...v1.43.6) Updates `github.com/aws/aws-sdk-go-v2/config` from 1.32.25 to 1.32.37 - [Release notes](https://github.com/aws/aws-sdk-go-v2/releases) - [Commits](aws/aws-sdk-go-v2@config/v1.32.25...config/v1.32.37) Updates `github.com/aws/aws-sdk-go-v2/service/ec2` from 1.308.0 to 1.321.2 - [Release notes](https://github.com/aws/aws-sdk-go-v2/releases) - [Commits](aws/aws-sdk-go-v2@service/ec2/v1.308.0...service/ec2/v1.321.2) Updates `github.com/aws/aws-sdk-go-v2` from 1.42.0 to 1.43.6 - [Release notes](https://github.com/aws/aws-sdk-go-v2/releases) - [Commits](aws/aws-sdk-go-v2@v1.42.0...v1.43.6) Updates `github.com/aws/aws-sdk-go-v2/config` from 1.32.25 to 1.32.37 - [Release notes](https://github.com/aws/aws-sdk-go-v2/releases) - [Commits](aws/aws-sdk-go-v2@config/v1.32.25...config/v1.32.37) Updates `github.com/aws/aws-sdk-go-v2/credentials` from 1.19.24 to 1.19.36 - [Release notes](https://github.com/aws/aws-sdk-go-v2/releases) - [Commits](aws/aws-sdk-go-v2@credentials/v1.19.24...credentials/v1.19.36) Updates `github.com/aws/aws-sdk-go-v2/feature/ec2/imds` from 1.18.29 to 1.18.37 - [Release notes](https://github.com/aws/aws-sdk-go-v2/releases) - [Commits](aws/aws-sdk-go-v2@config/v1.18.29...config/v1.18.37) Updates `github.com/aws/aws-sdk-go-v2/service/ec2` from 1.308.0 to 1.321.2 - [Release notes](https://github.com/aws/aws-sdk-go-v2/releases) - [Commits](aws/aws-sdk-go-v2@service/ec2/v1.308.0...service/ec2/v1.321.2) --- updated-dependencies: - dependency-name: github.com/aws/aws-sdk-go-v2 dependency-version: 1.42.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: aws-sdk-go-v2 - dependency-name: github.com/aws/aws-sdk-go-v2 dependency-version: 1.42.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: aws-sdk-go-v2 - dependency-name: github.com/aws/aws-sdk-go-v2 dependency-version: 1.42.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: aws-sdk-go-v2 - dependency-name: github.com/aws/aws-sdk-go-v2 dependency-version: 1.42.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: aws-sdk-go-v2 - dependency-name: github.com/aws/aws-sdk-go-v2/config dependency-version: 1.32.29 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: aws-sdk-go-v2 - dependency-name: github.com/aws/aws-sdk-go-v2/config dependency-version: 1.32.29 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: aws-sdk-go-v2 - dependency-name: github.com/aws/aws-sdk-go-v2/config dependency-version: 1.32.29 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: aws-sdk-go-v2 - dependency-name: github.com/aws/aws-sdk-go-v2/config dependency-version: 1.32.29 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: aws-sdk-go-v2 - dependency-name: github.com/aws/aws-sdk-go-v2/credentials dependency-version: 1.19.28 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: aws-sdk-go-v2 - dependency-name: github.com/aws/aws-sdk-go-v2/feature/ec2/imds dependency-version: 1.18.30 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: aws-sdk-go-v2 - dependency-name: github.com/aws/aws-sdk-go-v2/service/ec2 dependency-version: 1.316.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: aws-sdk-go-v2 - dependency-name: github.com/aws/aws-sdk-go-v2/service/ec2 dependency-version: 1.316.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: aws-sdk-go-v2 - dependency-name: github.com/aws/aws-sdk-go-v2/service/ec2 dependency-version: 1.316.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: aws-sdk-go-v2 - dependency-name: github.com/aws/aws-sdk-go-v2/service/ec2 dependency-version: 1.316.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: aws-sdk-go-v2 - dependency-name: github.com/aws/aws-sdk-go-v2/service/eks dependency-version: 1.89.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: aws-sdk-go-v2 - dependency-name: github.com/aws/aws-sdk-go-v2/service/iam dependency-version: 1.55.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: aws-sdk-go-v2 - dependency-name: github.com/aws/aws-sdk-go-v2/service/s3 dependency-version: 1.105.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: aws-sdk-go-v2 ... Signed-off-by: dependabot[bot] <support@github.com>
Now that golang 1.25 is not supported, we should bump to the latest 1.26 release Generated-By: IBM Bob Signed-off-by: stevenhorsman <steven@uk.ibm.com>
Bumps [aws-actions/configure-aws-credentials](https://github.com/aws-actions/configure-aws-credentials) from 6.2.2 to 6.2.3. - [Release notes](https://github.com/aws-actions/configure-aws-credentials/releases) - [Changelog](https://github.com/aws-actions/configure-aws-credentials/blob/main/CHANGELOG.md) - [Commits](aws-actions/configure-aws-credentials@517a711...e6de054) --- updated-dependencies: - dependency-name: aws-actions/configure-aws-credentials dependency-version: 6.2.3 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
Regenerate the provider yamls to align with the registered provider name - ibmcloud-powervs. Signed-off-by: Amulyam24 <amulmek1@in.ibm.com>
The provider name in generated chart files was set from the directory name rather than the name registered at runtime via AddCloudProvider(). Respect the registered name or fall back to the directory name if not found. Signed-off-by: Amulyam24 <amulmek1@in.ibm.com>
Add a git ls-files --others --exclude-standard check after the existing git diff to catch newly generated files that are not yet tracked. Signed-off-by: Amulyam24 <amulmek1@in.ibm.com>
Add validation for invalid format of instance types. Signed-off-by: Amulyam24 <amulmek1@in.ibm.com>
Allow configuring timeout of IP assignment from DHCP server instead of hard coding it to 750s Signed-off-by: Amulyam24 <amulmek1@in.ibm.com>
Update default sys-type to s1022 as s922 is being deprecated across different regions. Signed-off-by: Amulyam24 <amulmek1@in.ibm.com>
Add validation for required field - NetworkID, ServiceInstanceID and Zone. Also validate ProcessorType and SystemType against their allowed values. Signed-off-by: Amulyam24 <amulmek1@in.ibm.com>
The mount unit was deleted in b2ba085, remove the references to it in setup byom script and the Dockerfile. Signed-off-by: Amulyam24 <amulmek1@in.ibm.com>
Instead of defaulting to normal VMs, default to TrustedLaunch. When DisableCVM is false, the ConfidentialVM security profile with VMGuestStateOnly disk encryption is applied. For standard VM sizes, a TrustedLaunch security profile with Secure Boot and vTPM is used instead. This also simplifies the security profile logic: TrustedLaunch is always set as the baseline (with SecureBoot and vTPM), and only upgraded to ConfidentialVM when the size supports it and CVM is not disabled. Signed-off-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
- Add root user check to fail early - Add check for Subsytem sftp replace instead of append and prevent duplicate entries - Validate sshd config before restart - Clean /tmp/files and docker container to avoid error on re-run - Fix wrong $svc variable in agent-protocol-forwarder error path Signed-off-by: Amulyam24 <amulmek1@in.ibm.com>
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using default effort and found 5 potential issues.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 335edee. Configure here.
| LOCATION="${LOCATION}" | ||
| MANAGED_IDENTITY_NAME="${MANAGED_IDENTITY_NAME}" | ||
| RESOURCE_GROUP_NAME="${RESOURCE_GROUP_NAME}" | ||
| EOF |
There was a problem hiding this comment.
Azure e2e omits CAA image
High Severity
azure.properties never sets CAA_IMAGE, but the Azure provisioner only reads that image from the properties map. The job-level env var is ignored, so e2e deploys the default chart image instead of the CI-built adaptor and does not test the code under test.
Reviewed by Cursor Bugbot for commit 335edee. Configure here.
| id-token: write # Required to publish the attestation provenance to ghcr | ||
| attestations: write # Required to publish the attestation provenance to ghcr | ||
| artifact-metadata: write # Required by podvm_mkosi_ubuntu.yaml to write attestation metadata | ||
| tee-platform: az-cvm-vtpm |
There was a problem hiding this comment.
Azure image built from wrong ref
Medium Severity
podvm_mkosi_azure passes git_ref: ${{ github.sha }} instead of inputs.git_ref, unlike every other image job. A workflow_dispatch with a custom ref builds the Azure podvm from the caller SHA, so Azure e2e can run against the wrong commit.
Reviewed by Cursor Bugbot for commit 335edee. Configure here.
| id-token: write # Required to publish the attestation provenance to ghcr | ||
| attestations: write # Required to publish the attestation provenance to ghcr | ||
| artifact-metadata: write # Required by podvm_mkosi_ubuntu.yaml to write attestation metadata | ||
| tee-platform: az-cvm-vtpm |
There was a problem hiding this comment.
Azure image job always runs
Medium Severity
podvm_mkosi_azure has no if guard, while the Azure e2e job only runs on schedule or workflow_dispatch. Labeled PR e2e therefore always builds an unused Azure mkosi image, wasting a long runner and publishing a ci-pr* tag that is never consumed.
Reviewed by Cursor Bugbot for commit 335edee. Configure here.
| role-to-assume: ${{ secrets.ALIBABA_CLOUD_ROLE_ARN }} | ||
| oidc-provider-arn: ${{ secrets.ALIBABA_CLOUD_OIDC_PROVIDER_ARN }} | ||
| role-session-name: github-actions-caa-e2e | ||
| role-session-expiration: 3600 |
There was a problem hiding this comment.
Alibaba credentials expire mid-test
Medium Severity
The Alibaba OIDC session is set to 3600 seconds while TEST_E2E_TIMEOUT is 90m, and cluster setup runs before tests. Credentials can expire before teardown, leaving cloud resources behind even though TEST_TEARDOWN is enabled.
Additional Locations (1)
Reviewed by Cursor Bugbot for commit 335edee. Configure here.
| groups: | ||
| codeql: | ||
| patterns: | ||
| - "github/codeql-action*" |
There was a problem hiding this comment.
Dependabot targets removed module
Low Severity
Dependabot still lists src/csi-wrapper after that module was removed from the tree and from CI, docs, and lint. Update checks for that directory will fail or be skipped on every Dependabot run.
Reviewed by Cursor Bugbot for commit 335edee. Configure here.


Upstream sync — manual merge needed
Upstream has new commits to merge into
cohere, but there are conflicts.Upstream HEAD:
335edee3How to resolve
The sync branch already contains the upstream commits (it points at
origin/main). To make it mergeable intocohere,merge cohere into the sync branch and resolve conflicts there:
Your IDE will show the native merge conflict UI with accept-theirs /
accept-ours / accept-both options for each conflict. Once the push
succeeds, the PR will become mergeable.
Review checklist
Note
Medium Risk
Large CI and release-path changes can break e2e coverage or image publishing; Azure e2e and secret wiring are security-sensitive though Azure is restricted from untrusted PR runs.
Overview
This upstream sync restructures CI and PodVM build paths around a single
src/cloud-api-adaptor/podvmtree (replacingpodvm-mkosiin workflows and devcontainer docs) and narrows the e2e matrix to mkosi-based images.E2E orchestration (
e2e_run_all.yaml) drops the old Packer chain (podvm_builder/podvm_binaries/podvm), Ubuntu mkosi publish jobs, and the docker provider e2e workflow. It adds Alibaba Cloud e2e (label-gated, OIDC), wires Azure through a new callablee2e_azure.yaml(publish gallery image viasrc/cloud-api-adaptor/azure, provision AKS, run tests) limited to schedule/workflow_dispatch (not PR labels), and points AWS/libvirt/BYOM at mkosi qcow2 artifacts. BYOM e2e now builds podvm/BYOM images in-job when no prebuilt image is supplied.Removed workflows include standalone Azure e2e/podvm release pipelines (
azure-e2e-test,azure-podvm-image-build,azure-podvm-release), CSI wrapper image publish, duplicate Ubuntu smoketest, and csi-wrapper frombuild.yaml/ release / push-on-main. Release addspodvm_byom_binaries_publishand bumps CITATION.cff to v0.22.0.Cross-cutting updates: GitHub Actions pin bumps (checkout v7, setup-go v6.5, Docker/CodeQL/etc.),
allow-unsafe-pr-checkouton several callable builds, Dependabot CodeQL grouping, govulncheck ignore list for containerd CRI findings, removal of packer-check from the root Makefile/lint job, and doc/README edits de-emphasizing CSI wrapper.Reviewed by Cursor Bugbot for commit 335edee. Bugbot is set up for automated code reviews on this repo. Configure here.