-
Notifications
You must be signed in to change notification settings - Fork 10
chore(deps): update ubuntu docker tag to v26 #1021
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?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -41,7 +41,7 @@ ENV SQLX_OFFLINE=true | |
| RUN cargo build --release -p dwctl | ||
|
|
||
| # Runtime stage | ||
| FROM ubuntu:24.04 | ||
| FROM ubuntu:26.04 | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Non-blocking: Verify this base image upgrade works correctly before deploying to production. Why it matters: Ubuntu 26.04 LTS (Resolute Raccoon) was released on April 23, 2026 - only about a month ago. While it's an official LTS release with proper Docker Hub support, upgrading to such a recent base OS carries risks:
Suggested fix: Build the Docker image locally with this change and run the full test suite: docker build -t test-control-layer:ubuntu26 .
docker run --rm test-control-layer:ubuntu26 --help
# Run integration tests against the containerOnce verified working, this change can be safely merged. Consider adding a comment or documentation note about the Ubuntu version requirement for future maintainers. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Non-blocking: Ubuntu 26.04 LTS is only ~1 month old (released April 21, 2026). While it's now the official Why it matters: New LTS releases can have undiscovered bugs, package incompatibilities, or security issues that take time to surface. For a production AI gateway handling sensitive requests, stability should be prioritized over being on the cutting edge. The current runtime dependencies ( Suggested fix: Either:
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Blocking: This change will break the Docker build. Why it matters: In Ubuntu 26.04 (resolute), the Evidence from Ubuntu package database:
Suggested fix: Update line 50 to use RUN apt-get update && apt-get install -y \
ca-certificates \
curl \
libxml2-16 \
tzdata \
&& rm -rf /var/lib/apt/lists/*Alternatively, consider using a more stable base like There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Non-blocking: Base image updated to Ubuntu 26.04 LTS (Resolute Raccoon, released April 2026). Why it matters: This is a major version jump from 24.04 LTS. While Ubuntu 26.04 is a valid LTS release, any base image change should be validated to ensure:
The cargo-chef builder uses Debian slim ( Suggested fix: After building the image, run a quick smoke test: docker build -t control-layer:test .
docker run --rm control-layer:test --helpVerify the binary starts and can establish database connectivity. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Non-blocking: Base image update from ubuntu:24.04 to ubuntu:26.04. Why it matters: Ubuntu 26.04 LTS is a valid stable release (April 2026) with security support until 2031. However:
Suggested fix: Before merging:
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Non-blocking: Consider verifying that Ubuntu 26.04's support lifecycle matches your production requirements. Why it matters: Ubuntu follows an LTS (Long Term Support) release pattern where LTS versions (like 24.04) receive 5 years of security updates, while interim releases (like 26.04) typically receive only 9 months of support. Since this is a production container, you'll need to ensure timely upgrades to stay supported. According to Ubuntu's release policy, 26.04 "Plucky Puffin" is an interim release (April 2026), meaning it will reach end-of-life around January 2027. This requires either:
Suggested fix: If long-term stability is preferred over having the latest base image, consider pinning to There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Blocking: Upgrading to Ubuntu 26.04 LTS immediately after its GA release (April 2026) introduces unnecessary production risk without clear justification. Why it matters: Ubuntu 26.04 was released only ~2 months ago. New LTS releases often have early-adopter bugs that are addressed in the first point release (.1). The current base ( Suggested fix: Revert to There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Blocking: Ubuntu 26.04 ("Resolute") is a non-LTS interim release, not a Long Term Support release. Why it matters: Ubuntu LTS releases (like 24.04 Noble Numbat) receive 5 years of security updates and are designed for production/server workloads. Non-LTS releases only receive 9 months of support and are intended for desktop users wanting newer packages. Using a non-LTS base in production creates:
Additionally, your CI runners use Suggested fix: Revert to # Use LTS release for production stability (5-year support window)
FROM ubuntu:24.04If there's a specific technical requirement for 26.04, please document it. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Blocking: Verify runtime library compatibility before merging. Why it matters: Ubuntu 26.04 ships with newer versions of core libraries (glibc, libssl, etc.) compared to 24.04. While the Rust binary itself should be portable, the runtime dependencies installed in this layer ( Without testing the actual container runtime behavior, there's risk of:
Suggested fix: Run a quick integration test: # Build with new base image
docker build -t dwctl:test .
# Run smoke test
docker run --rm dwctl:test ./dwctl --help
# Verify health endpoint if possible
docker run --rm -p 3001:3001 dwctl:test &
curl http://localhost:3001/healthAlternatively, consider staying on There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Non-blocking: Ubuntu 26.04 ("Resolute Reindeer") is a very recent LTS release (April 2026). While all required packages ( Why it matters: New LTS releases may have undiscovered issues that only surface after extended production use. Ubuntu 24.04 has had ~2 years of stabilization, while 26.04 has limited real-world validation. That said, the security benefits of newer base images (updated packages, security patches) often outweigh this concern, and your CI security scan with Grype will catch any known vulnerabilities. Suggested fix: No code change required. Monitor the vulnerability counts reported by the Grype security scan in CI ( There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Non-blocking: Base image updated to Ubuntu 26.04 LTS. Why it matters: Ubuntu 26.04 is a valid LTS release (April 2026) with security support through 2031. However, this is a relatively new release, and there could be unforeseen compatibility issues with:
The ~11MB image size increase (39.63 MB vs 28.36 MB compressed) is a minor trade-off for staying current. Suggested fix: Before merging, verify that:
If the project has automated Docker build + test pipelines, those should provide sufficient validation. If not, a quick manual verification would be prudent. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Blocking: glibc ABI compatibility risk between builder and runtime stages. Why it matters: The builder stage uses If incompatible, the container will fail at runtime with errors like: Suggested fix: Either:
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Non-blocking: Ubuntu 26.04 is a recent LTS release (April 2026) and represents a ~40% increase in base image size compared to 24.04 (39.63 MB vs 28.36 MB for amd64). Why it matters: New LTS releases can have undiscovered bugs in the first few months. Additionally, the larger image size impacts pull times and storage costs, especially in CI/CD pipelines and multi-region deployments. Per Docker Hub data, Suggested fix:
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Blocking: Base image version mismatch with CI runners. Why it matters: The GitHub Actions workflows (
This has caused production incidents in other repositories where binaries compiled against older glibc failed on newer Ubuntu releases, or vice versa. Suggested fix: Update the CI runner labels to match the target base image:
If There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Non-blocking: Consider staying on Why it matters: Ubuntu 26.04 LTS was released in April 2026, only 2 months ago. While it's the latest LTS, early adoption carries risks:
The CI runners also use Suggested fix: Revert to |
||
|
|
||
| # Install runtime dependencies | ||
| RUN apt-get update && apt-get install -y \ | ||
|
|
||
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.
Non-blocking: Base image size increase consideration.
Why it matters: According to Docker Hub data,
ubuntu:26.04is approximately 39.63 MB (amd64) compared toubuntu:24.04at 28.36 MBβan ~11 MB (~40%) increase. While this is acceptable for most deployments, it's worth being aware of for environments with many containers or bandwidth-constrained deployments.Suggested fix: No code change required. Simply acknowledge this tradeoff. The newer LTS version provides updated security patches and extends the support window through 2031 (standard) and 2036 (with ESM).