From 7ec6216a85d2372807afb4273e5c03211140d98f Mon Sep 17 00:00:00 2001 From: Michiel Date: Thu, 18 May 2023 09:43:49 +0200 Subject: [PATCH] [bitnami/airflow] Add VIB tests (#30860) * [bitnami/airflow] Add VIB tests Signed-off-by: Michiel --- .vib/airflow/goss/airflow.yaml | 18 +++++++++++++++++ .vib/airflow/goss/goss.yaml | 12 ++++++++++++ .vib/airflow/goss/vars.yaml | 35 ++++++++++++++++++++++++++++++++++ .vib/airflow/vib-publish.json | 18 ++++++++++++++++- .vib/airflow/vib-verify.json | 18 ++++++++++++++++- 5 files changed, 99 insertions(+), 2 deletions(-) create mode 100644 .vib/airflow/goss/airflow.yaml create mode 100644 .vib/airflow/goss/goss.yaml create mode 100644 .vib/airflow/goss/vars.yaml diff --git a/.vib/airflow/goss/airflow.yaml b/.vib/airflow/goss/airflow.yaml new file mode 100644 index 000000000000..93f7bce2aa58 --- /dev/null +++ b/.vib/airflow/goss/airflow.yaml @@ -0,0 +1,18 @@ +command: + check-scheduler: + timeout: 30000 + exec: airflow users list + exit-status: 0 + stdout: + - No data found + check-subpackages: + # Check python packages that should have been installed + exec: . /opt/bitnami/airflow/venv/bin/activate && pip list + exit-status: 0 + stdout: + {{ range $subpackage := .Vars.subpackages }} + - {{ $subpackage }} + {{ end }} +file: + /opt/bitnami/airflow/venv/lib/python3.9/site-packages/airflow/www/node_modules: + exists: false diff --git a/.vib/airflow/goss/goss.yaml b/.vib/airflow/goss/goss.yaml new file mode 100644 index 000000000000..a1ec06afb5e2 --- /dev/null +++ b/.vib/airflow/goss/goss.yaml @@ -0,0 +1,12 @@ +gossfile: + # Goss tests exclusive to the current container + ../../airflow/goss/airflow.yaml: {} + # Load scripts from .vib/common/goss/templates + ../../common/goss/templates/check-app-version.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-linked-libraries.yaml: {} + ../../common/goss/templates/check-sed-in-place.yaml: {} + ../../common/goss/templates/check-spdx.yaml: {} diff --git a/.vib/airflow/goss/vars.yaml b/.vib/airflow/goss/vars.yaml new file mode 100644 index 000000000000..72a3a662b638 --- /dev/null +++ b/.vib/airflow/goss/vars.yaml @@ -0,0 +1,35 @@ +binaries: + - airflow + - ini-file + - psql + - python + - wait-for-port +linked_libraries: + exclude_paths: + # Ignore python venv executable scripts + - /opt/bitnami/airflow/venv/.* +directories: + - mode: "0775" + paths: + - /opt/bitnami/airflow + - /opt/bitnami/airflow/dags + - /opt/bitnami/airflow/logs + - /opt/bitnami/airflow/logs/scheduler + - /opt/bitnami/airflow/tmp +root_dir: /opt/bitnami +version: + bin_name: airflow + flag: version +subpackages: + - async + - amazon + - celery + - /cncf.kubernetes/ + - docker + - hashicorp + - ldap + - google + - /microsoft.azure/ + - mysql + - postgres + - redis diff --git a/.vib/airflow/vib-publish.json b/.vib/airflow/vib-publish.json index 1e2aad8ef471..5b1bd882e86b 100644 --- a/.vib/airflow/vib-publish.json +++ b/.vib/airflow/vib-publish.json @@ -3,7 +3,8 @@ "resources": { "url": "{VIB_ENV_CONTAINER_URL}", "path": "{VIB_ENV_PATH}" - } + }, + "runtime_parameters": "Y29tbWFuZDogWyJ0YWlsIiwgIi1mIiwgIi9kZXYvbnVsbCJd" }, "phases": { "package": { @@ -32,6 +33,21 @@ }, "verify": { "actions": [ + { + "action_id": "goss", + "params": { + "resources": { + "path": "/.vib" + }, + "tests_file": "airflow/goss/goss.yaml", + "vars_file": "airflow/goss/vars.yaml", + "remote": { + "pod": { + "workload": "deploy-airflow" + } + } + } + }, { "action_id": "trivy", "params": { diff --git a/.vib/airflow/vib-verify.json b/.vib/airflow/vib-verify.json index a34e8aee9161..d3e58cdce791 100644 --- a/.vib/airflow/vib-verify.json +++ b/.vib/airflow/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": "airflow/goss/goss.yaml", + "vars_file": "airflow/goss/vars.yaml", + "remote": { + "pod": { + "workload": "deploy-airflow" + } + } + } + }, { "action_id": "trivy", "params": {