feat: update MCP server profile for distroless Hummingbird (v1.3.0)#2
feat: update MCP server profile for distroless Hummingbird (v1.3.0)#2fatherlinux merged 1 commit intomainfrom
Conversation
Hummingbird runtime images are now distroless — no shell, no package manager. Updates the MCP server profile to document: - Distroless runtime constraints (no shell-form RUN) - Venv build pattern (replaces wheel-based example) - FIPS image variants in base images table - Exec-form RUN as fallback guidance Ref: https://issues.redhat.com/browse/HUM-813 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Summary of ChangesHello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request updates the MCP server profile documentation to reflect recent changes in Hummingbird Python images, which are now intentionally distroless. The update provides critical guidance on adapting multi-stage Dockerfile patterns to work with these minimal images, specifically promoting a venv-based approach and introducing FIPS-compliant image variants. Highlights
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for GitHub and other Google products, sign up here. Footnotes
|
There was a problem hiding this comment.
Code Review
This pull request updates the MCP Server Profile documentation to version 1.3.0, introducing guidelines for using distroless Hummingbird base images, specifically for Python applications. It details a venv-based multi-stage build pattern, explains the implications of distroless runtimes, and incorporates FIPS-compliant Python images. The example Dockerfile and libstdc++ copy instructions have been updated accordingly. Feedback indicates that the example Dockerfile's current file copy order is not optimal for build caching, which could lead to slower builds, and suggests reordering steps to install dependencies before copying application source code to improve efficiency, in line with repository style guide requirements for CI workflows.
| COPY pyproject.toml README.md ./ | ||
| COPY src/ ./src/ | ||
| RUN pip wheel --no-cache-dir --wheel-dir=/wheels . | ||
| RUN pip install --no-cache-dir . |
There was a problem hiding this comment.
The current file copy order in this example is not optimal for build caching. Any change in src/ will cause all Python dependencies to be re-installed, because COPY src/ ./src/ comes before RUN pip install .. This can slow down builds significantly.
To leverage build caching more effectively, it's recommended to install dependencies before copying the application source code. This typically involves a multi-step process:
- Copy
pyproject.toml. - Install dependencies from it.
- Copy the
srcdirectory. - Install the project itself (e.g., with
--no-deps).
Since this is a documented pattern, showing a more cache-efficient approach would be beneficial for developers following this guide.
References
- The repository style guide mandates build caching for CI workflows (line 24). While this example is in documentation, it presents a pattern that will be used in CI. An inefficient pattern for layer caching goes against the spirit of this rule and will lead to slower builds. (link)
Summary
latest-fips,latest-fips-builder) to base images tableRUNin runtime stage, which fails on distroless)RUNfallback guidanceContext
Hummingbird Python images went intentionally distroless as of 2026-03-25 rebuild (HUM-813). The previous constitution example Containerfile used
RUN pip install ...(shell-form) in the runtime stage, which is now broken on all Hummingbird runtime images.All CrunchTools MCP servers need to adopt the venv multi-stage pattern going forward.
Test plan
🤖 Generated with Claude Code