Skip to content

Conversation

nammn
Copy link
Collaborator

@nammn nammn commented Aug 21, 2025

Summary

This pull request updates the build pipeline and related configuration to support multiple image repositories for each build target. The main change is that the repository field in the build configuration is now a list, allowing images to be tagged and pushed to multiple registries in a single build step. The codebase and configuration files have been updated to reflect this change.

Build configuration and metadata changes:

  • Updated all repository fields in build_info.json to be lists instead of strings, enabling multiple repositories per image for all build targets and Helm charts.
  • Changed the repository type from str to List[str] in the ImageInfo and HelmChartInfo dataclasses to match the new configuration format.
  • Updated the Docker build process to accept a list of tags and log them appropriately.

Proof of Work

     "agent": {
       "dockerfile-path": "docker/mongodb-agent/Dockerfile.atomic",
       "patch": {
-        "repository": "268558157000.dkr.ecr.us-east-1.amazonaws.com/dev/mongodb-agent-ubi",
-        "platforms": [
+        "repository": ["268558157000.dkr.ecr.us-east-1.amazonaws.com/nnguyen/mongodb-agent", "268558157000.dkr.ecr.us-east-1.amazonaws.com/nnguyen/mongodb-agent-ubi"],
+         "platforms": [
           "linux/amd64"
         ]
       },

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?

@nammn nammn requested a review from a team as a code owner August 21, 2025 11:23
@nammn nammn added the skip-changelog Use this label in Pull Request to not require new changelog entry file label Aug 21, 2025
Copy link

⚠️ (this preview might not be accurate if the PR is not rebased on current master branch)

MCK 1.3.0 Release Notes

Bug Fixes

  • This change fixes the current complex and difficult-to-maintain architecture for stateful set containers, which relies on an "agent matrix" to map operator and agent versions which led to a sheer amount of images.
  • We solve this by shifting to a 3-container setup. This new design eliminates the need for the operator-version/agent-version matrix by adding one additional container containing all required binaries. This architecture maps to what we already do with the mongodb-database container.
  • Fixed an issue where the readiness probe reported the node as ready even when its authentication mechanism was not in sync with the other nodes, potentially causing premature restarts.

Other Changes

  • Optional permissions for PersistentVolumeClaim moved to a separate role. When managing the operator with Helm it is possible to disable permissions for PersistentVolumeClaim resources by setting operator.enablePVCResize value to false (true by default). When enabled, previously these permissions were part of the primary operator role. With this change, permissions have a separate role.
  • subresourceEnabled Helm value was removed. This setting used to be true by default and made it possible to exclude subresource permissions from the operator role by specifying false as the value. We are removing this configuration option, making the operator roles always have subresource permissions. This setting was introduced as a temporary solution for this OpenShift issue. The issue has since been resolved and the setting is no longer needed.
  • We have deliberately not published the container images for OpsManager versions 7.0.16, 8.0.8, 8.0.9 and 8.0.10 due to a bug in the OpsManager which prevents MCK customers to upgrade their OpsManager deployments to those versions.

@nammn nammn merged commit 637923f into master Aug 22, 2025
35 of 37 checks passed
@nammn nammn deleted the support-multiple-registries-master branch August 22, 2025 08:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
skip-changelog Use this label in Pull Request to not require new changelog entry file
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants