From 533bf6b2e73de9079baebe39a6a4a32965a7cb66 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Francisco=20de=20Paz=20Gal=C3=A1n?= Date: Tue, 23 Aug 2022 19:35:28 +0200 Subject: [PATCH] [bitnami/memcached] Add Helm Chart tests (#11808) * [bitnami/memcached] Add Helm Chart tests Signed-off-by: FraPazGal * Add chart to CD Signed-off-by: FraPazGal * Remove redundant test and add id one Signed-off-by: FraPazGal * Refactor manage-key test Signed-off-by: FraPazGal * Remove unused param Signed-off-by: FraPazGal Signed-off-by: FraPazGal --- .github/workflows/cd-pipeline.yaml | 1 + .vib/memcached/goss/goss.yaml | 21 +++++++++++++++++ .vib/memcached/goss/vars.yaml | 7 ++++++ .vib/memcached/vib-publish.json | 36 ++++++++++++++++++++++++++++++ .vib/memcached/vib-verify.json | 36 ++++++++++++++++++++++++++++++ 5 files changed, 101 insertions(+) create mode 100644 .vib/memcached/goss/goss.yaml create mode 100644 .vib/memcached/goss/vars.yaml diff --git a/.github/workflows/cd-pipeline.yaml b/.github/workflows/cd-pipeline.yaml index 62e78246c6..ff14a7bfd7 100644 --- a/.github/workflows/cd-pipeline.yaml +++ b/.github/workflows/cd-pipeline.yaml @@ -26,6 +26,7 @@ on: # rebuild any PRs and main branch changes - 'bitnami/mariadb/**' - 'bitnami/matomo/**' - 'bitnami/mediawiki/**' + - 'bitnami/memcached/**' - 'bitnami/minio/**' - 'bitnami/mongodb/**' - 'bitnami/mysql/**' diff --git a/.vib/memcached/goss/goss.yaml b/.vib/memcached/goss/goss.yaml new file mode 100644 index 0000000000..d1824decb5 --- /dev/null +++ b/.vib/memcached/goss/goss.yaml @@ -0,0 +1,21 @@ +file: + /tmp: + mode: "2777" + filetype: directory + exists: true +command: + {{- $key := printf "key_%s" (randAlpha 5) }} + {{- $value := printf "value_%s" (randAlpha 5) }} + {{- $server_connection := printf "(exec 3<>/dev/tcp/memcached/%s; cat >&3; cat <&3; exec 3<&-)" .Vars.service.ports.memcached }} + manage-key: + exec: bash -c 'printf "set {{ $key }} 0 300 11\r\n{{ $value }}\r\nquit\n" | {{ $server_connection }} && printf "get {{ $key }}\r\nquit\n" | {{ $server_connection }}' + exit-status: 0 + stdout: + - STORED + - {{ $value }} + check-user-info: + exec: id + exit-status: 0 + stdout: + - uid={{ .Vars.containerSecurityContext.runAsUser }} + - /groups=.*{{ .Vars.podSecurityContext.fsGroup }}/ diff --git a/.vib/memcached/goss/vars.yaml b/.vib/memcached/goss/vars.yaml new file mode 100644 index 0000000000..3738073190 --- /dev/null +++ b/.vib/memcached/goss/vars.yaml @@ -0,0 +1,7 @@ +service: + ports: + memcached: "80" +podSecurityContext: + fsGroup: 1002 +containerSecurityContext: + runAsUser: 1002 diff --git a/.vib/memcached/vib-publish.json b/.vib/memcached/vib-publish.json index e502d8fbbf..080ff04ea9 100644 --- a/.vib/memcached/vib-publish.json +++ b/.vib/memcached/vib-publish.json @@ -16,6 +16,42 @@ } ] }, + "verify": { + "context": { + "resources": { + "url": "{SHA_ARCHIVE}", + "path": "/bitnami/memcached" + }, + "runtime_parameters": "c2VydmljZToKICB0eXBlOiBMb2FkQmFsYW5jZXIKICBwb3J0czoKICAgIG1lbWNhY2hlZDogODAKcG9kU2VjdXJpdHlDb250ZXh0OgogIGVuYWJsZWQ6IHRydWUKICBmc0dyb3VwOiAxMDAyCmNvbnRhaW5lclNlY3VyaXR5Q29udGV4dDoKICBlbmFibGVkOiB0cnVlCiAgcnVuQXNVc2VyOiAxMDAyCmNvbnRhaW5lclBvcnRzOgogIG1lbWNhY2hlZDogMTEyMTE=", + "target_platform": { + "target_platform_id": "{VIB_ENV_ALTERNATIVE_TARGET_PLATFORM}", + "size": { + "name": "S4" + } + } + }, + "actions": [ + { + "action_id": "health-check", + "params": { + "endpoint": "lb-memcached-memcache", + "app_protocol": "GENERIC" + } + }, + { + "action_id": "goss", + "params": { + "resources": { + "path": "/.vib/memcached/goss" + }, + "remote": { + "workload": "deploy-memcached" + }, + "vars_file": "vars.yaml" + } + } + ] + }, "publish": { "actions": [ { diff --git a/.vib/memcached/vib-verify.json b/.vib/memcached/vib-verify.json index 5f1cbd5c0d..fb46b11ac4 100644 --- a/.vib/memcached/vib-verify.json +++ b/.vib/memcached/vib-verify.json @@ -15,6 +15,42 @@ "action_id": "helm-lint" } ] + }, + "verify": { + "context": { + "resources": { + "url": "{SHA_ARCHIVE}", + "path": "/bitnami/memcached" + }, + "runtime_parameters": "c2VydmljZToKICB0eXBlOiBMb2FkQmFsYW5jZXIKICBwb3J0czoKICAgIG1lbWNhY2hlZDogODAKcG9kU2VjdXJpdHlDb250ZXh0OgogIGVuYWJsZWQ6IHRydWUKICBmc0dyb3VwOiAxMDAyCmNvbnRhaW5lclNlY3VyaXR5Q29udGV4dDoKICBlbmFibGVkOiB0cnVlCiAgcnVuQXNVc2VyOiAxMDAyCmNvbnRhaW5lclBvcnRzOgogIG1lbWNhY2hlZDogMTEyMTE=", + "target_platform": { + "target_platform_id": "{VIB_ENV_ALTERNATIVE_TARGET_PLATFORM}", + "size": { + "name": "S4" + } + } + }, + "actions": [ + { + "action_id": "health-check", + "params": { + "endpoint": "lb-memcached-memcache", + "app_protocol": "GENERIC" + } + }, + { + "action_id": "goss", + "params": { + "resources": { + "path": "/.vib/memcached/goss" + }, + "remote": { + "workload": "deploy-memcached" + }, + "vars_file": "vars.yaml" + } + } + ] } } }