diff --git a/.github/workflows/cd-pipeline.yaml b/.github/workflows/cd-pipeline.yaml index 238796d3ad..dc9f1671f6 100644 --- a/.github/workflows/cd-pipeline.yaml +++ b/.github/workflows/cd-pipeline.yaml @@ -5,6 +5,7 @@ on: # rebuild any PRs and main branch changes - master paths: - 'bitnami/airflow/**' + - 'bitnami/apache/**' - 'bitnami/aspnet-core/**' - 'bitnami/cassandra/**' - 'bitnami/consul/**' diff --git a/.vib/apache/cypress/cypress.json b/.vib/apache/cypress/cypress.json new file mode 100644 index 0000000000..c202974ea1 --- /dev/null +++ b/.vib/apache/cypress/cypress.json @@ -0,0 +1,3 @@ +{ + "baseUrl": "http://localhost" +} diff --git a/.vib/apache/cypress/cypress/integration/apache_spec.js b/.vib/apache/cypress/cypress/integration/apache_spec.js new file mode 100644 index 0000000000..cf09a1dc61 --- /dev/null +++ b/.vib/apache/cypress/cypress/integration/apache_spec.js @@ -0,0 +1,7 @@ +/// + +it('visits the apache start page', () => { + cy.visit('/'); + cy.contains('It works'); +}); + diff --git a/.vib/apache/goss/goss.yaml b/.vib/apache/goss/goss.yaml new file mode 100644 index 0000000000..f5dcb1e368 --- /dev/null +++ b/.vib/apache/goss/goss.yaml @@ -0,0 +1,22 @@ +http: + https://apache:{{ .Vars.service.ports.https }}: + status: 200 + allow-insecure: true +file: + /etc/hosts: + exists: true + filetype: file + contains: + {{ range .Vars.hostAliases }} + {{ $ip := .ip }} + {{ range $host := .hostnames }} + - /{{ $ip }}.*{{$host}}/ + {{ end }} + {{ end }} +command: + check-user-info: + exec: id + exit-status: 0 + stdout: + - uid={{ .Vars.containerSecurityContext.runAsUser }} + - /groups=.*{{ .Vars.podSecurityContext.fsGroup }}/ diff --git a/.vib/apache/goss/vars.yaml b/.vib/apache/goss/vars.yaml new file mode 100644 index 0000000000..4bce76c663 --- /dev/null +++ b/.vib/apache/goss/vars.yaml @@ -0,0 +1,11 @@ +service: + ports: + https: 444 +hostAliases: + - ip: 127.0.0.1 + hostnames: + - status.localhost +podSecurityContext: + fsGroup: 1002 +containerSecurityContext: + runAsUser: 1002 diff --git a/.vib/apache/vib-publish.json b/.vib/apache/vib-publish.json index 1542a7c68c..8a0cb82414 100644 --- a/.vib/apache/vib-publish.json +++ b/.vib/apache/vib-publish.json @@ -22,7 +22,7 @@ "url": "{SHA_ARCHIVE}", "path": "/bitnami/apache" }, - "runtime_parameters": "InNlcnZpY2UiOgogICJwb3J0IjogODAKICAidHlwZSI6ICJMb2FkQmFsYW5jZXIi", + "runtime_parameters": "c2VydmljZToKICB0eXBlOiBMb2FkQmFsYW5jZXIKICBwb3J0czoKICAgIGh0dHA6IDgwCiAgICBodHRwczogNDQ0CmNvbnRhaW5lclBvcnRzOgogIGh0dHA6IDgwODAKICBodHRwczogODQ0Mwpob3N0QWxpYXNlczoKICAtIGlwOiAiMTI3LjAuMC4xIgogICAgaG9zdG5hbWVzOgogICAgICAtICJzdGF0dXMubG9jYWxob3N0Igpwb2RTZWN1cml0eUNvbnRleHQ6CiAgZW5hYmxlZDogdHJ1ZQogIGZzR3JvdXA6IDEwMDIKY29udGFpbmVyU2VjdXJpdHlDb250ZXh0OgogIGVuYWJsZWQ6IHRydWUKICBydW5Bc1VzZXI6IDEwMDI", "target_platform": { "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", "size": { @@ -37,6 +37,28 @@ "endpoint": "lb-apache-http", "app_protocol": "HTTP" } + }, + { + "action_id": "goss", + "params": { + "resources": { + "path": "/.vib/apache/goss" + }, + "remote": { + "workload": "deploy-apache" + }, + "vars_file": "vars.yaml" + } + }, + { + "action_id": "cypress", + "params": { + "resources": { + "path": "/.vib/apache/cypress" + }, + "endpoint": "lb-apache-http", + "app_protocol": "HTTP" + } } ] }, diff --git a/.vib/apache/vib-verify.json b/.vib/apache/vib-verify.json index d99cd54aa1..abec5f4387 100644 --- a/.vib/apache/vib-verify.json +++ b/.vib/apache/vib-verify.json @@ -22,7 +22,7 @@ "url": "{SHA_ARCHIVE}", "path": "/bitnami/apache" }, - "runtime_parameters": "InNlcnZpY2UiOgogICJwb3J0IjogODAKICAidHlwZSI6ICJMb2FkQmFsYW5jZXIi", + "runtime_parameters": "c2VydmljZToKICB0eXBlOiBMb2FkQmFsYW5jZXIKICBwb3J0czoKICAgIGh0dHA6IDgwCiAgICBodHRwczogNDQ0CmNvbnRhaW5lclBvcnRzOgogIGh0dHA6IDgwODAKICBodHRwczogODQ0Mwpob3N0QWxpYXNlczoKICAtIGlwOiAiMTI3LjAuMC4xIgogICAgaG9zdG5hbWVzOgogICAgICAtICJzdGF0dXMubG9jYWxob3N0Igpwb2RTZWN1cml0eUNvbnRleHQ6CiAgZW5hYmxlZDogdHJ1ZQogIGZzR3JvdXA6IDEwMDIKY29udGFpbmVyU2VjdXJpdHlDb250ZXh0OgogIGVuYWJsZWQ6IHRydWUKICBydW5Bc1VzZXI6IDEwMDI", "target_platform": { "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", "size": { @@ -37,6 +37,28 @@ "endpoint": "lb-apache-http", "app_protocol": "HTTP" } + }, + { + "action_id": "goss", + "params": { + "resources": { + "path": "/.vib/apache/goss" + }, + "remote": { + "workload": "deploy-apache" + }, + "vars_file": "vars.yaml" + } + }, + { + "action_id": "cypress", + "params": { + "resources": { + "path": "/.vib/apache/cypress" + }, + "endpoint": "lb-apache-http", + "app_protocol": "HTTP" + } } ] }