From 29647b3e63541163073dc5f4f7e4aaa21d56c8a3 Mon Sep 17 00:00:00 2001 From: Bianca Lisle Date: Tue, 23 Sep 2025 12:29:55 +0100 Subject: [PATCH 1/9] chore: add MDB 8.2 --- tools/cmd/genevergreen/generate/generate.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tools/cmd/genevergreen/generate/generate.go b/tools/cmd/genevergreen/generate/generate.go index 24604a6302..8a7c19d60b 100644 --- a/tools/cmd/genevergreen/generate/generate.go +++ b/tools/cmd/genevergreen/generate/generate.go @@ -31,9 +31,11 @@ var ( "6.0", "7.0", "8.0", + "8.2", } unsupportedNewOsByVersion = map[string][]string{ + "8.2": {}, "8.0": {"debian11"}, "7.0": {"ubuntu2404"}, "6.0": {"ubuntu2404"}, From 642c4d181dfec7b53b100f1b2200298c7426cd8e Mon Sep 17 00:00:00 2001 From: Bianca Lisle Date: Tue, 23 Sep 2025 17:25:39 +0100 Subject: [PATCH 2/9] update tests and remove debian 11 --- tools/cmd/genevergreen/generate/generate.go | 2 +- tools/cmd/genevergreen/generate/generate_test.go | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/tools/cmd/genevergreen/generate/generate.go b/tools/cmd/genevergreen/generate/generate.go index 8a7c19d60b..5474a769a8 100644 --- a/tools/cmd/genevergreen/generate/generate.go +++ b/tools/cmd/genevergreen/generate/generate.go @@ -35,7 +35,7 @@ var ( } unsupportedNewOsByVersion = map[string][]string{ - "8.2": {}, + "8.2": {"debian11"}, "8.0": {"debian11"}, "7.0": {"ubuntu2404"}, "6.0": {"ubuntu2404"}, diff --git a/tools/cmd/genevergreen/generate/generate_test.go b/tools/cmd/genevergreen/generate/generate_test.go index 90fd1d1593..76c3fb688a 100644 --- a/tools/cmd/genevergreen/generate/generate_test.go +++ b/tools/cmd/genevergreen/generate/generate_test.go @@ -68,8 +68,8 @@ func TestPublishStableTasks(t *testing.T) { } assert.True(t, commandFound, "expected to find a push command") - assert.Len(t, c.Variants, 3) - assert.Len(t, c.Tasks, 90) + assert.Len(t, c.Variants, 4) + assert.Len(t, c.Tasks, 120) } func TestPostPkgMetaTasks(t *testing.T) { @@ -92,7 +92,7 @@ func TestPostPkgMetaTasks(t *testing.T) { } } assert.Len(t, c.Variants, 1) - assert.Len(t, c.Tasks, 18) + assert.Len(t, c.Tasks, 24) } func TestRepoTasks(t *testing.T) { @@ -112,6 +112,6 @@ func TestRepoTasks(t *testing.T) { } } - assert.Len(t, c.Variants, 3) - assert.Len(t, c.Tasks, 36) + assert.Len(t, c.Variants, 4) + assert.Len(t, c.Tasks, 48) } From a5491abf86c32d375ee05d2967dd1b3766a917c7 Mon Sep 17 00:00:00 2001 From: Bianca Lisle Date: Tue, 23 Sep 2025 17:46:12 +0100 Subject: [PATCH 3/9] update local dev with 8.2 --- internal/cli/deployments/setup.go | 2 +- internal/cli/deployments/setup_test.go | 8 ++++---- .../deployments_local_auth_index_deprecated_test.go | 2 +- .../deploymentslocalauth/deployments_local_auth_test.go | 2 +- .../deployments_local_noauth_test.go | 2 +- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/internal/cli/deployments/setup.go b/internal/cli/deployments/setup.go index e1ce4b5bfb..7b046fc4a2 100644 --- a/internal/cli/deployments/setup.go +++ b/internal/cli/deployments/setup.go @@ -53,7 +53,7 @@ import ( const ( internalMongodPort = 27017 mdb7 = "7.0" - mdb8 = "8.0" + mdb8 = "8.2" defaultSettings = "default" customSettings = "custom" cancelSettings = "cancel" diff --git a/internal/cli/deployments/setup_test.go b/internal/cli/deployments/setup_test.go index 043884e5aa..b71981282b 100644 --- a/internal/cli/deployments/setup_test.go +++ b/internal/cli/deployments/setup_test.go @@ -65,7 +65,7 @@ func TestSetupOpts_LocalDev_HappyPathClean(t *testing.T) { force: true, } - const dockerImageName = "docker.io/mongodb/mongodb-atlas-local:8.0" + const dockerImageName = "docker.io/mongodb/mongodb-atlas-local:8.2" // Container engine is fine deploymentTest.MockContainerEngine.EXPECT().Ready().Return(nil).Times(1) @@ -130,7 +130,7 @@ func TestSetupOpts_LocalDev_HappyPathOfflinePull(t *testing.T) { force: true, } - const dockerImageName = "docker.io/mongodb/mongodb-atlas-local:8.0" + const dockerImageName = "docker.io/mongodb/mongodb-atlas-local:8.2" // Container engine is fine deploymentTest.MockContainerEngine.EXPECT().Ready().Return(nil).Times(1) @@ -198,7 +198,7 @@ func TestSetupOpts_LocalDev_UnhappyPathOfflinePull(t *testing.T) { force: true, } - const dockerImageName = "docker.io/mongodb/mongodb-atlas-local:8.0" + const dockerImageName = "docker.io/mongodb/mongodb-atlas-local:8.2" // Container engine is fine deploymentTest.MockContainerEngine.EXPECT().Ready().Return(nil).Times(1) @@ -274,7 +274,7 @@ func TestSetupOpts_LocalDev_RemoveUnhealthyDeployment(t *testing.T) { force: true, } - const dockerImageName = "docker.io/mongodb/mongodb-atlas-local:8.0" + const dockerImageName = "docker.io/mongodb/mongodb-atlas-local:8.2" // Container engine is fine deploymentTest.MockContainerEngine.EXPECT().Ready().Return(nil).Times(1) diff --git a/test/e2e/atlas/deployments/local/auth/deprecated/deploymentslocalauthindexdeprecated/deployments_local_auth_index_deprecated_test.go b/test/e2e/atlas/deployments/local/auth/deprecated/deploymentslocalauthindexdeprecated/deployments_local_auth_index_deprecated_test.go index 50a8a04d59..17f4ee4ea9 100644 --- a/test/e2e/atlas/deployments/local/auth/deprecated/deploymentslocalauthindexdeprecated/deployments_local_auth_index_deprecated_test.go +++ b/test/e2e/atlas/deployments/local/auth/deprecated/deploymentslocalauthindexdeprecated/deployments_local_auth_index_deprecated_test.go @@ -145,7 +145,7 @@ func TestDeploymentsLocalWithAuthIndexDeprecated(t *testing.T) { cols := strings.Fields(outputLines[1]) assert.Equal(t, deploymentName, cols[0]) assert.Equal(t, "LOCAL", cols[1]) - assert.Contains(t, cols[2], "8.0.") + assert.Contains(t, cols[2], "8.2.") assert.Equal(t, "IDLE", cols[3]) }) diff --git a/test/e2e/atlas/deployments/local/auth/new/deploymentslocalauth/deployments_local_auth_test.go b/test/e2e/atlas/deployments/local/auth/new/deploymentslocalauth/deployments_local_auth_test.go index e5d861fbf8..d3c9daedc0 100644 --- a/test/e2e/atlas/deployments/local/auth/new/deploymentslocalauth/deployments_local_auth_test.go +++ b/test/e2e/atlas/deployments/local/auth/new/deploymentslocalauth/deployments_local_auth_test.go @@ -145,7 +145,7 @@ func TestDeploymentsLocalWithAuth(t *testing.T) { cols := strings.Fields(outputLines[1]) assert.Equal(t, deploymentName, cols[0]) assert.Equal(t, "LOCAL", cols[1]) - assert.Contains(t, cols[2], "8.0.") + assert.Contains(t, cols[2], "8.2.") assert.Equal(t, "IDLE", cols[3]) }) diff --git a/test/e2e/atlas/deployments/local/noauth/deploymentslocalnoauth/deployments_local_noauth_test.go b/test/e2e/atlas/deployments/local/noauth/deploymentslocalnoauth/deployments_local_noauth_test.go index af431c68e0..5d6bd37af5 100644 --- a/test/e2e/atlas/deployments/local/noauth/deploymentslocalnoauth/deployments_local_noauth_test.go +++ b/test/e2e/atlas/deployments/local/noauth/deploymentslocalnoauth/deployments_local_noauth_test.go @@ -138,7 +138,7 @@ func TestDeploymentsLocal(t *testing.T) { cols := strings.Fields(outputLines[1]) assert.Equal(t, deploymentName, cols[0]) assert.Equal(t, "LOCAL", cols[1]) - assert.Contains(t, cols[2], "8.0.") + assert.Contains(t, cols[2], "8.2.") assert.Equal(t, "IDLE", cols[3]) }) From d844db9df25787fb159e89c50552af45e20cb2dd Mon Sep 17 00:00:00 2001 From: Bianca Lisle Date: Tue, 23 Sep 2025 18:20:20 +0100 Subject: [PATCH 4/9] update pgp for 8.2 --- build/ci/release.yml | 2 ++ .../docker/meta/debian11-deb.Dockerfile | 2 +- .../docker/meta/debian12-deb.Dockerfile | 2 +- .../docker/meta/ubuntu20.04-deb.Dockerfile | 2 +- .../docker/meta/ubuntu22.04-deb.Dockerfile | 2 +- .../docker/meta/ubuntu24.04-deb.Dockerfile | 2 +- .../docker/repo/amazonlinux2023.Dockerfile | 2 +- build/package/docker/repo/centos8.Dockerfile | 2 +- build/package/docker/repo/debian11.Dockerfile | 2 +- build/package/docker/repo/debian12.Dockerfile | 2 +- build/package/docker/repo/rhel9.Dockerfile | 2 +- .../docker/repo/ubuntu20.04.Dockerfile | 2 +- .../docker/repo/ubuntu22.04.Dockerfile | 2 +- .../docker/repo/ubuntu24.04.Dockerfile | 2 +- tools/cmd/genevergreen/generate/generate.go | 23 ++++++++++++------- .../genevergreen/generate/generate_test.go | 7 ++++++ 16 files changed, 37 insertions(+), 21 deletions(-) diff --git a/build/ci/release.yml b/build/ci/release.yml index 506255785b..4196108bdd 100644 --- a/build/ci/release.yml +++ b/build/ci/release.yml @@ -271,6 +271,7 @@ functions: - project - revision - server_version + - pgp_server_version - created_at - image working_dir: src/github.com/mongodb/mongodb-atlas-cli/build/package/docker/meta @@ -297,6 +298,7 @@ functions: - entrypoint - mongo_package - mongo_repo + - pgp_server_version working_dir: src/github.com/mongodb/mongodb-atlas-cli/build/package/docker/repo binary: ./docker-build.sh "create-windows-host": diff --git a/build/package/docker/meta/debian11-deb.Dockerfile b/build/package/docker/meta/debian11-deb.Dockerfile index 682d1c72a0..5d5b25d39b 100644 --- a/build/package/docker/meta/debian11-deb.Dockerfile +++ b/build/package/docker/meta/debian11-deb.Dockerfile @@ -15,7 +15,7 @@ RUN set -eux; \ if ! command -v ps > /dev/null; then \ apt-get install -y --no-install-recommends procps; \ fi; \ - curl -L https://www.mongodb.org/static/pgp/server-${server_version}.asc | apt-key add -; \ + curl -L https://www.mongodb.org/static/pgp/server-${pgp_server_version}.asc | apt-key add -; \ echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/debian bullseye/mongodb-org/${server_version} main" | tee /etc/apt/sources.list.d/mongodb-org-${server_version}.list; \ rm -rf /var/lib/apt/lists/* diff --git a/build/package/docker/meta/debian12-deb.Dockerfile b/build/package/docker/meta/debian12-deb.Dockerfile index d8189f4968..0354e1e71b 100644 --- a/build/package/docker/meta/debian12-deb.Dockerfile +++ b/build/package/docker/meta/debian12-deb.Dockerfile @@ -15,7 +15,7 @@ RUN set -eux; \ if ! command -v ps > /dev/null; then \ apt-get install -y --no-install-recommends procps; \ fi; \ - curl -L https://www.mongodb.org/static/pgp/server-${server_version}.asc | apt-key add -; \ + curl -L https://www.mongodb.org/static/pgp/server-${pgp_server_version}.asc | apt-key add -; \ echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/debian bookworm/mongodb-org/${server_version} main" | tee /etc/apt/sources.list.d/mongodb-org-${server_version}.list; \ rm -rf /var/lib/apt/lists/* diff --git a/build/package/docker/meta/ubuntu20.04-deb.Dockerfile b/build/package/docker/meta/ubuntu20.04-deb.Dockerfile index c5a89009e7..c4822608ba 100644 --- a/build/package/docker/meta/ubuntu20.04-deb.Dockerfile +++ b/build/package/docker/meta/ubuntu20.04-deb.Dockerfile @@ -14,7 +14,7 @@ RUN set -eux; \ if ! command -v ps > /dev/null; then \ apt-get install -y --no-install-recommends procps; \ fi; \ - curl -L https://www.mongodb.org/static/pgp/server-${server_version}.asc | apt-key add -; \ + curl -L https://www.mongodb.org/static/pgp/server-${pgp_server_version}.asc | apt-key add -; \ echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/${server_version} multiverse" | tee /etc/apt/sources.list.d/mongodb-org-${server_version}.list; \ rm -rf /var/lib/apt/lists/* diff --git a/build/package/docker/meta/ubuntu22.04-deb.Dockerfile b/build/package/docker/meta/ubuntu22.04-deb.Dockerfile index ec9b29d43b..84208305ca 100644 --- a/build/package/docker/meta/ubuntu22.04-deb.Dockerfile +++ b/build/package/docker/meta/ubuntu22.04-deb.Dockerfile @@ -14,7 +14,7 @@ RUN set -eux; \ if ! command -v ps > /dev/null; then \ apt-get install -y --no-install-recommends procps; \ fi; \ - curl -L https://www.mongodb.org/static/pgp/server-${server_version}.asc | apt-key add -; \ + curl -L https://www.mongodb.org/static/pgp/server-${pgp_server_version}.asc | apt-key add -; \ echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/${server_version} multiverse" | tee /etc/apt/sources.list.d/mongodb-org-${server_version}.list; \ rm -rf /var/lib/apt/lists/* diff --git a/build/package/docker/meta/ubuntu24.04-deb.Dockerfile b/build/package/docker/meta/ubuntu24.04-deb.Dockerfile index 1aaa1690fc..c0aa8e4117 100644 --- a/build/package/docker/meta/ubuntu24.04-deb.Dockerfile +++ b/build/package/docker/meta/ubuntu24.04-deb.Dockerfile @@ -14,7 +14,7 @@ RUN set -eux; \ if ! command -v ps > /dev/null; then \ apt-get install -y --no-install-recommends procps; \ fi; \ - curl -L https://www.mongodb.org/static/pgp/server-${server_version}.asc | apt-key add -; \ + curl -L https://www.mongodb.org/static/pgp/server-${pgp_server_version}.asc | apt-key add -; \ echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu noble/mongodb-org/${server_version} multiverse" | tee /etc/apt/sources.list.d/mongodb-org-${server_version}.list; \ rm -rf /var/lib/apt/lists/* diff --git a/build/package/docker/repo/amazonlinux2023.Dockerfile b/build/package/docker/repo/amazonlinux2023.Dockerfile index 861fa02d33..0dbdce20e2 100644 --- a/build/package/docker/repo/amazonlinux2023.Dockerfile +++ b/build/package/docker/repo/amazonlinux2023.Dockerfile @@ -6,7 +6,7 @@ ARG server_version ARG mongo_package ARG mongo_repo -RUN printf "[${mongo_package}-${server_version}]\nname=MongoDB Repository\nbaseurl=${mongo_repo}/yum/amazon/2023/${mongo_package}/${server_version}/\$basearch/\ngpgcheck=1\nenabled=1\ngpgkey=https://www.mongodb.org/static/pgp/server-${server_version}.asc\n" > /etc/yum.repos.d/${mongo_package}-${server_version}.repo +RUN printf "[${mongo_package}-${server_version}]\nname=MongoDB Repository\nbaseurl=${mongo_repo}/yum/amazon/2023/${mongo_package}/${server_version}/\$basearch/\ngpgcheck=1\nenabled=1\ngpgkey=https://www.mongodb.org/static/pgp/server-${pgp_server_version}.asc\n" > /etc/yum.repos.d/${mongo_package}-${server_version}.repo RUN set -eux; \ yum install -y ${package} diff --git a/build/package/docker/repo/centos8.Dockerfile b/build/package/docker/repo/centos8.Dockerfile index a97e7a4b1b..218eb48fe4 100644 --- a/build/package/docker/repo/centos8.Dockerfile +++ b/build/package/docker/repo/centos8.Dockerfile @@ -8,7 +8,7 @@ ARG mongo_repo RUN rm -rf /etc/yum.repos.d/* -RUN printf "[${mongo_package}-${server_version}]\nname=MongoDB Repository\nbaseurl=${mongo_repo}/yum/redhat/\$releasever/${mongo_package}/${server_version}/\$basearch/\ngpgcheck=1\nenabled=1\ngpgkey=https://www.mongodb.org/static/pgp/server-${server_version}.asc\n" > /etc/yum.repos.d/${mongo_package}-${server_version}.repo +RUN printf "[${mongo_package}-${server_version}]\nname=MongoDB Repository\nbaseurl=${mongo_repo}/yum/redhat/\$releasever/${mongo_package}/${server_version}/\$basearch/\ngpgcheck=1\nenabled=1\ngpgkey=https://www.mongodb.org/static/pgp/server-${pgp_server_version}.asc\n" > /etc/yum.repos.d/${mongo_package}-${server_version}.repo RUN set -eux; \ yum install -y ${package} diff --git a/build/package/docker/repo/debian11.Dockerfile b/build/package/docker/repo/debian11.Dockerfile index 7150be0ecf..c392c5960d 100644 --- a/build/package/docker/repo/debian11.Dockerfile +++ b/build/package/docker/repo/debian11.Dockerfile @@ -16,7 +16,7 @@ RUN set -eux; \ if ! command -v ps > /dev/null; then \ apt-get install -y --no-install-recommends procps; \ fi; \ - curl -L https://www.mongodb.org/static/pgp/server-${server_version}.asc | apt-key add -; \ + curl -L https://www.mongodb.org/static/pgp/server-${pgp_server_version}.asc | apt-key add -; \ echo "deb [ arch=amd64,arm64 ] ${mongo_repo}/apt/debian bullseye/${mongo_package}/${server_version} main" | tee /etc/apt/sources.list.d/${mongo_package}-${server_version}.list; \ apt-get update; \ apt-get install -y --no-install-recommends ${package}; \ diff --git a/build/package/docker/repo/debian12.Dockerfile b/build/package/docker/repo/debian12.Dockerfile index 01863098e8..1ad9e59720 100644 --- a/build/package/docker/repo/debian12.Dockerfile +++ b/build/package/docker/repo/debian12.Dockerfile @@ -16,7 +16,7 @@ RUN set -eux; \ if ! command -v ps > /dev/null; then \ apt-get install -y --no-install-recommends procps; \ fi; \ - curl -L https://www.mongodb.org/static/pgp/server-${server_version}.asc | apt-key add -; \ + curl -L https://www.mongodb.org/static/pgp/server-${pgp_server_version}.asc | apt-key add -; \ echo "deb [ arch=amd64,arm64 ] ${mongo_repo}/apt/debian bookworm/${mongo_package}/${server_version} main" | tee /etc/apt/sources.list.d/${mongo_package}-${server_version}.list; \ apt-get update; \ apt-get install -y --no-install-recommends ${package}; \ diff --git a/build/package/docker/repo/rhel9.Dockerfile b/build/package/docker/repo/rhel9.Dockerfile index 28ac7409fa..65244ba038 100644 --- a/build/package/docker/repo/rhel9.Dockerfile +++ b/build/package/docker/repo/rhel9.Dockerfile @@ -8,7 +8,7 @@ ARG mongo_repo RUN rm -rf /etc/yum.repos.d/* -RUN printf "[${mongo_package}-${server_version}]\nname=MongoDB Repository\nbaseurl=${mongo_repo}/yum/redhat/\$releasever/${mongo_package}/${server_version}/\$basearch/\ngpgcheck=1\nenabled=1\ngpgkey=https://www.mongodb.org/static/pgp/server-${server_version}.asc\n" > /etc/yum.repos.d/${mongo_package}-${server_version}.repo +RUN printf "[${mongo_package}-${server_version}]\nname=MongoDB Repository\nbaseurl=${mongo_repo}/yum/redhat/\$releasever/${mongo_package}/${server_version}/\$basearch/\ngpgcheck=1\nenabled=1\ngpgkey=https://www.mongodb.org/static/pgp/server-${pgp_server_version}.asc\n" > /etc/yum.repos.d/${mongo_package}-${server_version}.repo RUN set -eux; \ yum install -y ${package} diff --git a/build/package/docker/repo/ubuntu20.04.Dockerfile b/build/package/docker/repo/ubuntu20.04.Dockerfile index c6fbe2fdae..a3072b7b58 100644 --- a/build/package/docker/repo/ubuntu20.04.Dockerfile +++ b/build/package/docker/repo/ubuntu20.04.Dockerfile @@ -16,7 +16,7 @@ RUN set -eux; \ if ! command -v ps > /dev/null; then \ apt-get install -y --no-install-recommends procps; \ fi; \ - curl -L https://www.mongodb.org/static/pgp/server-${server_version}.asc | apt-key add -; \ + curl -L https://www.mongodb.org/static/pgp/server-${pgp_server_version}.asc | apt-key add -; \ echo "deb [ arch=amd64,arm64 ] ${mongo_repo}/apt/ubuntu focal/${mongo_package}/${server_version} multiverse" | tee /etc/apt/sources.list.d/${mongo_package}-${server_version}.list; \ apt-get update; \ apt-get install -y --no-install-recommends ${package}; \ diff --git a/build/package/docker/repo/ubuntu22.04.Dockerfile b/build/package/docker/repo/ubuntu22.04.Dockerfile index 51fc7e1b97..ae89812ef2 100644 --- a/build/package/docker/repo/ubuntu22.04.Dockerfile +++ b/build/package/docker/repo/ubuntu22.04.Dockerfile @@ -16,7 +16,7 @@ RUN set -eux; \ if ! command -v ps > /dev/null; then \ apt-get install -y --no-install-recommends procps; \ fi; \ - curl -L https://www.mongodb.org/static/pgp/server-${server_version}.asc | apt-key add -; \ + curl -L https://www.mongodb.org/static/pgp/server-${pgp_server_version}.asc | apt-key add -; \ echo "deb [ arch=amd64,arm64 ] ${mongo_repo}/apt/ubuntu jammy/${mongo_package}/${server_version} multiverse" | tee /etc/apt/sources.list.d/${mongo_package}-${server_version}.list; \ apt-get update; \ apt-get install -y --no-install-recommends ${package}; \ diff --git a/build/package/docker/repo/ubuntu24.04.Dockerfile b/build/package/docker/repo/ubuntu24.04.Dockerfile index e6ed8b0206..af872d7775 100644 --- a/build/package/docker/repo/ubuntu24.04.Dockerfile +++ b/build/package/docker/repo/ubuntu24.04.Dockerfile @@ -16,7 +16,7 @@ RUN set -eux; \ if ! command -v ps > /dev/null; then \ apt-get install -y --no-install-recommends procps; \ fi; \ - curl -L https://www.mongodb.org/static/pgp/server-${server_version}.asc | apt-key add -; \ + curl -L https://www.mongodb.org/static/pgp/server-${pgp_server_version}.asc | apt-key add -; \ echo "deb [ arch=amd64,arm64 ] ${mongo_repo}/apt/ubuntu noble/${mongo_package}/${server_version} multiverse" | tee /etc/apt/sources.list.d/${mongo_package}-${server_version}.list; \ apt-get update; \ apt-get install -y --no-install-recommends ${package}; \ diff --git a/tools/cmd/genevergreen/generate/generate.go b/tools/cmd/genevergreen/generate/generate.go index 5474a769a8..2838aac57f 100644 --- a/tools/cmd/genevergreen/generate/generate.go +++ b/tools/cmd/genevergreen/generate/generate.go @@ -108,12 +108,13 @@ func RepoTasks(c *shrub.Configuration) { Dependency(newDependency(os, serverVersion, repo)). Function("clone"). FunctionWithVars("docker build repo", map[string]string{ - "server_version": serverVersion, - "package": pkg, - "entrypoint": entrypoint, - "image": os, - "mongo_package": "mongodb-" + repo, - "mongo_repo": mongoRepo, + "server_version": serverVersion, + "pgp_server_version": getGpgServerVersion(serverVersion), + "package": pkg, + "entrypoint": entrypoint, + "image": os, + "mongo_package": "mongodb-" + repo, + "mongo_repo": mongoRepo, }) c.Tasks = append(c.Tasks, t) v.AddTasks(t.Name) @@ -169,8 +170,9 @@ func PostPkgMetaTasks(c *shrub.Configuration) { Variant: "goreleaser_atlascli_snapshot", }).Function("clone"). FunctionWithVars("docker build meta", map[string]string{ - "image": postPkgImg[os], - "server_version": sv, + "image": postPkgImg[os], + "server_version": sv, + "pgp_server_version": getGpgServerVersion(sv), }) c.Tasks = append(c.Tasks, t) @@ -181,6 +183,11 @@ func PostPkgMetaTasks(c *shrub.Configuration) { c.Variants = append(c.Variants, v) } +func getGpgServerVersion(serverVersion string) string { + // minor version uses the same major version gpg key e.g. 8.2 uses 8.0 gpg key + return strings.Split(serverVersion, ".")[0] + ".0" +} + const buildNamePrefix = "generated_release_atlascli_publish_" func PublishStableTasks(c *shrub.Configuration) { diff --git a/tools/cmd/genevergreen/generate/generate_test.go b/tools/cmd/genevergreen/generate/generate_test.go index 76c3fb688a..cefed50de4 100644 --- a/tools/cmd/genevergreen/generate/generate_test.go +++ b/tools/cmd/genevergreen/generate/generate_test.go @@ -115,3 +115,10 @@ func TestRepoTasks(t *testing.T) { assert.Len(t, c.Variants, 4) assert.Len(t, c.Tasks, 48) } + +func TestGetGpgServerVersion(t *testing.T) { + assert.Equal(t, "8.0", getGpgServerVersion("8.2")) + assert.Equal(t, "8.0", getGpgServerVersion("8.0")) + assert.Equal(t, "7.0", getGpgServerVersion("7.0")) + assert.Equal(t, "6.0", getGpgServerVersion("6.0")) +} From 6e1d1e3c29140297c41a4cca5ae8b7e568485141 Mon Sep 17 00:00:00 2001 From: Bianca Lisle Date: Wed, 24 Sep 2025 09:28:25 +0100 Subject: [PATCH 5/9] update --- build/ci/release.yml | 1 + build/package/docker/meta/amazonlinux2023-rpm.Dockerfile | 3 ++- build/package/docker/meta/centos8-rpm.Dockerfile | 3 ++- build/package/docker/meta/debian11-deb.Dockerfile | 1 + build/package/docker/meta/debian12-deb.Dockerfile | 1 + build/package/docker/meta/rhel9-rpm.Dockerfile | 3 ++- build/package/docker/meta/suse15-rpm.Dockerfile | 1 + build/package/docker/meta/ubuntu20.04-deb.Dockerfile | 1 + build/package/docker/meta/ubuntu22.04-deb.Dockerfile | 1 + build/package/docker/meta/ubuntu24.04-deb.Dockerfile | 1 + build/package/docker/repo/amazonlinux2023.Dockerfile | 1 + build/package/docker/repo/centos8.Dockerfile | 1 + build/package/docker/repo/debian11.Dockerfile | 1 + build/package/docker/repo/debian12.Dockerfile | 1 + build/package/docker/repo/rhel9.Dockerfile | 1 + build/package/docker/repo/suse15.Dockerfile | 1 + build/package/docker/repo/ubuntu20.04.Dockerfile | 1 + build/package/docker/repo/ubuntu22.04.Dockerfile | 1 + build/package/docker/repo/ubuntu24.04.Dockerfile | 1 + 19 files changed, 22 insertions(+), 3 deletions(-) diff --git a/build/ci/release.yml b/build/ci/release.yml index 4196108bdd..03ed09620f 100644 --- a/build/ci/release.yml +++ b/build/ci/release.yml @@ -237,6 +237,7 @@ functions: - distro - edition - server_version + - pgp_server_version - project - revision - created_at diff --git a/build/package/docker/meta/amazonlinux2023-rpm.Dockerfile b/build/package/docker/meta/amazonlinux2023-rpm.Dockerfile index 5b8348601c..41c4716bb8 100644 --- a/build/package/docker/meta/amazonlinux2023-rpm.Dockerfile +++ b/build/package/docker/meta/amazonlinux2023-rpm.Dockerfile @@ -3,8 +3,9 @@ FROM artifactory.corp.mongodb.com/dockerhub/amazonlinux:2023 ARG url ARG entrypoint ARG server_version +ARG pgp_server_version -RUN printf "[mongodb-org-${server_version}]\nname=MongoDB Repository\nbaseurl=https://repo.mongodb.org/yum/amazon/2023/mongodb-org/${server_version}/x86_64/\ngpgcheck=1\nenabled=1\ngpgkey=https://pgp.mongodb.com/server-${server_version}.asc\n" > /etc/yum.repos.d/mongodb-org-${server_version}.repo +RUN printf "[mongodb-org-${server_version}]\nname=MongoDB Repository\nbaseurl=https://repo.mongodb.org/yum/amazon/2023/mongodb-org/${server_version}/x86_64/\ngpgcheck=1\nenabled=1\ngpgkey=https://pgp.mongodb.com/server-${pgp_server_version}.asc\n" > /etc/yum.repos.d/mongodb-org-${server_version}.repo RUN set -eux; \ curl --silent --show-error --fail --location --retry 3 \ diff --git a/build/package/docker/meta/centos8-rpm.Dockerfile b/build/package/docker/meta/centos8-rpm.Dockerfile index 65752234f4..88e469a76d 100644 --- a/build/package/docker/meta/centos8-rpm.Dockerfile +++ b/build/package/docker/meta/centos8-rpm.Dockerfile @@ -3,10 +3,11 @@ FROM artifactory.corp.mongodb.com/dockerhub/centos:8 ARG url ARG entrypoint ARG server_version +ARG pgp_server_version RUN rm -rf /etc/yum.repos.d/* -RUN printf "[mongodb-org-${server_version}]\nname=MongoDB Repository\nbaseurl=https://repo.mongodb.org/yum/redhat/\$releasever/mongodb-org/${server_version}/x86_64/\ngpgcheck=1\nenabled=1\ngpgkey=https://pgp.mongodb.com/server-${server_version}.asc\n" > /etc/yum.repos.d/mongodb-org-${server_version}.repo +RUN printf "[mongodb-org-${server_version}]\nname=MongoDB Repository\nbaseurl=https://repo.mongodb.org/yum/redhat/\$releasever/mongodb-org/${server_version}/x86_64/\ngpgcheck=1\nenabled=1\ngpgkey=https://pgp.mongodb.com/server-${pgp_server_version}.asc\n" > /etc/yum.repos.d/mongodb-org-${server_version}.repo RUN set -eux; \ curl --silent --show-error --fail --location --retry 3 \ diff --git a/build/package/docker/meta/debian11-deb.Dockerfile b/build/package/docker/meta/debian11-deb.Dockerfile index 5d5b25d39b..26a24df656 100644 --- a/build/package/docker/meta/debian11-deb.Dockerfile +++ b/build/package/docker/meta/debian11-deb.Dockerfile @@ -3,6 +3,7 @@ FROM artifactory.corp.mongodb.com/dockerhub/debian:11-slim ARG url ARG entrypoint ARG server_version +ARG pgp_server_version RUN set -eux; \ apt-get update; \ diff --git a/build/package/docker/meta/debian12-deb.Dockerfile b/build/package/docker/meta/debian12-deb.Dockerfile index 0354e1e71b..d3219844c1 100644 --- a/build/package/docker/meta/debian12-deb.Dockerfile +++ b/build/package/docker/meta/debian12-deb.Dockerfile @@ -3,6 +3,7 @@ FROM artifactory.corp.mongodb.com/dockerhub/debian:12-slim ARG url ARG entrypoint ARG server_version +ARG pgp_server_version RUN set -eux; \ apt-get update; \ diff --git a/build/package/docker/meta/rhel9-rpm.Dockerfile b/build/package/docker/meta/rhel9-rpm.Dockerfile index f1daa5f260..db58596cc4 100644 --- a/build/package/docker/meta/rhel9-rpm.Dockerfile +++ b/build/package/docker/meta/rhel9-rpm.Dockerfile @@ -3,10 +3,11 @@ FROM registry.access.redhat.com/ubi9/ubi ARG url ARG entrypoint ARG server_version +ARG pgp_server_version RUN rm -rf /etc/yum.repos.d/* -RUN printf "[mongodb-org-${server_version}]\nname=MongoDB Repository\nbaseurl=https://repo.mongodb.org/yum/redhat/\$releasever/mongodb-org/${server_version}/x86_64/\ngpgcheck=1\nenabled=1\ngpgkey=https://pgp.mongodb.com/server-${server_version}.asc\n" > /etc/yum.repos.d/mongodb-org-${server_version}.repo +RUN printf "[mongodb-org-${server_version}]\nname=MongoDB Repository\nbaseurl=https://repo.mongodb.org/yum/redhat/\$releasever/mongodb-org/${server_version}/x86_64/\ngpgcheck=1\nenabled=1\ngpgkey=https://pgp.mongodb.com/server-${pgp_server_version}.asc\n" > /etc/yum.repos.d/mongodb-org-${server_version}.repo RUN set -eux; \ curl --silent --show-error --fail --location --retry 3 \ diff --git a/build/package/docker/meta/suse15-rpm.Dockerfile b/build/package/docker/meta/suse15-rpm.Dockerfile index 150aff4953..93503b4a59 100644 --- a/build/package/docker/meta/suse15-rpm.Dockerfile +++ b/build/package/docker/meta/suse15-rpm.Dockerfile @@ -3,6 +3,7 @@ FROM registry.suse.com/suse/sle15 ARG url ARG entrypoint ARG server_version +ARG pgp_server_version RUN rpm --import https://pgp.mongodb.com/server-${server_version}.asc diff --git a/build/package/docker/meta/ubuntu20.04-deb.Dockerfile b/build/package/docker/meta/ubuntu20.04-deb.Dockerfile index c4822608ba..d7777d26d6 100644 --- a/build/package/docker/meta/ubuntu20.04-deb.Dockerfile +++ b/build/package/docker/meta/ubuntu20.04-deb.Dockerfile @@ -3,6 +3,7 @@ FROM artifactory.corp.mongodb.com/dockerhub/ubuntu:20.04 ARG url ARG entrypoint ARG server_version +ARG pgp_server_version RUN set -eux; \ apt-get update; \ diff --git a/build/package/docker/meta/ubuntu22.04-deb.Dockerfile b/build/package/docker/meta/ubuntu22.04-deb.Dockerfile index 84208305ca..d1c7e40ebf 100644 --- a/build/package/docker/meta/ubuntu22.04-deb.Dockerfile +++ b/build/package/docker/meta/ubuntu22.04-deb.Dockerfile @@ -3,6 +3,7 @@ FROM artifactory.corp.mongodb.com/dockerhub/ubuntu:22.04 ARG url ARG entrypoint ARG server_version +ARG pgp_server_version RUN set -eux; \ apt-get update; \ diff --git a/build/package/docker/meta/ubuntu24.04-deb.Dockerfile b/build/package/docker/meta/ubuntu24.04-deb.Dockerfile index c0aa8e4117..5ca95037d4 100644 --- a/build/package/docker/meta/ubuntu24.04-deb.Dockerfile +++ b/build/package/docker/meta/ubuntu24.04-deb.Dockerfile @@ -3,6 +3,7 @@ FROM artifactory.corp.mongodb.com/dockerhub/ubuntu:24.04 ARG url ARG entrypoint ARG server_version +ARG pgp_server_version RUN set -eux; \ apt-get update; \ diff --git a/build/package/docker/repo/amazonlinux2023.Dockerfile b/build/package/docker/repo/amazonlinux2023.Dockerfile index 0dbdce20e2..e02dcf7bc1 100644 --- a/build/package/docker/repo/amazonlinux2023.Dockerfile +++ b/build/package/docker/repo/amazonlinux2023.Dockerfile @@ -3,6 +3,7 @@ FROM artifactory.corp.mongodb.com/dockerhub/amazonlinux:2023 ARG package ARG entrypoint ARG server_version +ARG pgp_server_version ARG mongo_package ARG mongo_repo diff --git a/build/package/docker/repo/centos8.Dockerfile b/build/package/docker/repo/centos8.Dockerfile index 218eb48fe4..41bb2fde49 100644 --- a/build/package/docker/repo/centos8.Dockerfile +++ b/build/package/docker/repo/centos8.Dockerfile @@ -3,6 +3,7 @@ FROM artifactory.corp.mongodb.com/dockerhub/centos:8 ARG package ARG entrypoint ARG server_version +ARG pgp_server_version ARG mongo_package ARG mongo_repo diff --git a/build/package/docker/repo/debian11.Dockerfile b/build/package/docker/repo/debian11.Dockerfile index c392c5960d..0c8ca84e93 100644 --- a/build/package/docker/repo/debian11.Dockerfile +++ b/build/package/docker/repo/debian11.Dockerfile @@ -3,6 +3,7 @@ FROM artifactory.corp.mongodb.com/dockerhub/debian:11-slim ARG package ARG entrypoint ARG server_version +ARG pgp_server_version ARG mongo_package ARG mongo_repo diff --git a/build/package/docker/repo/debian12.Dockerfile b/build/package/docker/repo/debian12.Dockerfile index 1ad9e59720..a13bbbc29c 100644 --- a/build/package/docker/repo/debian12.Dockerfile +++ b/build/package/docker/repo/debian12.Dockerfile @@ -3,6 +3,7 @@ FROM artifactory.corp.mongodb.com/dockerhub/debian:12-slim ARG package ARG entrypoint ARG server_version +ARG pgp_server_version ARG mongo_package ARG mongo_repo diff --git a/build/package/docker/repo/rhel9.Dockerfile b/build/package/docker/repo/rhel9.Dockerfile index 65244ba038..34f64679db 100644 --- a/build/package/docker/repo/rhel9.Dockerfile +++ b/build/package/docker/repo/rhel9.Dockerfile @@ -3,6 +3,7 @@ FROM registry.access.redhat.com/ubi9/ubi ARG package ARG entrypoint ARG server_version +ARG pgp_server_version ARG mongo_package ARG mongo_repo diff --git a/build/package/docker/repo/suse15.Dockerfile b/build/package/docker/repo/suse15.Dockerfile index 9bcec910b9..f6b80f088b 100644 --- a/build/package/docker/repo/suse15.Dockerfile +++ b/build/package/docker/repo/suse15.Dockerfile @@ -3,6 +3,7 @@ FROM registry.suse.com/suse/sle15 ARG package ARG entrypoint ARG server_version +ARG pgp_server_version ARG mongo_package ARG mongo_repo diff --git a/build/package/docker/repo/ubuntu20.04.Dockerfile b/build/package/docker/repo/ubuntu20.04.Dockerfile index a3072b7b58..e7c08b4494 100644 --- a/build/package/docker/repo/ubuntu20.04.Dockerfile +++ b/build/package/docker/repo/ubuntu20.04.Dockerfile @@ -3,6 +3,7 @@ FROM artifactory.corp.mongodb.com/dockerhub/ubuntu:20.04 ARG package ARG entrypoint ARG server_version +ARG pgp_server_version ARG mongo_package ARG mongo_repo diff --git a/build/package/docker/repo/ubuntu22.04.Dockerfile b/build/package/docker/repo/ubuntu22.04.Dockerfile index ae89812ef2..b11fc2c3af 100644 --- a/build/package/docker/repo/ubuntu22.04.Dockerfile +++ b/build/package/docker/repo/ubuntu22.04.Dockerfile @@ -3,6 +3,7 @@ FROM artifactory.corp.mongodb.com/dockerhub/ubuntu:22.04 ARG package ARG entrypoint ARG server_version +ARG pgp_server_version ARG mongo_package ARG mongo_repo diff --git a/build/package/docker/repo/ubuntu24.04.Dockerfile b/build/package/docker/repo/ubuntu24.04.Dockerfile index af872d7775..9b36a947e9 100644 --- a/build/package/docker/repo/ubuntu24.04.Dockerfile +++ b/build/package/docker/repo/ubuntu24.04.Dockerfile @@ -3,6 +3,7 @@ FROM artifactory.corp.mongodb.com/dockerhub/ubuntu:24.04 ARG package ARG entrypoint ARG server_version +ARG pgp_server_version ARG mongo_package ARG mongo_repo From a836dd311bba02bf0d5f6e7b2b8c8e99696f8daa Mon Sep 17 00:00:00 2001 From: Bianca Lisle Date: Wed, 24 Sep 2025 15:47:05 +0100 Subject: [PATCH 6/9] add missing pgp values --- tools/cmd/genevergreen/generate/generate_test.go | 6 ++++++ tools/cmd/genevergreen/generate/publish.go | 13 +++++++------ 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/tools/cmd/genevergreen/generate/generate_test.go b/tools/cmd/genevergreen/generate/generate_test.go index cefed50de4..7269e75ce2 100644 --- a/tools/cmd/genevergreen/generate/generate_test.go +++ b/tools/cmd/genevergreen/generate/generate_test.go @@ -61,6 +61,8 @@ func TestPublishStableTasks(t *testing.T) { commandFound = true distro := c.Vars["distro"] serverVersion := c.Vars["server_version"] + pgpServerVersion := c.Vars["pgp_server_version"] + assert.NotEmpty(t, pgpServerVersion) // ensure unsupportedNewOs is not used assert.NotContains(t, unsupportedNewOsByVersion[serverVersion], distro) assert.NotEmpty(t, distro) @@ -83,6 +85,8 @@ func TestPostPkgMetaTasks(t *testing.T) { } image := c.Vars["image"] serverVersion := c.Vars["server_version"] + pgpServerVersion := c.Vars["pgp_server_version"] + assert.NotEmpty(t, pgpServerVersion) // find the key from the image for key, value := range postPkgImg { if value == image { @@ -106,6 +110,8 @@ func TestRepoTasks(t *testing.T) { } image := c.Vars["image"] serverVersion := c.Vars["server_version"] + pgpServerVersion := c.Vars["pgp_server_version"] + assert.NotEmpty(t, pgpServerVersion) // ensure unsupportedNewOs is not used assert.NotContains(t, unsupportedNewOsByVersion[serverVersion], image) assert.NotEmpty(t, image) diff --git a/tools/cmd/genevergreen/generate/publish.go b/tools/cmd/genevergreen/generate/publish.go index 9ad4dd0891..520cb95471 100644 --- a/tools/cmd/genevergreen/generate/publish.go +++ b/tools/cmd/genevergreen/generate/publish.go @@ -86,12 +86,13 @@ func newPublishTask(taskName, extension, edition, distro, taskServerVersion, not Function("clone"). Function("install curator"). FunctionWithVars("push", map[string]string{ - "distro": distro, - "ext": extension, - "server_version": taskServerVersion, - "notary_key_name": notaryKey, - "arch": arch, - "edition": edition, + "distro": distro, + "ext": extension, + "server_version": taskServerVersion, + "pgp_server_version": getGpgServerVersion(taskServerVersion), + "notary_key_name": notaryKey, + "arch": arch, + "edition": edition, }) return t } From 308bd76a5a86b4145072dcf549a78026f2833cfe Mon Sep 17 00:00:00 2001 From: Bianca Lisle Date: Wed, 24 Sep 2025 16:38:28 +0100 Subject: [PATCH 7/9] update docker build script --- build/package/docker/meta/docker-build.sh | 1 + build/package/docker/repo/docker-build.sh | 1 + 2 files changed, 2 insertions(+) diff --git a/build/package/docker/meta/docker-build.sh b/build/package/docker/meta/docker-build.sh index 82488f19ca..e2f70a7eac 100755 --- a/build/package/docker/meta/docker-build.sh +++ b/build/package/docker/meta/docker-build.sh @@ -30,5 +30,6 @@ docker build \ --build-arg url="${URL-}" \ --build-arg entrypoint="${ENTRYPOINT-}" \ --build-arg server_version="${server_version-}" \ + --build-arg pgp_server_version="${pgp_server_version-}" \ -t "atlascli-${image-}" \ -f "${image-}.Dockerfile" . diff --git a/build/package/docker/repo/docker-build.sh b/build/package/docker/repo/docker-build.sh index 8bdb74fc36..213c87b4d4 100755 --- a/build/package/docker/repo/docker-build.sh +++ b/build/package/docker/repo/docker-build.sh @@ -18,6 +18,7 @@ set -Eeou pipefail docker build \ --build-arg server_version="${server_version-}" \ + --build-arg pgp_server_version="${pgp_server_version-}" \ --build-arg package="${package-}" \ --build-arg entrypoint="${entrypoint-}" \ --build-arg mongo_package="${mongo_package-}" \ From bf141bd66302ba1cf5b992ad39fbffde250b1875 Mon Sep 17 00:00:00 2001 From: Bianca Lisle Date: Thu, 25 Sep 2025 12:58:17 +0100 Subject: [PATCH 8/9] address comments --- internal/cli/deployments/options/deployment_opts.go | 5 ++++- internal/cli/deployments/setup.go | 2 +- internal/cli/deployments/setup_test.go | 8 ++++---- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/internal/cli/deployments/options/deployment_opts.go b/internal/cli/deployments/options/deployment_opts.go index 386b370598..c2aee6406c 100644 --- a/internal/cli/deployments/options/deployment_opts.go +++ b/internal/cli/deployments/options/deployment_opts.go @@ -21,10 +21,12 @@ import ( "io" "regexp" "sort" + "strconv" "strings" "time" "github.com/AlecAivazis/survey/v2" + "github.com/Masterminds/semver/v3" "github.com/briandowns/spinner" "github.com/mongodb/atlas-cli-core/config" "github.com/mongodb/mongodb-atlas-cli/atlascli/internal/cli" @@ -156,7 +158,8 @@ func getLocalDevImage() string { } func (opts *DeploymentOpts) MongodDockerImageName() string { - return getLocalDevImage() + ":" + opts.MdbVersion + v, _ := semver.NewVersion(opts.MdbVersion) + return getLocalDevImage() + ":" + strconv.FormatUint(v.Major(), 10) } func (opts *DeploymentOpts) Spin(funcs ...func() error) error { diff --git a/internal/cli/deployments/setup.go b/internal/cli/deployments/setup.go index 7b046fc4a2..e1ce4b5bfb 100644 --- a/internal/cli/deployments/setup.go +++ b/internal/cli/deployments/setup.go @@ -53,7 +53,7 @@ import ( const ( internalMongodPort = 27017 mdb7 = "7.0" - mdb8 = "8.2" + mdb8 = "8.0" defaultSettings = "default" customSettings = "custom" cancelSettings = "cancel" diff --git a/internal/cli/deployments/setup_test.go b/internal/cli/deployments/setup_test.go index b71981282b..7a8006f910 100644 --- a/internal/cli/deployments/setup_test.go +++ b/internal/cli/deployments/setup_test.go @@ -65,7 +65,7 @@ func TestSetupOpts_LocalDev_HappyPathClean(t *testing.T) { force: true, } - const dockerImageName = "docker.io/mongodb/mongodb-atlas-local:8.2" + const dockerImageName = "docker.io/mongodb/mongodb-atlas-local:8" // Container engine is fine deploymentTest.MockContainerEngine.EXPECT().Ready().Return(nil).Times(1) @@ -130,7 +130,7 @@ func TestSetupOpts_LocalDev_HappyPathOfflinePull(t *testing.T) { force: true, } - const dockerImageName = "docker.io/mongodb/mongodb-atlas-local:8.2" + const dockerImageName = "docker.io/mongodb/mongodb-atlas-local:8" // Container engine is fine deploymentTest.MockContainerEngine.EXPECT().Ready().Return(nil).Times(1) @@ -198,7 +198,7 @@ func TestSetupOpts_LocalDev_UnhappyPathOfflinePull(t *testing.T) { force: true, } - const dockerImageName = "docker.io/mongodb/mongodb-atlas-local:8.2" + const dockerImageName = "docker.io/mongodb/mongodb-atlas-local:8" // Container engine is fine deploymentTest.MockContainerEngine.EXPECT().Ready().Return(nil).Times(1) @@ -274,7 +274,7 @@ func TestSetupOpts_LocalDev_RemoveUnhealthyDeployment(t *testing.T) { force: true, } - const dockerImageName = "docker.io/mongodb/mongodb-atlas-local:8.2" + const dockerImageName = "docker.io/mongodb/mongodb-atlas-local:8" // Container engine is fine deploymentTest.MockContainerEngine.EXPECT().Ready().Return(nil).Times(1) From 81db3c5229b6734dba24b8795a4642b1281429fa Mon Sep 17 00:00:00 2001 From: Bianca Lisle Date: Thu, 25 Sep 2025 14:33:02 +0100 Subject: [PATCH 9/9] add support to 8 and 7 --- internal/cli/deployments/setup.go | 15 +++++---- internal/cli/deployments/setup_test.go | 44 ++++++++++++++++++++++++++ 2 files changed, 53 insertions(+), 6 deletions(-) diff --git a/internal/cli/deployments/setup.go b/internal/cli/deployments/setup.go index e1ce4b5bfb..f130e1f785 100644 --- a/internal/cli/deployments/setup.go +++ b/internal/cli/deployments/setup.go @@ -52,8 +52,10 @@ import ( const ( internalMongodPort = 27017 - mdb7 = "7.0" - mdb8 = "8.0" + mdb70 = "7.0" + mdb80 = "8.0" + mdb8 = "8" + mdb7 = "7" defaultSettings = "default" customSettings = "custom" cancelSettings = "cancel" @@ -106,7 +108,8 @@ var ( options.VsCodeConnect: "MongoDB for VsCode", skipConnect: "Skip Connection", } - mdbVersions = []string{mdb7, mdb8} + mdbVersions = []string{mdb70, mdb80, mdb8, mdb7} + mdbMajorVersions = []string{mdb7, mdb8} ) type SetupOpts struct { @@ -347,8 +350,8 @@ func (opts *SetupOpts) promptDeploymentName() error { func (opts *SetupOpts) promptMdbVersion() error { p := &survey.Select{ - Message: "Major MongoDB Version", - Options: mdbVersions, + Message: "Major MongoDB Version (latest minor version will be used)", + Options: mdbMajorVersions, Default: opts.MdbVersion, Help: "Major MongoDB Version for the deployment. Atlas CLI applies the latest minor version available.", } @@ -517,7 +520,7 @@ func (opts *SetupOpts) setDefaultSettings() error { if err := templatewriter.Print(os.Stderr, ` [Default Settings] Deployment Name {{.DeploymentName}} -MongoDB Version {{.MdbVersion}} +MongoDB Major Version {{.MdbVersion}} (latest minor version) `, opts); err != nil { return err diff --git a/internal/cli/deployments/setup_test.go b/internal/cli/deployments/setup_test.go index 7a8006f910..b4a008adaa 100644 --- a/internal/cli/deployments/setup_test.go +++ b/internal/cli/deployments/setup_test.go @@ -23,6 +23,7 @@ import ( "github.com/mongodb/mongodb-atlas-cli/atlascli/internal/cli/deployments/test/fixture" "github.com/mongodb/mongodb-atlas-cli/atlascli/internal/container" "github.com/mongodb/mongodb-atlas-cli/atlascli/internal/log" + "github.com/stretchr/testify/assert" "go.uber.org/mock/gomock" ) @@ -310,3 +311,46 @@ func TestSetupOpts_LocalDev_RemoveUnhealthyDeployment(t *testing.T) { t.Fatal("Run() unexpected success, should fail") } } + +func TestValidateFlags_mdbVersions(t *testing.T) { + testCases := []struct { + name string + version string + expectedError error + }{ + {name: "mdb70", version: mdb70, expectedError: nil}, + {name: "mdb80", version: mdb80, expectedError: nil}, + {name: "mdb8", version: mdb8, expectedError: nil}, + {name: "mdb7", version: mdb7, expectedError: nil}, + {name: "mdb82", version: "8.2", expectedError: errInvalidMongoDBVersion}, + {name: "invalid", version: "9.0", expectedError: errInvalidMongoDBVersion}, + } + for _, testCase := range testCases { + opts := &SetupOpts{} + opts.MdbVersion = testCase.version + err := opts.validateFlags() + if testCase.expectedError != nil { + assert.ErrorIs(t, err, testCase.expectedError) + } else { + assert.NoError(t, err) + } + } +} + +func TestSetupOpts_MongodDockerImageName(t *testing.T) { + testCases := []struct { + name string + version string + expectedImage string + }{ + {name: "mdb70", version: mdb70, expectedImage: "docker.io/mongodb/mongodb-atlas-local:7"}, + {name: "mdb80", version: mdb80, expectedImage: "docker.io/mongodb/mongodb-atlas-local:8"}, + {name: "mdb8", version: mdb8, expectedImage: "docker.io/mongodb/mongodb-atlas-local:8"}, + {name: "mdb7", version: mdb7, expectedImage: "docker.io/mongodb/mongodb-atlas-local:7"}, + } + for _, testCase := range testCases { + opts := &SetupOpts{} + opts.MdbVersion = testCase.version + assert.Equal(t, testCase.expectedImage, opts.MongodDockerImageName()) + } +}