Repository navigation
Install AWS CLI v2 in rust-ci instead of Ubuntu's v1 - #37
Conversation
Co-authored-by: Medulla <medulla@tinyhumans.ai>
Tiny Sweeper reviewReviewed head: Verdict: Ready for maintainer review · Priority: none Diagnostics and supporting detailsFull summaryPull request purpose (title): Install AWS CLI v2 in rust-ci instead of Ubuntu's v1. The PR replaces Ubuntu 22.04's AWS CLI v1 (`awscli`, 1.22) in the `rust-ci` image with a pinned, digest-verified AWS CLI v2 install, because v1's `aws eks update-kubeconfig` writes a `client.authentication.k8s.io/v1alpha1` exec API that kubectl 1.24+ rejects, which blocked a production deploy. The latest-push-delta section is unavailable, so no push-delta claims are made. Review snapshot
Completeness: Complete What changedThe Dockerfile drops `awscli` from the apt install list and adds an ARG-pinned AWS CLI v2 install from AWS's signed release zip, verifying the zip's SHA-256 and asserting the installed version matches the pinned one. `smoke.sh` adds a grep assertion that `aws --version` reports the v2 major version, and `README.md` documents AWS CLI v2 and the kubectl exec-API rationale. The build now fails if the digest or the pinned-version grep does not match, so the behavior change cannot land silently. Features
TestsNo supported feature-to-test mapping was produced. Test execution is not inferred. FindingsNo active actionable findings. Before mergeNone. Agent review detailscritique
security
tests
commits
description
Evidence and run details
|
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
Note Currently processing new changes in this PR. This may take a few minutes, please wait... ⚙️ Run configuration
📒 Files selected for processing: 3
✨ Finishing Touches
Comment |
Summary
rust-ciinstalls the AWS CLI from Ubuntu 22.04'sawsclipackage, which is v1 (1.22). Itsaws eks update-kubeconfigwrites a kubeconfig whose exec plugin usesclient.authentication.k8s.io/v1alpha1, an API kubectl removed in 1.24. A deploy job that runsazure/setup-kubectl(latest kubectl) and thenaws eks update-kubeconfigin this image fails at its firstkubectlcall:That's what stopped
tinyhumansai/chottu-core's production deploy (run 39746393882): the image was built and pushed, but the rollout step never reached the cluster. Staging uses the same image and would fail the same way.This replaces the apt package with AWS CLI v2, pinned like the image's other tools:
AWSCLI_VERSIONplus theAWSCLI_SHA256of AWS's release zip, checked withsha256sum -c. The install fails if the installed version isn't the pinned one.Changes
Dockerfile: dropawsclifrom apt, then install AWS CLI2.37.10(released 2026-10-06) fromawscli.amazonaws.com.smoke.sh: fail ifawsis not v2, so a regression to the v1 package can't publish.README.md: name v2, and say why it matters.Verification
FB5DB77FD5C118B80511ADA8A6310ACC4672475C, the fingerprint AWS documents):Good signature from "AWS CLI Team <aws-cli@amazon.com>".ubuntu:22.04(linux/amd64) container:aws-cli/2.37.10 Python/3.14.6 … exe/x86_64.ubuntu.22, and the smoke check passed.smoke.shrun in its CI.After merge
chottu-corepins this image by digest in.github/rust-ci-image, and EX63 boots it as the VM rootfs. Once the new image is published, the runner host'sCI_IMAGEmust be updated and its rootfs rebuilt before thechottu-corerepin merges (per that repo's rules). Until then, chottu-core deploys can't reach the cluster.Summary by CodeRabbit