diff --git a/.evergreen.yml b/.evergreen.yml index ba9eff144..c45038b32 100644 --- a/.evergreen.yml +++ b/.evergreen.yml @@ -115,6 +115,8 @@ functions: params: env: MONGODB_COMMUNITY_CONFIG: ${workdir}/mongodb-kubernetes-operator/scripts/ci/config.json + AWS_ACCESS_KEY_ID: ${community_aws_access_key_id} + AWS_SECRET_ACCESS_KEY: ${community_aws_secret_access_key} include_expansions_in_env: - version_id - quay_user_name diff --git a/inventory.yaml b/inventory.yaml index c0bac0416..561f87432 100644 --- a/inventory.yaml +++ b/inventory.yaml @@ -1,5 +1,7 @@ vars: registry: + s3_bucket_http: https://enterprise-operator-dockerfiles.s3.amazonaws.com/dockerfiles/mongodb-agent + s3_bucket: s3://enterprise-operator-dockerfiles/dockerfiles/mongodb-agent images: - name: agent-ubuntu @@ -31,11 +33,6 @@ images: tags: ["ubuntu"] distro: ubuntu - # TODO: remove - this is only here as sonar raises a key error on version_id - # if no other inputs are specified. - inputs: - - noop - output: - dockerfile: scripts/dev/templates/agent/Dockerfile.ubuntu-$(inputs.params.version_id) @@ -55,6 +52,29 @@ images: - registry: $(inputs.params.registry)/mongodb-agent-ubuntu-dev tag: $(inputs.params.version_id) + - name: agent-template-ubuntu-s3 + task_type: dockerfile_template + tags: ["ubuntu", "release"] + distro: ubuntu + + inputs: + - release_version + + output: + - dockerfile: $(inputs.params.s3_bucket)/Dockerfile.ubuntu-$(inputs.params.release_version) + + - name: agent-context-ubuntu-release + task_type: tag_image + tags: ["ubuntu", "release"] + distro: ubuntu + + source: + registry: $(inputs.params.registry)/agent-ubuntu-context-dev + tag: $(inputs.params.version_id) + + destination: + - registry: $(inputs.params.registry)/mongodb-agent-ubuntu-context + tag: $(inputs.params.release_version)-context - name: agent-ubi vars: @@ -86,11 +106,6 @@ images: distro: ubi tags: ["ubi"] - # TODO: remove - this is only here as sonar raises a key error on version_id - # if no other inputs are specified. - inputs: - - noop - output: - dockerfile: scripts/dev/templates/agent/Dockerfile.ubi-$(inputs.params.version_id) @@ -110,6 +125,29 @@ images: - registry: $(inputs.params.registry)/mongodb-agent-ubi-dev tag: $(inputs.params.version_id) + - name: agent-template-ubi-s3 + task_type: dockerfile_template + tags: ["ubi", "release"] + distro: ubi + + inputs: + - release_version + + output: + - dockerfile: $(inputs.params.s3_bucket)/Dockerfile.ubi-$(inputs.params.release_version) + + - name: agent-context-ubi-release + task_type: tag_image + tags: ["ubi", "release"] + distro: ubi + + source: + registry: $(inputs.params.registry)/agent-ubi-context-dev + tag: $(inputs.params.version_id) + + destination: + - registry: $(inputs.params.registry)/mongodb-agent-ubi-context + tag: $(inputs.params.release_version)-context - name: readiness-probe-init vars: diff --git a/pipeline.py b/pipeline.py index 895835553..4ede753d0 100644 --- a/pipeline.py +++ b/pipeline.py @@ -20,17 +20,24 @@ DEFAULT_NAMESPACE = "default" -def build_agent_image_ubi(config: DevConfig) -> None: - image_name = "agent-ubi" +def _load_release() -> Dict: with open("release.json") as f: release = json.loads(f.read()) + return release - args = { + +def _build_agent_args(config: DevConfig) -> Dict[str, str]: + release = _load_release() + return { "agent_version": release["agent"]["version"], "tools_version": release["agent"]["tools_version"], "registry": config.repo_url, } + +def build_agent_image_ubi(config: DevConfig) -> None: + image_name = "agent-ubi" + args = _build_agent_args(config) config.ensure_tag_is_run("ubi") sonar_build_image( @@ -42,14 +49,7 @@ def build_agent_image_ubi(config: DevConfig) -> None: def build_agent_image_ubuntu(config: DevConfig) -> None: image_name = "agent-ubuntu" - with open("release.json") as f: - release = json.loads(f.read()) - args = { - "agent_version": release["agent"]["version"], - "tools_version": release["agent"]["tools_version"], - "registry": config.repo_url, - } - + args = _build_agent_args(config) config.ensure_tag_is_run("ubuntu") sonar_build_image( @@ -60,9 +60,7 @@ def build_agent_image_ubuntu(config: DevConfig) -> None: def build_readiness_probe_image(config: DevConfig) -> None: - with open("release.json") as f: - release = json.loads(f.read()) - + release = _load_release() config.ensure_tag_is_run("readiness-probe") sonar_build_image( diff --git a/scripts/ci/setup_virtualenv.sh b/scripts/ci/setup_virtualenv.sh index af8cf9b6a..89375a374 100755 --- a/scripts/ci/setup_virtualenv.sh +++ b/scripts/ci/setup_virtualenv.sh @@ -7,4 +7,4 @@ virtualenv --python /opt/python/3.7/bin/python3 ./venv pip3 install -r ./requirements.txt # shellcheck disable=SC2154 -pip3 install "git+https://${sonar_github_token}@github.com/10gen/sonar.git@0.0.9" +pip3 install "git+https://${sonar_github_token}@github.com/10gen/sonar.git@0.0.10"