Skip to content
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
72 changes: 36 additions & 36 deletions build_info.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,22 +3,22 @@
"operator": {
"dockerfile-path": "docker/mongodb-kubernetes-operator/Dockerfile.atomic",
"patch": {
"repository": "268558157000.dkr.ecr.us-east-1.amazonaws.com/dev/mongodb-kubernetes",
"repository": ["268558157000.dkr.ecr.us-east-1.amazonaws.com/dev/mongodb-kubernetes"],
"platforms": [
"linux/amd64"
]
},
"staging": {
"sign": true,
"repository": "268558157000.dkr.ecr.us-east-1.amazonaws.com/staging/mongodb-kubernetes",
"repository": ["268558157000.dkr.ecr.us-east-1.amazonaws.com/staging/mongodb-kubernetes"],
"platforms": [
"linux/arm64",
"linux/amd64"
]
},
"release": {
"sign": true,
"repository": "quay.io/mongodb/mongodb-kubernetes",
"repository": ["quay.io/mongodb/mongodb-kubernetes"],
"platforms": [
"linux/arm64",
"linux/amd64"
Expand All @@ -28,14 +28,14 @@
"operator-race": {
"dockerfile-path": "docker/mongodb-kubernetes-operator/Dockerfile.atomic",
"patch": {
"repository": "268558157000.dkr.ecr.us-east-1.amazonaws.com/dev/mongodb-kubernetes",
"repository": ["268558157000.dkr.ecr.us-east-1.amazonaws.com/dev/mongodb-kubernetes"],
"platforms": [
"linux/amd64"
]
},
"staging": {
"sign": true,
"repository": "268558157000.dkr.ecr.us-east-1.amazonaws.com/staging/mongodb-kubernetes",
"repository": ["268558157000.dkr.ecr.us-east-1.amazonaws.com/staging/mongodb-kubernetes"],
"platforms": [
"linux/arm64",
"linux/amd64"
Expand All @@ -45,22 +45,22 @@
"init-database": {
"dockerfile-path": "docker/mongodb-kubernetes-init-database/Dockerfile.atomic",
"patch": {
"repository": "268558157000.dkr.ecr.us-east-1.amazonaws.com/dev/mongodb-kubernetes-init-database",
"repository": ["268558157000.dkr.ecr.us-east-1.amazonaws.com/dev/mongodb-kubernetes-init-database"],
"platforms": [
"linux/amd64"
]
},
"staging": {
"sign": true,
"repository": "268558157000.dkr.ecr.us-east-1.amazonaws.com/staging/mongodb-kubernetes-init-database",
"repository": ["268558157000.dkr.ecr.us-east-1.amazonaws.com/staging/mongodb-kubernetes-init-database"],
"platforms": [
"linux/arm64",
"linux/amd64"
]
},
"release": {
"sign": true,
"repository": "quay.io/mongodb/mongodb-kubernetes-init-database",
"repository": ["quay.io/mongodb/mongodb-kubernetes-init-database"],
"platforms": [
"linux/arm64",
"linux/amd64"
Expand All @@ -70,22 +70,22 @@
"init-appdb": {
"dockerfile-path": "docker/mongodb-kubernetes-init-appdb/Dockerfile.atomic",
"patch": {
"repository": "268558157000.dkr.ecr.us-east-1.amazonaws.com/dev/mongodb-kubernetes-init-appdb",
"repository": ["268558157000.dkr.ecr.us-east-1.amazonaws.com/dev/mongodb-kubernetes-init-appdb"],
"platforms": [
"linux/amd64"
]
},
"staging": {
"sign": true,
"repository": "268558157000.dkr.ecr.us-east-1.amazonaws.com/staging/mongodb-kubernetes-init-appdb",
"repository": ["268558157000.dkr.ecr.us-east-1.amazonaws.com/staging/mongodb-kubernetes-init-appdb"],
"platforms": [
"linux/arm64",
"linux/amd64"
]
},
"release": {
"sign": true,
"repository": "quay.io/mongodb/mongodb-kubernetes-init-appdb",
"repository": ["quay.io/mongodb/mongodb-kubernetes-init-appdb"],
"platforms": [
"linux/arm64",
"linux/amd64"
Expand All @@ -95,22 +95,22 @@
"init-ops-manager": {
"dockerfile-path": "docker/mongodb-kubernetes-init-ops-manager/Dockerfile.atomic",
"patch": {
"repository": "268558157000.dkr.ecr.us-east-1.amazonaws.com/dev/mongodb-kubernetes-init-ops-manager",
"repository": ["268558157000.dkr.ecr.us-east-1.amazonaws.com/dev/mongodb-kubernetes-init-ops-manager"],
"platforms": [
"linux/amd64"
]
},
"staging": {
"sign": true,
"repository": "268558157000.dkr.ecr.us-east-1.amazonaws.com/staging/mongodb-kubernetes-init-ops-manager",
"repository": ["268558157000.dkr.ecr.us-east-1.amazonaws.com/staging/mongodb-kubernetes-init-ops-manager"],
"platforms": [
"linux/arm64",
"linux/amd64"
]
},
"release": {
"sign": true,
"repository": "quay.io/mongodb/mongodb-kubernetes-init-ops-manager",
"repository": ["quay.io/mongodb/mongodb-kubernetes-init-ops-manager"],
"platforms": [
"linux/arm64",
"linux/amd64"
Expand All @@ -120,22 +120,22 @@
"database": {
"dockerfile-path": "docker/mongodb-kubernetes-database/Dockerfile.atomic",
"patch": {
"repository": "268558157000.dkr.ecr.us-east-1.amazonaws.com/dev/mongodb-kubernetes-database",
"repository": ["268558157000.dkr.ecr.us-east-1.amazonaws.com/dev/mongodb-kubernetes-database"],
"platforms": [
"linux/amd64"
]
},
"staging": {
"sign": true,
"repository": "268558157000.dkr.ecr.us-east-1.amazonaws.com/staging/mongodb-kubernetes-database",
"repository": ["268558157000.dkr.ecr.us-east-1.amazonaws.com/staging/mongodb-kubernetes-database"],
"platforms": [
"linux/arm64",
"linux/amd64"
]
},
"release": {
"sign": true,
"repository": "quay.io/mongodb/mongodb-kubernetes-database",
"repository": ["quay.io/mongodb/mongodb-kubernetes-database"],
"platforms": [
"linux/arm64",
"linux/amd64"
Expand All @@ -145,13 +145,13 @@
"meko-tests": {
"dockerfile-path": "docker/mongodb-kubernetes-tests/Dockerfile",
"patch": {
"repository": "268558157000.dkr.ecr.us-east-1.amazonaws.com/dev/mongodb-kubernetes-tests",
"repository": ["268558157000.dkr.ecr.us-east-1.amazonaws.com/dev/mongodb-kubernetes-tests"],
"platforms": [
"linux/amd64"
]
},
"staging": {
"repository": "268558157000.dkr.ecr.us-east-1.amazonaws.com/staging/mongodb-kubernetes-tests",
"repository": ["268558157000.dkr.ecr.us-east-1.amazonaws.com/staging/mongodb-kubernetes-tests"],
"platforms": [
"linux/amd64"
]
Expand All @@ -160,13 +160,13 @@
"mco-tests": {
"dockerfile-path": "docker/mongodb-community-tests/Dockerfile",
"patch": {
"repository": "268558157000.dkr.ecr.us-east-1.amazonaws.com/dev/mongodb-community-tests",
"repository": ["268558157000.dkr.ecr.us-east-1.amazonaws.com/dev/mongodb-community-tests"],
"platforms": [
"linux/amd64"
]
},
"staging": {
"repository": "268558157000.dkr.ecr.us-east-1.amazonaws.com/staging/mongodb-community-tests",
"repository": ["268558157000.dkr.ecr.us-east-1.amazonaws.com/staging/mongodb-community-tests"],
"platforms": [
"linux/amd64"
]
Expand All @@ -175,14 +175,14 @@
"readiness-probe": {
"dockerfile-path": "docker/mongodb-kubernetes-readinessprobe/Dockerfile.atomic",
"patch": {
"repository": "268558157000.dkr.ecr.us-east-1.amazonaws.com/dev/mongodb-kubernetes-readinessprobe",
"repository": ["268558157000.dkr.ecr.us-east-1.amazonaws.com/dev/mongodb-kubernetes-readinessprobe"],
"platforms": [
"linux/amd64"
]
},
"staging": {
"sign": true,
"repository": "268558157000.dkr.ecr.us-east-1.amazonaws.com/staging/mongodb-kubernetes-readinessprobe",
"repository": ["268558157000.dkr.ecr.us-east-1.amazonaws.com/staging/mongodb-kubernetes-readinessprobe"],
"platforms": [
"linux/arm64",
"linux/amd64"
Expand All @@ -191,7 +191,7 @@
"release": {
"version": "1.0.22",
"sign": true,
"repository": "quay.io/mongodb/mongodb-kubernetes-readinessprobe",
"repository": ["quay.io/mongodb/mongodb-kubernetes-readinessprobe"],
"platforms": [
"linux/arm64",
"linux/amd64"
Expand All @@ -201,14 +201,14 @@
"upgrade-hook": {
"dockerfile-path": "docker/mongodb-kubernetes-upgrade-hook/Dockerfile.atomic",
"patch": {
"repository": "268558157000.dkr.ecr.us-east-1.amazonaws.com/dev/mongodb-kubernetes-operator-version-upgrade-post-start-hook",
"repository": ["268558157000.dkr.ecr.us-east-1.amazonaws.com/dev/mongodb-kubernetes-operator-version-upgrade-post-start-hook"],
"platforms": [
"linux/amd64"
]
},
"staging": {
"sign": true,
"repository": "268558157000.dkr.ecr.us-east-1.amazonaws.com/staging/mongodb-kubernetes-operator-version-upgrade-post-start-hook",
"repository": ["268558157000.dkr.ecr.us-east-1.amazonaws.com/staging/mongodb-kubernetes-operator-version-upgrade-post-start-hook"],
"platforms": [
"linux/arm64",
"linux/amd64"
Expand All @@ -217,7 +217,7 @@
"release": {
"version": "1.0.9",
"sign": true,
"repository": "quay.io/mongodb/mongodb-kubernetes-operator-version-upgrade-post-start-hook",
"repository": ["quay.io/mongodb/mongodb-kubernetes-operator-version-upgrade-post-start-hook"],
"platforms": [
"linux/arm64",
"linux/amd64"
Expand All @@ -227,22 +227,22 @@
"agent": {
"dockerfile-path": "docker/mongodb-agent/Dockerfile.atomic",
"patch": {
"repository": "268558157000.dkr.ecr.us-east-1.amazonaws.com/dev/mongodb-agent-ubi",
"repository": ["268558157000.dkr.ecr.us-east-1.amazonaws.com/dev/mongodb-agent-ubi"],
"platforms": [
"linux/amd64"
]
},
"staging": {
"sign": true,
"repository": "268558157000.dkr.ecr.us-east-1.amazonaws.com/staging/mongodb-agent-ubi",
"repository": ["268558157000.dkr.ecr.us-east-1.amazonaws.com/staging/mongodb-agent-ubi"],
"platforms": [
"linux/arm64",
"linux/amd64"
]
},
"manual_release": {
"sign": true,
"repository": "quay.io/mongodb/mongodb-agent-ubi",
"repository": ["quay.io/mongodb/mongodb-agent-ubi"],
"platforms": [
"linux/arm64",
"linux/amd64"
Expand All @@ -253,22 +253,22 @@
"dockerfile-path": "docker/mongodb-enterprise-ops-manager/Dockerfile.atomic",
"patch": {
"version": "om-version-from-release.json",
"repository": "268558157000.dkr.ecr.us-east-1.amazonaws.com/dev/mongodb-enterprise-ops-manager",
"repository": ["268558157000.dkr.ecr.us-east-1.amazonaws.com/dev/mongodb-enterprise-ops-manager"],
"platforms": [
"linux/amd64"
]
},
"staging": {
"version": "om-version-from-release.json",
"sign": true,
"repository": "268558157000.dkr.ecr.us-east-1.amazonaws.com/staging/mongodb-enterprise-ops-manager",
"repository": ["268558157000.dkr.ecr.us-east-1.amazonaws.com/staging/mongodb-enterprise-ops-manager"],
"platforms": [
"linux/amd64"
]
},
"manual_release": {
"sign": true,
"repository": "quay.io/mongodb/mongodb-enterprise-ops-manager",
"repository": ["quay.io/mongodb/mongodb-enterprise-ops-manager"],
"platforms": [
"linux/amd64"
]
Expand Down Expand Up @@ -308,15 +308,15 @@
"helm-charts": {
"mongodb-kubernetes": {
"patch": {
"repository": "268558157000.dkr.ecr.us-east-1.amazonaws.com/dev/helm-charts"
"repository": ["268558157000.dkr.ecr.us-east-1.amazonaws.com/dev/helm-charts"]
},
"staging": {
"sign": true,
"repository": "268558157000.dkr.ecr.us-east-1.amazonaws.com/staging/helm-charts"
"repository": ["268558157000.dkr.ecr.us-east-1.amazonaws.com/staging/helm-charts"]
},
"release": {
"sign": true,
"repository": "quay.io/mongodb/helm-charts"
"repository": ["quay.io/mongodb/helm-charts"]
}
}
}
Expand Down
20 changes: 11 additions & 9 deletions scripts/release/atomic_pipeline.py
Original file line number Diff line number Diff line change
Expand Up @@ -37,29 +37,30 @@ def build_image(
build_path: str = ".",
):
"""
Build an image then (optionally) sign the result.
Build an image (optionally) sign, then tag and push to all repositories in the registry list.
"""
image_name = build_configuration.image_name()
span = trace.get_current_span()
span.set_attribute("mck.image_name", image_name)

base_registry = build_configuration.base_registry()
registries = build_configuration.get_registries

build_args = build_args or {}

if build_args:
span.set_attribute("mck.build_args", str(build_args))
span.set_attribute("mck.registry", base_registry)
span.set_attribute("mck.registries", str(registries))
span.set_attribute("mck.platforms", build_configuration.platforms)

# Build docker registry URI and call build_image
image_full_uri = f"{build_configuration.registry}:{build_configuration.version}"
# Build the image once with all repository tags
all_tags = [f"{registry}:{build_configuration.version}" for registry in build_configuration.registry]

logger.info(
f"Building {image_full_uri} for platforms={build_configuration.platforms}, dockerfile args: {build_args}"
f"Building image with tags {all_tags} for platforms={build_configuration.platforms}, dockerfile args: {build_args}"
)

execute_docker_build(
tag=image_full_uri,
tags=all_tags,
dockerfile=build_configuration.dockerfile_path,
path=build_path,
args=build_args,
Expand All @@ -71,8 +72,9 @@ def build_image(
logger.info("Logging in MongoDB Artifactory for Garasign image")
mongodb_artifactory_login()
logger.info("Signing image")
sign_image(build_configuration.registry, build_configuration.version)
verify_signature(build_configuration.registry, build_configuration.version)
for registry in build_configuration.registry:
sign_image(registry, build_configuration.version)
verify_signature(registry, build_configuration.version)


def build_meko_tests_image(build_configuration: ImageBuildConfiguration):
Expand Down
6 changes: 3 additions & 3 deletions scripts/release/build/build_info.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import json
from dataclasses import dataclass
from typing import Dict
from typing import Dict, List

from scripts.release.build.build_scenario import BuildScenario
from scripts.release.constants import (
Expand All @@ -27,7 +27,7 @@

@dataclass
class ImageInfo:
repository: str
repository: List[str]
platforms: list[str]
version: str
dockerfile_path: str
Expand All @@ -44,7 +44,7 @@ class BinaryInfo:

@dataclass
class HelmChartInfo:
repository: str
repository: List[str]
version: str
sign: bool

Expand Down
Loading