From b2bd1111a6784d5e79bff06a97e390af3349eddf Mon Sep 17 00:00:00 2001 From: Jose Antonio Carmona Date: Fri, 16 Sep 2022 17:37:30 +0200 Subject: [PATCH] [bitnami/mongodb] Revisit tests (#12427) * [bitnami/mongodb] Revisit tests Signed-off-by: Jose Antonio Carmona * Fix service port Signed-off-by: Jose Antonio Carmona * Remove unnecessary stderr Signed-off-by: Jose Antonio Carmona * Remove unnecessary timeout Signed-off-by: Jose Antonio Carmona * Add mountPath Signed-off-by: Jose Antonio Carmona Signed-off-by: Jose Antonio Carmona --- .vib/mongodb/goss/goss.yaml | 63 ++++++++++++++++++----------------- .vib/mongodb/goss/vars.yaml | 22 ++++++++++++ .vib/mongodb/vib-publish.json | 3 +- .vib/mongodb/vib-verify.json | 3 +- 4 files changed, 58 insertions(+), 33 deletions(-) create mode 100644 .vib/mongodb/goss/vars.yaml diff --git a/.vib/mongodb/goss/goss.yaml b/.vib/mongodb/goss/goss.yaml index 7f72fed2d..9842120d3 100644 --- a/.vib/mongodb/goss/goss.yaml +++ b/.vib/mongodb/goss/goss.yaml @@ -1,33 +1,34 @@ -process: - mongod: - running: true -command: - mongod-version: - exec: mongod --version | grep --quiet "$APP_VERSION" - exit-status: 0 - stdout: [ ] - stderr: [ ] - timeout: 20000 - admin-command: - exec: mongosh --quiet --username "$MONGODB_ROOT_USER" --password "$MONGODB_ROOT_PASSWORD" --port "$MONGODB_PORT_NUMBER" --eval "db.adminCommand({listCollections:1})" - exit-status: 0 - stdout: - - "system.version" - stderr: [ ] - timeout: 20000 - create-collection: - exec: mongosh --quiet --username "$MONGODB_EXTRA_USERNAMES" --password "$MONGODB_EXTRA_PASSWORDS" --port "$MONGODB_PORT_NUMBER" --eval "db.sapphire.drop(); db.createCollection('sapphire'); db.getCollectionNames()" "$MONGODB_EXTRA_DATABASES" - exit-status: 0 - stdout: - - "sapphire" - stderr: [ ] - timeout: 20000 file: - /opt/bitnami/mongodb/conf/mongodb.conf: - mode: "0660" - filetype: file - contains: [ - "dbPath: /bitnami/mongodb/data/db", - "authorization: enabled" - ] + {{ .Vars.persistence.mountPath }}: exists: true + filetype: directory + mode: "2775" + owner: root + /opt/bitnami/mongodb/conf/mongodb.conf: + exists: true + filetype: file + mode: "0660" + contains: + - /port:.*{{ .Vars.containerPorts.mongodb }}/ + /var/run/secrets/kubernetes.io/serviceaccount: + exists: {{ .Vars.serviceAccount.automountServiceAccountToken }} + filetype: directory + mode: "3777" +command: + {{- $conn_opts := printf "--quiet --username %s --password '%s' --host mongodb --port %d" .Vars.auth.rootUser .Vars.auth.rootPassword .Vars.service.ports.mongodb }} + admin-command: + exec: mongosh {{ $conn_opts }} --eval "db.adminCommand({listCollections:1})" + exit-status: 0 + {{- $testCollection := "sapphire" }} + {{- $conn_opts := printf "--quiet --username %s --password '%s' --host mongodb --port %d" (index .Vars.auth.usernames 0) (index .Vars.auth.passwords 0) .Vars.service.ports.mongodb }} + create-collection: + exec: mongosh {{ $conn_opts }} --eval "db.{{ $testCollection }}.drop(); db.createCollection('{{ $testCollection }}'); db.getCollectionNames()" {{ (index .Vars.auth.databases 0) }} + exit-status: 0 + stdout: + - {{ $testCollection }} + check-user-info: + exec: id + exit-status: 0 + stdout: + - uid={{ .Vars.containerSecurityContext.runAsUser }} + - /groups=.*{{ .Vars.podSecurityContext.fsGroup }}/ \ No newline at end of file diff --git a/.vib/mongodb/goss/vars.yaml b/.vib/mongodb/goss/vars.yaml new file mode 100644 index 000000000..c337140eb --- /dev/null +++ b/.vib/mongodb/goss/vars.yaml @@ -0,0 +1,22 @@ +auth: + rootUser: bitnamiRoot + rootPassword: "ComplicatedPassword123!4" + usernames: + - kayle + passwords: + - R1sing0fSun2022 + databases: + - awesome_db +service: + ports: + mongodb: 80 +persistence: + mountPath: /bitnami/mongodb +containerPorts: + mongodb: 27018 +podSecurityContext: + fsGroup: 1002 +containerSecurityContext: + runAsUser: 1002 +serviceAccount: + automountServiceAccountToken: true \ No newline at end of file diff --git a/.vib/mongodb/vib-publish.json b/.vib/mongodb/vib-publish.json index 97b20c970..0b749fdb0 100644 --- a/.vib/mongodb/vib-publish.json +++ b/.vib/mongodb/vib-publish.json @@ -22,7 +22,7 @@ "url": "{SHA_ARCHIVE}", "path": "/bitnami/mongodb" }, - "runtime_parameters": "YXV0aDoKICByb290UGFzc3dvcmQ6IENvbXBsaWNhdGVkUGFzc3dvcmQxMjMhNAogIHJvb3RVc2VyOiB1c2VyCiAgdXNlcm5hbWVzOgogICAgLSBrYXlsZQogIGRhdGFiYXNlczoKICAgIC0gYXdlc29tZV9kYgpzZXJ2aWNlOgogIHBvcnRzOgogICAgbW9uZ29kYjogODAKICB0eXBlOiBMb2FkQmFsYW5jZXIK", + "runtime_parameters": "YXV0aDoKICBlbmFibGVkOiB0cnVlCiAgcm9vdFVzZXI6IGJpdG5hbWlSb290CiAgcm9vdFBhc3N3b3JkOiAiQ29tcGxpY2F0ZWRQYXNzd29yZDEyMyE0IgogIHVzZXJuYW1lczoKICAgIC0ga2F5bGUKICBwYXNzd29yZHM6CiAgICAtIFIxc2luZzBmU3VuMjAyMgogIGRhdGFiYXNlczoKICAgIC0gYXdlc29tZV9kYgpzZXJ2aWNlOgogIHR5cGU6IExvYWRCYWxhbmNlcgogIHBvcnRzOgogICAgbW9uZ29kYjogODAKcGVyc2lzdGVuY2U6CiAgZW5hYmxlZDogdHJ1ZQogIG1vdW50UGF0aDogL2JpdG5hbWkvbW9uZ29kYgpjb250YWluZXJQb3J0czoKICBtb25nb2RiOiAyNzAxOApwb2RTZWN1cml0eUNvbnRleHQ6CiAgZW5hYmxlZDogdHJ1ZQogIGZzR3JvdXA6IDEwMDIKY29udGFpbmVyU2VjdXJpdHlDb250ZXh0OgogIGVuYWJsZWQ6IHRydWUKICBydW5Bc1VzZXI6IDEwMDIKc2VydmljZUFjY291bnQ6CiAgY3JlYXRlOiB0cnVlCiAgYXV0b21vdW50U2VydmljZUFjY291bnRUb2tlbjogdHJ1ZQo=", "target_platform": { "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", "size": { @@ -43,6 +43,7 @@ "resources": { "path": "/.vib/mongodb/goss" }, + "vars_file": "vars.yaml", "remote": { "workload": "deploy-mongodb" } diff --git a/.vib/mongodb/vib-verify.json b/.vib/mongodb/vib-verify.json index 30c7bd4e1..22dce0d28 100644 --- a/.vib/mongodb/vib-verify.json +++ b/.vib/mongodb/vib-verify.json @@ -22,7 +22,7 @@ "url": "{SHA_ARCHIVE}", "path": "/bitnami/mongodb" }, - "runtime_parameters": "YXV0aDoKICByb290UGFzc3dvcmQ6IENvbXBsaWNhdGVkUGFzc3dvcmQxMjMhNAogIHJvb3RVc2VyOiB1c2VyCiAgdXNlcm5hbWVzOgogICAgLSBrYXlsZQogIGRhdGFiYXNlczoKICAgIC0gYXdlc29tZV9kYgpzZXJ2aWNlOgogIHBvcnRzOgogICAgbW9uZ29kYjogODAKICB0eXBlOiBMb2FkQmFsYW5jZXIK", + "runtime_parameters": "YXV0aDoKICBlbmFibGVkOiB0cnVlCiAgcm9vdFVzZXI6IGJpdG5hbWlSb290CiAgcm9vdFBhc3N3b3JkOiAiQ29tcGxpY2F0ZWRQYXNzd29yZDEyMyE0IgogIHVzZXJuYW1lczoKICAgIC0ga2F5bGUKICBwYXNzd29yZHM6CiAgICAtIFIxc2luZzBmU3VuMjAyMgogIGRhdGFiYXNlczoKICAgIC0gYXdlc29tZV9kYgpzZXJ2aWNlOgogIHR5cGU6IExvYWRCYWxhbmNlcgogIHBvcnRzOgogICAgbW9uZ29kYjogODAKcGVyc2lzdGVuY2U6CiAgZW5hYmxlZDogdHJ1ZQogIG1vdW50UGF0aDogL2JpdG5hbWkvbW9uZ29kYgpjb250YWluZXJQb3J0czoKICBtb25nb2RiOiAyNzAxOApwb2RTZWN1cml0eUNvbnRleHQ6CiAgZW5hYmxlZDogdHJ1ZQogIGZzR3JvdXA6IDEwMDIKY29udGFpbmVyU2VjdXJpdHlDb250ZXh0OgogIGVuYWJsZWQ6IHRydWUKICBydW5Bc1VzZXI6IDEwMDIKc2VydmljZUFjY291bnQ6CiAgY3JlYXRlOiB0cnVlCiAgYXV0b21vdW50U2VydmljZUFjY291bnRUb2tlbjogdHJ1ZQo=", "target_platform": { "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", "size": { @@ -43,6 +43,7 @@ "resources": { "path": "/.vib/mongodb/goss" }, + "vars_file": "vars.yaml", "remote": { "workload": "deploy-mongodb" }