You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
# Summary
This pull request refactors the agent build and validation logic to
improve multi-architecture support and maintainability. It centralizes
platform mapping logic, simplifies platform-specific filename
resolution, and updates configuration files to reflect platform support
changes. Additionally, it documents the new multi-architecture
capabilities in the changelog.
**Multi-architecture support and configuration updates:**
* Updated `build_info.json` to restrict supported platforms for all
images to only `linux/amd64`, removing `arm64`, `s390x`, and `ppc64le`
from all relevant entries.
[[1]](diffhunk://#diff-ac3b10589f332066db566cb08c01afea746d5f16e704beef946107a0c5de5225L8-R8)
[[2]](diffhunk://#diff-ac3b10589f332066db566cb08c01afea746d5f16e704beef946107a0c5de5225L28-R25)
[[3]](diffhunk://#diff-ac3b10589f332066db566cb08c01afea746d5f16e704beef946107a0c5de5225L57-R51)
[[4]](diffhunk://#diff-ac3b10589f332066db566cb08c01afea746d5f16e704beef946107a0c5de5225L89-R80)
[[5]](diffhunk://#diff-ac3b10589f332066db566cb08c01afea746d5f16e704beef946107a0c5de5225L144-R132)
[[6]](diffhunk://#diff-ac3b10589f332066db566cb08c01afea746d5f16e704beef946107a0c5de5225L208-R193)
[[7]](diffhunk://#diff-ac3b10589f332066db566cb08c01afea746d5f16e704beef946107a0c5de5225L241-R223)
[[8]](diffhunk://#diff-ac3b10589f332066db566cb08c01afea746d5f16e704beef946107a0c5de5225L274-R253)
* Changed the key in `build_info_agent.json` from `platform_mappings` to
`platforms` for consistency and clarity.
**Agent build and validation code refactoring:**
* Introduced a `PlatformConfiguration` class in `validation.py` to
encapsulate platform mapping logic, lazy-load build info, and provide
unified methods for generating agent and tools build arguments.
* Refactored functions to use the new `platforms` key and centralized
filename resolution logic, including helper methods for finding valid
filenames and checking URL existence.
[[1]](diffhunk://#diff-f3a4c7975fde6557a1d05e5170380f65cfef432faf4e5441a1538d003527e449L3-R181)
[[2]](diffhunk://#diff-f3a4c7975fde6557a1d05e5170380f65cfef432faf4e5441a1538d003527e449L95-R210)
[[3]](diffhunk://#diff-f3a4c7975fde6557a1d05e5170380f65cfef432faf4e5441a1538d003527e449L162-R243)
[[4]](diffhunk://#diff-f3a4c7975fde6557a1d05e5170380f65cfef432faf4e5441a1538d003527e449L193-R274)
[[5]](diffhunk://#diff-f3a4c7975fde6557a1d05e5170380f65cfef432faf4e5441a1538d003527e449L231-R291)
* Updated import statements and removed now-redundant code in
`atomic_pipeline.py` to use the new build argument generation functions
from the refactored validation logic.
[[1]](diffhunk://#diff-f8ee125fd34cdec2e03d7e7282177410cfd21756f4ba3a1ce4f8f2062bfee792R23-L28)
[[2]](diffhunk://#diff-f8ee125fd34cdec2e03d7e7282177410cfd21756f4ba3a1ce4f8f2062bfee792L56-L122)
* Removed unused imports and cleaned up code in `atomic_pipeline.py`.
**Documentation:**
* Added a changelog entry describing the addition of comprehensive
multi-architecture support for the Kubernetes operator and its images.
## Proof of Work
- green ci
## Checklist
- [ ] Have you linked a jira ticket and/or is the ticket in the title?
- [ ] Have you checked whether your jira ticket required DOCSP changes?
- [ ] Have you added changelog file?
- use `skip-changelog` label if not needed
- refer to [Changelog files and Release
Notes](https://github.com/mongodb/mongodb-kubernetes/blob/master/CONTRIBUTING.md#changelog-files-and-release-notes)
section in CONTRIBUTING.md for more details
We've added comprehensive multi-architecture support for the kubernetes operator. This enhancement enables deployment on IBM Power (ppc64le) and IBM Z (s390x) architectures alongside
9
+
existing x86_64 support. All core images (operator, agent, init containers, database, readiness probe) now support multiple architectures
0 commit comments