From 9ed36ecbd3be8da199d2be81ee258038ec65218c Mon Sep 17 00:00:00 2001 From: Marcos Bjoerkelund Date: Wed, 24 May 2023 16:09:46 +0200 Subject: [PATCH] [bitnami/phpmyadmin] Add VIB tests (#33416) Signed-off-by: Marcos Bjoerkelund --- .vib/phpmyadmin/goss/goss.yaml | 13 ++++++++ .vib/phpmyadmin/goss/phpmyadmin.yaml | 47 ++++++++++++++++++++++++++++ .vib/phpmyadmin/goss/vars.yaml | 25 +++++++++++++++ .vib/phpmyadmin/vib-publish.json | 18 ++++++++++- .vib/phpmyadmin/vib-verify.json | 18 ++++++++++- 5 files changed, 119 insertions(+), 2 deletions(-) create mode 100644 .vib/phpmyadmin/goss/goss.yaml create mode 100644 .vib/phpmyadmin/goss/phpmyadmin.yaml create mode 100644 .vib/phpmyadmin/goss/vars.yaml diff --git a/.vib/phpmyadmin/goss/goss.yaml b/.vib/phpmyadmin/goss/goss.yaml new file mode 100644 index 000000000000..f564d5a37a0d --- /dev/null +++ b/.vib/phpmyadmin/goss/goss.yaml @@ -0,0 +1,13 @@ +gossfile: + # Goss tests exclusive to the current container + ../../phpmyadmin/goss/phpmyadmin.yaml: {} + # Load scripts from .vib/common/goss/templates + ../../common/goss/templates/check-apache-libphp.yaml: {} + ../../common/goss/templates/check-binaries.yaml: {} + ../../common/goss/templates/check-broken-symlinks.yaml: {} + ../../common/goss/templates/check-ca-certs.yaml: {} + ../../common/goss/templates/check-directories.yaml: {} + ../../common/goss/templates/check-files.yaml: {} + ../../common/goss/templates/check-linked-libraries.yaml: {} + ../../common/goss/templates/check-sed-in-place.yaml: {} + ../../common/goss/templates/check-spdx.yaml: {} diff --git a/.vib/phpmyadmin/goss/phpmyadmin.yaml b/.vib/phpmyadmin/goss/phpmyadmin.yaml new file mode 100644 index 000000000000..6d671acac7c0 --- /dev/null +++ b/.vib/phpmyadmin/goss/phpmyadmin.yaml @@ -0,0 +1,47 @@ +command: + check-app-version: + exec: grep '"version":' /opt/bitnami/phpmyadmin/package.json + exit-status: 0 + stdout: + - '"version": "{{ .Env.APP_VERSION }}",' + check-enabled-modules: + exec: php -m + exit-status: 0 + stdout: + {{ range $module := .Vars.phpmodules }} + - "{{ $module }}" + {{ end }} +file: + /opt/bitnami/php/etc/php.ini: + exists: true + filetype: file + contains: + - post_max_size = 80M + - upload_max_filesize = 80M + # HTTP vhost should have been properly rendered + /opt/bitnami/apache/conf/vhosts/phpmyadmin-vhost.conf: + exists: true + filetype: file + contains: + - /DocumentRoot.*/opt/bitnami/phpmyadmin/ + # HTTPS vhost should have been properly rendered + /opt/bitnami/apache/conf/vhosts/phpmyadmin-https-vhost.conf: + exists: true + filetype: file + contains: + - "SSLEngine on" + - /DocumentRoot.*/opt/bitnami/phpmyadmin/ + # Default phpMyAdmin configurations + /opt/bitnami/phpmyadmin/config.inc.php: + exists: true + filetype: file + contains: + - "$cfg['Servers'][$i]['host'] = 'mariadb';" + - "$cfg['AllowArbitraryServer'] = false;" + - "$cfg['Servers'][$i]['AllowNoPassword'] = true;" +group: + daemon: + exists: true +user: + daemon: + exists: true diff --git a/.vib/phpmyadmin/goss/vars.yaml b/.vib/phpmyadmin/goss/vars.yaml new file mode 100644 index 000000000000..1b7999c66b64 --- /dev/null +++ b/.vib/phpmyadmin/goss/vars.yaml @@ -0,0 +1,25 @@ +binaries: + - apachectl + - mariadb + - php + - render-template +directories: + - mode: "0775" + paths: + - /bitnami/phpmyadmin + - /opt/bitnami/phpmyadmin + - /opt/bitnami/phpmyadmin/tmp +files: + - paths: + - /opt/bitnami/phpmyadmin/config.inc.php +phpmodules: + # Based on https://docs.phpmyadmin.net/en/latest/require.html#php + # Required + - mbstring + - mysqli + - openssl + - xml + - zip + # Recommended + - curl +root_dir: /opt/bitnami diff --git a/.vib/phpmyadmin/vib-publish.json b/.vib/phpmyadmin/vib-publish.json index 8b6fe8eab4e6..224263a448cc 100644 --- a/.vib/phpmyadmin/vib-publish.json +++ b/.vib/phpmyadmin/vib-publish.json @@ -3,7 +3,8 @@ "resources": { "url": "{VIB_ENV_CONTAINER_URL}", "path": "{VIB_ENV_PATH}" - } + }, + "runtime_parameters": "Y29tbWFuZDogWyJ0YWlsIiwgIi1mIiwgIi9kZXYvbnVsbCJd" }, "phases": { "package": { @@ -33,6 +34,21 @@ }, "verify": { "actions": [ + { + "action_id": "goss", + "params": { + "resources": { + "path": "/.vib" + }, + "tests_file": "phpmyadmin/goss/goss.yaml", + "vars_file": "phpmyadmin/goss/vars.yaml", + "remote": { + "pod": { + "workload": "deploy-phpmyadmin" + } + } + } + }, { "action_id": "trivy", "params": { diff --git a/.vib/phpmyadmin/vib-verify.json b/.vib/phpmyadmin/vib-verify.json index a34e8aee9161..da1b40f7af54 100644 --- a/.vib/phpmyadmin/vib-verify.json +++ b/.vib/phpmyadmin/vib-verify.json @@ -3,7 +3,8 @@ "resources": { "url": "{SHA_ARCHIVE}", "path": "{VIB_ENV_PATH}" - } + }, + "runtime_parameters": "Y29tbWFuZDogWyJ0YWlsIiwgIi1mIiwgIi9kZXYvbnVsbCJd" }, "phases": { "package": { @@ -29,6 +30,21 @@ }, "verify": { "actions": [ + { + "action_id": "goss", + "params": { + "resources": { + "path": "/.vib" + }, + "tests_file": "phpmyadmin/goss/goss.yaml", + "vars_file": "phpmyadmin/goss/vars.yaml", + "remote": { + "pod": { + "workload": "deploy-phpmyadmin" + } + } + } + }, { "action_id": "trivy", "params": {