From 0aa5201bdab52da7a68b4b0b55534315fc3db20f Mon Sep 17 00:00:00 2001 From: openshift-helm-charts-bot <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 28 Oct 2025 18:14:13 +0000 Subject: [PATCH] Auto-Release-1.9.0 --- .../mpizarro/librechat/1.8.10/report.yaml | 150 ++ .../mpizarro/librechat/1.8.14/report.yaml | 155 ++ charts/community/mpizarro/librechat/OWNERS | 9 + .../6.6.83/report.yaml | 115 ++ .../mpizarro/mattermost-team-edition/OWNERS | 9 + .../community/mpizarro/n8n/1.14.2/report.yaml | 203 +++ .../community/mpizarro/n8n/1.15.5/report.yaml | 118 ++ charts/community/mpizarro/n8n/OWNERS | 9 + .../6046316dac3db97929ca740b/core-helm/OWNERS | 9 + .../6046316dac3db97929ca740b/core/OWNERS | 9 + .../ngvoice-ims-core/OWNERS | 9 + .../wavefront-collector-helm-test/OWNERS | 10 + .../kyndryl-aml/OWNERS | 9 + .../cloudguard/OWNERS | 11 + charts/partners/a10networks/a10tkc/OWNERS | 2 +- .../alquimiaai/alquimia-runtime-helm/OWNERS | 3 +- .../1.2.0/axual-governance-core-1.2.0.tgz | Bin 0 -> 68499 bytes .../axual-governance-core/1.2.0/report.yaml | 139 ++ .../chart-external-prod/OWNERS | 5 +- .../chart-internal-prod/OWNERS | 5 +- .../helm-chart-internal-1627019053/OWNERS | 1 + .../helm-chart-internal-1627019310/OWNERS | 1 + .../prodtest/OWNERS | 1 + .../test-2102/OWNERS | 1 + charts/partners/broadpeak/bks400/OWNERS | 3 +- charts/partners/c3-ai/c3-cluster/OWNERS | 5 +- charts/partners/ca/uma/OWNERS | 3 +- charts/partners/castai/castai-agent/OWNERS | 2 +- .../catalogicsoftware/cloudcasa/OWNERS | 5 +- .../certpm-test-partner/gitbook/OWNERS | 1 + .../certpm-test-partner/helm-chart-doc/OWNERS | 1 + .../test-helm-chart-new/OWNERS | 5 +- .../partners/cloudcastles/cc-ubi8-hw/OWNERS | 3 +- charts/partners/cpd/wmla231/OWNERS | 1 + .../partners/datacore-software/puls8/OWNERS | 9 + charts/partners/dh2i/dxemssql/OWNERS | 2 +- charts/partners/diffgram/diffgram-helm/OWNERS | 5 +- .../partners/enclaive/vhsm/0.29.0/report.yaml | 103 ++ .../enclaive/vhsm/0.29.0/vhsm-0.29.0.tgz | Bin 0 -> 38469 bytes charts/partners/enclaive/vhsm/OWNERS | 12 + charts/partners/exate/exateapigator/OWNERS | 2 +- charts/partners/exfo/uverifier/OWNERS | 3 +- charts/partners/fiware/orion-ld/OWNERS | 3 +- .../partners/flomesh/flomesh-console/OWNERS | 4 +- charts/partners/flomesh/fsm/OWNERS | 4 +- charts/partners/flomesh/osm-edge/OWNERS | 4 +- .../dsm-secrets-injector-chart/OWNERS | 3 +- charts/partners/gitlab/gitlab/OWNERS | 5 +- charts/partners/granulate/sagent/OWNERS | 2 +- .../hashicorp/vault/0.31.0/src/.helmignore | 29 + .../hashicorp/vault/0.31.0/src/CHANGELOG.md | 635 ++++++++ .../hashicorp/vault/0.31.0/src/CODEOWNERS | 1 + .../vault/0.31.0/src/CONTRIBUTING.md | 247 +++ .../hashicorp/vault/0.31.0/src/Chart.yaml | 23 + .../hashicorp/vault/0.31.0/src/LICENSE | 355 +++++ .../hashicorp/vault/0.31.0/src/Makefile | 101 ++ .../hashicorp/vault/0.31.0/src/README.md | 43 + .../vault/0.31.0/src/templates/NOTES.txt | 14 + .../vault/0.31.0/src/templates/_helpers.tpl | 1131 ++++++++++++++ .../src/templates/csi-agent-configmap.yaml | 34 + .../0.31.0/src/templates/csi-clusterrole.yaml | 23 + .../src/templates/csi-clusterrolebinding.yaml | 24 + .../0.31.0/src/templates/csi-daemonset.yaml | 157 ++ .../vault/0.31.0/src/templates/csi-role.yaml | 32 + .../0.31.0/src/templates/csi-rolebinding.yaml | 25 + .../src/templates/csi-serviceaccount.yaml | 21 + .../src/templates/injector-certs-secret.yaml | 19 + .../src/templates/injector-clusterrole.yaml | 30 + .../injector-clusterrolebinding.yaml | 24 + .../src/templates/injector-deployment.yaml | 179 +++ .../templates/injector-disruptionbudget.yaml | 25 + .../templates/injector-mutating-webhook.yaml | 45 + .../templates/injector-network-policy.yaml | 29 + .../src/templates/injector-psp-role.yaml | 25 + .../templates/injector-psp-rolebinding.yaml | 26 + .../0.31.0/src/templates/injector-psp.yaml | 51 + .../0.31.0/src/templates/injector-role.yaml | 38 + .../src/templates/injector-rolebinding.yaml | 27 + .../src/templates/injector-service.yaml | 27 + .../templates/injector-serviceaccount.yaml | 18 + .../templates/prometheus-prometheusrules.yaml | 31 + .../templates/prometheus-servicemonitor.yaml | 62 + .../templates/server-clusterrolebinding.yaml | 29 + .../templates/server-config-configmap.yaml | 31 + .../src/templates/server-discovery-role.yaml | 26 + .../server-discovery-rolebinding.yaml | 34 + .../templates/server-disruptionbudget.yaml | 31 + .../templates/server-ha-active-service.yaml | 64 + .../templates/server-ha-standby-service.yaml | 63 + .../templates/server-headless-service.yaml | 47 + .../0.31.0/src/templates/server-ingress.yaml | 69 + .../src/templates/server-network-policy.yaml | 24 + .../0.31.0/src/templates/server-psp-role.yaml | 25 + .../src/templates/server-psp-rolebinding.yaml | 26 + .../0.31.0/src/templates/server-psp.yaml | 54 + .../0.31.0/src/templates/server-route.yaml | 39 + .../0.31.0/src/templates/server-service.yaml | 59 + .../server-serviceaccount-secret.yaml | 21 + .../src/templates/server-serviceaccount.yaml | 22 + .../src/templates/server-statefulset.yaml | 240 +++ .../src/templates/tests/server-test.yaml | 60 + .../0.31.0/src/templates/ui-service.yaml | 50 + .../vault/0.31.0/src/values.openshift.yaml | 34 + .../vault/0.31.0/src/values.schema.json | 1329 +++++++++++++++++ .../hashicorp/vault/0.31.0/src/values.yaml | 1240 +++++++++++++++ .../1.0.10/i2i5gcorehelm-1.0.10.tgz | Bin 0 -> 37699 bytes .../1.0.10/i2i5gcorehelm-1.0.10.tgz.prov | 30 + .../i2i/i2i5gcorehelm/1.0.10/report.yaml | 105 ++ charts/partners/i2i/i2i5gcorehelm/OWNERS | 2 +- charts/partners/ibm-edge/demo-helm/OWNERS | 3 +- charts/partners/ibm-edge/nodered-chart/OWNERS | 3 +- charts/partners/ibm/ibm-b2bi-prod/OWNERS | 7 +- charts/partners/ibm/ibm-connect-direct/OWNERS | 3 +- .../ibm/ibm-object-storage-plugin/OWNERS | 7 +- charts/partners/ibm/ibm-oms-ent-prod/OWNERS | 7 +- charts/partners/ibm/ibm-oms-pro-prod/OWNERS | 7 +- .../ibm-operator-catalog-enablement/OWNERS | 7 +- charts/partners/ibm/ibm-sfg-prod/OWNERS | 7 +- .../ibm/ibm-spectrum-protect-plus-prod/OWNERS | 7 +- charts/partners/illumio/illumio/OWNERS | 6 +- charts/partners/inaccel/fpga-operator/OWNERS | 3 +- .../intracom-telecom/nfvri-chart/OWNERS | 3 +- charts/partners/intracom-telecom/nfvri/OWNERS | 2 +- .../partners/iomesh/iomesh-csidriver/OWNERS | 1 + charts/partners/iomesh/iomesh-operator/OWNERS | 1 + .../partners/kovair/kovairdevops-helm/OWNERS | 3 +- .../partners/lacework/lacework-agent/OWNERS | 3 +- charts/partners/mavenir/amf/OWNERS | 4 +- charts/partners/mavenir/ausf/OWNERS | 4 +- charts/partners/mavenir/ksync/OWNERS | 4 +- charts/partners/mavenir/mtcil/OWNERS | 4 +- charts/partners/mavenir/nrf/OWNERS | 4 +- charts/partners/mavenir/nssf/OWNERS | 4 +- charts/partners/mavenir/pcf/OWNERS | 4 +- charts/partners/mavenir/smf/OWNERS | 4 +- charts/partners/mavenir/udm/OWNERS | 4 +- charts/partners/mavenir/udr/OWNERS | 4 +- charts/partners/mavenir/udsf/OWNERS | 4 +- charts/partners/mavenir/upf/OWNERS | 4 +- .../partners/memverge/mmai/1.0.0/report.yaml | 100 ++ charts/partners/memverge/mmai/OWNERS | 11 + .../partners/memverge/mvtco/1.1.0/report.yaml | 101 ++ charts/partners/mobileum/alerter/OWNERS | 2 +- charts/partners/mobileum/caddy015/OWNERS | 2 +- charts/partners/mobileum/data-sync/OWNERS | 4 +- charts/partners/mobileum/ignite/OWNERS | 2 +- charts/partners/mobileum/keycloak040/OWNERS | 2 +- .../partners/mobileum/sparkjobmanager/OWNERS | 2 +- charts/partners/mobileum/trinodb/OWNERS | 4 +- charts/partners/mobileum/wafplatform/OWNERS | 2 +- .../partners/multipolar/bpjstk-service/OWNERS | 2 +- .../nebulon/nebulon-csi-nebulon/OWNERS | 5 +- charts/partners/nirmata/kyverno/OWNERS | 3 +- .../cmm-operator-k8s/25.7.0-p1/report.yaml | 98 ++ .../3.3.45-rhel/report.yaml | 94 ++ .../3.3.48-rhel/report.yaml | 94 ++ .../nonamesec-ubi/3.46.16-lts/report.yaml | 168 +++ .../nonamesec-ubi/3.46.16/report.yaml | 168 +++ .../nonamesec-ubi/3.46.18-lts/report.yaml | 136 ++ .../nonamesec-ubi/3.46.19-lts/report.yaml | 136 ++ .../nonamesec-ubi/3.46.19/report.yaml | 136 ++ .../nonamesec-ubi/3.50.10/report.yaml | 96 +- .../nonamesec-ubi/3.51.12/report.yaml | 168 +++ .../nonamesec-ubi/3.52.12-lts/report.yaml | 136 ++ .../nonamesec-ubi/3.52.12/report.yaml | 136 ++ .../nonamesec-ubi/3.52.2/report.yaml | 168 +++ .../nonamesec-ubi/3.52.3/report.yaml | 168 +++ .../nonamesec-ubi/3.52.5/report.yaml | 168 +++ .../nonamesec-ubi/3.52.6/report.yaml | 136 ++ .../nonamesec-ubi/3.54.0/report.yaml | 136 ++ .../nonamesec-ubi/3.54.1/report.yaml | 136 ++ .../nonamesec-ubi/3.54.2/report.yaml | 136 ++ .../nonamesec-ubi/3.54.3/report.yaml | 136 ++ .../nonamesec-ubi/3.54.4/report.yaml | 136 ++ .../nonamesec-ubi/3.54.5/report.yaml | 136 ++ .../nonamesec-ubi/3.54.6/report.yaml | 136 ++ .../nonamesec-ubi/3.55.0/report.yaml | 136 ++ .../nonamesec-ubi/3.55.1/report.yaml | 136 ++ .../3.51.12/report.yaml | 94 ++ .../3.52.10/report.yaml | 94 ++ .../3.52.12/report.yaml | 94 ++ .../3.52.3/report.yaml | 94 ++ .../3.52.4/report.yaml | 94 ++ .../3.52.5/report.yaml | 94 ++ .../3.52.6/report.yaml | 94 ++ .../3.53.5/report.yaml | 94 ++ .../3.54.0/report.yaml | 94 ++ .../3.54.1/report.yaml | 94 ++ .../3.54.2/report.yaml | 94 ++ .../3.54.3/report.yaml | 94 ++ .../3.54.4/report.yaml | 94 ++ .../3.54.5/report.yaml | 94 ++ .../3.54.6/report.yaml | 94 ++ .../3.55.0/report.yaml | 94 ++ .../3.55.1/report.yaml | 94 ++ .../not-a-real-company/helm-testing/OWNERS | 1 + .../partners/ntest/certpm-test-chart/OWNERS | 1 + charts/partners/nti-containers/sepp/OWNERS | 2 +- charts/partners/openziti/ziti-host/OWNERS | 2 +- charts/partners/opscruise/opscruise/OWNERS | 2 +- .../weblogic-kubernetes-operator/OWNERS | 9 + .../progressoft/corpay-progressoft/OWNERS | 2 +- .../redhat-arkady-test/demochart7/OWNERS | 2 +- .../redhat-arkady-test/mychart/OWNERS | 1 + .../redhat-arkady-test/newtestchart2/OWNERS | 2 +- .../redhat-arkady-test/newtestchart5/OWNERS | 2 +- .../redhat-arkady-test/newtestchart6/OWNERS | 2 +- .../redhat-arkady-test/newtestchart7/OWNERS | 2 +- .../partners/redhat-arkady-test/test1/OWNERS | 3 +- .../redhat-arkady-test/testchart1/OWNERS | 5 +- .../redhat-arkady-test/testchart11/OWNERS | 2 +- .../redhat-arkady-test/testchart12/OWNERS | 2 +- .../redhat-arkady-test/testchartpr1/OWNERS | 2 +- .../redhat-test/chart-helm-two-nine/OWNERS | 9 + .../partners/redhat-test/chartprodhelm/OWNERS | 4 +- charts/partners/redhat-test/helm-12/OWNERS | 9 + charts/partners/redhat-test/testtstst/OWNERS | 9 + .../reform/reform-deploy/0.9.1/report.yaml | 103 ++ charts/partners/reform/reform-deploy/OWNERS | 12 + .../sjpark00/hello-python-operator/OWNERS | 9 + charts/partners/sjpark00/hello-python/OWNERS | 9 + .../solace/pubsubplus-openshift-dev/OWNERS | 3 +- .../solace/pubsubplus-openshift-ha/OWNERS | 3 +- .../solace/pubsubplus-openshift/OWNERS | 3 +- charts/partners/solo-io/gloo-ee-helm/OWNERS | 3 +- .../solo-io/gloo-mesh-enterprise/OWNERS | 3 +- .../partners/streebo/streebo-chatbot/OWNERS | 3 +- .../taylor-test-company/chart-test/OWNERS | 1 + charts/partners/test/chartname-cnf/OWNERS | 1 + charts/partners/test467/dvdv/OWNERS | 5 +- .../cdr-core-ehrbase-enterprise/OWNERS | 4 +- charts/partners/vitagroupag/ehrbase/OWNERS | 4 +- .../ve-touchstone-master/5.1.0/report.yaml | 176 +++ .../voereir/ve-touchstone-master/OWNERS | 10 + charts/partners/wavefronthq/wavefront/OWNERS | 3 +- .../whiteklay/izac-helm-charts/OWNERS | 2 +- charts/partners/yugabytedb/ybhelm2/OWNERS | 1 + .../redhat-cryostat/2.0.2/src/.helmignore | 23 + .../redhat-cryostat/2.0.2/src/Chart.yaml | 46 + .../redhat/redhat-cryostat/2.0.2/src/LICENSE | 202 +++ .../redhat-cryostat/2.0.2/src/README.md | 274 ++++ .../redhat-cryostat/2.0.2/src/TESTING.md | 148 ++ .../2.0.2/src/release-notes.md | 1 + .../2.0.2/src/templates/NOTES.txt | 64 + .../2.0.2/src/templates/_helpers.tpl | 195 +++ .../2.0.2/src/templates/_oauth2Proxy.tpl | 54 + .../src/templates/_openshiftOauthProxy.tpl | 59 + .../src/templates/_reports_authproxy.tpl | 148 ++ .../2.0.2/src/templates/alpha_config.yaml | 38 + .../src/templates/clusterrolebinding.yaml | 16 + .../2.0.2/src/templates/cookie_secret.yaml | 11 + .../src/templates/cryostat_deployment.yaml | 250 ++++ .../2.0.2/src/templates/cryostat_service.yaml | 31 + .../src/templates/cryostat_tls_secret.yaml | 15 + .../2.0.2/src/templates/db_deployment.yaml | 98 ++ .../2.0.2/src/templates/db_pvc.yaml | 27 + .../2.0.2/src/templates/db_secret.yaml | 13 + .../2.0.2/src/templates/db_service.yaml | 16 + .../2.0.2/src/templates/ingress.yaml | 70 + .../src/templates/networkpolicy_ingress.yaml | 87 ++ .../src/templates/reports_deployment.yaml | 93 ++ .../2.0.2/src/templates/reports_secret.yaml | 13 + .../2.0.2/src/templates/reports_service.yaml | 18 + .../src/templates/reports_tls_secret.yaml | 15 + .../2.0.2/src/templates/role.yaml | 61 + .../2.0.2/src/templates/rolebinding.yaml | 31 + .../2.0.2/src/templates/route.yaml | 50 + .../2.0.2/src/templates/serviceaccount.yaml | 17 + .../src/templates/storage_deployment.yaml | 112 ++ .../2.0.2/src/templates/storage_pvc.yaml | 27 + .../2.0.2/src/templates/storage_secret.yaml | 11 + .../2.0.2/src/templates/storage_service.yaml | 16 + .../templates/tests/test-core-connection.yaml | 28 + .../tests/test-grafana-connection.yaml | 19 + .../2.0.2/src/tests/alpha_config_test.yaml | 45 + .../src/tests/clusterrolebinding_test.yaml | 65 + .../2.0.2/src/tests/cookie_secret_test.yaml | 36 + .../src/tests/cryostat_deployment_test.yaml | 737 +++++++++ .../src/tests/cryostat_service_test.yaml | 195 +++ .../src/tests/cryostat_tls_secret_test.yaml | 46 + .../2.0.2/src/tests/db_deployment_test.yaml | 364 +++++ .../2.0.2/src/tests/db_pvc_test.yaml | 57 + .../2.0.2/src/tests/db_secret_test.yaml | 40 + .../2.0.2/src/tests/db_service_test.yaml | 61 + .../2.0.2/src/tests/ingress_test.yaml | 60 + .../src/tests/networkpolicy_ingress_test.yaml | 148 ++ .../2.0.2/src/tests/notes_test.yaml | 164 ++ .../src/tests/reports_deployment_test.yaml | 316 ++++ .../2.0.2/src/tests/reports_secret_test.yaml | 40 + .../2.0.2/src/tests/reports_service_test.yaml | 78 + .../2.0.2/src/tests/role_test.yaml | 143 ++ .../2.0.2/src/tests/rolebinding_test.yaml | 124 ++ .../2.0.2/src/tests/route_test.yaml | 75 + .../2.0.2/src/tests/serviceaccount_test.yaml | 37 + .../src/tests/storage_deployment_test.yaml | 393 +++++ .../2.0.2/src/tests/storage_pvc_test.yaml | 57 + .../2.0.2/src/tests/storage_secret_test.yaml | 36 + .../2.0.2/src/tests/storage_service_test.yaml | 62 + .../2.0.2/src/values.schema.json | 1160 ++++++++++++++ .../redhat-cryostat/2.0.2/src/values.yaml | 456 ++++++ .../redhat-cryostat/2.0.3/src/.helmignore | 23 + .../redhat-cryostat/2.0.3/src/Chart.yaml | 46 + .../redhat/redhat-cryostat/2.0.3/src/LICENSE | 202 +++ .../redhat-cryostat/2.0.3/src/README.md | 274 ++++ .../redhat-cryostat/2.0.3/src/TESTING.md | 148 ++ .../2.0.3/src/release-notes.md | 1 + .../2.0.3/src/templates/NOTES.txt | 64 + .../2.0.3/src/templates/_helpers.tpl | 195 +++ .../2.0.3/src/templates/_oauth2Proxy.tpl | 54 + .../src/templates/_openshiftOauthProxy.tpl | 59 + .../src/templates/_reports_authproxy.tpl | 148 ++ .../2.0.3/src/templates/alpha_config.yaml | 38 + .../src/templates/clusterrolebinding.yaml | 16 + .../2.0.3/src/templates/cookie_secret.yaml | 11 + .../src/templates/cryostat_deployment.yaml | 250 ++++ .../2.0.3/src/templates/cryostat_service.yaml | 31 + .../src/templates/cryostat_tls_secret.yaml | 15 + .../2.0.3/src/templates/db_deployment.yaml | 98 ++ .../2.0.3/src/templates/db_pvc.yaml | 27 + .../2.0.3/src/templates/db_secret.yaml | 13 + .../2.0.3/src/templates/db_service.yaml | 16 + .../2.0.3/src/templates/ingress.yaml | 70 + .../src/templates/networkpolicy_ingress.yaml | 87 ++ .../src/templates/reports_deployment.yaml | 93 ++ .../2.0.3/src/templates/reports_secret.yaml | 13 + .../2.0.3/src/templates/reports_service.yaml | 18 + .../src/templates/reports_tls_secret.yaml | 15 + .../2.0.3/src/templates/role.yaml | 61 + .../2.0.3/src/templates/rolebinding.yaml | 31 + .../2.0.3/src/templates/route.yaml | 50 + .../2.0.3/src/templates/serviceaccount.yaml | 17 + .../src/templates/storage_deployment.yaml | 112 ++ .../2.0.3/src/templates/storage_pvc.yaml | 27 + .../2.0.3/src/templates/storage_secret.yaml | 11 + .../2.0.3/src/templates/storage_service.yaml | 16 + .../templates/tests/test-core-connection.yaml | 28 + .../tests/test-grafana-connection.yaml | 19 + .../2.0.3/src/tests/alpha_config_test.yaml | 45 + .../src/tests/clusterrolebinding_test.yaml | 65 + .../2.0.3/src/tests/cookie_secret_test.yaml | 36 + .../src/tests/cryostat_deployment_test.yaml | 737 +++++++++ .../src/tests/cryostat_service_test.yaml | 195 +++ .../src/tests/cryostat_tls_secret_test.yaml | 46 + .../2.0.3/src/tests/db_deployment_test.yaml | 364 +++++ .../2.0.3/src/tests/db_pvc_test.yaml | 57 + .../2.0.3/src/tests/db_secret_test.yaml | 40 + .../2.0.3/src/tests/db_service_test.yaml | 61 + .../2.0.3/src/tests/ingress_test.yaml | 60 + .../src/tests/networkpolicy_ingress_test.yaml | 148 ++ .../2.0.3/src/tests/notes_test.yaml | 164 ++ .../src/tests/reports_deployment_test.yaml | 316 ++++ .../2.0.3/src/tests/reports_secret_test.yaml | 40 + .../2.0.3/src/tests/reports_service_test.yaml | 78 + .../2.0.3/src/tests/role_test.yaml | 143 ++ .../2.0.3/src/tests/rolebinding_test.yaml | 124 ++ .../2.0.3/src/tests/route_test.yaml | 75 + .../2.0.3/src/tests/serviceaccount_test.yaml | 37 + .../src/tests/storage_deployment_test.yaml | 393 +++++ .../2.0.3/src/tests/storage_pvc_test.yaml | 57 + .../2.0.3/src/tests/storage_secret_test.yaml | 36 + .../2.0.3/src/tests/storage_service_test.yaml | 62 + .../2.0.3/src/values.schema.json | 1160 ++++++++++++++ .../redhat-cryostat/2.0.3/src/values.yaml | 456 ++++++ ...developer-hub-orchestrator-infra-1.7.0.tgz | Bin 0 -> 39111 bytes ...developer-hub-orchestrator-infra-1.7.1.tgz | Bin 0 -> 39109 bytes .../1.6.4/redhat-developer-hub-1.6.4.tgz | Bin 0 -> 240752 bytes .../1.6.5/redhat-developer-hub-1.6.5.tgz | Bin 0 -> 240759 bytes .../1.7.0/redhat-developer-hub-1.7.0.tgz | Bin 0 -> 252413 bytes .../1.7.1/redhat-developer-hub-1.7.1.tgz | Bin 0 -> 252706 bytes .../0.0.3/src/Chart.yaml | 19 + .../0.0.3/src/README.md | 22 + .../0.0.3/src/templates/deployment.yaml | 87 ++ .../src/templates/persistentvolumeclaim.yaml | 13 + .../0.0.3/src/templates/secret.yaml | 17 + .../0.0.3/src/templates/service.yaml | 15 + .../tests/test-mariadb-connection.yaml | 27 + .../0.0.3/src/values.schema.json | 49 + .../0.0.3/src/values.yaml | 9 + .../0.0.5/src/Chart.yaml | 20 + .../0.0.5/src/README.md | 22 + .../0.0.5/src/templates/deployment.yaml | 85 ++ .../src/templates/persistentvolumeclaim.yaml | 12 + .../0.0.5/src/templates/secret.yaml | 16 + .../0.0.5/src/templates/service.yaml | 14 + .../tests/test-mysql-connection.yaml | 27 + .../0.0.5/src/values.schema.json | 49 + .../0.0.5/src/values.yaml | 9 + .../2.0.0/redhat-rhaap-portal-2.0.0.tgz | Bin 0 -> 261085 bytes .../2.0.1/redhat-rhaap-portal-2.0.1.tgz | Bin 0 -> 261095 bytes .../2.0.2/redhat-rhaap-portal-2.0.2.tgz | Bin 0 -> 261036 bytes .../2.0.3/redhat-rhaap-portal-2.0.3.tgz | Bin 0 -> 260971 bytes .../redhat-trusted-profile-analyzer-1.1.1.tgz | Bin 0 -> 21703 bytes .../1.1.1/report.yaml | 103 ++ 393 files changed, 29508 insertions(+), 200 deletions(-) create mode 100644 charts/community/mpizarro/librechat/1.8.10/report.yaml create mode 100644 charts/community/mpizarro/librechat/1.8.14/report.yaml create mode 100644 charts/community/mpizarro/librechat/OWNERS create mode 100644 charts/community/mpizarro/mattermost-team-edition/6.6.83/report.yaml create mode 100644 charts/community/mpizarro/mattermost-team-edition/OWNERS create mode 100644 charts/community/mpizarro/n8n/1.14.2/report.yaml create mode 100644 charts/community/mpizarro/n8n/1.15.5/report.yaml create mode 100644 charts/community/mpizarro/n8n/OWNERS create mode 100644 charts/partners/6046316dac3db97929ca740b/core-helm/OWNERS create mode 100644 charts/partners/6046316dac3db97929ca740b/core/OWNERS create mode 100644 charts/partners/60f17aa380cc9b7e0a99d5fa/ngvoice-ims-core/OWNERS create mode 100644 charts/partners/61958d07f5a0de0193e7860d/wavefront-collector-helm-test/OWNERS create mode 100644 charts/partners/61c4cabb4841f1221d7676be/kyndryl-aml/OWNERS create mode 100644 charts/partners/61cb8b3c80cc9b10e948181e/cloudguard/OWNERS create mode 100644 charts/partners/axual/axual-governance-core/1.2.0/axual-governance-core-1.2.0.tgz create mode 100644 charts/partners/axual/axual-governance-core/1.2.0/report.yaml create mode 100644 charts/partners/datacore-software/puls8/OWNERS create mode 100644 charts/partners/enclaive/vhsm/0.29.0/report.yaml create mode 100644 charts/partners/enclaive/vhsm/0.29.0/vhsm-0.29.0.tgz create mode 100644 charts/partners/enclaive/vhsm/OWNERS create mode 100644 charts/partners/hashicorp/vault/0.31.0/src/.helmignore create mode 100644 charts/partners/hashicorp/vault/0.31.0/src/CHANGELOG.md create mode 100644 charts/partners/hashicorp/vault/0.31.0/src/CODEOWNERS create mode 100644 charts/partners/hashicorp/vault/0.31.0/src/CONTRIBUTING.md create mode 100644 charts/partners/hashicorp/vault/0.31.0/src/Chart.yaml create mode 100644 charts/partners/hashicorp/vault/0.31.0/src/LICENSE create mode 100644 charts/partners/hashicorp/vault/0.31.0/src/Makefile create mode 100644 charts/partners/hashicorp/vault/0.31.0/src/README.md create mode 100644 charts/partners/hashicorp/vault/0.31.0/src/templates/NOTES.txt create mode 100644 charts/partners/hashicorp/vault/0.31.0/src/templates/_helpers.tpl create mode 100644 charts/partners/hashicorp/vault/0.31.0/src/templates/csi-agent-configmap.yaml create mode 100644 charts/partners/hashicorp/vault/0.31.0/src/templates/csi-clusterrole.yaml create mode 100644 charts/partners/hashicorp/vault/0.31.0/src/templates/csi-clusterrolebinding.yaml create mode 100644 charts/partners/hashicorp/vault/0.31.0/src/templates/csi-daemonset.yaml create mode 100644 charts/partners/hashicorp/vault/0.31.0/src/templates/csi-role.yaml create mode 100644 charts/partners/hashicorp/vault/0.31.0/src/templates/csi-rolebinding.yaml create mode 100644 charts/partners/hashicorp/vault/0.31.0/src/templates/csi-serviceaccount.yaml create mode 100644 charts/partners/hashicorp/vault/0.31.0/src/templates/injector-certs-secret.yaml create mode 100644 charts/partners/hashicorp/vault/0.31.0/src/templates/injector-clusterrole.yaml create mode 100644 charts/partners/hashicorp/vault/0.31.0/src/templates/injector-clusterrolebinding.yaml create mode 100644 charts/partners/hashicorp/vault/0.31.0/src/templates/injector-deployment.yaml create mode 100644 charts/partners/hashicorp/vault/0.31.0/src/templates/injector-disruptionbudget.yaml create mode 100644 charts/partners/hashicorp/vault/0.31.0/src/templates/injector-mutating-webhook.yaml create mode 100644 charts/partners/hashicorp/vault/0.31.0/src/templates/injector-network-policy.yaml create mode 100644 charts/partners/hashicorp/vault/0.31.0/src/templates/injector-psp-role.yaml create mode 100644 charts/partners/hashicorp/vault/0.31.0/src/templates/injector-psp-rolebinding.yaml create mode 100644 charts/partners/hashicorp/vault/0.31.0/src/templates/injector-psp.yaml create mode 100644 charts/partners/hashicorp/vault/0.31.0/src/templates/injector-role.yaml create mode 100644 charts/partners/hashicorp/vault/0.31.0/src/templates/injector-rolebinding.yaml create mode 100644 charts/partners/hashicorp/vault/0.31.0/src/templates/injector-service.yaml create mode 100644 charts/partners/hashicorp/vault/0.31.0/src/templates/injector-serviceaccount.yaml create mode 100644 charts/partners/hashicorp/vault/0.31.0/src/templates/prometheus-prometheusrules.yaml create mode 100644 charts/partners/hashicorp/vault/0.31.0/src/templates/prometheus-servicemonitor.yaml create mode 100644 charts/partners/hashicorp/vault/0.31.0/src/templates/server-clusterrolebinding.yaml create mode 100644 charts/partners/hashicorp/vault/0.31.0/src/templates/server-config-configmap.yaml create mode 100644 charts/partners/hashicorp/vault/0.31.0/src/templates/server-discovery-role.yaml create mode 100644 charts/partners/hashicorp/vault/0.31.0/src/templates/server-discovery-rolebinding.yaml create mode 100644 charts/partners/hashicorp/vault/0.31.0/src/templates/server-disruptionbudget.yaml create mode 100644 charts/partners/hashicorp/vault/0.31.0/src/templates/server-ha-active-service.yaml create mode 100644 charts/partners/hashicorp/vault/0.31.0/src/templates/server-ha-standby-service.yaml create mode 100644 charts/partners/hashicorp/vault/0.31.0/src/templates/server-headless-service.yaml create mode 100644 charts/partners/hashicorp/vault/0.31.0/src/templates/server-ingress.yaml create mode 100644 charts/partners/hashicorp/vault/0.31.0/src/templates/server-network-policy.yaml create mode 100644 charts/partners/hashicorp/vault/0.31.0/src/templates/server-psp-role.yaml create mode 100644 charts/partners/hashicorp/vault/0.31.0/src/templates/server-psp-rolebinding.yaml create mode 100644 charts/partners/hashicorp/vault/0.31.0/src/templates/server-psp.yaml create mode 100644 charts/partners/hashicorp/vault/0.31.0/src/templates/server-route.yaml create mode 100644 charts/partners/hashicorp/vault/0.31.0/src/templates/server-service.yaml create mode 100644 charts/partners/hashicorp/vault/0.31.0/src/templates/server-serviceaccount-secret.yaml create mode 100644 charts/partners/hashicorp/vault/0.31.0/src/templates/server-serviceaccount.yaml create mode 100644 charts/partners/hashicorp/vault/0.31.0/src/templates/server-statefulset.yaml create mode 100644 charts/partners/hashicorp/vault/0.31.0/src/templates/tests/server-test.yaml create mode 100644 charts/partners/hashicorp/vault/0.31.0/src/templates/ui-service.yaml create mode 100644 charts/partners/hashicorp/vault/0.31.0/src/values.openshift.yaml create mode 100644 charts/partners/hashicorp/vault/0.31.0/src/values.schema.json create mode 100644 charts/partners/hashicorp/vault/0.31.0/src/values.yaml create mode 100644 charts/partners/i2i/i2i5gcorehelm/1.0.10/i2i5gcorehelm-1.0.10.tgz create mode 100644 charts/partners/i2i/i2i5gcorehelm/1.0.10/i2i5gcorehelm-1.0.10.tgz.prov create mode 100644 charts/partners/i2i/i2i5gcorehelm/1.0.10/report.yaml create mode 100644 charts/partners/memverge/mmai/1.0.0/report.yaml create mode 100644 charts/partners/memverge/mmai/OWNERS create mode 100644 charts/partners/memverge/mvtco/1.1.0/report.yaml create mode 100644 charts/partners/nokia/cmm-operator-k8s/25.7.0-p1/report.yaml create mode 100644 charts/partners/nonamesec/noname-security-sensor-ubi/3.3.45-rhel/report.yaml create mode 100644 charts/partners/nonamesec/noname-security-sensor-ubi/3.3.48-rhel/report.yaml create mode 100644 charts/partners/nonamesec/nonamesec-ubi/3.46.16-lts/report.yaml create mode 100644 charts/partners/nonamesec/nonamesec-ubi/3.46.16/report.yaml create mode 100644 charts/partners/nonamesec/nonamesec-ubi/3.46.18-lts/report.yaml create mode 100644 charts/partners/nonamesec/nonamesec-ubi/3.46.19-lts/report.yaml create mode 100644 charts/partners/nonamesec/nonamesec-ubi/3.46.19/report.yaml create mode 100644 charts/partners/nonamesec/nonamesec-ubi/3.51.12/report.yaml create mode 100644 charts/partners/nonamesec/nonamesec-ubi/3.52.12-lts/report.yaml create mode 100644 charts/partners/nonamesec/nonamesec-ubi/3.52.12/report.yaml create mode 100644 charts/partners/nonamesec/nonamesec-ubi/3.52.2/report.yaml create mode 100644 charts/partners/nonamesec/nonamesec-ubi/3.52.3/report.yaml create mode 100644 charts/partners/nonamesec/nonamesec-ubi/3.52.5/report.yaml create mode 100644 charts/partners/nonamesec/nonamesec-ubi/3.52.6/report.yaml create mode 100644 charts/partners/nonamesec/nonamesec-ubi/3.54.0/report.yaml create mode 100644 charts/partners/nonamesec/nonamesec-ubi/3.54.1/report.yaml create mode 100644 charts/partners/nonamesec/nonamesec-ubi/3.54.2/report.yaml create mode 100644 charts/partners/nonamesec/nonamesec-ubi/3.54.3/report.yaml create mode 100644 charts/partners/nonamesec/nonamesec-ubi/3.54.4/report.yaml create mode 100644 charts/partners/nonamesec/nonamesec-ubi/3.54.5/report.yaml create mode 100644 charts/partners/nonamesec/nonamesec-ubi/3.54.6/report.yaml create mode 100644 charts/partners/nonamesec/nonamesec-ubi/3.55.0/report.yaml create mode 100644 charts/partners/nonamesec/nonamesec-ubi/3.55.1/report.yaml create mode 100644 charts/partners/nonamesec/remote-active-worker-ubi/3.51.12/report.yaml create mode 100644 charts/partners/nonamesec/remote-active-worker-ubi/3.52.10/report.yaml create mode 100644 charts/partners/nonamesec/remote-active-worker-ubi/3.52.12/report.yaml create mode 100644 charts/partners/nonamesec/remote-active-worker-ubi/3.52.3/report.yaml create mode 100644 charts/partners/nonamesec/remote-active-worker-ubi/3.52.4/report.yaml create mode 100644 charts/partners/nonamesec/remote-active-worker-ubi/3.52.5/report.yaml create mode 100644 charts/partners/nonamesec/remote-active-worker-ubi/3.52.6/report.yaml create mode 100644 charts/partners/nonamesec/remote-active-worker-ubi/3.53.5/report.yaml create mode 100644 charts/partners/nonamesec/remote-active-worker-ubi/3.54.0/report.yaml create mode 100644 charts/partners/nonamesec/remote-active-worker-ubi/3.54.1/report.yaml create mode 100644 charts/partners/nonamesec/remote-active-worker-ubi/3.54.2/report.yaml create mode 100644 charts/partners/nonamesec/remote-active-worker-ubi/3.54.3/report.yaml create mode 100644 charts/partners/nonamesec/remote-active-worker-ubi/3.54.4/report.yaml create mode 100644 charts/partners/nonamesec/remote-active-worker-ubi/3.54.5/report.yaml create mode 100644 charts/partners/nonamesec/remote-active-worker-ubi/3.54.6/report.yaml create mode 100644 charts/partners/nonamesec/remote-active-worker-ubi/3.55.0/report.yaml create mode 100644 charts/partners/nonamesec/remote-active-worker-ubi/3.55.1/report.yaml create mode 100644 charts/partners/oracle/weblogic-kubernetes-operator/OWNERS create mode 100644 charts/partners/redhat-test/chart-helm-two-nine/OWNERS create mode 100644 charts/partners/redhat-test/helm-12/OWNERS create mode 100644 charts/partners/redhat-test/testtstst/OWNERS create mode 100644 charts/partners/reform/reform-deploy/0.9.1/report.yaml create mode 100644 charts/partners/reform/reform-deploy/OWNERS create mode 100644 charts/partners/sjpark00/hello-python-operator/OWNERS create mode 100644 charts/partners/sjpark00/hello-python/OWNERS create mode 100644 charts/partners/voereir/ve-touchstone-master/5.1.0/report.yaml create mode 100644 charts/partners/voereir/ve-touchstone-master/OWNERS create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.2/src/.helmignore create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.2/src/Chart.yaml create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.2/src/LICENSE create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.2/src/README.md create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.2/src/TESTING.md create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.2/src/release-notes.md create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.2/src/templates/NOTES.txt create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.2/src/templates/_helpers.tpl create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.2/src/templates/_oauth2Proxy.tpl create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.2/src/templates/_openshiftOauthProxy.tpl create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.2/src/templates/_reports_authproxy.tpl create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.2/src/templates/alpha_config.yaml create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.2/src/templates/clusterrolebinding.yaml create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.2/src/templates/cookie_secret.yaml create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.2/src/templates/cryostat_deployment.yaml create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.2/src/templates/cryostat_service.yaml create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.2/src/templates/cryostat_tls_secret.yaml create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.2/src/templates/db_deployment.yaml create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.2/src/templates/db_pvc.yaml create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.2/src/templates/db_secret.yaml create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.2/src/templates/db_service.yaml create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.2/src/templates/ingress.yaml create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.2/src/templates/networkpolicy_ingress.yaml create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.2/src/templates/reports_deployment.yaml create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.2/src/templates/reports_secret.yaml create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.2/src/templates/reports_service.yaml create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.2/src/templates/reports_tls_secret.yaml create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.2/src/templates/role.yaml create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.2/src/templates/rolebinding.yaml create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.2/src/templates/route.yaml create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.2/src/templates/serviceaccount.yaml create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.2/src/templates/storage_deployment.yaml create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.2/src/templates/storage_pvc.yaml create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.2/src/templates/storage_secret.yaml create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.2/src/templates/storage_service.yaml create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.2/src/templates/tests/test-core-connection.yaml create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.2/src/templates/tests/test-grafana-connection.yaml create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.2/src/tests/alpha_config_test.yaml create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.2/src/tests/clusterrolebinding_test.yaml create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.2/src/tests/cookie_secret_test.yaml create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.2/src/tests/cryostat_deployment_test.yaml create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.2/src/tests/cryostat_service_test.yaml create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.2/src/tests/cryostat_tls_secret_test.yaml create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.2/src/tests/db_deployment_test.yaml create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.2/src/tests/db_pvc_test.yaml create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.2/src/tests/db_secret_test.yaml create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.2/src/tests/db_service_test.yaml create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.2/src/tests/ingress_test.yaml create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.2/src/tests/networkpolicy_ingress_test.yaml create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.2/src/tests/notes_test.yaml create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.2/src/tests/reports_deployment_test.yaml create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.2/src/tests/reports_secret_test.yaml create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.2/src/tests/reports_service_test.yaml create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.2/src/tests/role_test.yaml create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.2/src/tests/rolebinding_test.yaml create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.2/src/tests/route_test.yaml create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.2/src/tests/serviceaccount_test.yaml create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.2/src/tests/storage_deployment_test.yaml create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.2/src/tests/storage_pvc_test.yaml create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.2/src/tests/storage_secret_test.yaml create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.2/src/tests/storage_service_test.yaml create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.2/src/values.schema.json create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.2/src/values.yaml create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.3/src/.helmignore create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.3/src/Chart.yaml create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.3/src/LICENSE create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.3/src/README.md create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.3/src/TESTING.md create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.3/src/release-notes.md create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.3/src/templates/NOTES.txt create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.3/src/templates/_helpers.tpl create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.3/src/templates/_oauth2Proxy.tpl create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.3/src/templates/_openshiftOauthProxy.tpl create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.3/src/templates/_reports_authproxy.tpl create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.3/src/templates/alpha_config.yaml create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.3/src/templates/clusterrolebinding.yaml create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.3/src/templates/cookie_secret.yaml create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.3/src/templates/cryostat_deployment.yaml create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.3/src/templates/cryostat_service.yaml create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.3/src/templates/cryostat_tls_secret.yaml create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.3/src/templates/db_deployment.yaml create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.3/src/templates/db_pvc.yaml create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.3/src/templates/db_secret.yaml create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.3/src/templates/db_service.yaml create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.3/src/templates/ingress.yaml create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.3/src/templates/networkpolicy_ingress.yaml create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.3/src/templates/reports_deployment.yaml create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.3/src/templates/reports_secret.yaml create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.3/src/templates/reports_service.yaml create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.3/src/templates/reports_tls_secret.yaml create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.3/src/templates/role.yaml create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.3/src/templates/rolebinding.yaml create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.3/src/templates/route.yaml create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.3/src/templates/serviceaccount.yaml create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.3/src/templates/storage_deployment.yaml create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.3/src/templates/storage_pvc.yaml create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.3/src/templates/storage_secret.yaml create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.3/src/templates/storage_service.yaml create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.3/src/templates/tests/test-core-connection.yaml create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.3/src/templates/tests/test-grafana-connection.yaml create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.3/src/tests/alpha_config_test.yaml create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.3/src/tests/clusterrolebinding_test.yaml create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.3/src/tests/cookie_secret_test.yaml create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.3/src/tests/cryostat_deployment_test.yaml create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.3/src/tests/cryostat_service_test.yaml create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.3/src/tests/cryostat_tls_secret_test.yaml create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.3/src/tests/db_deployment_test.yaml create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.3/src/tests/db_pvc_test.yaml create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.3/src/tests/db_secret_test.yaml create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.3/src/tests/db_service_test.yaml create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.3/src/tests/ingress_test.yaml create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.3/src/tests/networkpolicy_ingress_test.yaml create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.3/src/tests/notes_test.yaml create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.3/src/tests/reports_deployment_test.yaml create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.3/src/tests/reports_secret_test.yaml create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.3/src/tests/reports_service_test.yaml create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.3/src/tests/role_test.yaml create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.3/src/tests/rolebinding_test.yaml create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.3/src/tests/route_test.yaml create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.3/src/tests/serviceaccount_test.yaml create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.3/src/tests/storage_deployment_test.yaml create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.3/src/tests/storage_pvc_test.yaml create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.3/src/tests/storage_secret_test.yaml create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.3/src/tests/storage_service_test.yaml create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.3/src/values.schema.json create mode 100644 charts/redhat/redhat/redhat-cryostat/2.0.3/src/values.yaml create mode 100644 charts/redhat/redhat/redhat-developer-hub-orchestrator-infra/1.7.0/redhat-developer-hub-orchestrator-infra-1.7.0.tgz create mode 100644 charts/redhat/redhat/redhat-developer-hub-orchestrator-infra/1.7.1/redhat-developer-hub-orchestrator-infra-1.7.1.tgz create mode 100644 charts/redhat/redhat/redhat-developer-hub/1.6.4/redhat-developer-hub-1.6.4.tgz create mode 100644 charts/redhat/redhat/redhat-developer-hub/1.6.5/redhat-developer-hub-1.6.5.tgz create mode 100644 charts/redhat/redhat/redhat-developer-hub/1.7.0/redhat-developer-hub-1.7.0.tgz create mode 100644 charts/redhat/redhat/redhat-developer-hub/1.7.1/redhat-developer-hub-1.7.1.tgz create mode 100644 charts/redhat/redhat/redhat-mariadb-persistent/0.0.3/src/Chart.yaml create mode 100644 charts/redhat/redhat/redhat-mariadb-persistent/0.0.3/src/README.md create mode 100644 charts/redhat/redhat/redhat-mariadb-persistent/0.0.3/src/templates/deployment.yaml create mode 100644 charts/redhat/redhat/redhat-mariadb-persistent/0.0.3/src/templates/persistentvolumeclaim.yaml create mode 100644 charts/redhat/redhat/redhat-mariadb-persistent/0.0.3/src/templates/secret.yaml create mode 100644 charts/redhat/redhat/redhat-mariadb-persistent/0.0.3/src/templates/service.yaml create mode 100644 charts/redhat/redhat/redhat-mariadb-persistent/0.0.3/src/templates/tests/test-mariadb-connection.yaml create mode 100644 charts/redhat/redhat/redhat-mariadb-persistent/0.0.3/src/values.schema.json create mode 100644 charts/redhat/redhat/redhat-mariadb-persistent/0.0.3/src/values.yaml create mode 100644 charts/redhat/redhat/redhat-mysql-persistent/0.0.5/src/Chart.yaml create mode 100644 charts/redhat/redhat/redhat-mysql-persistent/0.0.5/src/README.md create mode 100644 charts/redhat/redhat/redhat-mysql-persistent/0.0.5/src/templates/deployment.yaml create mode 100644 charts/redhat/redhat/redhat-mysql-persistent/0.0.5/src/templates/persistentvolumeclaim.yaml create mode 100644 charts/redhat/redhat/redhat-mysql-persistent/0.0.5/src/templates/secret.yaml create mode 100644 charts/redhat/redhat/redhat-mysql-persistent/0.0.5/src/templates/service.yaml create mode 100644 charts/redhat/redhat/redhat-mysql-persistent/0.0.5/src/templates/tests/test-mysql-connection.yaml create mode 100644 charts/redhat/redhat/redhat-mysql-persistent/0.0.5/src/values.schema.json create mode 100644 charts/redhat/redhat/redhat-mysql-persistent/0.0.5/src/values.yaml create mode 100644 charts/redhat/redhat/redhat-rhaap-portal/2.0.0/redhat-rhaap-portal-2.0.0.tgz create mode 100644 charts/redhat/redhat/redhat-rhaap-portal/2.0.1/redhat-rhaap-portal-2.0.1.tgz create mode 100644 charts/redhat/redhat/redhat-rhaap-portal/2.0.2/redhat-rhaap-portal-2.0.2.tgz create mode 100644 charts/redhat/redhat/redhat-rhaap-portal/2.0.3/redhat-rhaap-portal-2.0.3.tgz create mode 100644 charts/redhat/redhat/redhat-trusted-profile-analyzer/1.1.1/redhat-trusted-profile-analyzer-1.1.1.tgz create mode 100644 charts/redhat/redhat/redhat-trusted-profile-analyzer/1.1.1/report.yaml diff --git a/charts/community/mpizarro/librechat/1.8.10/report.yaml b/charts/community/mpizarro/librechat/1.8.10/report.yaml new file mode 100644 index 000000000..5f42ebb34 --- /dev/null +++ b/charts/community/mpizarro/librechat/1.8.10/report.yaml @@ -0,0 +1,150 @@ +apiversion: v1 +kind: verify-report +metadata: + tool: + verifier-version: 1.13.12 + profile: + VendorType: community + version: v1.1 + reportDigest: uint64:12512205562430711204 + chart-uri: https://maximilianoPizarro.github.io/librechat/librechat-1.8.10.tgz + digests: + chart: sha256:41bfc8e827813ec6f6fd5bc96bf1a1c5f7ae144474588ae12cba6761f2b4221e + package: 316b84e772459b27dd19fcd5519d02d7e01fdca4322d6c1addbcd100c813dcdb + lastCertifiedTimestamp: "2025-08-09T05:34:01.898798+00:00" + testedOpenShiftVersion: N/A + supportedOpenShiftVersions: '>=4.7' + webCatalogOnly: false + chart: + name: librechat + home: https://www.librechat.ai + sources: + - https://github.com/maximilianoPizarro/librechat + version: 1.8.10 + description: A Helm chart for deploying LibreChat, an open-source, AI-powered chat application. + keywords: + - librechat + - chat + - ai + - llm + - chatbot + - open-source + maintainers: + - name: Carlos Estay + email: cestay@redhat.com + url: "" + - name: Maximiliano Pizarro + email: mapizarr@redhat.com + url: "" + icon: https://www.librechat.ai/librechat_alt.svg + apiversion: v2 + condition: "" + tags: "" + appversion: v0.8.0 + deprecated: false + annotations: + charts.openshift.io/name: LibreChat + kubeversion: '>=1.20.0' + dependencies: + - name: postgresql + version: 15.5.38 + repository: https://charts.bitnami.com/bitnami + condition: postgresql.enabled + tags: [] + enabled: false + importvalues: [] + alias: "" + - name: mongodb + version: 16.3.0 + repository: https://charts.bitnami.com/bitnami + condition: mongodb.enabled + tags: [] + enabled: false + importvalues: [] + alias: "" + - name: ollama + version: 1.26.0 + repository: file://./ollama + condition: ollama.enabled + tags: [] + enabled: false + importvalues: [] + alias: "" + - name: meilisearch + version: 0.7.0 + repository: file://./meilisearch + condition: meilisearch.enabled + tags: [] + enabled: false + importvalues: [] + alias: "" + - name: librechat-rag-api + version: 0.5.1 + repository: file://./librechat-rag-api + condition: librechat-rag-api.enabled + tags: [] + enabled: false + importvalues: [] + alias: "" + type: application + chart-overrides: "" +results: + - check: v1.0/not-contains-crds + type: Optional + outcome: PASS + reason: Chart does not contain CRDs + - check: v1.0/is-helm-v3 + type: Optional + outcome: PASS + reason: API version is V2, used in Helm 3 + - check: v1.0/required-annotations-present + type: Optional + outcome: PASS + reason: All required annotations present + - check: v1.0/images-are-certified + type: Optional + outcome: FAIL + reason: |- + Failed to certify images : ghcr.io/bat-bs/bitnami-pgvector:pg16 : No images found for Registry/Repository: ghcr.io/bat-bs/bitnami-pgvector + Image is not Red Hat certified : busybox : repository not found: busybox + Image is not Red Hat certified : busybox + Failed to certify images : ghcr.io/danny-avila/librechat-rag-api-dev-lite:latest : No images found for Registry/Repository: ghcr.io/danny-avila/librechat-rag-api-dev-lite + Failed to certify images : docker.io/bitnami/mongodb:8.0.3-debian-12-r0 : No images found for Registry/Repository: docker.io/bitnami/mongodb + Image is not Red Hat certified : ollama/ollama:0.11.2 : repository not found: ollama/ollama + Image is not Red Hat certified : ollama/ollama:0.11.2 + Failed to certify images : ghcr.io/danny-avila/librechat:v0.8.0-rc1 : No images found for Registry/Repository: ghcr.io/danny-avila/librechat + Image is not Red Hat certified : getmeili/meilisearch:v1.7.3 : repository not found: getmeili/meilisearch + Image is not Red Hat certified : getmeili/meilisearch:v1.7.3 + - check: v1.0/chart-testing + type: Optional + outcome: FAIL + reason: 'invalid configuration: no configuration has been provided, try setting KUBERNETES_MASTER environment variable' + - check: v1.0/has-readme + type: Optional + outcome: PASS + reason: Chart has a README + - check: v1.0/not-contain-csi-objects + type: Optional + outcome: PASS + reason: CSI objects do not exist + - check: v1.0/contains-values + type: Optional + outcome: PASS + reason: Values file exist + - check: v1.0/contains-values-schema + type: Optional + outcome: PASS + reason: Values schema file exist + - check: v1.0/contains-test + type: Optional + outcome: PASS + reason: Chart test files exist + - check: v1.1/has-kubeversion + type: Optional + outcome: PASS + reason: Kubernetes version specified + - check: v1.0/helm-lint + type: Mandatory + outcome: PASS + reason: Helm lint successful + diff --git a/charts/community/mpizarro/librechat/1.8.14/report.yaml b/charts/community/mpizarro/librechat/1.8.14/report.yaml new file mode 100644 index 000000000..c035819c3 --- /dev/null +++ b/charts/community/mpizarro/librechat/1.8.14/report.yaml @@ -0,0 +1,155 @@ +apiversion: v1 +kind: verify-report +metadata: + tool: + verifier-version: 1.13.12 + profile: + VendorType: community + version: v1.1 + reportDigest: uint64:8743256806177528 + chart-uri: https://maximilianopizarro.github.io/librechat/librechat-1.8.14.tgz + digests: + chart: sha256:82446da00e3877e2d87ad07f1e9bd95ae6ee683a4e9d3d70ff5c414f40077feb + package: 2b6663528f916e35a344dd3990a759cb5c78225c9f2d316412f58b0ed45c3b85 + lastCertifiedTimestamp: "2025-09-18T18:32:50.993224+00:00" + testedOpenShiftVersion: N/A + supportedOpenShiftVersions: '>=4.7' + webCatalogOnly: false + chart: + name: librechat + home: https://www.librechat.ai + sources: + - https://github.com/maximilianoPizarro/librechat + version: 1.8.14 + description: 'A Helm chart for deploying LibreChat, an open-source, AI-powered chat application. Enhanced ChatGPT Clone: Features Agents, MCP, DeepSeek, Anthropic, AWS, OpenAI, Responses API, Azure, Groq, o1, GPT-5, Mistral, OpenRouter, Vertex AI, Gemini, Artifacts, AI model switching, message search, Code Interpreter, langchain, DALL-E-3, OpenAPI Actions, Functions, Secure Multi-User Auth, Presets, open-source for self-hosting. Active.' + keywords: + - librechat + - chat + - ai + - llm + - chatbot + - open-source + maintainers: + - name: Carlos Estay + email: cestay@redhat.com + url: "" + - name: Maximiliano Pizarro + email: mapizarr@redhat.com + url: "" + icon: https://www.librechat.ai/librechat_alt.svg + apiversion: v2 + condition: "" + tags: "" + appversion: v0.8.0-rc4 + deprecated: false + annotations: + charts.openshift.io/documentation-url: https://www.librechat.ai/docs + charts.openshift.io/name: LibreChat + charts.openshift.io/privacy-policy-url: https://www.librechat.ai/privacy + charts.openshift.io/provider-display-name: maximilianoPizarro + charts.openshift.io/support-url: https://github.com/maximilianoPizarro/librechat/issues + charts.openshift.io/terms-of-service-url: https://www.librechat.ai/terms + kubeversion: '>=1.20.0' + dependencies: + - name: postgresql + version: 15.5.38 + repository: https://charts.bitnami.com/bitnami + condition: postgresql.enabled + tags: [] + enabled: false + importvalues: [] + alias: "" + - name: mongodb + version: 16.5.45 + repository: https://charts.bitnami.com/bitnami + condition: mongodb.enabled + tags: [] + enabled: false + importvalues: [] + alias: "" + - name: ollama + version: 1.26.0 + repository: file://./ollama + condition: ollama.enabled + tags: [] + enabled: false + importvalues: [] + alias: "" + - name: meilisearch + version: 0.7.0 + repository: file://./meilisearch + condition: meilisearch.enabled + tags: [] + enabled: false + importvalues: [] + alias: "" + - name: librechat-rag-api + version: 0.5.1 + repository: file://./librechat-rag-api + condition: librechat-rag-api.enabled + tags: [] + enabled: false + importvalues: [] + alias: "" + type: application + chart-overrides: "" +results: + - check: v1.0/not-contains-crds + type: Optional + outcome: PASS + reason: Chart does not contain CRDs + - check: v1.0/required-annotations-present + type: Optional + outcome: PASS + reason: All required annotations present + - check: v1.0/contains-values + type: Optional + outcome: PASS + reason: Values file exist + - check: v1.0/not-contain-csi-objects + type: Optional + outcome: PASS + reason: CSI objects do not exist + - check: v1.0/helm-lint + type: Mandatory + outcome: PASS + reason: Helm lint successful + - check: v1.0/contains-values-schema + type: Optional + outcome: PASS + reason: Values schema file exist + - check: v1.0/chart-testing + type: Optional + outcome: FAIL + reason: 'chart Install failure: context deadline exceeded' + - check: v1.0/images-are-certified + type: Optional + outcome: FAIL + reason: |- + Image is not Red Hat certified : busybox : repository not found: busybox + Image is not Red Hat certified : busybox + Failed to certify images : ghcr.io/danny-avila/librechat-rag-api-dev-lite:latest : No images found for Registry/Repository: ghcr.io/danny-avila/librechat-rag-api-dev-lite + Failed to certify images : docker.io/mongo:8.0.13 : No images found for Registry/Repository: docker.io/mongo + Image is not Red Hat certified : ollama/ollama:0.11.2 : repository not found: ollama/ollama + Image is not Red Hat certified : ollama/ollama:0.11.2 + Failed to certify images : ghcr.io/danny-avila/librechat:v0.8.0-rc4 : No images found for Registry/Repository: ghcr.io/danny-avila/librechat + Image is not Red Hat certified : getmeili/meilisearch:v1.7.3 : repository not found: getmeili/meilisearch + Image is not Red Hat certified : getmeili/meilisearch:v1.7.3 + Failed to certify images : ghcr.io/bat-bs/bitnami-pgvector:pg16 : No images found for Registry/Repository: ghcr.io/bat-bs/bitnami-pgvector + - check: v1.0/contains-test + type: Optional + outcome: PASS + reason: Chart test files exist + - check: v1.1/has-kubeversion + type: Optional + outcome: PASS + reason: Kubernetes version specified + - check: v1.0/has-readme + type: Optional + outcome: PASS + reason: Chart has a README + - check: v1.0/is-helm-v3 + type: Optional + outcome: PASS + reason: API version is V2, used in Helm 3 + diff --git a/charts/community/mpizarro/librechat/OWNERS b/charts/community/mpizarro/librechat/OWNERS new file mode 100644 index 000000000..1df81e8dc --- /dev/null +++ b/charts/community/mpizarro/librechat/OWNERS @@ -0,0 +1,9 @@ +chart: + name: librechat + shortDescription: A Helm chart for deploying LibreChat, an open-source, AI-powered chat application. +publicPgpKey: null +users: +- githubUsername: maximilianoPizarro +vendor: + label: mpizarro + name: Maximiliano Pizarro \ No newline at end of file diff --git a/charts/community/mpizarro/mattermost-team-edition/6.6.83/report.yaml b/charts/community/mpizarro/mattermost-team-edition/6.6.83/report.yaml new file mode 100644 index 000000000..f0fb1b727 --- /dev/null +++ b/charts/community/mpizarro/mattermost-team-edition/6.6.83/report.yaml @@ -0,0 +1,115 @@ +apiversion: v1 +kind: verify-report +metadata: + tool: + verifier-version: 1.13.12 + profile: + VendorType: community + version: v1.1 + reportDigest: uint64:3967228565598218398 + chart-uri: https://maximilianopizarro.github.io/mattermost-helm/mattermost-team-edition-6.6.83.tgz + digests: + chart: sha256:b0c6d08764cfc1c28e3a3cfdd0c1cda8221f9d824bb27d4a3f681444c1d87825 + package: bb47d7eb189dfce6211a66913a62655c3f3b3d6e146a0e2a9ff1836a35856057 + lastCertifiedTimestamp: "2025-09-03T14:15:27.569077+00:00" + testedOpenShiftVersion: N/A + supportedOpenShiftVersions: '>=4.7' + webCatalogOnly: false + chart: + name: mattermost-team-edition + home: https://mattermost.com + sources: + - https://github.com/mattermost/mattermost-server + - https://github.com/mattermost/mattermost-helm + version: 6.6.83 + description: Mattermost Team Edition is an open-source, self-hosted messaging platform for teams. It offers a free, community-driven solution for secure, private collaboration. Features include group and direct messaging, file sharing, and powerful search, giving your team a modern communication hub. + keywords: + - mattermost + - communication + - team collaboration + maintainers: + - name: Maximiliano Pizarro + email: maximiliano.pizarro.5@gmail.com + url: http://www.linkedin.com/in/maximiliano-gregorio-pizarro-consultor-it + icon: http://www.mattermost.org/wp-content/uploads/2016/04/icon.png + apiversion: v2 + condition: "" + tags: "" + appversion: 10.11.2 + deprecated: false + annotations: + charts.openshift.io/name: mattermost + kubeversion: '>=1.20.0' + dependencies: + - name: mysql + version: 1.6.4 + repository: https://charts.helm.sh/stable + condition: mysql.enabled + tags: [] + enabled: false + importvalues: [] + alias: "" + type: application + chart-overrides: "" +results: + - check: v1.0/chart-testing + type: Optional + outcome: FAIL + reason: 'chart Install failure: Unable to continue with install: Service "mattermost-team-edition" in namespace "mattermost" exists and cannot be imported into the current release: invalid ownership metadata; annotation validation error: key "meta.helm.sh/release-name" must equal "mattermost-team-edition-vd85m9casf": current value is "mattermost-team-edition"' + - check: v1.0/contains-values + type: Optional + outcome: PASS + reason: Values file exist + - check: v1.0/has-readme + type: Optional + outcome: PASS + reason: Chart has a README + - check: v1.0/contains-test + type: Optional + outcome: PASS + reason: Chart test files exist + - check: v1.0/contains-values-schema + type: Optional + outcome: PASS + reason: Values schema file exist + - check: v1.0/helm-lint + type: Mandatory + outcome: PASS + reason: Helm lint successful + - check: v1.0/images-are-certified + type: Optional + outcome: FAIL + reason: |- + Image is not Red Hat certified : mysql:8.0.18 : repository not found: mysql + Image is not Red Hat certified : mysql:8.0.18 + Image is not Red Hat certified : appropriate/curl:latest : repository not found: appropriate/curl + Image is not Red Hat certified : appropriate/curl:latest + Image is not Red Hat certified : mattermost/mattermost-team-edition:10.11.2@sha256:b8bd1246cb3a92557891254a4322276206ce12451d3c8581fe2ead4786fd2673 : repository not found: mattermost/mattermost-team-edition:10.11.2 + Image is not Red Hat certified : mattermost/mattermost-team-edition:10.11.2@sha256:b8bd1246cb3a92557891254a4322276206ce12451d3c8581fe2ead4786fd2673 + Image is not Red Hat certified : bats/bats:v1.1.0 : repository not found: bats/bats + Image is not Red Hat certified : bats/bats:v1.1.0 + Image is not Red Hat certified : busybox:1.31.1 : repository not found: busybox + Image is not Red Hat certified : busybox:1.31.1 + Image is not Red Hat certified : busybox : repository not found: busybox + Image is not Red Hat certified : busybox + - check: v1.0/is-helm-v3 + type: Optional + outcome: PASS + reason: API version is V2, used in Helm 3 + - check: v1.0/not-contains-crds + type: Optional + outcome: PASS + reason: Chart does not contain CRDs + - check: v1.1/has-kubeversion + type: Optional + outcome: PASS + reason: Kubernetes version specified + - check: v1.0/not-contain-csi-objects + type: Optional + outcome: PASS + reason: CSI objects do not exist + - check: v1.0/required-annotations-present + type: Optional + outcome: PASS + reason: All required annotations present + diff --git a/charts/community/mpizarro/mattermost-team-edition/OWNERS b/charts/community/mpizarro/mattermost-team-edition/OWNERS new file mode 100644 index 000000000..e25eb203a --- /dev/null +++ b/charts/community/mpizarro/mattermost-team-edition/OWNERS @@ -0,0 +1,9 @@ +chart: + name: mattermost-team-edition + shortDescription: Mattermost Team Edition is an open-source, self-hosted messaging platform for teams. It offers a free, community-driven solution for secure, private collaboration. Features include group and direct messaging, file sharing, and powerful search, giving your team a modern communication hub. +publicPgpKey: null +users: +- githubUsername: maximilianoPizarro +vendor: + label: mpizarro + name: Maximiliano Pizarro \ No newline at end of file diff --git a/charts/community/mpizarro/n8n/1.14.2/report.yaml b/charts/community/mpizarro/n8n/1.14.2/report.yaml new file mode 100644 index 000000000..329ffe445 --- /dev/null +++ b/charts/community/mpizarro/n8n/1.14.2/report.yaml @@ -0,0 +1,203 @@ +apiversion: v1 +kind: verify-report +metadata: + tool: + verifier-version: 1.13.12 + profile: + VendorType: community + version: v1.1 + reportDigest: uint64:5101787987969041959 + chart-uri: https://github.com/community-charts/helm-charts/releases/download/n8n-1.14.2/n8n-1.14.2.tgz + digests: + chart: sha256:ea8ee551656c3875cdd64bdfb73111ebba087fad9f557b947a78ebce86845f41 + package: 060d4a7533a77072fe715cc3ce2743e56b0101f2c8fc303fd8100c57565fa7e2 + lastCertifiedTimestamp: "2025-08-19T14:34:16.906804+00:00" + testedOpenShiftVersion: N/A + supportedOpenShiftVersions: '>=4.10' + webCatalogOnly: false + chart: + name: n8n + home: https://n8n.io + sources: + - https://github.com/community-charts/helm-charts + - https://github.com/n8n-io/n8n + version: 1.14.2 + description: A Helm chart for fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations. + keywords: + - n8n + - Workflow Automation + - Workflow + - Automation + - iPaaS + - integration-framework + - low-code-plattform + - low-code + maintainers: + - name: burakince + email: burak.ince@linux.org.tr + url: https://www.burakince.com + icon: https://avatars1.githubusercontent.com/u/45487711?s=200&v=4 + apiversion: v2 + condition: "" + tags: "" + appversion: 1.107.3 + deprecated: false + annotations: + artifacthub.io/changes: |- + - kind: changed + description: Update n8nio/n8n image version to 1.107.3 + links: + - name: Upstream Project + url: https://github.com/n8n-io/n8n + - kind: changed + description: Update dependency redis from 22.0.1 to 22.0.4 + links: + - name: ArtifactHub + url: https://artifacthub.io/packages/helm/bitnami/redis + - kind: changed + description: Update dependency postgresql from 16.7.24 to 16.7.26 + links: + - name: ArtifactHub + url: https://artifacthub.io/packages/helm/bitnami/postgresql + artifacthub.io/containsSecurityUpdates: "false" + artifacthub.io/images: | + - name: n8n + image: n8nio/n8n:1.107.3 + platforms: + - linux/amd64 + - linux/arm64 + artifacthub.io/license: Apache-2.0 + artifacthub.io/links: | + - name: Chart Source + url: https://github.com/community-charts/helm-charts + - name: Chart Usage Page + url: https://community-charts.github.io/docs/charts/n8n/usage + - name: Upstream Project + url: https://github.com/n8n-io/n8n + - name: Official Documentation + url: https://docs.n8n.io/ + artifacthub.io/maintainers: | + - name: burakince + email: burak.ince@linux.org.tr + artifacthub.io/operator: "false" + artifacthub.io/prerelease: "false" + artifacthub.io/screenshots: | + - title: Editor UI Walkthrough + url: https://raw.githubusercontent.com/n8n-io/n8n-docs/refs/heads/main/docs/_images/courses/level-one/chapter-one/editor-ui-walkthrough.gif + - title: Node Menu Drilldown + url: https://raw.githubusercontent.com/n8n-io/n8n-docs/refs/heads/main/docs/_images/courses/level-one/chapter-one/l1-c1-node-menu-drilldown.gif + - title: Adding a Node + url: https://raw.githubusercontent.com/n8n-io/n8n-docs/refs/heads/main/docs/_images/courses/level-one/chapter-one/l1-c1-add-node-click.gif + - title: Node Buttons + url: https://raw.githubusercontent.com/n8n-io/n8n-docs/refs/heads/main/docs/_images/courses/level-one/chapter-one/node-buttons.gif + - title: Nathans Workflow + url: https://raw.githubusercontent.com/n8n-io/n8n-docs/refs/heads/main/docs/_images/courses/level-one/chapter-four/l1-c4-nathans-workflow.png + - title: Set Node + url: https://raw.githubusercontent.com/n8n-io/n8n-docs/refs/heads/main/docs/_images/courses/level-one/chapter-five/l1-c5-4-set-node.png + - title: Workflow with Set Node + url: https://raw.githubusercontent.com/n8n-io/n8n-docs/refs/heads/main/docs/_images/courses/level-one/chapter-five/l1-c5-4-workflow-with-set-node.png + - title: Code Node + url: https://raw.githubusercontent.com/n8n-io/n8n-docs/refs/heads/main/docs/_images/courses/level-one/chapter-five/l1-c5-5-5-code-node.png + - title: Discord Output + url: https://raw.githubusercontent.com/n8n-io/n8n-docs/refs/heads/main/docs/_images/courses/level-one/chapter-five/l1-c5-5-6-discord-output.png + - title: Exercise Function + url: https://raw.githubusercontent.com/n8n-io/n8n-docs/refs/heads/main/docs/_images/courses/level-two/chapter-one/exercise_function.png + - title: Exercise Function Not Nested + url: https://raw.githubusercontent.com/n8n-io/n8n-docs/refs/heads/main/docs/_images/courses/level-two/chapter-one/exercise_function_notnested.png + - title: Exercise Function Reference + url: https://raw.githubusercontent.com/n8n-io/n8n-docs/refs/heads/main/docs/_images/courses/level-two/chapter-one/exercise_function_reference.png + - title: HTTP Request Node + url: https://raw.githubusercontent.com/n8n-io/n8n-docs/refs/heads/main/docs/_images/courses/level-two/chapter-two/exercise_html_httprequestnode.png + - title: HTTP Extraction Node + url: https://raw.githubusercontent.com/n8n-io/n8n-docs/refs/heads/main/docs/_images/courses/level-two/chapter-two/exercise_html_htmlextractnode.png + - title: Binary Data HTTP Request Node + url: https://raw.githubusercontent.com/n8n-io/n8n-docs/refs/heads/main/docs/_images/courses/level-two/chapter-two/exercise_binarydata_httprequest_file.png + - title: Binary to JSON Node + url: https://raw.githubusercontent.com/n8n-io/n8n-docs/refs/heads/main/docs/_images/courses/level-two/chapter-two/exercise_binarydata_movedata_btoj.png + - title: JSON to XML Node + url: https://raw.githubusercontent.com/n8n-io/n8n-docs/refs/heads/main/docs/_images/courses/level-two/chapter-two/exercise_html_xmlnode_table.png + - title: Workflow + url: https://raw.githubusercontent.com/n8n-io/n8n-docs/refs/heads/main/docs/_images/courses/level-two/chapter-five/workflow2.png + artifacthub.io/signKey: | + fingerprint: 939B1A0ED8AAA8E722ACCDB3B6A012EE8A76426A + url: https://keybase.io/communitycharts/pgp_keys.asc + kubeversion: '>=1.23.0-0' + dependencies: + - name: redis + version: 22.0.4 + repository: https://charts.bitnami.com/bitnami + condition: redis.enabled + tags: [] + enabled: false + importvalues: [] + alias: "" + - name: postgresql + version: 16.7.26 + repository: https://charts.bitnami.com/bitnami + condition: postgresql.enabled + tags: [] + enabled: false + importvalues: [] + alias: "" + - name: minio + version: 5.4.0 + repository: https://charts.min.io/ + condition: minio.enabled + tags: [] + enabled: false + importvalues: [] + alias: "" + type: application + chart-overrides: "" +results: + - check: v1.0/has-readme + type: Optional + outcome: PASS + reason: Chart has a README + - check: v1.0/contains-test + type: Optional + outcome: FAIL + reason: Chart test files do not exist + - check: v1.0/images-are-certified + type: Optional + outcome: FAIL + reason: |- + Image is not Red Hat certified : n8nio/n8n:1.107.3 : repository not found: n8nio/n8n + Image is not Red Hat certified : n8nio/n8n:1.107.3 + - check: v1.0/is-helm-v3 + type: Optional + outcome: PASS + reason: API version is V2, used in Helm 3 + - check: v1.0/required-annotations-present + type: Optional + outcome: FAIL + reason: 'Missing required annotations: [charts.openshift.io/name]' + - check: v1.1/has-kubeversion + type: Optional + outcome: PASS + reason: Kubernetes version specified + - check: v1.0/not-contains-crds + type: Optional + outcome: PASS + reason: Chart does not contain CRDs + - check: v1.0/contains-values + type: Optional + outcome: PASS + reason: Values file exist + - check: v1.0/contains-values-schema + type: Optional + outcome: PASS + reason: Values schema file exist + - check: v1.0/helm-lint + type: Mandatory + outcome: PASS + reason: Helm lint successful + - check: v1.0/chart-testing + type: Optional + outcome: FAIL + reason: 'invalid configuration: no configuration has been provided, try setting KUBERNETES_MASTER environment variable' + - check: v1.0/not-contain-csi-objects + type: Optional + outcome: PASS + reason: CSI objects do not exist + diff --git a/charts/community/mpizarro/n8n/1.15.5/report.yaml b/charts/community/mpizarro/n8n/1.15.5/report.yaml new file mode 100644 index 000000000..9aaaca617 --- /dev/null +++ b/charts/community/mpizarro/n8n/1.15.5/report.yaml @@ -0,0 +1,118 @@ +apiversion: v1 +kind: verify-report +metadata: + tool: + verifier-version: 1.13.12 + profile: + VendorType: community + version: v1.1 + reportDigest: uint64:3770131789488719524 + chart-uri: https://maximilianopizarro.github.io/n8n-helm-chart/n8n-1.15.5.tgz + digests: + chart: sha256:93f10d30cfb4397e8a373e7fdd90e7d5134d54d33a438df702ae5e93c782c33f + package: 6710b9116a58ee8e803cbbe9c7f724194e9292db144c822ac4207392897e8b56 + lastCertifiedTimestamp: "2025-09-09T22:42:29.85684+00:00" + testedOpenShiftVersion: N/A + supportedOpenShiftVersions: '>=4.7' + webCatalogOnly: false + chart: + name: n8n + home: https://github.com/maximilianoPizarro/n8n-helm-chart + sources: + - https://github.com/maximilianoPizarro/n8n-helm-chart + - https://github.com/n8n-io/n8n + - https://n8n.io/ + version: 1.15.5 + description: Helm Chart for deploying n8n on Kubernetes, a fair-code workflow automation platform with native AI capabilities for technical teams. Easily automate tasks across different services. + keywords: + - Workflow Automation + - Workflow + - iPaaS + - integration-framework + - low-code-plattform + - low-code + maintainers: + - name: maximilianoPizarro + email: maximiliano.pizarro.5@gmail.com + url: https://github.com/maximilianoPizarro + - name: n8n + email: _@8gears.com + url: https://github.com/n8n-io + icon: https://avatars1.githubusercontent.com/u/45487711?s=200&v=4 + apiversion: v2 + condition: "" + tags: "" + appversion: 1.109.1 + deprecated: false + annotations: + artifacthub.io/changes: | + - kind: changed + description: "Update n8n app version to 1.109.1" + artifacthub.io/prerelease: "false" + charts.openshift.io/name: n8n + kubeversion: '>=1.20.0' + dependencies: + - name: valkey + version: 2.4.7 + repository: oci://registry-1.docker.io/bitnamicharts + condition: valkey.enabled + tags: [] + enabled: false + importvalues: [] + alias: "" + type: application + chart-overrides: "" +results: + - check: v1.0/not-contains-crds + type: Optional + outcome: PASS + reason: Chart does not contain CRDs + - check: v1.0/contains-test + type: Optional + outcome: PASS + reason: Chart test files exist + - check: v1.0/helm-lint + type: Mandatory + outcome: PASS + reason: Helm lint successful + - check: v1.0/images-are-certified + type: Optional + outcome: FAIL + reason: |- + Image is not Red Hat certified : n8nio/n8n:1.109.1 : repository not found: n8nio/n8n + Image is not Red Hat certified : n8nio/n8n:1.109.1 + Image is not Red Hat certified : alpine : repository not found: alpine + Image is not Red Hat certified : alpine + - check: v1.0/not-contain-csi-objects + type: Optional + outcome: PASS + reason: CSI objects do not exist + - check: v1.0/contains-values + type: Optional + outcome: PASS + reason: Values file exist + - check: v1.0/has-readme + type: Optional + outcome: PASS + reason: Chart has a README + - check: v1.0/is-helm-v3 + type: Optional + outcome: PASS + reason: API version is V2, used in Helm 3 + - check: v1.0/contains-values-schema + type: Optional + outcome: PASS + reason: Values schema file exist + - check: v1.1/has-kubeversion + type: Optional + outcome: PASS + reason: Kubernetes version specified + - check: v1.0/required-annotations-present + type: Optional + outcome: PASS + reason: All required annotations present + - check: v1.0/chart-testing + type: Optional + outcome: FAIL + reason: 'chart Install failure: Unable to continue with install: ServiceAccount "n8n-sa" in namespace "n8n" exists and cannot be imported into the current release: invalid ownership metadata; annotation validation error: key "meta.helm.sh/release-name" must equal "n8n-jj4qlx9z6p": current value is "n8n"' + diff --git a/charts/community/mpizarro/n8n/OWNERS b/charts/community/mpizarro/n8n/OWNERS new file mode 100644 index 000000000..3bdcde17a --- /dev/null +++ b/charts/community/mpizarro/n8n/OWNERS @@ -0,0 +1,9 @@ +chart: + name: n8n + shortDescription: A Helm chart for fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations. +publicPgpKey: null +users: +- githubUsername: maximilianoPizarro +vendor: + label: mpizarro + name: Maximiliano Pizarro \ No newline at end of file diff --git a/charts/partners/6046316dac3db97929ca740b/core-helm/OWNERS b/charts/partners/6046316dac3db97929ca740b/core-helm/OWNERS new file mode 100644 index 000000000..532872647 --- /dev/null +++ b/charts/partners/6046316dac3db97929ca740b/core-helm/OWNERS @@ -0,0 +1,9 @@ +chart: + name: core-helm + shortDescription: unknown +providerDelivery: false +publicPgpKey: unknown +users: [] +vendor: + label: 6046316dac3db97929ca740b + name: CUMUCORE diff --git a/charts/partners/6046316dac3db97929ca740b/core/OWNERS b/charts/partners/6046316dac3db97929ca740b/core/OWNERS new file mode 100644 index 000000000..b0a27fa8e --- /dev/null +++ b/charts/partners/6046316dac3db97929ca740b/core/OWNERS @@ -0,0 +1,9 @@ +chart: + name: core + shortDescription: unknown +providerDelivery: false +publicPgpKey: unknown +users: [] +vendor: + label: 6046316dac3db97929ca740b + name: CUMUCORE diff --git a/charts/partners/60f17aa380cc9b7e0a99d5fa/ngvoice-ims-core/OWNERS b/charts/partners/60f17aa380cc9b7e0a99d5fa/ngvoice-ims-core/OWNERS new file mode 100644 index 000000000..8bbe6afbf --- /dev/null +++ b/charts/partners/60f17aa380cc9b7e0a99d5fa/ngvoice-ims-core/OWNERS @@ -0,0 +1,9 @@ +chart: + name: ngvoice-ims-core + shortDescription: unknown +providerDelivery: false +publicPgpKey: unknown +users: [] +vendor: + label: 60f17aa380cc9b7e0a99d5fa + name: ng-voice GmbH diff --git a/charts/partners/61958d07f5a0de0193e7860d/wavefront-collector-helm-test/OWNERS b/charts/partners/61958d07f5a0de0193e7860d/wavefront-collector-helm-test/OWNERS new file mode 100644 index 000000000..a718b09e9 --- /dev/null +++ b/charts/partners/61958d07f5a0de0193e7860d/wavefront-collector-helm-test/OWNERS @@ -0,0 +1,10 @@ +chart: + name: wavefront-collector-helm-test + shortDescription: Wavefront Collector for Kubernetes +providerDelivery: false +publicPgpKey: unknown +users: +- githubUsername: mamichael@vmware.com +vendor: + label: 61958d07f5a0de0193e7860d + name: Vmware, Inc. diff --git a/charts/partners/61c4cabb4841f1221d7676be/kyndryl-aml/OWNERS b/charts/partners/61c4cabb4841f1221d7676be/kyndryl-aml/OWNERS new file mode 100644 index 000000000..11718769a --- /dev/null +++ b/charts/partners/61c4cabb4841f1221d7676be/kyndryl-aml/OWNERS @@ -0,0 +1,9 @@ +chart: + name: kyndryl-aml + shortDescription: unknown +providerDelivery: true +publicPgpKey: unknown +users: [] +vendor: + label: 61c4cabb4841f1221d7676be + name: Kyndryl Poland Sp. z o.o. diff --git a/charts/partners/61cb8b3c80cc9b10e948181e/cloudguard/OWNERS b/charts/partners/61cb8b3c80cc9b10e948181e/cloudguard/OWNERS new file mode 100644 index 000000000..3a7483914 --- /dev/null +++ b/charts/partners/61cb8b3c80cc9b10e948181e/cloudguard/OWNERS @@ -0,0 +1,11 @@ +chart: + name: cloudguard + shortDescription: Check Point CNAPP CloudGuard Helm Chart +providerDelivery: false +publicPgpKey: unknown +users: +- githubUsername: chkp-alexgl +- githubUsername: chkp-rigor +vendor: + label: 61cb8b3c80cc9b10e948181e + name: Check Point Software Technologies, Inc. diff --git a/charts/partners/a10networks/a10tkc/OWNERS b/charts/partners/a10networks/a10tkc/OWNERS index c299215db..f2afc8634 100644 --- a/charts/partners/a10networks/a10tkc/OWNERS +++ b/charts/partners/a10networks/a10tkc/OWNERS @@ -2,7 +2,7 @@ chart: name: a10tkc shortDescription: Helm Chart for Installing A10 Thunder Kubernetes Connector providerDelivery: false -publicPgpKey: null +publicPgpKey: unknown users: - githubUsername: csingh-a10 vendor: diff --git a/charts/partners/alquimiaai/alquimia-runtime-helm/OWNERS b/charts/partners/alquimiaai/alquimia-runtime-helm/OWNERS index fc395becc..1d6d403ee 100644 --- a/charts/partners/alquimiaai/alquimia-runtime-helm/OWNERS +++ b/charts/partners/alquimiaai/alquimia-runtime-helm/OWNERS @@ -4,8 +4,7 @@ chart: providerDelivery: false publicPgpKey: unknown users: -- githubUsername: jlcruzfiveit - githubUsername: joseluiscruz-alquimiaai vendor: label: alquimiaai - name: Alquimia S.A. + name: Alquimia AI US Corp. diff --git a/charts/partners/axual/axual-governance-core/1.2.0/axual-governance-core-1.2.0.tgz b/charts/partners/axual/axual-governance-core/1.2.0/axual-governance-core-1.2.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..102baec605f39d2787b8ca1239eff34cde994cd7 GIT binary patch literal 68499 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.11' + webCatalogOnly: false + chart: + name: axual-governance-core + home: https://axual.com + sources: [] + version: 1.2.0 + description: Axual Governance Core charts which install core Axual components defining the control plane. + keywords: + - axual + - kafka + - messaging + - integration + - streaming + maintainers: [] + icon: https://media.licdn.com/dms/image/C560BAQGNVRrjMGHmxQ/company-logo_200_200/0/1630600168205/axual_logo?e=2147483647&v=beta&t=NlepYScz7uLBwI1tawUVoq-wo1-qZdvA4LCzvH8mf5c + apiversion: v2 + condition: "" + tags: "" + appversion: '"2025.3"' + deprecated: false + annotations: + charts.openshift.io/name: Axual Governance + kubeversion: '>= 1.24.0' + dependencies: + - name: platform-manager + version: 12.0.0 + repository: oci://registry.axual.io/axual-charts + condition: global.platform-manager.enabled + tags: [] + enabled: false + importvalues: [] + alias: "" + - name: platform-ui + version: 10.5.0 + repository: oci://registry.axual.io/axual-charts + condition: global.platform-ui.enabled + tags: [] + enabled: false + importvalues: [] + alias: "" + - name: api-gateway + version: 0.7.0 + repository: oci://registry.axual.io/axual-charts + condition: global.api-gateway.enabled + tags: [] + enabled: false + importvalues: [] + alias: "" + - name: topic-browse + version: 0.5.1 + repository: oci://registry.axual.io/axual-charts + condition: global.topic-browse.enabled + tags: [] + enabled: false + importvalues: [] + alias: "" + - name: metrics-exposer + version: 1.3.2 + repository: oci://registry.axual.io/axual-charts + condition: global.metrics-exposer.enabled + tags: [] + enabled: false + importvalues: [] + alias: "" + type: application + chart-overrides: "" +results: + - check: v1.0/contains-test + type: Mandatory + outcome: PASS + reason: Chart test files exist + - check: v1.1/has-kubeversion + type: Mandatory + outcome: PASS + reason: Kubernetes version specified + - check: v1.1/images-are-certified + type: Mandatory + outcome: PASS + reason: No images to certify + - check: v1.0/is-helm-v3 + type: Mandatory + outcome: PASS + reason: API version is V2, used in Helm 3 + - check: v1.0/contains-values + type: Mandatory + outcome: PASS + reason: Values file exist + - check: v1.0/not-contains-crds + type: Mandatory + outcome: PASS + reason: Chart does not contain CRDs + - check: v1.0/contains-values-schema + type: Mandatory + outcome: PASS + reason: Values schema file exist + - check: v1.0/has-readme + type: Mandatory + outcome: PASS + reason: Chart has a README + - check: v1.0/has-notes + type: Optional + outcome: PASS + reason: Chart does contain NOTES.txt + - check: v1.0/not-contain-csi-objects + type: Mandatory + outcome: PASS + reason: CSI objects do not exist + - check: v1.0/required-annotations-present + type: Mandatory + outcome: PASS + reason: All required annotations present + - check: v1.0/signature-is-valid + type: Mandatory + outcome: SKIPPED + reason: 'Chart is not signed : Signature verification not required' + - check: v1.0/helm-lint + type: Mandatory + outcome: PASS + reason: Helm lint successful + - check: v1.0/chart-testing + type: Mandatory + outcome: PASS + reason: Chart tests have passed diff --git a/charts/partners/bpm-test-registry-namespace/chart-external-prod/OWNERS b/charts/partners/bpm-test-registry-namespace/chart-external-prod/OWNERS index 758339cb0..4838acccb 100644 --- a/charts/partners/bpm-test-registry-namespace/chart-external-prod/OWNERS +++ b/charts/partners/bpm-test-registry-namespace/chart-external-prod/OWNERS @@ -1,7 +1,8 @@ chart: name: chart-external-prod - shortDescription: null -publicPgpKey: null + shortDescription: unknown +providerDelivery: false +publicPgpKey: unknown users: - githubUsername: sawalgiriraj vendor: diff --git a/charts/partners/bpm-test-registry-namespace/chart-internal-prod/OWNERS b/charts/partners/bpm-test-registry-namespace/chart-internal-prod/OWNERS index a9a4843a3..dec3ff6fe 100644 --- a/charts/partners/bpm-test-registry-namespace/chart-internal-prod/OWNERS +++ b/charts/partners/bpm-test-registry-namespace/chart-internal-prod/OWNERS @@ -1,7 +1,8 @@ chart: name: chart-internal-prod - shortDescription: null -publicPgpKey: null + shortDescription: unknown +providerDelivery: false +publicPgpKey: unknown users: - githubUsername: sawalgiriraj vendor: diff --git a/charts/partners/bpm-test-registry-namespace/helm-chart-internal-1627019053/OWNERS b/charts/partners/bpm-test-registry-namespace/helm-chart-internal-1627019053/OWNERS index a03a0a7fd..dad0119ce 100644 --- a/charts/partners/bpm-test-registry-namespace/helm-chart-internal-1627019053/OWNERS +++ b/charts/partners/bpm-test-registry-namespace/helm-chart-internal-1627019053/OWNERS @@ -1,6 +1,7 @@ chart: name: helm-chart-internal-1627019053 shortDescription: Test Helm Chart Short DESC +providerDelivery: false publicPgpKey: MTIzNDU2Nzg5MA== users: - githubUsername: sawalgiriraj diff --git a/charts/partners/bpm-test-registry-namespace/helm-chart-internal-1627019310/OWNERS b/charts/partners/bpm-test-registry-namespace/helm-chart-internal-1627019310/OWNERS index e70d5934b..d4fe9155a 100644 --- a/charts/partners/bpm-test-registry-namespace/helm-chart-internal-1627019310/OWNERS +++ b/charts/partners/bpm-test-registry-namespace/helm-chart-internal-1627019310/OWNERS @@ -1,6 +1,7 @@ chart: name: helm-chart-internal-1627019310 shortDescription: Test Helm Chart Short DESC +providerDelivery: false publicPgpKey: MTIzNDU2Nzg5MA== users: - githubUsername: sawalgiriraj diff --git a/charts/partners/bpm-test-registry-namespace/prodtest/OWNERS b/charts/partners/bpm-test-registry-namespace/prodtest/OWNERS index 18d03a205..e4495047a 100644 --- a/charts/partners/bpm-test-registry-namespace/prodtest/OWNERS +++ b/charts/partners/bpm-test-registry-namespace/prodtest/OWNERS @@ -1,6 +1,7 @@ chart: name: prodtest shortDescription: unknown +providerDelivery: false publicPgpKey: unknown users: [] vendor: diff --git a/charts/partners/bpm-test-registry-namespace/test-2102/OWNERS b/charts/partners/bpm-test-registry-namespace/test-2102/OWNERS index 6ea6c40e3..5cc92ffdc 100644 --- a/charts/partners/bpm-test-registry-namespace/test-2102/OWNERS +++ b/charts/partners/bpm-test-registry-namespace/test-2102/OWNERS @@ -1,6 +1,7 @@ chart: name: test-2102 shortDescription: unknown +providerDelivery: false publicPgpKey: unknown users: [] vendor: diff --git a/charts/partners/broadpeak/bks400/OWNERS b/charts/partners/broadpeak/bks400/OWNERS index 90d09928e..65d1d6e6e 100644 --- a/charts/partners/broadpeak/bks400/OWNERS +++ b/charts/partners/broadpeak/bks400/OWNERS @@ -1,7 +1,8 @@ chart: name: bks400 shortDescription: Broadpeak BkS400 Edge CDN -publicPgpKey: null +providerDelivery: false +publicPgpKey: unknown users: - githubUsername: bpkrichardv vendor: diff --git a/charts/partners/c3-ai/c3-cluster/OWNERS b/charts/partners/c3-ai/c3-cluster/OWNERS index 98a640ad2..f34b018a8 100644 --- a/charts/partners/c3-ai/c3-cluster/OWNERS +++ b/charts/partners/c3-ai/c3-cluster/OWNERS @@ -1,7 +1,8 @@ chart: name: c3-cluster - shortDescription: null -publicPgpKey: null + shortDescription: unknown +providerDelivery: false +publicPgpKey: unknown users: - githubUsername: c3ivodujmovic - githubUsername: c3-shiva diff --git a/charts/partners/ca/uma/OWNERS b/charts/partners/ca/uma/OWNERS index ac7fcd112..76c664e19 100644 --- a/charts/partners/ca/uma/OWNERS +++ b/charts/partners/ca/uma/OWNERS @@ -1,7 +1,8 @@ chart: name: uma shortDescription: Helm-charts for uma -publicPgpKey: null +providerDelivery: false +publicPgpKey: unknown users: - githubUsername: mn660971 vendor: diff --git a/charts/partners/castai/castai-agent/OWNERS b/charts/partners/castai/castai-agent/OWNERS index f94bbcd82..1030e78d6 100644 --- a/charts/partners/castai/castai-agent/OWNERS +++ b/charts/partners/castai/castai-agent/OWNERS @@ -3,7 +3,7 @@ chart: shortDescription: 'CAST AI Repository for helm charts to operate the CAST AI Kubernetes automation platform. ' providerDelivery: false -publicPgpKey: null +publicPgpKey: unknown users: - githubUsername: zilvinasu vendor: diff --git a/charts/partners/catalogicsoftware/cloudcasa/OWNERS b/charts/partners/catalogicsoftware/cloudcasa/OWNERS index 94eafa35b..560bbdb79 100644 --- a/charts/partners/catalogicsoftware/cloudcasa/OWNERS +++ b/charts/partners/catalogicsoftware/cloudcasa/OWNERS @@ -1,10 +1,9 @@ chart: name: cloudcasa - shortDescription: CloudCasa agent Helm chart + shortDescription: unknown providerDelivery: false publicPgpKey: unknown -users: -- githubUsername: bobadair +users: [] vendor: label: catalogicsoftware name: Catalogic Software diff --git a/charts/partners/certpm-test-partner/gitbook/OWNERS b/charts/partners/certpm-test-partner/gitbook/OWNERS index 0706c0f9c..fba0564d6 100644 --- a/charts/partners/certpm-test-partner/gitbook/OWNERS +++ b/charts/partners/certpm-test-partner/gitbook/OWNERS @@ -1,6 +1,7 @@ chart: name: gitbook shortDescription: unknown +providerDelivery: false publicPgpKey: unknown users: [] vendor: diff --git a/charts/partners/certpm-test-partner/helm-chart-doc/OWNERS b/charts/partners/certpm-test-partner/helm-chart-doc/OWNERS index bb1868c8d..3d12dfe03 100644 --- a/charts/partners/certpm-test-partner/helm-chart-doc/OWNERS +++ b/charts/partners/certpm-test-partner/helm-chart-doc/OWNERS @@ -1,6 +1,7 @@ chart: name: helm-chart-doc shortDescription: unknown +providerDelivery: false publicPgpKey: unknown users: [] vendor: diff --git a/charts/partners/certpm-test-partner/test-helm-chart-new/OWNERS b/charts/partners/certpm-test-partner/test-helm-chart-new/OWNERS index c490a82e3..1d11eeb29 100644 --- a/charts/partners/certpm-test-partner/test-helm-chart-new/OWNERS +++ b/charts/partners/certpm-test-partner/test-helm-chart-new/OWNERS @@ -1,7 +1,8 @@ chart: name: test-helm-chart-new - shortDescription: null -publicPgpKey: null + shortDescription: unknown +providerDelivery: false +publicPgpKey: unknown users: - githubUsername: marcorandria+github@gmail.com vendor: diff --git a/charts/partners/cloudcastles/cc-ubi8-hw/OWNERS b/charts/partners/cloudcastles/cc-ubi8-hw/OWNERS index f9ad85d1d..3da04b8ce 100644 --- a/charts/partners/cloudcastles/cc-ubi8-hw/OWNERS +++ b/charts/partners/cloudcastles/cc-ubi8-hw/OWNERS @@ -1,7 +1,8 @@ chart: name: cc-ubi8-hw shortDescription: Basic helm chart for cc sample application -publicPgpKey: null +providerDelivery: false +publicPgpKey: unknown users: - githubUsername: vrvaderom vendor: diff --git a/charts/partners/cpd/wmla231/OWNERS b/charts/partners/cpd/wmla231/OWNERS index abb205ef8..8cde3e2d3 100644 --- a/charts/partners/cpd/wmla231/OWNERS +++ b/charts/partners/cpd/wmla231/OWNERS @@ -1,6 +1,7 @@ chart: name: wmla231 shortDescription: unknown +providerDelivery: false publicPgpKey: unknown users: [] vendor: diff --git a/charts/partners/datacore-software/puls8/OWNERS b/charts/partners/datacore-software/puls8/OWNERS new file mode 100644 index 000000000..ed29c57d1 --- /dev/null +++ b/charts/partners/datacore-software/puls8/OWNERS @@ -0,0 +1,9 @@ +chart: + name: puls8 + shortDescription: unknown +providerDelivery: false +publicPgpKey: unknown +users: [] +vendor: + label: datacore-software + name: Datacore Software diff --git a/charts/partners/dh2i/dxemssql/OWNERS b/charts/partners/dh2i/dxemssql/OWNERS index 75aea0ac2..dfec37af2 100644 --- a/charts/partners/dh2i/dxemssql/OWNERS +++ b/charts/partners/dh2i/dxemssql/OWNERS @@ -2,7 +2,7 @@ chart: name: dxemssql shortDescription: Helm chart for DxEnterprise + SQL Server sidecar container deployment providerDelivery: false -publicPgpKey: null +publicPgpKey: unknown users: - githubUsername: dh2i-devs vendor: diff --git a/charts/partners/diffgram/diffgram-helm/OWNERS b/charts/partners/diffgram/diffgram-helm/OWNERS index 39850eb71..e03dcfabf 100644 --- a/charts/partners/diffgram/diffgram-helm/OWNERS +++ b/charts/partners/diffgram/diffgram-helm/OWNERS @@ -1,7 +1,8 @@ chart: name: diffgram-helm - shortDescription: null -publicPgpKey: null + shortDescription: unknown +providerDelivery: false +publicPgpKey: unknown users: - githubUsername: anthony-sarkis vendor: diff --git a/charts/partners/enclaive/vhsm/0.29.0/report.yaml b/charts/partners/enclaive/vhsm/0.29.0/report.yaml new file mode 100644 index 000000000..fd0dbf329 --- /dev/null +++ b/charts/partners/enclaive/vhsm/0.29.0/report.yaml @@ -0,0 +1,103 @@ +apiversion: v1 +kind: verify-report +metadata: + tool: + verifier-version: 1.13.13 + profile: + VendorType: partner + version: v1.3 + reportDigest: uint64:14456852576257879128 + chart-uri: vhsm-0.29.0.tgz + digests: + chart: sha256:5f1bc27fd08754f1e97a5ba5326501ef5dae1ef42a2a64974717c0128605d7ea + package: 23c66904fc799f7cfa34afb83e6d1eab5d392ee2e491fd622ebb76f8cec9c601 + lastCertifiedTimestamp: "2025-09-08T10:41:26.191558+00:00" + testedOpenShiftVersion: "4.19" + supportedOpenShiftVersions: '>=4.7' + webCatalogOnly: false + chart: + name: vhsm + home: https://www.enclaive.io + sources: + - https://github.com/enclaive/vhsm + - https://github.com/enclaive/vhsm-helm + version: 0.29.0 + description: Official Enclaive vHSM Chart + keywords: + - vhsm + - security + - encryption + - secrets + - management + - automation + - infrastructure + maintainers: [] + icon: "" + apiversion: v2 + condition: "" + tags: "" + appversion: 1.4.4-1 + deprecated: false + annotations: + charts.openshift.io/name: Enclaive vHSM + kubeversion: '>= 1.20.0-0' + dependencies: [] + type: "" + chart-overrides: "" +results: + - check: v1.0/signature-is-valid + type: Mandatory + outcome: SKIPPED + reason: 'Chart is not signed : Signature verification not required' + - check: v1.0/chart-testing + type: Mandatory + outcome: PASS + reason: Chart tests have passed + - check: v1.0/contains-test + type: Mandatory + outcome: PASS + reason: Chart test files exist + - check: v1.0/contains-values-schema + type: Mandatory + outcome: PASS + reason: Values schema file exist + - check: v1.0/contains-values + type: Mandatory + outcome: PASS + reason: Values file exist + - check: v1.1/has-kubeversion + type: Mandatory + outcome: PASS + reason: Kubernetes version specified + - check: v1.0/is-helm-v3 + type: Mandatory + outcome: PASS + reason: API version is V2, used in Helm 3 + - check: v1.0/not-contain-csi-objects + type: Mandatory + outcome: PASS + reason: CSI objects do not exist + - check: v1.0/not-contains-crds + type: Mandatory + outcome: PASS + reason: Chart does not contain CRDs + - check: v1.0/required-annotations-present + type: Mandatory + outcome: PASS + reason: All required annotations present + - check: v1.0/has-notes + type: Optional + outcome: PASS + reason: Chart does contain NOTES.txt + - check: v1.0/has-readme + type: Mandatory + outcome: PASS + reason: Chart has a README + - check: v1.0/helm-lint + type: Mandatory + outcome: PASS + reason: Helm lint successful + - check: v1.1/images-are-certified + type: Mandatory + outcome: PASS + reason: 'Image is Red Hat certified : quay.io/enclaive/vhsm:v1.4.4-1' diff --git a/charts/partners/enclaive/vhsm/0.29.0/vhsm-0.29.0.tgz b/charts/partners/enclaive/vhsm/0.29.0/vhsm-0.29.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..36cd9b8ab73c212daf558c01142914be21b9f091 GIT binary patch literal 38469 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 JFTMaM0|3cBYhC~V literal 0 HcmV?d00001 diff --git a/charts/partners/enclaive/vhsm/OWNERS b/charts/partners/enclaive/vhsm/OWNERS new file mode 100644 index 000000000..008006943 --- /dev/null +++ b/charts/partners/enclaive/vhsm/OWNERS @@ -0,0 +1,12 @@ +chart: + name: vhsm + shortDescription: The official enclaive Helm chart for installing and configuring + vHSM on OpenShift +providerDelivery: false +publicPgpKey: unknown +users: +- githubUsername: sebastiangajek +- githubUsername: klassiker +vendor: + label: enclaive + name: enclaive GmbH diff --git a/charts/partners/exate/exateapigator/OWNERS b/charts/partners/exate/exateapigator/OWNERS index 3b102967e..04435baa1 100644 --- a/charts/partners/exate/exateapigator/OWNERS +++ b/charts/partners/exate/exateapigator/OWNERS @@ -2,7 +2,7 @@ chart: name: exateapigator shortDescription: eXate APIgator deployment providerDelivery: false -publicPgpKey: null +publicPgpKey: unknown users: - githubUsername: zeeshanAt vendor: diff --git a/charts/partners/exfo/uverifier/OWNERS b/charts/partners/exfo/uverifier/OWNERS index 50f6334cf..b9824b2c9 100644 --- a/charts/partners/exfo/uverifier/OWNERS +++ b/charts/partners/exfo/uverifier/OWNERS @@ -1,7 +1,8 @@ chart: name: uverifier shortDescription: Nova u-Verifier helm chart -publicPgpKey: null +providerDelivery: false +publicPgpKey: unknown users: - githubUsername: arasyid-aziz vendor: diff --git a/charts/partners/fiware/orion-ld/OWNERS b/charts/partners/fiware/orion-ld/OWNERS index 08a12590d..315055c40 100644 --- a/charts/partners/fiware/orion-ld/OWNERS +++ b/charts/partners/fiware/orion-ld/OWNERS @@ -2,7 +2,8 @@ chart: name: orion-ld shortDescription: Context Broker and CEF building block for context data management which supports both the NGSI-LD and the NGSI-v2 APIs. -publicPgpKey: null +providerDelivery: false +publicPgpKey: unknown users: - githubUsername: wistefan vendor: diff --git a/charts/partners/flomesh/flomesh-console/OWNERS b/charts/partners/flomesh/flomesh-console/OWNERS index 7a9a2aae3..2720dcd11 100644 --- a/charts/partners/flomesh/flomesh-console/OWNERS +++ b/charts/partners/flomesh/flomesh-console/OWNERS @@ -1,8 +1,8 @@ chart: name: flomesh-console - shortDescription: null + shortDescription: unknown providerDelivery: false -publicPgpKey: null +publicPgpKey: unknown users: - githubUsername: nixff vendor: diff --git a/charts/partners/flomesh/fsm/OWNERS b/charts/partners/flomesh/fsm/OWNERS index bfa19f0db..02c89e862 100644 --- a/charts/partners/flomesh/fsm/OWNERS +++ b/charts/partners/flomesh/fsm/OWNERS @@ -1,8 +1,8 @@ chart: name: fsm - shortDescription: null + shortDescription: unknown providerDelivery: false -publicPgpKey: null +publicPgpKey: unknown users: - githubUsername: reaver-flomesh vendor: diff --git a/charts/partners/flomesh/osm-edge/OWNERS b/charts/partners/flomesh/osm-edge/OWNERS index 8f8e08737..81245a66a 100644 --- a/charts/partners/flomesh/osm-edge/OWNERS +++ b/charts/partners/flomesh/osm-edge/OWNERS @@ -1,8 +1,8 @@ chart: name: osm-edge - shortDescription: null + shortDescription: unknown providerDelivery: false -publicPgpKey: null +publicPgpKey: unknown users: - githubUsername: cybwan vendor: diff --git a/charts/partners/fortanix/dsm-secrets-injector-chart/OWNERS b/charts/partners/fortanix/dsm-secrets-injector-chart/OWNERS index f18049690..ee64698dd 100644 --- a/charts/partners/fortanix/dsm-secrets-injector-chart/OWNERS +++ b/charts/partners/fortanix/dsm-secrets-injector-chart/OWNERS @@ -1,7 +1,8 @@ chart: name: dsm-secrets-injector-chart shortDescription: Helm Charts for Fortanix DSM Secrets Injector -publicPgpKey: null +providerDelivery: false +publicPgpKey: unknown users: - githubUsername: frankus0512 - githubUsername: manasag diff --git a/charts/partners/gitlab/gitlab/OWNERS b/charts/partners/gitlab/gitlab/OWNERS index a6d6b2e95..f4f98cbbf 100644 --- a/charts/partners/gitlab/gitlab/OWNERS +++ b/charts/partners/gitlab/gitlab/OWNERS @@ -1,7 +1,8 @@ chart: name: gitlab - shortDescription: null -publicPgpKey: null + shortDescription: unknown +providerDelivery: false +publicPgpKey: unknown users: - githubUsername: hickey vendor: diff --git a/charts/partners/granulate/sagent/OWNERS b/charts/partners/granulate/sagent/OWNERS index 01f4b8017..5e2dd2251 100644 --- a/charts/partners/granulate/sagent/OWNERS +++ b/charts/partners/granulate/sagent/OWNERS @@ -2,7 +2,7 @@ chart: name: sagent shortDescription: Granulate sAgent agent providerDelivery: false -publicPgpKey: null +publicPgpKey: unknown users: - githubUsername: shaharshitrit vendor: diff --git a/charts/partners/hashicorp/vault/0.31.0/src/.helmignore b/charts/partners/hashicorp/vault/0.31.0/src/.helmignore new file mode 100644 index 000000000..18dbc2bcd --- /dev/null +++ b/charts/partners/hashicorp/vault/0.31.0/src/.helmignore @@ -0,0 +1,29 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.terraform/ +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*~ +# Various IDEs +.project +.idea/ +*.tmproj + +# CI and test +.circleci/ +.github/ +.gitlab-ci.yml +test/ +scratch/ diff --git a/charts/partners/hashicorp/vault/0.31.0/src/CHANGELOG.md b/charts/partners/hashicorp/vault/0.31.0/src/CHANGELOG.md new file mode 100644 index 000000000..379c9cf26 --- /dev/null +++ b/charts/partners/hashicorp/vault/0.31.0/src/CHANGELOG.md @@ -0,0 +1,635 @@ +## Unreleased + +## 0.31.0 (September 25, 2025) + +Changes: + +* Default `vault` version updated to 1.20.4 +* Default `vault-csi-provider` version updated to 1.6.0 +* Change default `csi.daemonSet.providersDir` to "/var/run/secrets-store-csi-providers" + +Features: + +* csi: Add Red Hat certified vault-csi-provider image to OpenShift defaults [GH-1134](https://github.com/hashicorp/vault-helm/pull/1134) + +Improvements: + +* server: Add metricRelabelings to serviceMonitor options [GH-1131](https://github.com/hashicorp/vault-helm/pull/1131) + +## 0.30.1 (July 28, 2025) + +Changes: + +* Default `vault` version updated to 1.20.1 +* Default `vault-k8s` version updated to 1.7.0 +* Default `vault-csi-provider` version updated to 1.5.1 +* Tested with Kubernetes versions 1.29-1.33 + +Bugs: + +* server: Allow `server.service.active.annotations` and `server.service.standby.annotation` to override `server.service.annotations` [GH-1121](https://github.com/hashicorp/vault-helm/pull/1121) + +## 0.30.0 (March 27, 2025) + +Changes: + +* Default `vault` version updated to 1.19.0 +* Default `vault-k8s` version updated to 1.6.2 +* Tested with Kubernetes versions 1.28-1.32 + +Features: + +* server: Support setting custom preStop commands [GH-1099](https://github.com/hashicorp/vault-helm/pull/1099) + +Improvements: + +* server: Add pod labels to server-test.yaml [GH-1094](https://github.com/hashicorp/vault-helm/pull/1094) + +Bugs: + +* server: Fix invalid yaml in server test when volumeMounts or volumes are empty [GH-855](https://github.com/hashicorp/vault-helm/pull/855) +* injector: Add RBAC for deleting configmaps [GH-1100](https://github.com/hashicorp/vault-helm/pull/1100) + +## 0.29.1 (November 20, 2024) + +Bugs: +* server: restore support for templated config [GH-1073](https://github.com/hashicorp/vault-helm/pull/1073) + +## 0.29.0 (November 7, 2024) + +KNOWN ISSUES: +* Template support in server config stopped working [GH-1072](https://github.com/hashicorp/vault-helm/issues/1072) + +Changes: + +* Default `vault` version updated to 1.18.1 +* Default `vault-k8s` version updated to 1.5.0 +* Default `vault-csi-provider` version updated to 1.5.0 +* Tested with Kubernetes versions 1.27-1.31 + +Features: + +* csi: Allow modification of the hostNetwork parameter on the DaemonSet [GH-1046](https://github.com/hashicorp/vault-helm/pull/1046) + +Bugs: + +* Properly handle JSON formatted server config [GH-1049](https://github.com/hashicorp/vault-helm/pull/1049) + +## 0.28.1 (July 11, 2024) + +Changes: + +* Default `vault` version updated to 1.17.2 +* Default `vault-k8s` version updated to 1.4.2 +* Default `vault-csi-provider` version updated to 1.4.3 +* Tested with Kubernetes versions 1.26-1.30 + +Improvements: + +* Configurable `tlsConfig` and `authorization` for Prometheus ServiceMonitor [GH-1025](https://github.com/hashicorp/vault-helm/pull/1025) +* Remove UPDATE from injector-mutating-webhook [GH-783](https://github.com/hashicorp/vault-helm/pull/783) +* Add scope to mutating webhook [GH-1037](https://github.com/hashicorp/vault-helm/pull/1037) + +## 0.28.0 (April 8, 2024) + +Changes: + +* Default `vault` version updated to 1.16.1 +* Default `vault-k8s` version updated to 1.4.1 +* Default `vault-csi-provider` version updated to 1.4.2 +* Tested with Kubernetes versions 1.25-1.29 + +Features: + +* server: Add annotation on config change [GH-1001](https://github.com/hashicorp/vault-helm/pull/1001) + +Bugs: + +* injector: add missing `get` `nodes` permission to ClusterRole [GH-1005](https://github.com/hashicorp/vault-helm/pull/1005) + +## 0.27.0 (November 16, 2023) + +Changes: + +* Default `vault` version updated to 1.15.2 + +Features: + +* server: Support setting `persistentVolumeClaimRetentionPolicy` on the StatefulSet [GH-965](https://github.com/hashicorp/vault-helm/pull/965) +* server: Support setting labels on PVCs [GH-969](https://github.com/hashicorp/vault-helm/pull/969) +* server: Support setting ingress rules for networkPolicy [GH-877](https://github.com/hashicorp/vault-helm/pull/877) + +Improvements: + +* Support exec in the server liveness probe [GH-971](https://github.com/hashicorp/vault-helm/pull/971) + +## 0.26.1 (October 30, 2023) + +Bugs: +* Fix templating of `server.ha.replicas` when set via override file. The `0.26.0` chart would ignore `server.ha.replicas` and always deploy 3 server replicas when `server.ha.enabled=true` unless overridden by command line when issuing the helm command: `--set server.ha.replicas=`. Fixed in [GH-961](https://github.com/hashicorp/vault-helm/pull/961) + +## 0.26.0 (October 27, 2023) + +Changes: +* Default `vault` version updated to 1.15.1 +* Default `vault-k8s` version updated to 1.3.1 +* Default `vault-csi-provider` version updated to 1.4.1 +* Tested with Kubernetes versions 1.24-1.28 +* server: OpenShift default readiness probe returns 204 when uninitialized [GH-966](https://github.com/hashicorp/vault-helm/pull/966) + +Features: +* server: Add support for dual stack clusters [GH-833](https://github.com/hashicorp/vault-helm/pull/833) +* server: Support `hostAliases` for the StatefulSet pods [GH-955](https://github.com/hashicorp/vault-helm/pull/955) +* server: Add `server.service.active.annotations` and `server.service.standby.annotations` [GH-896](https://github.com/hashicorp/vault-helm/pull/896) +* server: Add long-lived service account token option [GH-923](https://github.com/hashicorp/vault-helm/pull/923) + +Bugs: +* csi: Add namespace field to `csi-role` and `csi-rolebindings`. [GH-909](https://github.com/hashicorp/vault-helm/pull/909) + +Improvements: +* global: Add `global.namespace` to override the helm installation namespace. [GH-909](https://github.com/hashicorp/vault-helm/pull/909) +* server: use vault.fullname in Helm test [GH-912](https://github.com/hashicorp/vault-helm/pull/912) +* server: Allow scaling HA replicas to zero [GH-943](https://github.com/hashicorp/vault-helm/pull/943) + +## 0.25.0 (June 26, 2023) + +Changes: +* Latest Kubernetes version tested is now 1.27 +* server: Headless service ignores `server.service.publishNotReadyAddresses` setting and always sets it as `true` [GH-902](https://github.com/hashicorp/vault-helm/pull/902) +* `vault` updated to 1.14.0 [GH-916](https://github.com/hashicorp/vault-helm/pull/916) +* `vault-csi-provider` updated to 1.4.0 [GH-916](https://github.com/hashicorp/vault-helm/pull/916) + +Improvements: +* CSI: Make `nodeSelector` and `affinity` configurable for CSI daemonset's pods [GH-862](https://github.com/hashicorp/vault-helm/pull/862) +* injector: Add `ephemeralLimit` and `ephemeralRequest` as options for configuring Agent's ephemeral storage resources [GH-798](https://github.com/hashicorp/vault-helm/pull/798) +* Minimum kubernetes version for chart reverted to 1.20.0 to allow installation on clusters older than the oldest tested version [GH-916](https://github.com/hashicorp/vault-helm/pull/916) + +Bugs: +* server: Set the default for `prometheusRules.rules` to an empty list [GH-886](https://github.com/hashicorp/vault-helm/pull/886) + +## 0.24.1 (April 17, 2023) + +Bugs: +* csi: Add RBAC required by v1.3.0 to create secret for HMAC key used to generate secret versions [GH-872](https://github.com/hashicorp/vault-helm/pull/872) + +## 0.24.0 (April 6, 2023) + +Changes: +* Earliest Kubernetes version tested is now 1.22 +* `vault` updated to 1.13.1 [GH-863](https://github.com/hashicorp/vault-helm/pull/863) +* `vault-k8s` updated to 1.2.1 [GH-868](https://github.com/hashicorp/vault-helm/pull/868) +* `vault-csi-provider` updated to 1.3.0 [GH-749](https://github.com/hashicorp/vault-helm/pull/749) + +Features: +* server: New `extraPorts` option for adding ports to the Vault server statefulset [GH-841](https://github.com/hashicorp/vault-helm/pull/841) +* server: Add configurable Port Number in readinessProbe and livenessProbe for the server-statefulset [GH-831](https://github.com/hashicorp/vault-helm/pull/831) +* injector: Make livenessProbe and readinessProbe configurable and add configurable startupProbe [GH-852](https://github.com/hashicorp/vault-helm/pull/852) +* csi: Add an Agent sidecar to Vault CSI Provider pods to provide lease caching and renewals [GH-749](https://github.com/hashicorp/vault-helm/pull/749) + +## 0.23.0 (November 28th, 2022) + +Changes: +* `vault` updated to 1.12.1 [GH-814](https://github.com/hashicorp/vault-helm/pull/814) +* `vault-k8s` updated to 1.1.0 [GH-814](https://github.com/hashicorp/vault-helm/pull/814) +* `vault-csi-provider` updated to 1.2.1 [GH-814](https://github.com/hashicorp/vault-helm/pull/814) + +Features: +* server: Add `extraLabels` for Vault server serviceAccount [GH-806](https://github.com/hashicorp/vault-helm/pull/806) +* server: Add `server.service.active.enabled` and `server.service.standby.enabled` options to selectively disable additional services [GH-811](https://github.com/hashicorp/vault-helm/pull/811) +* server: Add `server.serviceAccount.serviceDiscovery.enabled` option to selectively disable a Vault service discovery role and role binding [GH-811](https://github.com/hashicorp/vault-helm/pull/811) +* server: Add `server.service.instanceSelector.enabled` option to allow selecting pods outside the helm chart deployment [GH-813](https://github.com/hashicorp/vault-helm/pull/813) + +Bugs: +* server: Quote `.server.ha.clusterAddr` value [GH-810](https://github.com/hashicorp/vault-helm/pull/810) + +## 0.22.1 (October 26th, 2022) + +Changes: +* `vault` updated to 1.12.0 [GH-803](https://github.com/hashicorp/vault-helm/pull/803) +* `vault-k8s` updated to 1.0.1 [GH-803](https://github.com/hashicorp/vault-helm/pull/803) + +## 0.22.0 (September 8th, 2022) + +Features: +* Add PrometheusOperator support for collecting Vault server metrics. [GH-772](https://github.com/hashicorp/vault-helm/pull/772) + +Changes: +* `vault-k8s` to 1.0.0 [GH-784](https://github.com/hashicorp/vault-helm/pull/784) +* Test against Kubernetes 1.25 [GH-784](https://github.com/hashicorp/vault-helm/pull/784) +* `vault` updated to 1.11.3 [GH-785](https://github.com/hashicorp/vault-helm/pull/785) + +## 0.21.0 (August 10th, 2022) + +CHANGES: +* `vault-k8s` updated to 0.17.0. [GH-771](https://github.com/hashicorp/vault-helm/pull/771) +* `vault-csi-provider` updated to 1.2.0 [GH-771](https://github.com/hashicorp/vault-helm/pull/771) +* `vault` updated to 1.11.2 [GH-771](https://github.com/hashicorp/vault-helm/pull/771) +* Start testing against Kubernetes 1.24. [GH-744](https://github.com/hashicorp/vault-helm/pull/744) +* Deprecated `injector.externalVaultAddr`. Added `global.externalVaultAddr`, which applies to both the Injector and the CSI Provider. [GH-745](https://github.com/hashicorp/vault-helm/pull/745) +* CSI Provider pods now set the `VAULT_ADDR` environment variable to either the internal Vault service or the configured external address. [GH-745](https://github.com/hashicorp/vault-helm/pull/745) + +Features: +* server: Add `server.statefulSet.securityContext` to override pod and container `securityContext`. [GH-767](https://github.com/hashicorp/vault-helm/pull/767) +* csi: Add `csi.daemonSet.securityContext` to override pod and container `securityContext`. [GH-767](https://github.com/hashicorp/vault-helm/pull/767) +* injector: Add `injector.securityContext` to override pod and container `securityContext`. [GH-750](https://github.com/hashicorp/vault-helm/pull/750) and [GH-767](https://github.com/hashicorp/vault-helm/pull/767) +* Add `server.service.activeNodePort` and `server.service.standbyNodePort` to specify the `nodePort` for active and standby services. [GH-610](https://github.com/hashicorp/vault-helm/pull/610) +* Support for setting annotations on the injector's serviceAccount [GH-753](https://github.com/hashicorp/vault-helm/pull/753) + +## 0.20.1 (May 25th, 2022) +CHANGES: +* `vault-k8s` updated to 0.16.1 [GH-739](https://github.com/hashicorp/vault-helm/pull/739) + +Improvements: +* Mutating webhook will no longer target the agent injector pod [GH-736](https://github.com/hashicorp/vault-helm/pull/736) + +Bugs: +* `vault` service account is now created even if the server is set to disabled, as per before 0.20.0 [GH-737](https://github.com/hashicorp/vault-helm/pull/737) + +## 0.20.0 (May 16th, 2022) + +CHANGES: +* `global.enabled` now works as documented, that is, setting `global.enabled` to false will disable everything, with individual components able to be turned on individually [GH-703](https://github.com/hashicorp/vault-helm/pull/703) +* Default value of `-` used for injector and server to indicate that they follow `global.enabled`. [GH-703](https://github.com/hashicorp/vault-helm/pull/703) +* Vault default image to 1.10.3 +* CSI provider default image to 1.1.0 +* Vault K8s default image to 0.16.0 +* Earliest Kubernetes version tested is now 1.16 +* Helm 3.6+ now required + +Features: +* Support topologySpreadConstraints in server and injector. [GH-652](https://github.com/hashicorp/vault-helm/pull/652) + +Improvements: +* CSI: Set `extraLabels` for daemonset, pods, and service account [GH-690](https://github.com/hashicorp/vault-helm/pull/690) +* Add namespace to injector-leader-elector role, rolebinding and secret [GH-683](https://github.com/hashicorp/vault-helm/pull/683) +* Support policy/v1 PodDisruptionBudget in Kubernetes 1.21+ for server and injector [GH-710](https://github.com/hashicorp/vault-helm/pull/710) +* Make the Cluster Address (CLUSTER_ADDR) configurable [GH-629](https://github.com/hashicorp/vault-helm/pull/709) +* server: Make `publishNotReadyAddresses` configurable for services [GH-694](https://github.com/hashicorp/vault-helm/pull/694) +* server: Allow config to be defined as a YAML object in the values file [GH-684](https://github.com/hashicorp/vault-helm/pull/684) +* Maintain default MutatingWebhookConfiguration values from `v1beta1` [GH-692](https://github.com/hashicorp/vault-helm/pull/692) + +## 0.19.0 (January 20th, 2022) + +CHANGES: +* Vault image default 1.9.2 +* Vault K8s image default 0.14.2 + +Features: +* Added configurable podDisruptionBudget for injector [GH-653](https://github.com/hashicorp/vault-helm/pull/653) +* Make terminationGracePeriodSeconds configurable for server [GH-659](https://github.com/hashicorp/vault-helm/pull/659) +* Added configurable update strategy for injector [GH-661](https://github.com/hashicorp/vault-helm/pull/661) +* csi: ability to set priorityClassName for CSI daemonset pods [GH-670](https://github.com/hashicorp/vault-helm/pull/670) + +Improvements: +* Set the namespace on the OpenShift Route [GH-679](https://github.com/hashicorp/vault-helm/pull/679) +* Add volumes and env vars to helm hook test pod [GH-673](https://github.com/hashicorp/vault-helm/pull/673) +* Make TLS configurable for OpenShift routes [GH-686](https://github.com/hashicorp/vault-helm/pull/686) + +## 0.18.0 (November 17th, 2021) + +CHANGES: +* Removed support for deploying a leader-elector container with the [vault-k8s injector](https://github.com/hashicorp/vault-k8s) injector since vault-k8s now uses an internal mechanism to determine leadership [GH-649](https://github.com/hashicorp/vault-helm/pull/649) +* Vault image default 1.9.0 +* Vault K8s image default 0.14.1 + +Improvements: +* Added templateConfig.staticSecretRenderInterval chart option for the injector [GH-621](https://github.com/hashicorp/vault-helm/pull/621) + +## 0.17.1 (October 25th, 2021) + +Improvements: + * Add option for Ingress PathType [GH-634](https://github.com/hashicorp/vault-helm/pull/634) + +## 0.17.0 (October 21st, 2021) + +KNOWN ISSUES: +* The chart will fail to deploy on Kubernetes 1.19+ with `server.ingress.enabled=true` because no `pathType` is set + +CHANGES: +* Vault image default 1.8.4 +* Vault K8s image default 0.14.0 + +Improvements: +* Support Ingress stable networking API [GH-590](https://github.com/hashicorp/vault-helm/pull/590) +* Support setting the `externalTrafficPolicy` for `LoadBalancer` and `NodePort` service types [GH-626](https://github.com/hashicorp/vault-helm/pull/626) +* Support setting ingressClassName on server Ingress [GH-630](https://github.com/hashicorp/vault-helm/pull/630) + +Bugs: +* Ensure `kubeletRootDir` volume path and mounts are the same when `csi.daemonSet.kubeletRootDir` is overridden [GH-628](https://github.com/hashicorp/vault-helm/pull/628) + +## 0.16.1 (September 29th, 2021) + +CHANGES: +* Vault image default 1.8.3 +* Vault K8s image default 0.13.1 + +## 0.16.0 (September 16th, 2021) + +CHANGES: +* Support for deploying a leader-elector container with the [vault-k8s injector](https://github.com/hashicorp/vault-k8s) injector will be removed in version 0.18.0 of this chart since vault-k8s now uses an internal mechanism to determine leadership. To enable the deployment of the leader-elector container for use with vault-k8s 0.12.0 and earlier, set `useContainer=true`. + +Improvements: + * Make CSI provider `hostPaths` configurable via `csi.daemonSet.providersDir` and `csi.daemonSet.kubeletRootDir` [GH-603](https://github.com/hashicorp/vault-helm/pull/603) + * Support vault-k8s internal leader election [GH-568](https://github.com/hashicorp/vault-helm/pull/568) [GH-607](https://github.com/hashicorp/vault-helm/pull/607) + +## 0.15.0 (August 23rd, 2021) + +Improvements: +* Add imagePullSecrets on server test [GH-572](https://github.com/hashicorp/vault-helm/pull/572) +* Add injector.webhookAnnotations chart option [GH-584](https://github.com/hashicorp/vault-helm/pull/584) + +## 0.14.0 (July 28th, 2021) + +Features: +* Added templateConfig.exitOnRetryFailure chart option for the injector [GH-560](https://github.com/hashicorp/vault-helm/pull/560) + +Improvements: +* Support configuring pod tolerations, pod affinity, and node selectors as YAML [GH-565](https://github.com/hashicorp/vault-helm/pull/565) +* Set the default vault image to come from the hashicorp organization [GH-567](https://github.com/hashicorp/vault-helm/pull/567) +* Add support for running the acceptance tests against a local `kind` cluster [GH-567](https://github.com/hashicorp/vault-helm/pull/567) +* Add `server.ingress.activeService` to configure if the ingress should use the active service [GH-570](https://github.com/hashicorp/vault-helm/pull/570) +* Add `server.route.activeService` to configure if the route should use the active service [GH-570](https://github.com/hashicorp/vault-helm/pull/570) +* Support configuring `global.imagePullSecrets` from a string array [GH-576](https://github.com/hashicorp/vault-helm/pull/576) + + +## 0.13.0 (June 17th, 2021) + +Improvements: +* Added a helm test for vault server [GH-531](https://github.com/hashicorp/vault-helm/pull/531) +* Added server.enterpriseLicense option [GH-547](https://github.com/hashicorp/vault-helm/pull/547) +* Added OpenShift overrides [GH-549](https://github.com/hashicorp/vault-helm/pull/549) + +Bugs: +* Fix ui.serviceNodePort schema [GH-537](https://github.com/hashicorp/vault-helm/pull/537) +* Fix server.ha.disruptionBudget.maxUnavailable schema [GH-535](https://github.com/hashicorp/vault-helm/pull/535) +* Added webhook-certs volume mount to sidecar injector [GH-545](https://github.com/hashicorp/vault-helm/pull/545) + +## 0.12.0 (May 25th, 2021) + +Features: +* Pass additional arguments to `vault-csi-provider` using `csi.extraArgs` [GH-526](https://github.com/hashicorp/vault-helm/pull/526) + +Improvements: +* Set chart kubeVersion and added chart-verifier tests [GH-510](https://github.com/hashicorp/vault-helm/pull/510) +* Added values json schema [GH-513](https://github.com/hashicorp/vault-helm/pull/513) +* Ability to set tolerations for CSI daemonset pods [GH-521](https://github.com/hashicorp/vault-helm/pull/521) +* UI target port is now configurable [GH-437](https://github.com/hashicorp/vault-helm/pull/437) + +Bugs: +* CSI: `global.imagePullSecrets` are now also used for CSI daemonset [GH-519](https://github.com/hashicorp/vault-helm/pull/519) + +## 0.11.0 (April 14th, 2021) + +Features: +* Added `server.enabled` to explicitly skip installing a Vault server [GH-486](https://github.com/hashicorp/vault-helm/pull/486) +* Injector now supports enabling host network [GH-471](https://github.com/hashicorp/vault-helm/pull/471) +* Injector port is now configurable [GH-489](https://github.com/hashicorp/vault-helm/pull/489) +* Injector Vault Agent resource defaults are now configurable [GH-493](https://github.com/hashicorp/vault-helm/pull/493) +* Extra paths can now be added to the Vault ingress service [GH-460](https://github.com/hashicorp/vault-helm/pull/460) +* Log level and format can now be set directly using `server.logFormat` and `server.logLevel` [GH-488](https://github.com/hashicorp/vault-helm/pull/488) + +Improvements: +* Added `https` name to injector service port [GH-495](https://github.com/hashicorp/vault-helm/pull/495) + +Bugs: +* CSI: Fix ClusterRole name and DaemonSet's service account to properly match deployment name [GH-486](https://github.com/hashicorp/vault-helm/pull/486) + +## 0.10.0 (March 25th, 2021) + +Features: +* Add support for [Vault CSI provider](https://github.com/hashicorp/vault-csi-provider) [GH-461](https://github.com/hashicorp/vault-helm/pull/461) + +Improvements: +* `objectSelector` can now be set on the mutating admission webhook [GH-456](https://github.com/hashicorp/vault-helm/pull/456) + +## 0.9.1 (February 2nd, 2021) + +Bugs: +* Injector: fix labels for default anti-affinity rule [GH-441](https://github.com/hashicorp/vault-helm/pull/441), [GH-442](https://github.com/hashicorp/vault-helm/pull/442) +* Set VAULT_DEV_LISTEN_ADDRESS in dev mode [GH-446](https://github.com/hashicorp/vault-helm/pull/446) + +## 0.9.0 (January 5th, 2021) + +Features: +* Injector now supports configurable number of replicas [GH-436](https://github.com/hashicorp/vault-helm/pull/436) +* Injector now supports auto TLS for multiple replicas using leader elections [GH-436](https://github.com/hashicorp/vault-helm/pull/436) + +Improvements: +* Dev mode now supports `server.extraArgs` [GH-421](https://github.com/hashicorp/vault-helm/pull/421) +* Dev mode root token is now configurable with `server.dev.devRootToken` [GH-415](https://github.com/hashicorp/vault-helm/pull/415) +* ClusterRoleBinding updated to `v1` [GH-395](https://github.com/hashicorp/vault-helm/pull/395) +* MutatingWebhook updated to `v1` [GH-408](https://github.com/hashicorp/vault-helm/pull/408) +* Injector service now supports `injector.service.annotations` [425](https://github.com/hashicorp/vault-helm/pull/425) +* Injector now supports `injector.extraLabels` [428](https://github.com/hashicorp/vault-helm/pull/428) +* Added `allowPrivilegeEscalation: false` to Vault and Injector containers [429](https://github.com/hashicorp/vault-helm/pull/429) +* Network Policy now supports `server.networkPolicy.egress` [389](https://github.com/hashicorp/vault-helm/pull/389) + +## 0.8.0 (October 20th, 2020) + +Improvements: +* Make server NetworkPolicy independent of OpenShift [GH-381](https://github.com/hashicorp/vault-helm/pull/381) +* Added configurables for all probe values [GH-387](https://github.com/hashicorp/vault-helm/pull/387) +* MountPath for audit and data storage is now configurable [GH-393](https://github.com/hashicorp/vault-helm/pull/393) +* Annotations can now be added to the Injector pods [GH-394](https://github.com/hashicorp/vault-helm/pull/394) +* The injector can now be configured with a failurePolicy [GH-400](https://github.com/hashicorp/vault-helm/pull/400) +* Added additional environment variables for rendering within Vault config [GH-398](https://github.com/hashicorp/vault-helm/pull/398) +* Service account for Vault K8s auth is automatically created when `injector.externalVaultAddr` is set [GH-392](https://github.com/hashicorp/vault-helm/pull/392) + +Bugs: +* Fixed install output using Helm V2 command [GH-378](https://github.com/hashicorp/vault-helm/pull/378) + +## 0.7.0 (August 24th, 2020) + +Features: +* Added `volumes` and `volumeMounts` for mounting _any_ type of volume [GH-314](https://github.com/hashicorp/vault-helm/pull/314). +* Added configurable to enable prometheus telemetery exporter for Vault Agent Injector [GH-372](https://github.com/hashicorp/vault-helm/pull/372) + +Improvements: +* Added `defaultMode` configurable to `extraVolumes`[GH-321](https://github.com/hashicorp/vault-helm/pull/321) +* Option to install and use PodSecurityPolicy's for vault server and injector [GH-177](https://github.com/hashicorp/vault-helm/pull/177) +* `VAULT_API_ADDR` is now configurable [GH-290](https://github.com/hashicorp/vault-helm/pull/290) +* Removed deprecated tolerate unready endpoint annotations [GH-363](https://github.com/hashicorp/vault-helm/pull/363) +* Add an option to set annotations on the StatefulSet [GH-199](https://github.com/hashicorp/vault-helm/pull/199) +* Make the vault server serviceAccount name a configuration option [GH-367](https://github.com/hashicorp/vault-helm/pull/367) +* Removed annotation striction from `dev` mode [GH-371](https://github.com/hashicorp/vault-helm/pull/371) +* Add an option to set annotations on PVCs [GH-364](https://github.com/hashicorp/vault-helm/pull/364) +* Added service configurables for UI [GH-285](https://github.com/hashicorp/vault-helm/pull/285) + +Bugs: +* Fix python dependency in test image [GH-337](https://github.com/hashicorp/vault-helm/pull/337) +* Fix caBundle not being quoted causing validation issues with Helm 3 [GH-352](https://github.com/hashicorp/vault-helm/pull/352) +* Fix injector network policy being rendered when injector is not enabled [GH-358](https://github.com/hashicorp/vault-helm/pull/358) + +## 0.6.0 (June 3rd, 2020) + +Features: +* Added `extraInitContainers` to define init containers for the Vault cluster [GH-258](https://github.com/hashicorp/vault-helm/pull/258) +* Added `postStart` lifecycle hook allowing users to configure commands to run on the Vault pods after they're ready [GH-315](https://github.com/hashicorp/vault-helm/pull/315) +* Beta: Added OpenShift support [GH-319](https://github.com/hashicorp/vault-helm/pull/319) + +Improvements: +* Server configs can now be defined in YAML. Multi-line string configs are still compatible [GH-213](https://github.com/hashicorp/vault-helm/pull/213) +* Removed IPC_LOCK privileges since swap is disabled on containers [[GH-198](https://github.com/hashicorp/vault-helm/pull/198)] +* Use port names that map to vault.scheme [[GH-223](https://github.com/hashicorp/vault-helm/pull/223)] +* Allow both yaml and multi-line string annotations [[GH-272](https://github.com/hashicorp/vault-helm/pull/272)] +* Added configurable to set the Raft node name to hostname [[GH-269](https://github.com/hashicorp/vault-helm/pull/269)] +* Support setting priorityClassName on pods [[GH-282](https://github.com/hashicorp/vault-helm/pull/282)] +* Added support for ingress apiVersion `networking.k8s.io/v1beta1` [[GH-310](https://github.com/hashicorp/vault-helm/pull/310)] +* Added configurable to change service type for the HA active service [GH-317](https://github.com/hashicorp/vault-helm/pull/317) + +Bugs: +* Fixed default ingress path [[GH-224](https://github.com/hashicorp/vault-helm/pull/224)] +* Fixed annotations for HA standby/active services [[GH-268](https://github.com/hashicorp/vault-helm/pull/268)] +* Updated some value defaults to match their use in templates [[GH-309](https://github.com/hashicorp/vault-helm/pull/309)] +* Use active service on ingress when ha [[GH-270](https://github.com/hashicorp/vault-helm/pull/270)] +* Fixed bug where pull secrets weren't being used for injector image [GH-298](https://github.com/hashicorp/vault-helm/pull/298) + +## 0.5.0 (April 9th, 2020) + +Features: + +* Added Raft support for HA mode [[GH-228](https://github.com/hashicorp/vault-helm/pull/229)] +* Now supports Vault Enterprise [[GH-250](https://github.com/hashicorp/vault-helm/pull/250)] +* Added K8s Service Registration for HA modes [[GH-250](https://github.com/hashicorp/vault-helm/pull/250)] + +* Option to set `AGENT_INJECT_VAULT_AUTH_PATH` for the injector [[GH-185](https://github.com/hashicorp/vault-helm/pull/185)] +* Added environment variables for logging and revocation on Vault Agent Injector [[GH-219](https://github.com/hashicorp/vault-helm/pull/219)] +* Option to set environment variables for the injector deployment [[GH-232](https://github.com/hashicorp/vault-helm/pull/232)] +* Added affinity, tolerations, and nodeSelector options for the injector deployment [[GH-234](https://github.com/hashicorp/vault-helm/pull/234)] +* Made all annotations multi-line strings [[GH-227](https://github.com/hashicorp/vault-helm/pull/227)] + +## 0.4.0 (February 21st, 2020) + +Improvements: + +* Allow process namespace sharing between Vault and sidecar containers [[GH-174](https://github.com/hashicorp/vault-helm/pull/174)] +* Added configurable to change updateStrategy [[GH-172](https://github.com/hashicorp/vault-helm/pull/172)] +* Added sleep in the preStop lifecycle step [[GH-188](https://github.com/hashicorp/vault-helm/pull/188)] +* Updated chart and tests to Helm 3 [[GH-195](https://github.com/hashicorp/vault-helm/pull/195)] +* Adds Values.injector.externalVaultAddr to use the injector with an external vault [[GH-207](https://github.com/hashicorp/vault-helm/pull/207)] + +Bugs: + +* Fix bug where Vault lifecycle was appended after extra containers. [[GH-179](https://github.com/hashicorp/vault-helm/pull/179)] + +## 0.3.3 (January 14th, 2020) + +Security: + +* Added `server.extraArgs` to allow loading of additional Vault configurations containing sensitive settings [GH-175](https://github.com/hashicorp/vault-helm/issues/175) + +Bugs: + +* Fixed injection bug where wrong environment variables were being used for manually mounted TLS files + +## 0.3.2 (January 8th, 2020) + +Bugs: + +* Fixed injection bug where TLS Skip Verify was true by default [VK8S-35] + +## 0.3.1 (January 2nd, 2020) + +Bugs: + +* Fixed injection bug causing kube-system pods to be rejected [VK8S-14] + +## 0.3.0 (December 19th, 2019) + +Features: + +* Extra containers can now be added to the Vault pods +* Added configurability of pod probes +* Added Vault Agent Injector + +Improvements: + +* Moved `global.image` to `server.image` +* Changed UI service template to route pods that aren't ready via `publishNotReadyAddresses: true` +* Added better HTTP/HTTPS scheme support to http probes +* Added configurable node port for Vault service +* `server.authDelegator` is now enabled by default + +Bugs: + +* Fixed upgrade bug by removing chart label which contained the version +* Fixed typo on `serviceAccount` (was `serviceaccount`) +* Fixed readiness/liveliness HTTP probe default to accept standbys + +## 0.2.1 (November 12th, 2019) + +Bugs: + +* Removed `readOnlyRootFilesystem` causing issues when validating deployments + +## 0.2.0 (October 29th, 2019) + +Features: + +* Added load balancer support +* Added ingress support +* Added configurable for service types (ClusterIP, NodePort, LoadBalancer, etc) +* Removed root requirements, now runs as Vault user + +Improvements: + +* Added namespace value to all rendered objects +* Made ports configurable in services +* Added the ability to add custom annotations to services +* Added docker image for running bats test in CircleCI +* Removed restrictions around `dev` mode such as annotations +* `readOnlyRootFilesystem` is now configurable +* Image Pull Policy is now configurable + +Bugs: + +* Fixed selector bugs related to Helm label updates (services, affinities, and pod disruption) +* Fixed bug where audit storage was not being mounted in HA mode +* Fixed bug where Vault pod wasn't receiving SIGTERM signals + + +## 0.1.2 (August 22nd, 2019) + +Features: + +* Added `extraSecretEnvironmentVars` to allow users to mount secrets as + environment variables +* Added `tlsDisable` configurable to change HTTP protocols from HTTP/HTTPS + depending on the value +* Added `serviceNodePort` to configure a NodePort value when setting `serviceType` + to "NodePort" + +Improvements: + +* Changed UI port to 8200 for better HTTP protocol support +* Added `path` to `extraVolumes` to define where the volume should be + mounted. Defaults to `/vault/userconfig` +* Upgraded Vault to 1.2.2 + +Bugs: + +* Fixed bug where upgrade would fail because immutable labels were being + changed (Helm Version label) +* Fixed bug where UI service used wrong selector after updating helm labels +* Added `VAULT_API_ADDR` env to Vault pod to fixed bug where Vault thinks + Consul is the active node +* Removed `step-down` preStop since it requires authentication. Shutdown signal + sent by Kube acts similar to `step-down` + + +## 0.1.1 (August 7th, 2019) + +Features: + +* Added `authDelegator` Cluster Role Binding to Vault service account for + bootstrapping Kube auth method + +Improvements: + +* Added `server.service.clusterIP` to `values.yml` so users can toggle + the Vault service to headless by using the value `None`. +* Upgraded Vault to 1.2.1 + +## 0.1.0 (August 6th, 2019) + +Initial release diff --git a/charts/partners/hashicorp/vault/0.31.0/src/CODEOWNERS b/charts/partners/hashicorp/vault/0.31.0/src/CODEOWNERS new file mode 100644 index 000000000..a765f7ea9 --- /dev/null +++ b/charts/partners/hashicorp/vault/0.31.0/src/CODEOWNERS @@ -0,0 +1 @@ +* @hashicorp/vault-ecosystem diff --git a/charts/partners/hashicorp/vault/0.31.0/src/CONTRIBUTING.md b/charts/partners/hashicorp/vault/0.31.0/src/CONTRIBUTING.md new file mode 100644 index 000000000..ad31ac92d --- /dev/null +++ b/charts/partners/hashicorp/vault/0.31.0/src/CONTRIBUTING.md @@ -0,0 +1,247 @@ +# Contributing to Vault Helm + +**Please note:** We take Vault's security and our users' trust very seriously. +If you believe you have found a security issue in Vault, please responsibly +disclose by contacting us at security@hashicorp.com. + +**First:** if you're unsure or afraid of _anything_, just ask or submit the +issue or pull request anyways. You won't be yelled at for giving it your best +effort. The worst that can happen is that you'll be politely asked to change +something. We appreciate any sort of contributions, and don't want a wall of +rules to get in the way of that. + +That said, if you want to ensure that a pull request is likely to be merged, +talk to us! You can find out our thoughts and ensure that your contribution +won't clash or be obviated by Vault's normal direction. A great way to do this +is via the [Vault Discussion Forum][1]. + +This document will cover what we're looking for in terms of reporting issues. +By addressing all the points we're looking for, it raises the chances we can +quickly merge or address your contributions. + +[1]: https://discuss.hashicorp.com/c/vault + +## Issues + +### Reporting an Issue + +* Make sure you test against the latest released version. It is possible + we already fixed the bug you're experiencing. Even better is if you can test + against `main`, as bugs are fixed regularly but new versions are only + released every few months. + +* Provide steps to reproduce the issue, and if possible include the expected + results as well as the actual results. Please provide text, not screen shots! + +* Respond as promptly as possible to any questions made by the Vault + team to your issue. Stale issues will be closed periodically. + +### Issue Lifecycle + +1. The issue is reported. + +2. The issue is verified and categorized by a Vault Helm collaborator. + Categorization is done via tags. For example, bugs are marked as "bugs". + +3. Unless it is critical, the issue may be left for a period of time (sometimes + many weeks), giving outside contributors -- maybe you!? -- a chance to + address the issue. + +4. The issue is addressed in a pull request or commit. The issue will be + referenced in the commit message so that the code that fixes it is clearly + linked. + +5. The issue is closed. Sometimes, valid issues will be closed to keep + the issue tracker clean. The issue is still indexed and available for + future viewers, or can be re-opened if necessary. + +## Testing + +The Helm chart ships with both unit and acceptance tests. + +The unit tests don't require any active Kubernetes cluster and complete +very quickly. These should be used for fast feedback during development. +The acceptance tests require a Kubernetes cluster with a configured `kubectl`. + +### Test Using Docker Container + +The following are the instructions for running bats tests using a Docker container. + +#### Prerequisites + +* Docker installed +* `vault-helm` checked out locally + +#### Test + +**Note:** the following commands should be run from the `vault-helm` directory. + +First, build the Docker image for running the tests: + +```shell +docker build -f ${PWD}/test/docker/Test.dockerfile ${PWD}/test/docker/ -t vault-helm-test +``` +Next, execute the tests with the following commands: +```shell +docker run -it --rm -v "${PWD}:/test" vault-helm-test bats /test/test/unit +``` +It's possible to only run specific bats tests using regular expressions. +For example, the following will run only tests with "injector" in the name: +```shell +docker run -it --rm -v "${PWD}:/test" vault-helm-test bats /test/test/unit -f "injector" +``` + +### Test Manually +The following are the instructions for running bats tests on your workstation. +#### Prerequisites +* [Bats](https://github.com/bats-core/bats-core) + ```bash + brew install bats-core + ``` +* [yq](https://pypi.org/project/yq/) + ```bash + brew install python-yq + ``` +* [helm](https://helm.sh) + ```bash + brew install kubernetes-helm + ``` + +#### Test + +To run the unit tests: + + bats ./test/unit + +To run the acceptance tests: + + bats ./test/acceptance + +If the acceptance tests fail, deployed resources in the Kubernetes cluster +may not be properly cleaned up. We recommend recycling the Kubernetes cluster to +start from a clean slate. + +**Note:** There is a Terraform configuration in the +[`test/terraform/`](https://github.com/hashicorp/vault-helm/tree/main/test/terraform) directory +that can be used to quickly bring up a GKE cluster and configure +`kubectl` and `helm` locally. This can be used to quickly spin up a test +cluster for acceptance tests. Unit tests _do not_ require a running Kubernetes +cluster. + +### Writing Unit Tests + +Changes to the Helm chart should be accompanied by appropriate unit tests. + +#### Formatting + +- Put tests in the test file in the same order as the variables appear in the `values.yaml`. +- Start tests for a chart value with a header that says what is being tested, like this: + ``` + #-------------------------------------------------------------------- + # annotations + ``` + +- Name the test based on what it's testing in the following format (this will be its first line): + ``` + @test "
: " { + ``` + + When adding tests to an existing file, the first section will be the same as the other tests in the file. + +#### Test Details + +[Bats](https://github.com/bats-core/bats-core) provides a way to run commands in a shell and inspect the output in an automated way. +In all of the tests in this repo, the base command being run is [helm template](https://docs.helm.sh/helm/#helm-template) which turns the templated files into straight yaml output. +In this way, we're able to test that the various conditionals in the templates render as we would expect. + +Each test defines the files that should be rendered using the `--show-only` flag, then it might adjust chart values by adding `--set` flags as well. +The output from this `helm template` command is then piped to [yq](https://pypi.org/project/yq/). +`yq` allows us to pull out just the information we're interested in, either by referencing its position in the yaml file directly or giving information about it (like its length). +The `-r` flag can be used with `yq` to return a raw string instead of a quoted one which is especially useful when looking for an exact match. + +The test passes or fails based on the conditional at the end that is in square brackets, which is a comparison of our expected value and the output of `helm template` piped to `yq`. + +The `| tee /dev/stderr ` pieces direct any terminal output of the `helm template` and `yq` commands to stderr so that it doesn't interfere with `bats`. + +#### Test Examples + +Here are some examples of common test patterns: + +- Check that a value is disabled by default + + ``` + @test "ui/Service: no type by default" { + cd `chart_dir` + local actual=$(helm template \ + --show-only templates/ui-service.yaml \ + . | tee /dev/stderr | + yq -r '.spec.type' | tee /dev/stderr) + [ "${actual}" = "null" ] + } + ``` + + In this example, nothing is changed from the default templates (no `--set` flags), then we use `yq` to retrieve the value we're checking, `.spec.type`. + This output is then compared against our expected value (`null` in this case) in the assertion `[ "${actual}" = "null" ]`. + + +- Check that a template value is rendered to a specific value + ``` + @test "ui/Service: specified type" { + cd `chart_dir` + local actual=$(helm template \ + --show-only templates/ui-service.yaml \ + --set 'ui.serviceType=LoadBalancer' \ + . | tee /dev/stderr | + yq -r '.spec.type' | tee /dev/stderr) + [ "${actual}" = "LoadBalancer" ] + } + ``` + + This is very similar to the last example, except we've changed a default value with the `--set` flag and correspondingly changed the expected value. + +- Check that a template value contains several values + ``` + @test "server/standalone-StatefulSet: custom resources" { + cd `chart_dir` + local actual=$(helm template \ + --show-only templates/server-statefulset.yaml \ + --set 'server.standalone.enabled=true' \ + --set 'server.resources.requests.memory=256Mi' \ + --set 'server.resources.requests.cpu=250m' \ + . | tee /dev/stderr | + yq -r '.spec.template.spec.containers[0].resources.requests.memory' | tee /dev/stderr) + [ "${actual}" = "256Mi" ] + + local actual=$(helm template \ + --show-only templates/server-statefulset.yaml \ + --set 'server.standalone.enabled=true' \ + --set 'server.resources.limits.memory=256Mi' \ + --set 'server.resources.limits.cpu=250m' \ + . | tee /dev/stderr | + yq -r '.spec.template.spec.containers[0].resources.limits.memory' | tee /dev/stderr) + [ "${actual}" = "256Mi" ] + ``` + + *Note:* If testing more than two conditions, it would be good to separate the `helm template` part of the command from the `yq` sections to reduce redundant work. + +- Check that an entire template file is not rendered + ``` + @test "syncCatalog/Deployment: disabled by default" { + cd `chart_dir` + local actual=$( (helm template \ + --show-only templates/server-statefulset.yaml \ + --set 'global.enabled=false' \ + . || echo "---") | tee /dev/stderr | + yq 'length > 0' | tee /dev/stderr) + [ "${actual}" = "false" ] + } + ``` + Here we are check the length of the command output to see if the anything is rendered. + This style can easily be switched to check that a file is rendered instead. + +## Contributor License Agreement + +We require that all contributors sign our Contributor License Agreement ("CLA") +before we can accept the contribution. + +[Learn more about why HashiCorp requires a CLA and what the CLA includes](https://www.hashicorp.com/cla) diff --git a/charts/partners/hashicorp/vault/0.31.0/src/Chart.yaml b/charts/partners/hashicorp/vault/0.31.0/src/Chart.yaml new file mode 100644 index 000000000..4e40009af --- /dev/null +++ b/charts/partners/hashicorp/vault/0.31.0/src/Chart.yaml @@ -0,0 +1,23 @@ +annotations: + charts.openshift.io/name: HashiCorp Vault +apiVersion: v2 +appVersion: 1.20.4 +description: Official HashiCorp Vault Chart +home: https://www.vaultproject.io +icon: https://github.com/hashicorp/vault/raw/f22d202cde2018f9455dec755118a9b84586e082/Vault_PrimaryLogo_Black.png +keywords: +- vault +- security +- encryption +- secrets +- management +- automation +- infrastructure +kubeVersion: '>= 1.20.0-0' +name: vault +sources: +- https://github.com/hashicorp/vault +- https://github.com/hashicorp/vault-helm +- https://github.com/hashicorp/vault-k8s +- https://github.com/hashicorp/vault-csi-provider +version: 0.31.0 diff --git a/charts/partners/hashicorp/vault/0.31.0/src/LICENSE b/charts/partners/hashicorp/vault/0.31.0/src/LICENSE new file mode 100644 index 000000000..74f38c010 --- /dev/null +++ b/charts/partners/hashicorp/vault/0.31.0/src/LICENSE @@ -0,0 +1,355 @@ +Copyright (c) 2018 HashiCorp, Inc. + +Mozilla Public License, version 2.0 + +1. Definitions + +1.1. “Contributor” + + means each individual or legal entity that creates, contributes to the + creation of, or owns Covered Software. + +1.2. “Contributor Version” + + means the combination of the Contributions of others (if any) used by a + Contributor and that particular Contributor’s Contribution. + +1.3. “Contribution” + + means Covered Software of a particular Contributor. + +1.4. “Covered Software” + + means Source Code Form to which the initial Contributor has attached the + notice in Exhibit A, the Executable Form of such Source Code Form, and + Modifications of such Source Code Form, in each case including portions + thereof. + +1.5. “Incompatible With Secondary Licenses” + means + + a. that the initial Contributor has attached the notice described in + Exhibit B to the Covered Software; or + + b. that the Covered Software was made available under the terms of version + 1.1 or earlier of the License, but not also under the terms of a + Secondary License. + +1.6. “Executable Form” + + means any form of the work other than Source Code Form. + +1.7. “Larger Work” + + means a work that combines Covered Software with other material, in a separate + file or files, that is not Covered Software. + +1.8. “License” + + means this document. + +1.9. “Licensable” + + means having the right to grant, to the maximum extent possible, whether at the + time of the initial grant or subsequently, any and all of the rights conveyed by + this License. + +1.10. “Modifications” + + means any of the following: + + a. any file in Source Code Form that results from an addition to, deletion + from, or modification of the contents of Covered Software; or + + b. any new file in Source Code Form that contains any Covered Software. + +1.11. “Patent Claims” of a Contributor + + means any patent claim(s), including without limitation, method, process, + and apparatus claims, in any patent Licensable by such Contributor that + would be infringed, but for the grant of the License, by the making, + using, selling, offering for sale, having made, import, or transfer of + either its Contributions or its Contributor Version. + +1.12. “Secondary License” + + means either the GNU General Public License, Version 2.0, the GNU Lesser + General Public License, Version 2.1, the GNU Affero General Public + License, Version 3.0, or any later versions of those licenses. + +1.13. “Source Code Form” + + means the form of the work preferred for making modifications. + +1.14. “You” (or “Your”) + + means an individual or a legal entity exercising rights under this + License. For legal entities, “You” includes any entity that controls, is + controlled by, or is under common control with You. For purposes of this + definition, “control” means (a) the power, direct or indirect, to cause + the direction or management of such entity, whether by contract or + otherwise, or (b) ownership of more than fifty percent (50%) of the + outstanding shares or beneficial ownership of such entity. + + +2. License Grants and Conditions + +2.1. Grants + + Each Contributor hereby grants You a world-wide, royalty-free, + non-exclusive license: + + a. under intellectual property rights (other than patent or trademark) + Licensable by such Contributor to use, reproduce, make available, + modify, display, perform, distribute, and otherwise exploit its + Contributions, either on an unmodified basis, with Modifications, or as + part of a Larger Work; and + + b. under Patent Claims of such Contributor to make, use, sell, offer for + sale, have made, import, and otherwise transfer either its Contributions + or its Contributor Version. + +2.2. Effective Date + + The licenses granted in Section 2.1 with respect to any Contribution become + effective for each Contribution on the date the Contributor first distributes + such Contribution. + +2.3. Limitations on Grant Scope + + The licenses granted in this Section 2 are the only rights granted under this + License. No additional rights or licenses will be implied from the distribution + or licensing of Covered Software under this License. Notwithstanding Section + 2.1(b) above, no patent license is granted by a Contributor: + + a. for any code that a Contributor has removed from Covered Software; or + + b. for infringements caused by: (i) Your and any other third party’s + modifications of Covered Software, or (ii) the combination of its + Contributions with other software (except as part of its Contributor + Version); or + + c. under Patent Claims infringed by Covered Software in the absence of its + Contributions. + + This License does not grant any rights in the trademarks, service marks, or + logos of any Contributor (except as may be necessary to comply with the + notice requirements in Section 3.4). + +2.4. Subsequent Licenses + + No Contributor makes additional grants as a result of Your choice to + distribute the Covered Software under a subsequent version of this License + (see Section 10.2) or under the terms of a Secondary License (if permitted + under the terms of Section 3.3). + +2.5. Representation + + Each Contributor represents that the Contributor believes its Contributions + are its original creation(s) or it has sufficient rights to grant the + rights to its Contributions conveyed by this License. + +2.6. Fair Use + + This License is not intended to limit any rights You have under applicable + copyright doctrines of fair use, fair dealing, or other equivalents. + +2.7. Conditions + + Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted in + Section 2.1. + + +3. Responsibilities + +3.1. Distribution of Source Form + + All distribution of Covered Software in Source Code Form, including any + Modifications that You create or to which You contribute, must be under the + terms of this License. You must inform recipients that the Source Code Form + of the Covered Software is governed by the terms of this License, and how + they can obtain a copy of this License. You may not attempt to alter or + restrict the recipients’ rights in the Source Code Form. + +3.2. Distribution of Executable Form + + If You distribute Covered Software in Executable Form then: + + a. such Covered Software must also be made available in Source Code Form, + as described in Section 3.1, and You must inform recipients of the + Executable Form how they can obtain a copy of such Source Code Form by + reasonable means in a timely manner, at a charge no more than the cost + of distribution to the recipient; and + + b. You may distribute such Executable Form under the terms of this License, + or sublicense it under different terms, provided that the license for + the Executable Form does not attempt to limit or alter the recipients’ + rights in the Source Code Form under this License. + +3.3. Distribution of a Larger Work + + You may create and distribute a Larger Work under terms of Your choice, + provided that You also comply with the requirements of this License for the + Covered Software. If the Larger Work is a combination of Covered Software + with a work governed by one or more Secondary Licenses, and the Covered + Software is not Incompatible With Secondary Licenses, this License permits + You to additionally distribute such Covered Software under the terms of + such Secondary License(s), so that the recipient of the Larger Work may, at + their option, further distribute the Covered Software under the terms of + either this License or such Secondary License(s). + +3.4. Notices + + You may not remove or alter the substance of any license notices (including + copyright notices, patent notices, disclaimers of warranty, or limitations + of liability) contained within the Source Code Form of the Covered + Software, except that You may alter any license notices to the extent + required to remedy known factual inaccuracies. + +3.5. Application of Additional Terms + + You may choose to offer, and to charge a fee for, warranty, support, + indemnity or liability obligations to one or more recipients of Covered + Software. However, You may do so only on Your own behalf, and not on behalf + of any Contributor. You must make it absolutely clear that any such + warranty, support, indemnity, or liability obligation is offered by You + alone, and You hereby agree to indemnify every Contributor for any + liability incurred by such Contributor as a result of warranty, support, + indemnity or liability terms You offer. You may include additional + disclaimers of warranty and limitations of liability specific to any + jurisdiction. + +4. Inability to Comply Due to Statute or Regulation + + If it is impossible for You to comply with any of the terms of this License + with respect to some or all of the Covered Software due to statute, judicial + order, or regulation then You must: (a) comply with the terms of this License + to the maximum extent possible; and (b) describe the limitations and the code + they affect. Such description must be placed in a text file included with all + distributions of the Covered Software under this License. Except to the + extent prohibited by statute or regulation, such description must be + sufficiently detailed for a recipient of ordinary skill to be able to + understand it. + +5. Termination + +5.1. The rights granted under this License will terminate automatically if You + fail to comply with any of its terms. However, if You become compliant, + then the rights granted under this License from a particular Contributor + are reinstated (a) provisionally, unless and until such Contributor + explicitly and finally terminates Your grants, and (b) on an ongoing basis, + if such Contributor fails to notify You of the non-compliance by some + reasonable means prior to 60 days after You have come back into compliance. + Moreover, Your grants from a particular Contributor are reinstated on an + ongoing basis if such Contributor notifies You of the non-compliance by + some reasonable means, this is the first time You have received notice of + non-compliance with this License from such Contributor, and You become + compliant prior to 30 days after Your receipt of the notice. + +5.2. If You initiate litigation against any entity by asserting a patent + infringement claim (excluding declaratory judgment actions, counter-claims, + and cross-claims) alleging that a Contributor Version directly or + indirectly infringes any patent, then the rights granted to You by any and + all Contributors for the Covered Software under Section 2.1 of this License + shall terminate. + +5.3. In the event of termination under Sections 5.1 or 5.2 above, all end user + license agreements (excluding distributors and resellers) which have been + validly granted by You or Your distributors under this License prior to + termination shall survive termination. + +6. Disclaimer of Warranty + + Covered Software is provided under this License on an “as is” basis, without + warranty of any kind, either expressed, implied, or statutory, including, + without limitation, warranties that the Covered Software is free of defects, + merchantable, fit for a particular purpose or non-infringing. The entire + risk as to the quality and performance of the Covered Software is with You. + Should any Covered Software prove defective in any respect, You (not any + Contributor) assume the cost of any necessary servicing, repair, or + correction. This disclaimer of warranty constitutes an essential part of this + License. No use of any Covered Software is authorized under this License + except under this disclaimer. + +7. Limitation of Liability + + Under no circumstances and under no legal theory, whether tort (including + negligence), contract, or otherwise, shall any Contributor, or anyone who + distributes Covered Software as permitted above, be liable to You for any + direct, indirect, special, incidental, or consequential damages of any + character including, without limitation, damages for lost profits, loss of + goodwill, work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses, even if such party shall have been + informed of the possibility of such damages. This limitation of liability + shall not apply to liability for death or personal injury resulting from such + party’s negligence to the extent applicable law prohibits such limitation. + Some jurisdictions do not allow the exclusion or limitation of incidental or + consequential damages, so this exclusion and limitation may not apply to You. + +8. Litigation + + Any litigation relating to this License may be brought only in the courts of + a jurisdiction where the defendant maintains its principal place of business + and such litigation shall be governed by laws of that jurisdiction, without + reference to its conflict-of-law provisions. Nothing in this Section shall + prevent a party’s ability to bring cross-claims or counter-claims. + +9. Miscellaneous + + This License represents the complete agreement concerning the subject matter + hereof. If any provision of this License is held to be unenforceable, such + provision shall be reformed only to the extent necessary to make it + enforceable. Any law or regulation which provides that the language of a + contract shall be construed against the drafter shall not be used to construe + this License against a Contributor. + + +10. Versions of the License + +10.1. New Versions + + Mozilla Foundation is the license steward. Except as provided in Section + 10.3, no one other than the license steward has the right to modify or + publish new versions of this License. Each version will be given a + distinguishing version number. + +10.2. Effect of New Versions + + You may distribute the Covered Software under the terms of the version of + the License under which You originally received the Covered Software, or + under the terms of any subsequent version published by the license + steward. + +10.3. Modified Versions + + If you create software not governed by this License, and you want to + create a new license for such software, you may create and use a modified + version of this License if you rename the license and remove any + references to the name of the license steward (except to note that such + modified license differs from this License). + +10.4. Distributing Source Code Form that is Incompatible With Secondary Licenses + If You choose to distribute Source Code Form that is Incompatible With + Secondary Licenses under the terms of this version of the License, the + notice described in Exhibit B of this License must be attached. + +Exhibit A - Source Code Form License Notice + + This Source Code Form is subject to the + terms of the Mozilla Public License, v. + 2.0. If a copy of the MPL was not + distributed with this file, You can + obtain one at + http://mozilla.org/MPL/2.0/. + +If it is not possible or desirable to put the notice in a particular file, then +You may include the notice in a location (such as a LICENSE file in a relevant +directory) where a recipient would be likely to look for such a notice. + +You may add additional accurate notices of copyright ownership. + +Exhibit B - “Incompatible With Secondary Licenses” Notice + + This Source Code Form is “Incompatible + With Secondary Licenses”, as defined by + the Mozilla Public License, v. 2.0. diff --git a/charts/partners/hashicorp/vault/0.31.0/src/Makefile b/charts/partners/hashicorp/vault/0.31.0/src/Makefile new file mode 100644 index 000000000..97bf7bf90 --- /dev/null +++ b/charts/partners/hashicorp/vault/0.31.0/src/Makefile @@ -0,0 +1,101 @@ +TEST_IMAGE?=vault-helm-test +GOOGLE_CREDENTIALS?=vault-helm-test.json +CLOUDSDK_CORE_PROJECT?=vault-helm-dev-246514 +# set to run a single test - e.g acceptance/server-ha-enterprise-dr.bats +ACCEPTANCE_TESTS?=acceptance + +# filter bats unit tests to run. +UNIT_TESTS_FILTER?='.*' + +# set to 'true' to run acceptance tests locally in a kind cluster +LOCAL_ACCEPTANCE_TESTS?=false + +# kind cluster name +KIND_CLUSTER_NAME?=vault-helm + +# kind k8s version +KIND_K8S_VERSION?=v1.32.3 + +# Generate json schema for chart values. See test/README.md for more details. +values-schema: + helm schema-gen values.yaml > values.schema.json + +test-image: + @docker build --rm -t $(TEST_IMAGE) -f $(CURDIR)/test/docker/Test.dockerfile $(CURDIR) + +test-unit: + @docker run --rm -it -v ${PWD}:/helm-test $(TEST_IMAGE) bats -f $(UNIT_TESTS_FILTER) /helm-test/test/unit + +test-bats: test-unit test-acceptance + +test: test-image test-bats + +# run acceptance tests on GKE +# set google project/credential vars above +test-acceptance: +ifeq ($(LOCAL_ACCEPTANCE_TESTS),true) + make setup-kind acceptance +else + @docker run -it -v ${PWD}:/helm-test \ + -e GOOGLE_CREDENTIALS=${GOOGLE_CREDENTIALS} \ + -e CLOUDSDK_CORE_PROJECT=${CLOUDSDK_CORE_PROJECT} \ + -e KUBECONFIG=/helm-test/.kube/config \ + -e VAULT_LICENSE_CI=${VAULT_LICENSE_CI} \ + -w /helm-test \ + $(TEST_IMAGE) \ + make acceptance +endif + +# destroy GKE cluster using terraform +test-destroy: + @docker run -it -v ${PWD}:/helm-test \ + -e GOOGLE_CREDENTIALS=${GOOGLE_CREDENTIALS} \ + -e CLOUDSDK_CORE_PROJECT=${CLOUDSDK_CORE_PROJECT} \ + -w /helm-test \ + $(TEST_IMAGE) \ + make destroy-cluster + +# provision GKE cluster using terraform +test-provision: + @docker run -it -v ${PWD}:/helm-test \ + -e GOOGLE_CREDENTIALS=${GOOGLE_CREDENTIALS} \ + -e CLOUDSDK_CORE_PROJECT=${CLOUDSDK_CORE_PROJECT} \ + -e KUBECONFIG=/helm-test/.kube/config \ + -w /helm-test \ + $(TEST_IMAGE) \ + make provision-cluster + +# this target is for running the acceptance tests +# it is run in the docker container above when the test-acceptance target is invoked +acceptance: +ifneq ($(LOCAL_ACCEPTANCE_TESTS),true) + gcloud auth activate-service-account --key-file=${GOOGLE_CREDENTIALS} +endif + bats --tap --timing test/${ACCEPTANCE_TESTS} + +# this target is for provisioning the GKE cluster +# it is run in the docker container above when the test-provision target is invoked +provision-cluster: + gcloud auth activate-service-account --key-file=${GOOGLE_CREDENTIALS} + terraform init test/terraform + terraform apply -var project=${CLOUDSDK_CORE_PROJECT} -var init_cli=true -auto-approve test/terraform + +# this target is for removing the GKE cluster +# it is run in the docker container above when the test-destroy target is invoked +destroy-cluster: + terraform destroy -auto-approve + +# create a kind cluster for running the acceptance tests locally +setup-kind: + kind get clusters | grep -q "^${KIND_CLUSTER_NAME}$$" || \ + kind create cluster \ + --image kindest/node:${KIND_K8S_VERSION} \ + --name ${KIND_CLUSTER_NAME} \ + --config $(CURDIR)/test/kind/config.yaml + kubectl config use-context kind-${KIND_CLUSTER_NAME} + +# delete the kind cluster +delete-kind: + kind delete cluster --name ${KIND_CLUSTER_NAME} || : + +.PHONY: values-schema test-image test-unit test-bats test test-acceptance test-destroy test-provision acceptance provision-cluster destroy-cluster diff --git a/charts/partners/hashicorp/vault/0.31.0/src/README.md b/charts/partners/hashicorp/vault/0.31.0/src/README.md new file mode 100644 index 000000000..75d500918 --- /dev/null +++ b/charts/partners/hashicorp/vault/0.31.0/src/README.md @@ -0,0 +1,43 @@ +# Vault Helm Chart + +> :warning: **Please note**: We take Vault's security and our users' trust very seriously. If +you believe you have found a security issue in Vault Helm, _please responsibly disclose_ +by contacting us at [security@hashicorp.com](mailto:security@hashicorp.com). + +This repository contains the official HashiCorp Helm chart for installing +and configuring Vault on Kubernetes. This chart supports multiple use +cases of Vault on Kubernetes depending on the values provided. + +For full documentation on this Helm chart along with all the ways you can +use Vault with Kubernetes, please see the +[Vault and Kubernetes documentation](https://developer.hashicorp.com/vault/docs/platform/k8s). + +## Prerequisites + +To use the charts here, [Helm](https://helm.sh/) must be configured for your +Kubernetes cluster. Setting up Kubernetes and Helm is outside the scope of +this README. Please refer to the Kubernetes and Helm documentation. + +The versions required are: + + * **Helm 3.6+** + * **Kubernetes 1.29+** - This is the earliest version of Kubernetes tested. + It is possible that this chart works with earlier versions but it is + untested. + +## Usage + +To install the latest version of this chart, add the Hashicorp helm repository +and run `helm install`: + +```console +$ helm repo add hashicorp https://helm.releases.hashicorp.com +"hashicorp" has been added to your repositories + +$ helm install vault hashicorp/vault +``` + +Please see the many options supported in the `values.yaml` file. These are also +fully documented directly on the [Vault +website](https://developer.hashicorp.com/vault/docs/platform/k8s/helm) along with more +detailed installation instructions. diff --git a/charts/partners/hashicorp/vault/0.31.0/src/templates/NOTES.txt b/charts/partners/hashicorp/vault/0.31.0/src/templates/NOTES.txt new file mode 100644 index 000000000..60d99a4e5 --- /dev/null +++ b/charts/partners/hashicorp/vault/0.31.0/src/templates/NOTES.txt @@ -0,0 +1,14 @@ + +Thank you for installing HashiCorp Vault! + +Now that you have deployed Vault, you should look over the docs on using +Vault with Kubernetes available here: + +https://developer.hashicorp.com/vault/docs + + +Your release is named {{ .Release.Name }}. To learn more about the release, try: + + $ helm status {{ .Release.Name }} + $ helm get manifest {{ .Release.Name }} + diff --git a/charts/partners/hashicorp/vault/0.31.0/src/templates/_helpers.tpl b/charts/partners/hashicorp/vault/0.31.0/src/templates/_helpers.tpl new file mode 100644 index 000000000..54c7a7350 --- /dev/null +++ b/charts/partners/hashicorp/vault/0.31.0/src/templates/_helpers.tpl @@ -0,0 +1,1131 @@ +{{/* +Copyright (c) HashiCorp, Inc. +SPDX-License-Identifier: MPL-2.0 +*/}} + +{{/* +Create a default fully qualified app name. +We truncate at 63 chars because some Kubernetes name fields are limited to +this (by the DNS naming spec). If release name contains chart name it will +be used as a full name. +*/}} +{{- define "vault.fullname" -}} +{{- if .Values.fullnameOverride -}} +{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}} +{{- else -}} +{{- $name := default .Chart.Name .Values.nameOverride -}} +{{- if contains $name .Release.Name -}} +{{- .Release.Name | trunc 63 | trimSuffix "-" -}} +{{- else -}} +{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}} +{{- end -}} +{{- end -}} +{{- end -}} + +{{/* +Create chart name and version as used by the chart label. +*/}} +{{- define "vault.chart" -}} +{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}} +{{- end -}} + +{{/* +Expand the name of the chart. +*/}} +{{- define "vault.name" -}} +{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}} +{{- end -}} + +{{/* +Allow the release namespace to be overridden +*/}} +{{- define "vault.namespace" -}} +{{- default .Release.Namespace .Values.global.namespace -}} +{{- end -}} + +{{/* +Compute if the csi driver is enabled. +*/}} +{{- define "vault.csiEnabled" -}} +{{- $_ := set . "csiEnabled" (or + (eq (.Values.csi.enabled | toString) "true") + (and (eq (.Values.csi.enabled | toString) "-") (eq (.Values.global.enabled | toString) "true"))) -}} +{{- end -}} + +{{/* +Compute if the injector is enabled. +*/}} +{{- define "vault.injectorEnabled" -}} +{{- $_ := set . "injectorEnabled" (or + (eq (.Values.injector.enabled | toString) "true") + (and (eq (.Values.injector.enabled | toString) "-") (eq (.Values.global.enabled | toString) "true"))) -}} +{{- end -}} + +{{/* +Compute if the server is enabled. +*/}} +{{- define "vault.serverEnabled" -}} +{{- $_ := set . "serverEnabled" (or + (eq (.Values.server.enabled | toString) "true") + (and (eq (.Values.server.enabled | toString) "-") (eq (.Values.global.enabled | toString) "true"))) -}} +{{- end -}} + +{{/* +Compute if the server serviceaccount is enabled. +*/}} +{{- define "vault.serverServiceAccountEnabled" -}} +{{- $_ := set . "serverServiceAccountEnabled" + (and + (eq (.Values.server.serviceAccount.create | toString) "true" ) + (or + (eq (.Values.server.enabled | toString) "true") + (eq (.Values.global.enabled | toString) "true"))) -}} +{{- end -}} + +{{/* +Compute if the server serviceaccount should have a token created and mounted to the serviceaccount. +*/}} +{{- define "vault.serverServiceAccountSecretCreationEnabled" -}} +{{- $_ := set . "serverServiceAccountSecretCreationEnabled" + (and + (eq (.Values.server.serviceAccount.create | toString) "true") + (eq (.Values.server.serviceAccount.createSecret | toString) "true")) -}} +{{- end -}} + + +{{/* +Compute if the server auth delegator serviceaccount is enabled. +*/}} +{{- define "vault.serverAuthDelegator" -}} +{{- $_ := set . "serverAuthDelegator" + (and + (eq (.Values.server.authDelegator.enabled | toString) "true" ) + (or (eq (.Values.server.serviceAccount.create | toString) "true") + (not (eq .Values.server.serviceAccount.name ""))) + (or + (eq (.Values.server.enabled | toString) "true") + (eq (.Values.global.enabled | toString) "true"))) -}} +{{- end -}} + +{{/* +Compute if the server service is enabled. +*/}} +{{- define "vault.serverServiceEnabled" -}} +{{- template "vault.serverEnabled" . -}} +{{- $_ := set . "serverServiceEnabled" (and .serverEnabled (eq (.Values.server.service.enabled | toString) "true")) -}} +{{- end -}} + +{{/* +Compute if the ui is enabled. +*/}} +{{- define "vault.uiEnabled" -}} +{{- $_ := set . "uiEnabled" (or + (eq (.Values.ui.enabled | toString) "true") + (and (eq (.Values.ui.enabled | toString) "-") (eq (.Values.global.enabled | toString) "true"))) -}} +{{- end -}} + +{{/* +Compute the maximum number of unavailable replicas for the PodDisruptionBudget. +This defaults to (n/2)-1 where n is the number of members of the server cluster. +Add a special case for replicas=1, where it should default to 0 as well. +*/}} +{{- define "vault.pdb.maxUnavailable" -}} +{{- if eq (int .Values.server.ha.replicas) 1 -}} +{{ 0 }} +{{- else if .Values.server.ha.disruptionBudget.maxUnavailable -}} +{{ .Values.server.ha.disruptionBudget.maxUnavailable -}} +{{- else -}} +{{- div (sub (div (mul (int .Values.server.ha.replicas) 10) 2) 1) 10 -}} +{{- end -}} +{{- end -}} + +{{/* +Set the variable 'mode' to the server mode requested by the user to simplify +template logic. +*/}} +{{- define "vault.mode" -}} + {{- template "vault.serverEnabled" . -}} + {{- if or (.Values.injector.externalVaultAddr) (.Values.global.externalVaultAddr) -}} + {{- $_ := set . "mode" "external" -}} + {{- else if not .serverEnabled -}} + {{- $_ := set . "mode" "external" -}} + {{- else if eq (.Values.server.dev.enabled | toString) "true" -}} + {{- $_ := set . "mode" "dev" -}} + {{- else if eq (.Values.server.ha.enabled | toString) "true" -}} + {{- $_ := set . "mode" "ha" -}} + {{- else if or (eq (.Values.server.standalone.enabled | toString) "true") (eq (.Values.server.standalone.enabled | toString) "-") -}} + {{- $_ := set . "mode" "standalone" -}} + {{- else -}} + {{- $_ := set . "mode" "" -}} + {{- end -}} +{{- end -}} + +{{/* +Set's the replica count based on the different modes configured by user +*/}} +{{- define "vault.replicas" -}} + {{ if eq .mode "standalone" }} + {{- default 1 -}} + {{ else if eq .mode "ha" }} + {{- if or (kindIs "int64" .Values.server.ha.replicas) (kindIs "float64" .Values.server.ha.replicas) -}} + {{- .Values.server.ha.replicas -}} + {{ else }} + {{- 3 -}} + {{- end -}} + {{ else }} + {{- default 1 -}} + {{ end }} +{{- end -}} + +{{/* +Set's up configmap mounts if this isn't a dev deployment and the user +defined a custom configuration. Additionally iterates over any +extra volumes the user may have specified (such as a secret with TLS). +*/}} +{{- define "vault.volumes" -}} + {{- if and (ne .mode "dev") (or (.Values.server.standalone.config) (.Values.server.ha.config) (.Values.server.ha.raft.config)) }} + - name: config + configMap: + name: {{ template "vault.fullname" . }}-config + {{ end }} + {{- range .Values.server.extraVolumes }} + - name: userconfig-{{ .name }} + {{ .type }}: + {{- if (eq .type "configMap") }} + name: {{ .name }} + {{- else if (eq .type "secret") }} + secretName: {{ .name }} + {{- end }} + defaultMode: {{ .defaultMode | default 420 }} + {{- end }} + {{- if .Values.server.volumes }} + {{- toYaml .Values.server.volumes | nindent 8}} + {{- end }} + {{- if (and .Values.server.enterpriseLicense.secretName .Values.server.enterpriseLicense.secretKey) }} + - name: vault-license + secret: + secretName: {{ .Values.server.enterpriseLicense.secretName }} + defaultMode: 0440 + {{- end }} +{{- end -}} + +{{/* +Set's the args for custom command to render the Vault configuration +file with IP addresses to make the out of box experience easier +for users looking to use this chart with Consul Helm. +*/}} +{{- define "vault.args" -}} + {{ if or (eq .mode "standalone") (eq .mode "ha") }} + - | + cp /vault/config/extraconfig-from-values.hcl /tmp/storageconfig.hcl; + [ -n "${HOST_IP}" ] && sed -Ei "s|HOST_IP|${HOST_IP?}|g" /tmp/storageconfig.hcl; + [ -n "${POD_IP}" ] && sed -Ei "s|POD_IP|${POD_IP?}|g" /tmp/storageconfig.hcl; + [ -n "${HOSTNAME}" ] && sed -Ei "s|HOSTNAME|${HOSTNAME?}|g" /tmp/storageconfig.hcl; + [ -n "${API_ADDR}" ] && sed -Ei "s|API_ADDR|${API_ADDR?}|g" /tmp/storageconfig.hcl; + [ -n "${TRANSIT_ADDR}" ] && sed -Ei "s|TRANSIT_ADDR|${TRANSIT_ADDR?}|g" /tmp/storageconfig.hcl; + [ -n "${RAFT_ADDR}" ] && sed -Ei "s|RAFT_ADDR|${RAFT_ADDR?}|g" /tmp/storageconfig.hcl; + /usr/local/bin/docker-entrypoint.sh vault server -config=/tmp/storageconfig.hcl {{ .Values.server.extraArgs }} + {{ else if eq .mode "dev" }} + - | + /usr/local/bin/docker-entrypoint.sh vault server -dev {{ .Values.server.extraArgs }} + {{ end }} +{{- end -}} + +{{/* +Set's additional environment variables based on the mode. +*/}} +{{- define "vault.envs" -}} + {{ if eq .mode "dev" }} + - name: VAULT_DEV_ROOT_TOKEN_ID + value: {{ .Values.server.dev.devRootToken }} + - name: VAULT_DEV_LISTEN_ADDRESS + value: "[::]:8200" + {{ end }} +{{- end -}} + +{{/* +Set's which additional volumes should be mounted to the container +based on the mode configured. +*/}} +{{- define "vault.mounts" -}} + {{ if eq (.Values.server.auditStorage.enabled | toString) "true" }} + - name: audit + mountPath: {{ .Values.server.auditStorage.mountPath }} + {{ end }} + {{ if or (eq .mode "standalone") (and (eq .mode "ha") (eq (.Values.server.ha.raft.enabled | toString) "true")) }} + {{ if eq (.Values.server.dataStorage.enabled | toString) "true" }} + - name: data + mountPath: {{ .Values.server.dataStorage.mountPath }} + {{ end }} + {{ end }} + {{ if and (ne .mode "dev") (or (.Values.server.standalone.config) (.Values.server.ha.config)) }} + - name: config + mountPath: /vault/config + {{ end }} + {{- range .Values.server.extraVolumes }} + - name: userconfig-{{ .name }} + readOnly: true + mountPath: {{ .path | default "/vault/userconfig" }}/{{ .name }} + {{- end }} + {{- if .Values.server.volumeMounts }} + {{- toYaml .Values.server.volumeMounts | nindent 12}} + {{- end }} + {{- if (and .Values.server.enterpriseLicense.secretName .Values.server.enterpriseLicense.secretKey) }} + - name: vault-license + mountPath: /vault/license + readOnly: true + {{- end }} +{{- end -}} + +{{/* +Set's up the volumeClaimTemplates when data or audit storage is required. HA +might not use data storage since Consul is likely it's backend, however, audit +storage might be desired by the user. +*/}} +{{- define "vault.volumeclaims" -}} + {{- if and (ne .mode "dev") (or .Values.server.dataStorage.enabled .Values.server.auditStorage.enabled) }} + volumeClaimTemplates: + {{- if and (eq (.Values.server.dataStorage.enabled | toString) "true") (or (eq .mode "standalone") (eq (.Values.server.ha.raft.enabled | toString ) "true" )) }} + - metadata: + name: data + {{- include "vault.dataVolumeClaim.annotations" . | nindent 6 }} + {{- include "vault.dataVolumeClaim.labels" . | nindent 6 }} + spec: + accessModes: + - {{ .Values.server.dataStorage.accessMode | default "ReadWriteOnce" }} + resources: + requests: + storage: {{ .Values.server.dataStorage.size }} + {{- if .Values.server.dataStorage.storageClass }} + storageClassName: {{ .Values.server.dataStorage.storageClass }} + {{- end }} + {{ end }} + {{- if eq (.Values.server.auditStorage.enabled | toString) "true" }} + - metadata: + name: audit + {{- include "vault.auditVolumeClaim.annotations" . | nindent 6 }} + {{- include "vault.auditVolumeClaim.labels" . | nindent 6 }} + spec: + accessModes: + - {{ .Values.server.auditStorage.accessMode | default "ReadWriteOnce" }} + resources: + requests: + storage: {{ .Values.server.auditStorage.size }} + {{- if .Values.server.auditStorage.storageClass }} + storageClassName: {{ .Values.server.auditStorage.storageClass }} + {{- end }} + {{ end }} + {{ end }} +{{- end -}} + +{{/* +Set's the affinity for pod placement when running in standalone and HA modes. +*/}} +{{- define "vault.affinity" -}} + {{- if and (ne .mode "dev") .Values.server.affinity }} + affinity: + {{ $tp := typeOf .Values.server.affinity }} + {{- if eq $tp "string" }} + {{- tpl .Values.server.affinity . | nindent 8 | trim }} + {{- else }} + {{- toYaml .Values.server.affinity | nindent 8 }} + {{- end }} + {{ end }} +{{- end -}} + +{{/* +Sets the injector affinity for pod placement +*/}} +{{- define "injector.affinity" -}} + {{- if .Values.injector.affinity }} + affinity: + {{ $tp := typeOf .Values.injector.affinity }} + {{- if eq $tp "string" }} + {{- tpl .Values.injector.affinity . | nindent 8 | trim }} + {{- else }} + {{- toYaml .Values.injector.affinity | nindent 8 }} + {{- end }} + {{ end }} +{{- end -}} + +{{/* +Sets the topologySpreadConstraints when running in standalone and HA modes. +*/}} +{{- define "vault.topologySpreadConstraints" -}} + {{- if and (ne .mode "dev") .Values.server.topologySpreadConstraints }} + topologySpreadConstraints: + {{ $tp := typeOf .Values.server.topologySpreadConstraints }} + {{- if eq $tp "string" }} + {{- tpl .Values.server.topologySpreadConstraints . | nindent 8 | trim }} + {{- else }} + {{- toYaml .Values.server.topologySpreadConstraints | nindent 8 }} + {{- end }} + {{ end }} +{{- end -}} + + +{{/* +Sets the injector topologySpreadConstraints for pod placement +*/}} +{{- define "injector.topologySpreadConstraints" -}} + {{- if .Values.injector.topologySpreadConstraints }} + topologySpreadConstraints: + {{ $tp := typeOf .Values.injector.topologySpreadConstraints }} + {{- if eq $tp "string" }} + {{- tpl .Values.injector.topologySpreadConstraints . | nindent 8 | trim }} + {{- else }} + {{- toYaml .Values.injector.topologySpreadConstraints | nindent 8 }} + {{- end }} + {{ end }} +{{- end -}} + +{{/* +Sets the toleration for pod placement when running in standalone and HA modes. +*/}} +{{- define "vault.tolerations" -}} + {{- if and (ne .mode "dev") .Values.server.tolerations }} + tolerations: + {{- $tp := typeOf .Values.server.tolerations }} + {{- if eq $tp "string" }} + {{ tpl .Values.server.tolerations . | nindent 8 | trim }} + {{- else }} + {{- toYaml .Values.server.tolerations | nindent 8 }} + {{- end }} + {{- end }} +{{- end -}} + +{{/* +Sets the injector toleration for pod placement +*/}} +{{- define "injector.tolerations" -}} + {{- if .Values.injector.tolerations }} + tolerations: + {{- $tp := typeOf .Values.injector.tolerations }} + {{- if eq $tp "string" }} + {{ tpl .Values.injector.tolerations . | nindent 8 | trim }} + {{- else }} + {{- toYaml .Values.injector.tolerations | nindent 8 }} + {{- end }} + {{- end }} +{{- end -}} + +{{/* +Set's the node selector for pod placement when running in standalone and HA modes. +*/}} +{{- define "vault.nodeselector" -}} + {{- if and (ne .mode "dev") .Values.server.nodeSelector }} + nodeSelector: + {{- $tp := typeOf .Values.server.nodeSelector }} + {{- if eq $tp "string" }} + {{ tpl .Values.server.nodeSelector . | nindent 8 | trim }} + {{- else }} + {{- toYaml .Values.server.nodeSelector | nindent 8 }} + {{- end }} + {{- end }} +{{- end -}} + +{{/* +Sets the injector node selector for pod placement +*/}} +{{- define "injector.nodeselector" -}} + {{- if .Values.injector.nodeSelector }} + nodeSelector: + {{- $tp := typeOf .Values.injector.nodeSelector }} + {{- if eq $tp "string" }} + {{ tpl .Values.injector.nodeSelector . | nindent 8 | trim }} + {{- else }} + {{- toYaml .Values.injector.nodeSelector | nindent 8 }} + {{- end }} + {{- end }} +{{- end -}} + +{{/* +Sets the injector deployment update strategy +*/}} +{{- define "injector.strategy" -}} + {{- if .Values.injector.strategy }} + strategy: + {{- $tp := typeOf .Values.injector.strategy }} + {{- if eq $tp "string" }} + {{ tpl .Values.injector.strategy . | nindent 4 | trim }} + {{- else }} + {{- toYaml .Values.injector.strategy | nindent 4 }} + {{- end }} + {{- end }} +{{- end -}} + +{{/* +Sets extra pod annotations +*/}} +{{- define "vault.annotations" }} + annotations: + {{- if .Values.server.includeConfigAnnotation }} + vault.hashicorp.com/config-checksum: {{ include "vault.config" . | sha256sum }} + {{- end }} + {{- if .Values.server.annotations }} + {{- $tp := typeOf .Values.server.annotations }} + {{- if eq $tp "string" }} + {{- tpl .Values.server.annotations . | nindent 8 }} + {{- else }} + {{- toYaml .Values.server.annotations | nindent 8 }} + {{- end }} + {{- end }} +{{- end -}} + +{{/* +Sets extra injector pod annotations +*/}} +{{- define "injector.annotations" -}} + {{- if .Values.injector.annotations }} + annotations: + {{- $tp := typeOf .Values.injector.annotations }} + {{- if eq $tp "string" }} + {{- tpl .Values.injector.annotations . | nindent 8 }} + {{- else }} + {{- toYaml .Values.injector.annotations | nindent 8 }} + {{- end }} + {{- end }} +{{- end -}} + +{{/* +Sets extra injector service annotations +*/}} +{{- define "injector.service.annotations" -}} + {{- if .Values.injector.service.annotations }} + annotations: + {{- $tp := typeOf .Values.injector.service.annotations }} + {{- if eq $tp "string" }} + {{- tpl .Values.injector.service.annotations . | nindent 4 }} + {{- else }} + {{- toYaml .Values.injector.service.annotations | nindent 4 }} + {{- end }} + {{- end }} +{{- end -}} + +{{/* +securityContext for the injector pod level. +*/}} +{{- define "injector.securityContext.pod" -}} + {{- if .Values.injector.securityContext.pod }} + securityContext: + {{- $tp := typeOf .Values.injector.securityContext.pod }} + {{- if eq $tp "string" }} + {{- tpl .Values.injector.securityContext.pod . | nindent 8 }} + {{- else }} + {{- toYaml .Values.injector.securityContext.pod | nindent 8 }} + {{- end }} + {{- else if not .Values.global.openshift }} + securityContext: + runAsNonRoot: true + runAsGroup: {{ .Values.injector.gid | default 1000 }} + runAsUser: {{ .Values.injector.uid | default 100 }} + fsGroup: {{ .Values.injector.gid | default 1000 }} + {{- end }} +{{- end -}} + +{{/* +securityContext for the injector container level. +*/}} +{{- define "injector.securityContext.container" -}} + {{- if .Values.injector.securityContext.container}} + securityContext: + {{- $tp := typeOf .Values.injector.securityContext.container }} + {{- if eq $tp "string" }} + {{- tpl .Values.injector.securityContext.container . | nindent 12 }} + {{- else }} + {{- toYaml .Values.injector.securityContext.container | nindent 12 }} + {{- end }} + {{- else if not .Values.global.openshift }} + securityContext: + allowPrivilegeEscalation: false + capabilities: + drop: + - ALL + {{- end }} +{{- end -}} + +{{/* +securityContext for the statefulset pod template. +*/}} +{{- define "server.statefulSet.securityContext.pod" -}} + {{- if .Values.server.statefulSet.securityContext.pod }} + securityContext: + {{- $tp := typeOf .Values.server.statefulSet.securityContext.pod }} + {{- if eq $tp "string" }} + {{- tpl .Values.server.statefulSet.securityContext.pod . | nindent 8 }} + {{- else }} + {{- toYaml .Values.server.statefulSet.securityContext.pod | nindent 8 }} + {{- end }} + {{- else if not .Values.global.openshift }} + securityContext: + runAsNonRoot: true + runAsGroup: {{ .Values.server.gid | default 1000 }} + runAsUser: {{ .Values.server.uid | default 100 }} + fsGroup: {{ .Values.server.gid | default 1000 }} + {{- end }} +{{- end -}} + +{{/* +securityContext for the statefulset vault container +*/}} +{{- define "server.statefulSet.securityContext.container" -}} + {{- if .Values.server.statefulSet.securityContext.container }} + securityContext: + {{- $tp := typeOf .Values.server.statefulSet.securityContext.container }} + {{- if eq $tp "string" }} + {{- tpl .Values.server.statefulSet.securityContext.container . | nindent 12 }} + {{- else }} + {{- toYaml .Values.server.statefulSet.securityContext.container | nindent 12 }} + {{- end }} + {{- else if not .Values.global.openshift }} + securityContext: + allowPrivilegeEscalation: false + {{- end }} +{{- end -}} + + +{{/* +Sets extra injector service account annotations +*/}} +{{- define "injector.serviceAccount.annotations" -}} + {{- if and (ne .mode "dev") .Values.injector.serviceAccount.annotations }} + annotations: + {{- $tp := typeOf .Values.injector.serviceAccount.annotations }} + {{- if eq $tp "string" }} + {{- tpl .Values.injector.serviceAccount.annotations . | nindent 4 }} + {{- else }} + {{- toYaml .Values.injector.serviceAccount.annotations | nindent 4 }} + {{- end }} + {{- end }} +{{- end -}} + +{{/* +Sets extra injector webhook annotations +*/}} +{{- define "injector.webhookAnnotations" -}} + {{- if or (((.Values.injector.webhook)).annotations) (.Values.injector.webhookAnnotations) }} + annotations: + {{- $tp := typeOf (or (((.Values.injector.webhook)).annotations) (.Values.injector.webhookAnnotations)) }} + {{- if eq $tp "string" }} + {{- tpl (((.Values.injector.webhook)).annotations | default .Values.injector.webhookAnnotations) . | nindent 4 }} + {{- else }} + {{- toYaml (((.Values.injector.webhook)).annotations | default .Values.injector.webhookAnnotations) | nindent 4 }} + {{- end }} + {{- end }} +{{- end -}} + +{{/* +Set's the injector webhook objectSelector +*/}} +{{- define "injector.objectSelector" -}} + {{- $v := or (((.Values.injector.webhook)).objectSelector) (.Values.injector.objectSelector) -}} + {{ if $v }} + objectSelector: + {{- $tp := typeOf $v -}} + {{ if eq $tp "string" }} + {{ tpl $v . | indent 6 | trim }} + {{ else }} + {{ toYaml $v | indent 6 | trim }} + {{ end }} + {{ end }} +{{ end }} + +{{/* +Sets extra ui service annotations +*/}} +{{- define "vault.ui.annotations" -}} + {{- if .Values.ui.annotations }} + annotations: + {{- $tp := typeOf .Values.ui.annotations }} + {{- if eq $tp "string" }} + {{- tpl .Values.ui.annotations . | nindent 4 }} + {{- else }} + {{- toYaml .Values.ui.annotations | nindent 4 }} + {{- end }} + {{- end }} +{{- end -}} + +{{/* +Create the name of the service account to use +*/}} +{{- define "vault.serviceAccount.name" -}} +{{- if .Values.server.serviceAccount.create -}} + {{ default (include "vault.fullname" .) .Values.server.serviceAccount.name }} +{{- else -}} + {{ default "default" .Values.server.serviceAccount.name }} +{{- end -}} +{{- end -}} + +{{/* +Sets extra service account annotations +*/}} +{{- define "vault.serviceAccount.annotations" -}} + {{- if and (ne .mode "dev") .Values.server.serviceAccount.annotations }} + annotations: + {{- $tp := typeOf .Values.server.serviceAccount.annotations }} + {{- if eq $tp "string" }} + {{- tpl .Values.server.serviceAccount.annotations . | nindent 4 }} + {{- else }} + {{- toYaml .Values.server.serviceAccount.annotations | nindent 4 }} + {{- end }} + {{- end }} +{{- end -}} + +{{/* +Sets extra ingress annotations +*/}} +{{- define "vault.ingress.annotations" -}} + {{- if .Values.server.ingress.annotations }} + annotations: + {{- $tp := typeOf .Values.server.ingress.annotations }} + {{- if eq $tp "string" }} + {{- tpl .Values.server.ingress.annotations . | nindent 4 }} + {{- else }} + {{- toYaml .Values.server.ingress.annotations | nindent 4 }} + {{- end }} + {{- end }} +{{- end -}} + +{{/* +Sets extra route annotations +*/}} +{{- define "vault.route.annotations" -}} + {{- if .Values.server.route.annotations }} + annotations: + {{- $tp := typeOf .Values.server.route.annotations }} + {{- if eq $tp "string" }} + {{- tpl .Values.server.route.annotations . | nindent 4 }} + {{- else }} + {{- toYaml .Values.server.route.annotations | nindent 4 }} + {{- end }} + {{- end }} +{{- end -}} + +{{/* +Sets extra vault server Service annotations +*/}} +{{- define "vault.service.annotations" -}} + {{- if .Values.server.service.annotations }} + {{- $tp := typeOf .Values.server.service.annotations }} + {{- if eq $tp "string" }} + {{- tpl .Values.server.service.annotations . | nindent 4 }} + {{- else }} + {{- toYaml .Values.server.service.annotations | nindent 4 }} + {{- end }} + {{- end }} +{{- end -}} + +{{/* +Sets extra vault server Service (active) annotations +*/}} +{{- define "vault.service.active.annotations" -}} + {{- if .Values.server.service.active.annotations }} + {{- $tp := typeOf .Values.server.service.active.annotations }} + {{- if eq $tp "string" }} + {{- tpl .Values.server.service.active.annotations . | nindent 4 }} + {{- else }} + {{- toYaml .Values.server.service.active.annotations | nindent 4 }} + {{- end }} + {{- end }} +{{- end -}} +{{/* +Sets extra vault server Service annotations +*/}} +{{- define "vault.service.standby.annotations" -}} + {{- if .Values.server.service.standby.annotations }} + {{- $tp := typeOf .Values.server.service.standby.annotations }} + {{- if eq $tp "string" }} + {{- tpl .Values.server.service.standby.annotations . | nindent 4 }} + {{- else }} + {{- toYaml .Values.server.service.standby.annotations | nindent 4 }} + {{- end }} + {{- end }} +{{- end -}} + +{{/* +Sets PodSecurityPolicy annotations +*/}} +{{- define "vault.psp.annotations" -}} + {{- if .Values.global.psp.annotations }} + annotations: + {{- $tp := typeOf .Values.global.psp.annotations }} + {{- if eq $tp "string" }} + {{- tpl .Values.global.psp.annotations . | nindent 4 }} + {{- else }} + {{- toYaml .Values.global.psp.annotations | nindent 4 }} + {{- end }} + {{- end }} +{{- end -}} + +{{/* +Sets extra statefulset annotations +*/}} +{{- define "vault.statefulSet.annotations" -}} + {{- if .Values.server.statefulSet.annotations }} + annotations: + {{- $tp := typeOf .Values.server.statefulSet.annotations }} + {{- if eq $tp "string" }} + {{- tpl .Values.server.statefulSet.annotations . | nindent 4 }} + {{- else }} + {{- toYaml .Values.server.statefulSet.annotations | nindent 4 }} + {{- end }} + {{- end }} +{{- end -}} + +{{/* +Sets VolumeClaim annotations for data volume +*/}} +{{- define "vault.dataVolumeClaim.annotations" -}} + {{- if and (ne .mode "dev") (.Values.server.dataStorage.enabled) (.Values.server.dataStorage.annotations) }} + annotations: + {{- $tp := typeOf .Values.server.dataStorage.annotations }} + {{- if eq $tp "string" }} + {{- tpl .Values.server.dataStorage.annotations . | nindent 4 }} + {{- else }} + {{- toYaml .Values.server.dataStorage.annotations | nindent 4 }} + {{- end }} + {{- end }} +{{- end -}} + +{{/* +Sets VolumeClaim labels for data volume +*/}} +{{- define "vault.dataVolumeClaim.labels" -}} + {{- if and (ne .mode "dev") (.Values.server.dataStorage.enabled) (.Values.server.dataStorage.labels) }} + labels: + {{- $tp := typeOf .Values.server.dataStorage.labels }} + {{- if eq $tp "string" }} + {{- tpl .Values.server.dataStorage.labels . | nindent 4 }} + {{- else }} + {{- toYaml .Values.server.dataStorage.labels | nindent 4 }} + {{- end }} + {{- end }} +{{- end -}} + +{{/* +Sets VolumeClaim annotations for audit volume +*/}} +{{- define "vault.auditVolumeClaim.annotations" -}} + {{- if and (ne .mode "dev") (.Values.server.auditStorage.enabled) (.Values.server.auditStorage.annotations) }} + annotations: + {{- $tp := typeOf .Values.server.auditStorage.annotations }} + {{- if eq $tp "string" }} + {{- tpl .Values.server.auditStorage.annotations . | nindent 4 }} + {{- else }} + {{- toYaml .Values.server.auditStorage.annotations | nindent 4 }} + {{- end }} + {{- end }} +{{- end -}} + +{{/* +Sets VolumeClaim labels for audit volume +*/}} +{{- define "vault.auditVolumeClaim.labels" -}} + {{- if and (ne .mode "dev") (.Values.server.auditStorage.enabled) (.Values.server.auditStorage.labels) }} + labels: + {{- $tp := typeOf .Values.server.auditStorage.labels }} + {{- if eq $tp "string" }} + {{- tpl .Values.server.auditStorage.labels . | nindent 4 }} + {{- else }} + {{- toYaml .Values.server.auditStorage.labels | nindent 4 }} + {{- end }} + {{- end }} +{{- end -}} + +{{/* +Set's the container resources if the user has set any. +*/}} +{{- define "vault.resources" -}} + {{- if .Values.server.resources -}} + resources: +{{ toYaml .Values.server.resources | indent 12}} + {{ end }} +{{- end -}} + +{{/* +Sets the container resources if the user has set any. +*/}} +{{- define "injector.resources" -}} + {{- if .Values.injector.resources -}} + resources: +{{ toYaml .Values.injector.resources | indent 12}} + {{ end }} +{{- end -}} + +{{/* +Sets the container resources if the user has set any. +*/}} +{{- define "csi.resources" -}} + {{- if .Values.csi.resources -}} + resources: +{{ toYaml .Values.csi.resources | indent 12}} + {{ end }} +{{- end -}} + +{{/* +Sets the container resources for CSI's Agent sidecar if the user has set any. +*/}} +{{- define "csi.agent.resources" -}} + {{- if .Values.csi.agent.resources -}} + resources: +{{ toYaml .Values.csi.agent.resources | indent 12}} + {{ end }} +{{- end -}} + +{{/* +Sets extra CSI daemonset annotations +*/}} +{{- define "csi.daemonSet.annotations" -}} + {{- if .Values.csi.daemonSet.annotations }} + annotations: + {{- $tp := typeOf .Values.csi.daemonSet.annotations }} + {{- if eq $tp "string" }} + {{- tpl .Values.csi.daemonSet.annotations . | nindent 4 }} + {{- else }} + {{- toYaml .Values.csi.daemonSet.annotations | nindent 4 }} + {{- end }} + {{- end }} +{{- end -}} + +{{/* +Sets CSI daemonset securityContext for pod template +*/}} +{{- define "csi.daemonSet.securityContext.pod" -}} + {{- if .Values.csi.daemonSet.securityContext.pod }} + securityContext: + {{- $tp := typeOf .Values.csi.daemonSet.securityContext.pod }} + {{- if eq $tp "string" }} + {{- tpl .Values.csi.daemonSet.securityContext.pod . | nindent 8 }} + {{- else }} + {{- toYaml .Values.csi.daemonSet.securityContext.pod | nindent 8 }} + {{- end }} + {{- end }} +{{- end -}} + +{{/* +Sets CSI daemonset securityContext for container +*/}} +{{- define "csi.daemonSet.securityContext.container" -}} + {{- if .Values.csi.daemonSet.securityContext.container }} + securityContext: + {{- $tp := typeOf .Values.csi.daemonSet.securityContext.container }} + {{- if eq $tp "string" }} + {{- tpl .Values.csi.daemonSet.securityContext.container . | nindent 12 }} + {{- else }} + {{- toYaml .Values.csi.daemonSet.securityContext.container | nindent 12 }} + {{- end }} + {{- else if .Values.global.openshift }} + securityContext: + privileged: true + {{- end }} +{{- end -}} + +{{/* +Sets CSI Vault Agent container securityContext +*/}} +{{- define "csi.agent.securityContext.container" -}} + {{- if .Values.csi.agent.securityContext.container }} + securityContext: + {{- $tp := typeOf .Values.csi.agent.securityContext.container }} + {{- if eq $tp "string" }} + {{- tpl .Values.csi.agent.securityContext.container . | nindent 12 }} + {{- else }} + {{- toYaml .Values.csi.agent.securityContext.container | nindent 12 }} + {{- end }} + {{- end }} +{{- end -}} + +{{/* +Sets the injector toleration for pod placement +*/}} +{{- define "csi.pod.tolerations" -}} + {{- if .Values.csi.pod.tolerations }} + tolerations: + {{- $tp := typeOf .Values.csi.pod.tolerations }} + {{- if eq $tp "string" }} + {{ tpl .Values.csi.pod.tolerations . | nindent 8 | trim }} + {{- else }} + {{- toYaml .Values.csi.pod.tolerations | nindent 8 }} + {{- end }} + {{- end }} +{{- end -}} + +{{/* +Sets the CSI provider nodeSelector for pod placement +*/}} +{{- define "csi.pod.nodeselector" -}} + {{- if .Values.csi.pod.nodeSelector }} + nodeSelector: + {{- $tp := typeOf .Values.csi.pod.nodeSelector }} + {{- if eq $tp "string" }} + {{ tpl .Values.csi.pod.nodeSelector . | nindent 8 | trim }} + {{- else }} + {{- toYaml .Values.csi.pod.nodeSelector | nindent 8 }} + {{- end }} + {{- end }} +{{- end -}} +{{/* +Sets the CSI provider affinity for pod placement. +*/}} +{{- define "csi.pod.affinity" -}} + {{- if .Values.csi.pod.affinity }} + affinity: + {{ $tp := typeOf .Values.csi.pod.affinity }} + {{- if eq $tp "string" }} + {{- tpl .Values.csi.pod.affinity . | nindent 8 | trim }} + {{- else }} + {{- toYaml .Values.csi.pod.affinity | nindent 8 }} + {{- end }} + {{ end }} +{{- end -}} +{{/* +Sets extra CSI provider pod annotations +*/}} +{{- define "csi.pod.annotations" -}} + {{- if .Values.csi.pod.annotations }} + annotations: + {{- $tp := typeOf .Values.csi.pod.annotations }} + {{- if eq $tp "string" }} + {{- tpl .Values.csi.pod.annotations . | nindent 8 }} + {{- else }} + {{- toYaml .Values.csi.pod.annotations | nindent 8 }} + {{- end }} + {{- end }} +{{- end -}} + +{{/* +Sets extra CSI service account annotations +*/}} +{{- define "csi.serviceAccount.annotations" -}} + {{- if .Values.csi.serviceAccount.annotations }} + annotations: + {{- $tp := typeOf .Values.csi.serviceAccount.annotations }} + {{- if eq $tp "string" }} + {{- tpl .Values.csi.serviceAccount.annotations . | nindent 4 }} + {{- else }} + {{- toYaml .Values.csi.serviceAccount.annotations | nindent 4 }} + {{- end }} + {{- end }} +{{- end -}} + +{{/* +Inject extra environment vars in the format key:value, if populated +*/}} +{{- define "vault.extraEnvironmentVars" -}} +{{- if .extraEnvironmentVars -}} +{{- range $key, $value := .extraEnvironmentVars }} +- name: {{ printf "%s" $key | replace "." "_" | upper | quote }} + value: {{ $value | quote }} +{{- end }} +{{- end -}} +{{- end -}} + +{{/* +Inject extra environment populated by secrets, if populated +*/}} +{{- define "vault.extraSecretEnvironmentVars" -}} +{{- if .extraSecretEnvironmentVars -}} +{{- range .extraSecretEnvironmentVars }} +- name: {{ .envName }} + valueFrom: + secretKeyRef: + name: {{ .secretName }} + key: {{ .secretKey }} +{{- end -}} +{{- end -}} +{{- end -}} + +{{/* Scheme for health check and local endpoint */}} +{{- define "vault.scheme" -}} +{{- if .Values.global.tlsDisable -}} +{{ "http" }} +{{- else -}} +{{ "https" }} +{{- end -}} +{{- end -}} + +{{/* +imagePullSecrets generates pull secrets from either string or map values. +A map value must be indexable by the key 'name'. +*/}} +{{- define "imagePullSecrets" -}} +{{- with .Values.global.imagePullSecrets -}} +imagePullSecrets: +{{- range . -}} +{{- if typeIs "string" . }} + - name: {{ . }} +{{- else if index . "name" }} + - name: {{ .name }} +{{- end }} +{{- end -}} +{{- end -}} +{{- end -}} + +{{/* +externalTrafficPolicy sets a Service's externalTrafficPolicy if applicable. +Supported inputs are Values.server.service and Values.ui +*/}} +{{- define "service.externalTrafficPolicy" -}} +{{- $type := "" -}} +{{- if .serviceType -}} +{{- $type = .serviceType -}} +{{- else if .type -}} +{{- $type = .type -}} +{{- end -}} +{{- if and .externalTrafficPolicy (or (eq $type "LoadBalancer") (eq $type "NodePort")) }} + externalTrafficPolicy: {{ .externalTrafficPolicy }} +{{- else }} +{{- end }} +{{- end -}} + +{{/* +loadBalancer configuration for the the UI service. +Supported inputs are Values.ui +*/}} +{{- define "service.loadBalancer" -}} +{{- if eq (.serviceType | toString) "LoadBalancer" }} +{{- if .loadBalancerIP }} + loadBalancerIP: {{ .loadBalancerIP }} +{{- end }} +{{- with .loadBalancerSourceRanges }} + loadBalancerSourceRanges: +{{- range . }} + - {{ . }} +{{- end }} +{{- end -}} +{{- end }} +{{- end -}} + +{{/* +config file from values +*/}} +{{- define "vault.config" -}} +{{- if or (eq .mode "ha") (eq .mode "standalone") }} +{{- $config := (index .Values.server .mode).config -}} +{{- if .Values.server.ha.raft.enabled -}} +{{- $config = .Values.server.ha.raft.config -}} +{{- end -}} +{{- $type := typeOf $config -}} +{{- if eq $type "string" -}} +{{/* Vault supports both HCL and JSON as its configuration format */}} +{{- $json := tpl $config . | fromJson -}} +{{/* +Helm's fromJson does not behave according to the corresponding sprig function nor Helm docs, +which claim that it should return empty string on invalid JSON, it actually returns +a map containing a single 'Error' element. +https://github.com/helm/helm/blob/50c22ed7f953fadb32755e5881ba95a92da852b2/pkg/engine/funcs.go#L158 + */}} +{{- if or (and (eq ($json | len) 1) (hasKey $json "Error")) (eq ($json | len) 0) -}} +{{- $config = printf "%s\n%s" $config "disable_mlock = true" -}} +{{- else -}} +{{- if not (hasKey $json "disable_mlock") -}} +{{- $_ := set $json "disable_mlock" true -}} +{{- end -}} +{{- $config = $json | mustToJson -}} +{{- end -}} +{{- else }} +{{- fail "structured server config is not supported, value must be a string"}} +{{- end }} +{{- tpl $config . | nindent 4 | trim }} +{{- end -}} +{{- end -}} diff --git a/charts/partners/hashicorp/vault/0.31.0/src/templates/csi-agent-configmap.yaml b/charts/partners/hashicorp/vault/0.31.0/src/templates/csi-agent-configmap.yaml new file mode 100644 index 000000000..18cdb04ac --- /dev/null +++ b/charts/partners/hashicorp/vault/0.31.0/src/templates/csi-agent-configmap.yaml @@ -0,0 +1,34 @@ +{{/* +Copyright (c) HashiCorp, Inc. +SPDX-License-Identifier: MPL-2.0 +*/}} + +{{- template "vault.csiEnabled" . -}} +{{- if and (.csiEnabled) (eq (.Values.csi.agent.enabled | toString) "true") -}} +apiVersion: v1 +kind: ConfigMap +metadata: + name: {{ template "vault.fullname" . }}-csi-provider-agent-config + namespace: {{ include "vault.namespace" . }} + labels: + helm.sh/chart: {{ include "vault.chart" . }} + app.kubernetes.io/name: {{ include "vault.name" . }}-csi-provider + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/managed-by: {{ .Release.Service }} +data: + config.hcl: | + vault { + {{- if .Values.global.externalVaultAddr }} + "address" = "{{ .Values.global.externalVaultAddr }}" + {{- else }} + "address" = "{{ include "vault.scheme" . }}://{{ template "vault.fullname" . }}.{{ include "vault.namespace" . }}.svc:{{ .Values.server.service.port }}" + {{- end }} + } + + cache {} + + listener "unix" { + address = "/var/run/vault/agent.sock" + tls_disable = true + } +{{- end }} diff --git a/charts/partners/hashicorp/vault/0.31.0/src/templates/csi-clusterrole.yaml b/charts/partners/hashicorp/vault/0.31.0/src/templates/csi-clusterrole.yaml new file mode 100644 index 000000000..6d979ea40 --- /dev/null +++ b/charts/partners/hashicorp/vault/0.31.0/src/templates/csi-clusterrole.yaml @@ -0,0 +1,23 @@ +{{/* +Copyright (c) HashiCorp, Inc. +SPDX-License-Identifier: MPL-2.0 +*/}} + +{{- template "vault.csiEnabled" . -}} +{{- if .csiEnabled -}} +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + name: {{ template "vault.fullname" . }}-csi-provider-clusterrole + labels: + app.kubernetes.io/name: {{ include "vault.name" . }}-csi-provider + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/managed-by: {{ .Release.Service }} +rules: +- apiGroups: + - "" + resources: + - serviceaccounts/token + verbs: + - create +{{- end }} diff --git a/charts/partners/hashicorp/vault/0.31.0/src/templates/csi-clusterrolebinding.yaml b/charts/partners/hashicorp/vault/0.31.0/src/templates/csi-clusterrolebinding.yaml new file mode 100644 index 000000000..506ec944a --- /dev/null +++ b/charts/partners/hashicorp/vault/0.31.0/src/templates/csi-clusterrolebinding.yaml @@ -0,0 +1,24 @@ +{{/* +Copyright (c) HashiCorp, Inc. +SPDX-License-Identifier: MPL-2.0 +*/}} + +{{- template "vault.csiEnabled" . -}} +{{- if .csiEnabled -}} +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + name: {{ template "vault.fullname" . }}-csi-provider-clusterrolebinding + labels: + app.kubernetes.io/name: {{ include "vault.name" . }}-csi-provider + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/managed-by: {{ .Release.Service }} +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: {{ template "vault.fullname" . }}-csi-provider-clusterrole +subjects: +- kind: ServiceAccount + name: {{ template "vault.fullname" . }}-csi-provider + namespace: {{ include "vault.namespace" . }} +{{- end }} diff --git a/charts/partners/hashicorp/vault/0.31.0/src/templates/csi-daemonset.yaml b/charts/partners/hashicorp/vault/0.31.0/src/templates/csi-daemonset.yaml new file mode 100644 index 000000000..3fd0c9eaf --- /dev/null +++ b/charts/partners/hashicorp/vault/0.31.0/src/templates/csi-daemonset.yaml @@ -0,0 +1,157 @@ +{{/* +Copyright (c) HashiCorp, Inc. +SPDX-License-Identifier: MPL-2.0 +*/}} + +{{- template "vault.csiEnabled" . -}} +{{- if .csiEnabled -}} +apiVersion: apps/v1 +kind: DaemonSet +metadata: + name: {{ template "vault.fullname" . }}-csi-provider + namespace: {{ include "vault.namespace" . }} + labels: + app.kubernetes.io/name: {{ include "vault.name" . }}-csi-provider + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/managed-by: {{ .Release.Service }} + {{- if .Values.csi.daemonSet.extraLabels -}} + {{- toYaml .Values.csi.daemonSet.extraLabels | nindent 4 -}} + {{- end -}} + {{ template "csi.daemonSet.annotations" . }} +spec: + updateStrategy: + type: {{ .Values.csi.daemonSet.updateStrategy.type }} + {{- if .Values.csi.daemonSet.updateStrategy.maxUnavailable }} + rollingUpdate: + maxUnavailable: {{ .Values.csi.daemonSet.updateStrategy.maxUnavailable }} + {{- end }} + selector: + matchLabels: + app.kubernetes.io/name: {{ include "vault.name" . }}-csi-provider + app.kubernetes.io/instance: {{ .Release.Name }} + template: + metadata: + labels: + app.kubernetes.io/name: {{ template "vault.name" . }}-csi-provider + app.kubernetes.io/instance: {{ .Release.Name }} + {{- if .Values.csi.pod.extraLabels -}} + {{- toYaml .Values.csi.pod.extraLabels | nindent 8 -}} + {{- end -}} + {{ template "csi.pod.annotations" . }} + spec: + {{ template "csi.daemonSet.securityContext.pod" . }} + {{- if .Values.csi.priorityClassName }} + priorityClassName: {{ .Values.csi.priorityClassName }} + {{- end }} + hostNetwork: {{ .Values.csi.hostNetwork }} + serviceAccountName: {{ template "vault.fullname" . }}-csi-provider + {{- template "csi.pod.tolerations" . }} + {{- template "csi.pod.nodeselector" . }} + {{- template "csi.pod.affinity" . }} + containers: + - name: {{ include "vault.name" . }}-csi-provider + {{ template "csi.resources" . }} + {{ template "csi.daemonSet.securityContext.container" . }} + image: "{{ .Values.csi.image.repository }}:{{ .Values.csi.image.tag }}" + imagePullPolicy: {{ .Values.csi.image.pullPolicy }} + args: + - --endpoint=/provider/vault.sock + {{- if .Values.csi.debug }} + - --log-level=debug + {{- else }} + - --log-level={{ .Values.csi.logLevel }} + {{- end }} + {{- if .Values.csi.hmacSecretName }} + - --hmac-secret-name={{ .Values.csi.hmacSecretName }} + {{- else }} + - --hmac-secret-name={{- include "vault.name" . }}-csi-provider-hmac-key + {{- end }} + {{- if .Values.csi.extraArgs }} + {{- toYaml .Values.csi.extraArgs | nindent 12 }} + {{- end }} + env: + - name: VAULT_ADDR + {{- if eq (.Values.csi.agent.enabled | toString) "true" }} + value: "unix:///var/run/vault/agent.sock" + {{- else if .Values.global.externalVaultAddr }} + value: "{{ .Values.global.externalVaultAddr }}" + {{- else }} + value: {{ include "vault.scheme" . }}://{{ template "vault.fullname" . }}.{{ include "vault.namespace" . }}.svc:{{ .Values.server.service.port }} + {{- end }} + volumeMounts: + - name: providervol + mountPath: "/provider" + {{- if eq (.Values.csi.agent.enabled | toString) "true" }} + - name: agent-unix-socket + mountPath: /var/run/vault + {{- end }} + {{- if .Values.csi.volumeMounts }} + {{- toYaml .Values.csi.volumeMounts | nindent 12}} + {{- end }} + livenessProbe: + httpGet: + path: /health/ready + port: 8080 + failureThreshold: {{ .Values.csi.livenessProbe.failureThreshold }} + initialDelaySeconds: {{ .Values.csi.livenessProbe.initialDelaySeconds }} + periodSeconds: {{ .Values.csi.livenessProbe.periodSeconds }} + successThreshold: {{ .Values.csi.livenessProbe.successThreshold }} + timeoutSeconds: {{ .Values.csi.livenessProbe.timeoutSeconds }} + readinessProbe: + httpGet: + path: /health/ready + port: 8080 + failureThreshold: {{ .Values.csi.readinessProbe.failureThreshold }} + initialDelaySeconds: {{ .Values.csi.readinessProbe.initialDelaySeconds }} + periodSeconds: {{ .Values.csi.readinessProbe.periodSeconds }} + successThreshold: {{ .Values.csi.readinessProbe.successThreshold }} + timeoutSeconds: {{ .Values.csi.readinessProbe.timeoutSeconds }} + {{- if eq (.Values.csi.agent.enabled | toString) "true" }} + - name: {{ include "vault.name" . }}-agent + image: "{{ .Values.csi.agent.image.repository }}:{{ .Values.csi.agent.image.tag }}" + imagePullPolicy: {{ .Values.csi.agent.image.pullPolicy }} + {{ template "csi.agent.resources" . }} + command: + - vault + args: + - agent + - -config=/etc/vault/config.hcl + {{- if .Values.csi.agent.extraArgs }} + {{- toYaml .Values.csi.agent.extraArgs | nindent 12 }} + {{- end }} + ports: + - containerPort: 8200 + env: + - name: VAULT_LOG_LEVEL + value: "{{ .Values.csi.agent.logLevel }}" + - name: VAULT_LOG_FORMAT + value: "{{ .Values.csi.agent.logFormat }}" + {{- template "csi.agent.securityContext.container" . }} + volumeMounts: + - name: agent-config + mountPath: /etc/vault/config.hcl + subPath: config.hcl + readOnly: true + - name: agent-unix-socket + mountPath: /var/run/vault + {{- if .Values.csi.volumeMounts }} + {{- toYaml .Values.csi.volumeMounts | nindent 12 }} + {{- end }} + {{- end }} + volumes: + - name: providervol + hostPath: + path: {{ .Values.csi.daemonSet.providersDir }} + {{- if eq (.Values.csi.agent.enabled | toString) "true" }} + - name: agent-config + configMap: + name: {{ template "vault.fullname" . }}-csi-provider-agent-config + - name: agent-unix-socket + emptyDir: + medium: Memory + {{- end }} + {{- if .Values.csi.volumes }} + {{- toYaml .Values.csi.volumes | nindent 8}} + {{- end }} + {{- include "imagePullSecrets" . | nindent 6 }} +{{- end }} diff --git a/charts/partners/hashicorp/vault/0.31.0/src/templates/csi-role.yaml b/charts/partners/hashicorp/vault/0.31.0/src/templates/csi-role.yaml new file mode 100644 index 000000000..17e1918b4 --- /dev/null +++ b/charts/partners/hashicorp/vault/0.31.0/src/templates/csi-role.yaml @@ -0,0 +1,32 @@ +{{/* +Copyright (c) HashiCorp, Inc. +SPDX-License-Identifier: MPL-2.0 +*/}} + +{{- template "vault.csiEnabled" . -}} +{{- if .csiEnabled -}} +apiVersion: rbac.authorization.k8s.io/v1 +kind: Role +metadata: + name: {{ template "vault.fullname" . }}-csi-provider-role + namespace: {{ include "vault.namespace" . }} + labels: + app.kubernetes.io/name: {{ include "vault.name" . }}-csi-provider + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/managed-by: {{ .Release.Service }} +rules: +- apiGroups: [""] + resources: ["secrets"] + verbs: ["get"] + resourceNames: + {{- if .Values.csi.hmacSecretName }} + - {{ .Values.csi.hmacSecretName }} + {{- else }} + - {{ include "vault.name" . }}-csi-provider-hmac-key + {{- end }} +# 'create' permissions cannot be restricted by resource name: +# https://kubernetes.io/docs/reference/access-authn-authz/rbac/#referring-to-resources +- apiGroups: [""] + resources: ["secrets"] + verbs: ["create"] +{{- end }} diff --git a/charts/partners/hashicorp/vault/0.31.0/src/templates/csi-rolebinding.yaml b/charts/partners/hashicorp/vault/0.31.0/src/templates/csi-rolebinding.yaml new file mode 100644 index 000000000..3d3b981b8 --- /dev/null +++ b/charts/partners/hashicorp/vault/0.31.0/src/templates/csi-rolebinding.yaml @@ -0,0 +1,25 @@ +{{/* +Copyright (c) HashiCorp, Inc. +SPDX-License-Identifier: MPL-2.0 +*/}} + +{{- template "vault.csiEnabled" . -}} +{{- if .csiEnabled -}} +apiVersion: rbac.authorization.k8s.io/v1 +kind: RoleBinding +metadata: + name: {{ template "vault.fullname" . }}-csi-provider-rolebinding + namespace: {{ include "vault.namespace" . }} + labels: + app.kubernetes.io/name: {{ include "vault.name" . }}-csi-provider + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/managed-by: {{ .Release.Service }} +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: Role + name: {{ template "vault.fullname" . }}-csi-provider-role +subjects: +- kind: ServiceAccount + name: {{ template "vault.fullname" . }}-csi-provider + namespace: {{ include "vault.namespace" . }} +{{- end }} diff --git a/charts/partners/hashicorp/vault/0.31.0/src/templates/csi-serviceaccount.yaml b/charts/partners/hashicorp/vault/0.31.0/src/templates/csi-serviceaccount.yaml new file mode 100644 index 000000000..6327a7b2f --- /dev/null +++ b/charts/partners/hashicorp/vault/0.31.0/src/templates/csi-serviceaccount.yaml @@ -0,0 +1,21 @@ +{{/* +Copyright (c) HashiCorp, Inc. +SPDX-License-Identifier: MPL-2.0 +*/}} + +{{- template "vault.csiEnabled" . -}} +{{- if .csiEnabled -}} +apiVersion: v1 +kind: ServiceAccount +metadata: + name: {{ template "vault.fullname" . }}-csi-provider + namespace: {{ include "vault.namespace" . }} + labels: + app.kubernetes.io/name: {{ include "vault.name" . }}-csi-provider + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/managed-by: {{ .Release.Service }} + {{- if .Values.csi.serviceAccount.extraLabels -}} + {{- toYaml .Values.csi.serviceAccount.extraLabels | nindent 4 -}} + {{- end -}} + {{ template "csi.serviceAccount.annotations" . }} +{{- end }} diff --git a/charts/partners/hashicorp/vault/0.31.0/src/templates/injector-certs-secret.yaml b/charts/partners/hashicorp/vault/0.31.0/src/templates/injector-certs-secret.yaml new file mode 100644 index 000000000..f6995af10 --- /dev/null +++ b/charts/partners/hashicorp/vault/0.31.0/src/templates/injector-certs-secret.yaml @@ -0,0 +1,19 @@ +{{/* +Copyright (c) HashiCorp, Inc. +SPDX-License-Identifier: MPL-2.0 +*/}} + +{{- template "vault.injectorEnabled" . -}} +{{- if .injectorEnabled -}} +{{- if and (eq (.Values.injector.leaderElector.enabled | toString) "true") (gt (.Values.injector.replicas | int) 1) }} +apiVersion: v1 +kind: Secret +metadata: + name: vault-injector-certs + namespace: {{ include "vault.namespace" . }} + labels: + app.kubernetes.io/name: {{ include "vault.name" . }}-agent-injector + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/managed-by: {{ .Release.Service }} +{{- end }} +{{- end }} \ No newline at end of file diff --git a/charts/partners/hashicorp/vault/0.31.0/src/templates/injector-clusterrole.yaml b/charts/partners/hashicorp/vault/0.31.0/src/templates/injector-clusterrole.yaml new file mode 100644 index 000000000..df603f250 --- /dev/null +++ b/charts/partners/hashicorp/vault/0.31.0/src/templates/injector-clusterrole.yaml @@ -0,0 +1,30 @@ +{{/* +Copyright (c) HashiCorp, Inc. +SPDX-License-Identifier: MPL-2.0 +*/}} + +{{- template "vault.injectorEnabled" . -}} +{{- if .injectorEnabled -}} +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + name: {{ template "vault.fullname" . }}-agent-injector-clusterrole + labels: + app.kubernetes.io/name: {{ include "vault.name" . }}-agent-injector + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/managed-by: {{ .Release.Service }} +rules: +- apiGroups: ["admissionregistration.k8s.io"] + resources: ["mutatingwebhookconfigurations"] + verbs: + - "get" + - "list" + - "watch" + - "patch" +{{- if and (eq (.Values.injector.leaderElector.enabled | toString) "true") (gt (.Values.injector.replicas | int) 1) }} +- apiGroups: [""] + resources: ["nodes"] + verbs: + - "get" +{{ end }} +{{ end }} diff --git a/charts/partners/hashicorp/vault/0.31.0/src/templates/injector-clusterrolebinding.yaml b/charts/partners/hashicorp/vault/0.31.0/src/templates/injector-clusterrolebinding.yaml new file mode 100644 index 000000000..82cbce0ce --- /dev/null +++ b/charts/partners/hashicorp/vault/0.31.0/src/templates/injector-clusterrolebinding.yaml @@ -0,0 +1,24 @@ +{{/* +Copyright (c) HashiCorp, Inc. +SPDX-License-Identifier: MPL-2.0 +*/}} + +{{- template "vault.injectorEnabled" . -}} +{{- if .injectorEnabled -}} +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + name: {{ template "vault.fullname" . }}-agent-injector-binding + labels: + app.kubernetes.io/name: {{ include "vault.name" . }}-agent-injector + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/managed-by: {{ .Release.Service }} +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: {{ template "vault.fullname" . }}-agent-injector-clusterrole +subjects: +- kind: ServiceAccount + name: {{ template "vault.fullname" . }}-agent-injector + namespace: {{ include "vault.namespace" . }} +{{ end }} diff --git a/charts/partners/hashicorp/vault/0.31.0/src/templates/injector-deployment.yaml b/charts/partners/hashicorp/vault/0.31.0/src/templates/injector-deployment.yaml new file mode 100644 index 000000000..822e8e41d --- /dev/null +++ b/charts/partners/hashicorp/vault/0.31.0/src/templates/injector-deployment.yaml @@ -0,0 +1,179 @@ +{{/* +Copyright (c) HashiCorp, Inc. +SPDX-License-Identifier: MPL-2.0 +*/}} + +{{- template "vault.injectorEnabled" . -}} +{{- if .injectorEnabled -}} +# Deployment for the injector +apiVersion: apps/v1 +kind: Deployment +metadata: + name: {{ template "vault.fullname" . }}-agent-injector + namespace: {{ include "vault.namespace" . }} + labels: + app.kubernetes.io/name: {{ include "vault.name" . }}-agent-injector + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/managed-by: {{ .Release.Service }} + component: webhook +spec: + replicas: {{ .Values.injector.replicas }} + selector: + matchLabels: + app.kubernetes.io/name: {{ template "vault.name" . }}-agent-injector + app.kubernetes.io/instance: {{ .Release.Name }} + component: webhook + {{ template "injector.strategy" . }} + template: + metadata: + labels: + app.kubernetes.io/name: {{ template "vault.name" . }}-agent-injector + app.kubernetes.io/instance: {{ .Release.Name }} + component: webhook + {{- if .Values.injector.extraLabels -}} + {{- toYaml .Values.injector.extraLabels | nindent 8 -}} + {{- end -}} + {{ template "injector.annotations" . }} + spec: + {{ template "injector.affinity" . }} + {{ template "injector.topologySpreadConstraints" . }} + {{ template "injector.tolerations" . }} + {{ template "injector.nodeselector" . }} + {{- if .Values.injector.priorityClassName }} + priorityClassName: {{ .Values.injector.priorityClassName }} + {{- end }} + serviceAccountName: "{{ template "vault.fullname" . }}-agent-injector" + {{ template "injector.securityContext.pod" . -}} + {{- if not .Values.global.openshift }} + hostNetwork: {{ .Values.injector.hostNetwork }} + {{- end }} + containers: + - name: sidecar-injector + {{ template "injector.resources" . }} + image: "{{ .Values.injector.image.repository }}:{{ .Values.injector.image.tag }}" + imagePullPolicy: "{{ .Values.injector.image.pullPolicy }}" + {{- template "injector.securityContext.container" . }} + env: + - name: AGENT_INJECT_LISTEN + value: {{ printf ":%v" .Values.injector.port }} + - name: AGENT_INJECT_LOG_LEVEL + value: {{ .Values.injector.logLevel | default "info" }} + - name: AGENT_INJECT_VAULT_ADDR + {{- if .Values.global.externalVaultAddr }} + value: "{{ .Values.global.externalVaultAddr }}" + {{- else if .Values.injector.externalVaultAddr }} + value: "{{ .Values.injector.externalVaultAddr }}" + {{- else }} + value: {{ include "vault.scheme" . }}://{{ template "vault.fullname" . }}.{{ include "vault.namespace" . }}.svc:{{ .Values.server.service.port }} + {{- end }} + - name: AGENT_INJECT_VAULT_AUTH_PATH + value: {{ .Values.injector.authPath }} + - name: AGENT_INJECT_VAULT_IMAGE + value: "{{ .Values.injector.agentImage.repository }}:{{ .Values.injector.agentImage.tag }}" + {{- if .Values.injector.certs.secretName }} + - name: AGENT_INJECT_TLS_CERT_FILE + value: "/etc/webhook/certs/{{ .Values.injector.certs.certName }}" + - name: AGENT_INJECT_TLS_KEY_FILE + value: "/etc/webhook/certs/{{ .Values.injector.certs.keyName }}" + {{- else }} + - name: AGENT_INJECT_TLS_AUTO + value: {{ template "vault.fullname" . }}-agent-injector-cfg + - name: AGENT_INJECT_TLS_AUTO_HOSTS + value: {{ template "vault.fullname" . }}-agent-injector-svc,{{ template "vault.fullname" . }}-agent-injector-svc.{{ include "vault.namespace" . }},{{ template "vault.fullname" . }}-agent-injector-svc.{{ include "vault.namespace" . }}.svc + {{- end }} + - name: AGENT_INJECT_LOG_FORMAT + value: {{ .Values.injector.logFormat | default "standard" }} + - name: AGENT_INJECT_REVOKE_ON_SHUTDOWN + value: "{{ .Values.injector.revokeOnShutdown | default false }}" + {{- if .Values.global.openshift }} + - name: AGENT_INJECT_SET_SECURITY_CONTEXT + value: "false" + {{- end }} + {{- if .Values.injector.metrics.enabled }} + - name: AGENT_INJECT_TELEMETRY_PATH + value: "/metrics" + {{- end }} + {{- if and (eq (.Values.injector.leaderElector.enabled | toString) "true") (gt (.Values.injector.replicas | int) 1) }} + - name: AGENT_INJECT_USE_LEADER_ELECTOR + value: "true" + - name: NAMESPACE + valueFrom: + fieldRef: + fieldPath: metadata.namespace + {{- end }} + - name: AGENT_INJECT_CPU_REQUEST + value: "{{ .Values.injector.agentDefaults.cpuRequest }}" + - name: AGENT_INJECT_CPU_LIMIT + value: "{{ .Values.injector.agentDefaults.cpuLimit }}" + - name: AGENT_INJECT_MEM_REQUEST + value: "{{ .Values.injector.agentDefaults.memRequest }}" + - name: AGENT_INJECT_MEM_LIMIT + value: "{{ .Values.injector.agentDefaults.memLimit }}" + {{- if .Values.injector.agentDefaults.ephemeralRequest }} + - name: AGENT_INJECT_EPHEMERAL_REQUEST + value: "{{ .Values.injector.agentDefaults.ephemeralRequest }}" + {{- end }} + {{- if .Values.injector.agentDefaults.ephemeralLimit }} + - name: AGENT_INJECT_EPHEMERAL_LIMIT + value: "{{ .Values.injector.agentDefaults.ephemeralLimit }}" + {{- end }} + - name: AGENT_INJECT_DEFAULT_TEMPLATE + value: "{{ .Values.injector.agentDefaults.template }}" + - name: AGENT_INJECT_TEMPLATE_CONFIG_EXIT_ON_RETRY_FAILURE + value: "{{ .Values.injector.agentDefaults.templateConfig.exitOnRetryFailure }}" + {{- if .Values.injector.agentDefaults.templateConfig.staticSecretRenderInterval }} + - name: AGENT_INJECT_TEMPLATE_STATIC_SECRET_RENDER_INTERVAL + value: "{{ .Values.injector.agentDefaults.templateConfig.staticSecretRenderInterval }}" + {{- end }} + {{- include "vault.extraEnvironmentVars" .Values.injector | nindent 12 }} + - name: POD_NAME + valueFrom: + fieldRef: + fieldPath: metadata.name + args: + - agent-inject + - 2>&1 + livenessProbe: + httpGet: + path: /health/ready + port: {{ .Values.injector.port }} + scheme: HTTPS + failureThreshold: {{ .Values.injector.livenessProbe.failureThreshold }} + initialDelaySeconds: {{ .Values.injector.livenessProbe.initialDelaySeconds }} + periodSeconds: {{ .Values.injector.livenessProbe.periodSeconds }} + successThreshold: {{ .Values.injector.livenessProbe.successThreshold }} + timeoutSeconds: {{ .Values.injector.livenessProbe.timeoutSeconds }} + readinessProbe: + httpGet: + path: /health/ready + port: {{ .Values.injector.port }} + scheme: HTTPS + failureThreshold: {{ .Values.injector.readinessProbe.failureThreshold }} + initialDelaySeconds: {{ .Values.injector.readinessProbe.initialDelaySeconds }} + periodSeconds: {{ .Values.injector.readinessProbe.periodSeconds }} + successThreshold: {{ .Values.injector.readinessProbe.successThreshold }} + timeoutSeconds: {{ .Values.injector.readinessProbe.timeoutSeconds }} + startupProbe: + httpGet: + path: /health/ready + port: {{ .Values.injector.port }} + scheme: HTTPS + failureThreshold: {{ .Values.injector.startupProbe.failureThreshold }} + initialDelaySeconds: {{ .Values.injector.startupProbe.initialDelaySeconds }} + periodSeconds: {{ .Values.injector.startupProbe.periodSeconds }} + successThreshold: {{ .Values.injector.startupProbe.successThreshold }} + timeoutSeconds: {{ .Values.injector.startupProbe.timeoutSeconds }} +{{- if .Values.injector.certs.secretName }} + volumeMounts: + - name: webhook-certs + mountPath: /etc/webhook/certs + readOnly: true +{{- end }} +{{- if .Values.injector.certs.secretName }} + volumes: + - name: webhook-certs + secret: + secretName: "{{ .Values.injector.certs.secretName }}" +{{- end }} + {{- include "imagePullSecrets" . | nindent 6 }} +{{ end }} diff --git a/charts/partners/hashicorp/vault/0.31.0/src/templates/injector-disruptionbudget.yaml b/charts/partners/hashicorp/vault/0.31.0/src/templates/injector-disruptionbudget.yaml new file mode 100644 index 000000000..2b2a61c6f --- /dev/null +++ b/charts/partners/hashicorp/vault/0.31.0/src/templates/injector-disruptionbudget.yaml @@ -0,0 +1,25 @@ +{{/* +Copyright (c) HashiCorp, Inc. +SPDX-License-Identifier: MPL-2.0 +*/}} + +{{- if .Values.injector.podDisruptionBudget }} +apiVersion: policy/v1 +kind: PodDisruptionBudget +metadata: + name: {{ template "vault.fullname" . }}-agent-injector + namespace: {{ include "vault.namespace" . }} + labels: + helm.sh/chart: {{ include "vault.chart" . }} + app.kubernetes.io/name: {{ include "vault.name" . }}-agent-injector + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/managed-by: {{ .Release.Service }} + component: webhook +spec: + selector: + matchLabels: + app.kubernetes.io/name: {{ template "vault.name" . }}-agent-injector + app.kubernetes.io/instance: {{ .Release.Name }} + component: webhook + {{- toYaml .Values.injector.podDisruptionBudget | nindent 2 }} +{{- end -}} diff --git a/charts/partners/hashicorp/vault/0.31.0/src/templates/injector-mutating-webhook.yaml b/charts/partners/hashicorp/vault/0.31.0/src/templates/injector-mutating-webhook.yaml new file mode 100644 index 000000000..d0cafa66f --- /dev/null +++ b/charts/partners/hashicorp/vault/0.31.0/src/templates/injector-mutating-webhook.yaml @@ -0,0 +1,45 @@ +{{/* +Copyright (c) HashiCorp, Inc. +SPDX-License-Identifier: MPL-2.0 +*/}} + +{{- template "vault.injectorEnabled" . -}} +{{- if .injectorEnabled -}} +{{- if .Capabilities.APIVersions.Has "admissionregistration.k8s.io/v1" }} +apiVersion: admissionregistration.k8s.io/v1 +{{- else }} +apiVersion: admissionregistration.k8s.io/v1beta1 +{{- end }} +kind: MutatingWebhookConfiguration +metadata: + name: {{ template "vault.fullname" . }}-agent-injector-cfg + labels: + app.kubernetes.io/name: {{ include "vault.name" . }}-agent-injector + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/managed-by: {{ .Release.Service }} + {{- template "injector.webhookAnnotations" . }} +webhooks: + - name: vault.hashicorp.com + failurePolicy: {{ ((.Values.injector.webhook)).failurePolicy | default .Values.injector.failurePolicy }} + matchPolicy: {{ ((.Values.injector.webhook)).matchPolicy | default "Exact" }} + sideEffects: None + timeoutSeconds: {{ ((.Values.injector.webhook)).timeoutSeconds | default "30" }} + admissionReviewVersions: ["v1", "v1beta1"] + clientConfig: + service: + name: {{ template "vault.fullname" . }}-agent-injector-svc + namespace: {{ include "vault.namespace" . }} + path: "/mutate" + caBundle: {{ .Values.injector.certs.caBundle | quote }} + rules: + - operations: ["CREATE"] + apiGroups: [""] + apiVersions: ["v1"] + resources: ["pods"] + scope: "Namespaced" +{{- if or (.Values.injector.namespaceSelector) (((.Values.injector.webhook)).namespaceSelector) }} + namespaceSelector: +{{ toYaml (((.Values.injector.webhook)).namespaceSelector | default .Values.injector.namespaceSelector) | indent 6}} +{{ end }} +{{- template "injector.objectSelector" . -}} +{{ end }} diff --git a/charts/partners/hashicorp/vault/0.31.0/src/templates/injector-network-policy.yaml b/charts/partners/hashicorp/vault/0.31.0/src/templates/injector-network-policy.yaml new file mode 100644 index 000000000..4c3b08782 --- /dev/null +++ b/charts/partners/hashicorp/vault/0.31.0/src/templates/injector-network-policy.yaml @@ -0,0 +1,29 @@ +{{/* +Copyright (c) HashiCorp, Inc. +SPDX-License-Identifier: MPL-2.0 +*/}} + +{{- template "vault.injectorEnabled" . -}} +{{- if .injectorEnabled -}} +{{- if eq (.Values.global.openshift | toString) "true" }} +apiVersion: networking.k8s.io/v1 +kind: NetworkPolicy +metadata: + name: {{ template "vault.fullname" . }}-agent-injector + labels: + app.kubernetes.io/name: {{ template "vault.name" . }}-agent-injector + app.kubernetes.io/instance: {{ .Release.Name }} +spec: + podSelector: + matchLabels: + app.kubernetes.io/name: {{ template "vault.name" . }}-agent-injector + app.kubernetes.io/instance: {{ .Release.Name }} + component: webhook + ingress: + - from: + - namespaceSelector: {} + ports: + - port: 8080 + protocol: TCP +{{ end }} +{{ end }} diff --git a/charts/partners/hashicorp/vault/0.31.0/src/templates/injector-psp-role.yaml b/charts/partners/hashicorp/vault/0.31.0/src/templates/injector-psp-role.yaml new file mode 100644 index 000000000..a07f8f6c0 --- /dev/null +++ b/charts/partners/hashicorp/vault/0.31.0/src/templates/injector-psp-role.yaml @@ -0,0 +1,25 @@ +{{/* +Copyright (c) HashiCorp, Inc. +SPDX-License-Identifier: MPL-2.0 +*/}} + +{{- template "vault.injectorEnabled" . -}} +{{- if .injectorEnabled -}} +{{- if eq (.Values.global.psp.enable | toString) "true" }} +apiVersion: rbac.authorization.k8s.io/v1 +kind: Role +metadata: + name: {{ template "vault.fullname" . }}-agent-injector-psp + namespace: {{ include "vault.namespace" . }} + labels: + app.kubernetes.io/name: {{ include "vault.name" . }} + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/managed-by: {{ .Release.Service }} +rules: +- apiGroups: ['policy'] + resources: ['podsecuritypolicies'] + verbs: ['use'] + resourceNames: + - {{ template "vault.fullname" . }}-agent-injector +{{- end }} +{{- end }} diff --git a/charts/partners/hashicorp/vault/0.31.0/src/templates/injector-psp-rolebinding.yaml b/charts/partners/hashicorp/vault/0.31.0/src/templates/injector-psp-rolebinding.yaml new file mode 100644 index 000000000..3c97e8dad --- /dev/null +++ b/charts/partners/hashicorp/vault/0.31.0/src/templates/injector-psp-rolebinding.yaml @@ -0,0 +1,26 @@ +{{/* +Copyright (c) HashiCorp, Inc. +SPDX-License-Identifier: MPL-2.0 +*/}} + +{{- template "vault.injectorEnabled" . -}} +{{- if .injectorEnabled -}} +{{- if eq (.Values.global.psp.enable | toString) "true" }} +apiVersion: rbac.authorization.k8s.io/v1 +kind: RoleBinding +metadata: + name: {{ template "vault.fullname" . }}-agent-injector-psp + namespace: {{ include "vault.namespace" . }} + labels: + app.kubernetes.io/name: {{ include "vault.name" . }} + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/managed-by: {{ .Release.Service }} +roleRef: + kind: Role + name: {{ template "vault.fullname" . }}-agent-injector-psp + apiGroup: rbac.authorization.k8s.io +subjects: + - kind: ServiceAccount + name: {{ template "vault.fullname" . }}-agent-injector +{{- end }} +{{- end }} \ No newline at end of file diff --git a/charts/partners/hashicorp/vault/0.31.0/src/templates/injector-psp.yaml b/charts/partners/hashicorp/vault/0.31.0/src/templates/injector-psp.yaml new file mode 100644 index 000000000..0eca9a87c --- /dev/null +++ b/charts/partners/hashicorp/vault/0.31.0/src/templates/injector-psp.yaml @@ -0,0 +1,51 @@ +{{/* +Copyright (c) HashiCorp, Inc. +SPDX-License-Identifier: MPL-2.0 +*/}} + +{{- template "vault.injectorEnabled" . -}} +{{- if .injectorEnabled -}} +{{- if eq (.Values.global.psp.enable | toString) "true" }} +apiVersion: policy/v1beta1 +kind: PodSecurityPolicy +metadata: + name: {{ template "vault.fullname" . }}-agent-injector + labels: + app.kubernetes.io/name: {{ include "vault.name" . }} + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/managed-by: {{ .Release.Service }} +{{- template "vault.psp.annotations" . }} +spec: + privileged: false + # Required to prevent escalations to root. + allowPrivilegeEscalation: false + volumes: + - configMap + - emptyDir + - projected + - secret + - downwardAPI + hostNetwork: false + hostIPC: false + hostPID: false + runAsUser: + # Require the container to run without root privileges. + rule: MustRunAsNonRoot + seLinux: + # This policy assumes the nodes are using AppArmor rather than SELinux. + rule: RunAsAny + supplementalGroups: + rule: MustRunAs + ranges: + # Forbid adding the root group. + - min: 1 + max: 65535 + fsGroup: + rule: MustRunAs + ranges: + # Forbid adding the root group. + - min: 1 + max: 65535 + readOnlyRootFilesystem: false +{{- end }} +{{- end }} \ No newline at end of file diff --git a/charts/partners/hashicorp/vault/0.31.0/src/templates/injector-role.yaml b/charts/partners/hashicorp/vault/0.31.0/src/templates/injector-role.yaml new file mode 100644 index 000000000..167f3a3bf --- /dev/null +++ b/charts/partners/hashicorp/vault/0.31.0/src/templates/injector-role.yaml @@ -0,0 +1,38 @@ +{{/* +Copyright (c) HashiCorp, Inc. +SPDX-License-Identifier: MPL-2.0 +*/}} + +{{- template "vault.injectorEnabled" . -}} +{{- if .injectorEnabled -}} +{{- if and (eq (.Values.injector.leaderElector.enabled | toString) "true") (gt (.Values.injector.replicas | int) 1) }} +apiVersion: rbac.authorization.k8s.io/v1 +kind: Role +metadata: + name: {{ template "vault.fullname" . }}-agent-injector-leader-elector-role + namespace: {{ include "vault.namespace" . }} + labels: + app.kubernetes.io/name: {{ include "vault.name" . }}-agent-injector + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/managed-by: {{ .Release.Service }} +rules: + - apiGroups: [""] + resources: ["secrets", "configmaps"] + verbs: + - "create" + - "get" + - "watch" + - "list" + - "update" + - apiGroups: [""] + resources: ["configmaps"] + verbs: + - "delete" + - apiGroups: [""] + resources: ["pods"] + verbs: + - "get" + - "patch" + - "delete" +{{- end }} +{{- end }} diff --git a/charts/partners/hashicorp/vault/0.31.0/src/templates/injector-rolebinding.yaml b/charts/partners/hashicorp/vault/0.31.0/src/templates/injector-rolebinding.yaml new file mode 100644 index 000000000..6ad25ca69 --- /dev/null +++ b/charts/partners/hashicorp/vault/0.31.0/src/templates/injector-rolebinding.yaml @@ -0,0 +1,27 @@ +{{/* +Copyright (c) HashiCorp, Inc. +SPDX-License-Identifier: MPL-2.0 +*/}} + +{{- template "vault.injectorEnabled" . -}} +{{- if .injectorEnabled -}} +{{- if and (eq (.Values.injector.leaderElector.enabled | toString) "true") (gt (.Values.injector.replicas | int) 1) }} +apiVersion: rbac.authorization.k8s.io/v1 +kind: RoleBinding +metadata: + name: {{ template "vault.fullname" . }}-agent-injector-leader-elector-binding + namespace: {{ include "vault.namespace" . }} + labels: + app.kubernetes.io/name: {{ include "vault.name" . }}-agent-injector + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/managed-by: {{ .Release.Service }} +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: Role + name: {{ template "vault.fullname" . }}-agent-injector-leader-elector-role +subjects: + - kind: ServiceAccount + name: {{ template "vault.fullname" . }}-agent-injector + namespace: {{ include "vault.namespace" . }} +{{- end }} +{{- end }} \ No newline at end of file diff --git a/charts/partners/hashicorp/vault/0.31.0/src/templates/injector-service.yaml b/charts/partners/hashicorp/vault/0.31.0/src/templates/injector-service.yaml new file mode 100644 index 000000000..1479cd1ab --- /dev/null +++ b/charts/partners/hashicorp/vault/0.31.0/src/templates/injector-service.yaml @@ -0,0 +1,27 @@ +{{/* +Copyright (c) HashiCorp, Inc. +SPDX-License-Identifier: MPL-2.0 +*/}} + +{{- template "vault.injectorEnabled" . -}} +{{- if .injectorEnabled -}} +apiVersion: v1 +kind: Service +metadata: + name: {{ template "vault.fullname" . }}-agent-injector-svc + namespace: {{ include "vault.namespace" . }} + labels: + app.kubernetes.io/name: {{ include "vault.name" . }}-agent-injector + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/managed-by: {{ .Release.Service }} + {{ template "injector.service.annotations" . }} +spec: + ports: + - name: https + port: 443 + targetPort: {{ .Values.injector.port }} + selector: + app.kubernetes.io/name: {{ include "vault.name" . }}-agent-injector + app.kubernetes.io/instance: {{ .Release.Name }} + component: webhook +{{- end }} diff --git a/charts/partners/hashicorp/vault/0.31.0/src/templates/injector-serviceaccount.yaml b/charts/partners/hashicorp/vault/0.31.0/src/templates/injector-serviceaccount.yaml new file mode 100644 index 000000000..2f91c3d4a --- /dev/null +++ b/charts/partners/hashicorp/vault/0.31.0/src/templates/injector-serviceaccount.yaml @@ -0,0 +1,18 @@ +{{/* +Copyright (c) HashiCorp, Inc. +SPDX-License-Identifier: MPL-2.0 +*/}} + +{{- template "vault.injectorEnabled" . -}} +{{- if .injectorEnabled -}} +apiVersion: v1 +kind: ServiceAccount +metadata: + name: {{ template "vault.fullname" . }}-agent-injector + namespace: {{ include "vault.namespace" . }} + labels: + app.kubernetes.io/name: {{ include "vault.name" . }}-agent-injector + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/managed-by: {{ .Release.Service }} + {{ template "injector.serviceAccount.annotations" . }} +{{ end }} diff --git a/charts/partners/hashicorp/vault/0.31.0/src/templates/prometheus-prometheusrules.yaml b/charts/partners/hashicorp/vault/0.31.0/src/templates/prometheus-prometheusrules.yaml new file mode 100644 index 000000000..7e58a0e52 --- /dev/null +++ b/charts/partners/hashicorp/vault/0.31.0/src/templates/prometheus-prometheusrules.yaml @@ -0,0 +1,31 @@ +{{/* +Copyright (c) HashiCorp, Inc. +SPDX-License-Identifier: MPL-2.0 +*/}} + +{{ if and (.Values.serverTelemetry.prometheusRules.rules) + (or (.Values.global.serverTelemetry.prometheusOperator) (.Values.serverTelemetry.prometheusRules.enabled) ) +}} +--- +apiVersion: monitoring.coreos.com/v1 +kind: PrometheusRule +metadata: + name: {{ template "vault.fullname" . }} + labels: + helm.sh/chart: {{ include "vault.chart" . }} + app.kubernetes.io/name: {{ include "vault.name" . }} + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/managed-by: {{ .Release.Service }} + {{- /* update the selectors docs in values.yaml whenever the defaults below change. */ -}} + {{- $selectors := .Values.serverTelemetry.prometheusRules.selectors }} + {{- if $selectors }} + {{- toYaml $selectors | nindent 4 }} + {{- else }} + release: prometheus + {{- end }} +spec: + groups: + - name: {{ include "vault.fullname" . }} + rules: + {{- toYaml .Values.serverTelemetry.prometheusRules.rules | nindent 6 }} +{{- end }} diff --git a/charts/partners/hashicorp/vault/0.31.0/src/templates/prometheus-servicemonitor.yaml b/charts/partners/hashicorp/vault/0.31.0/src/templates/prometheus-servicemonitor.yaml new file mode 100644 index 000000000..6d2626be2 --- /dev/null +++ b/charts/partners/hashicorp/vault/0.31.0/src/templates/prometheus-servicemonitor.yaml @@ -0,0 +1,62 @@ +{{/* +Copyright (c) HashiCorp, Inc. +SPDX-License-Identifier: MPL-2.0 +*/}} + +{{ template "vault.mode" . }} +{{ if or (.Values.global.serverTelemetry.prometheusOperator) (.Values.serverTelemetry.serviceMonitor.enabled) }} +--- +apiVersion: monitoring.coreos.com/v1 +kind: ServiceMonitor +metadata: + name: {{ template "vault.fullname" . }} + labels: + helm.sh/chart: {{ include "vault.chart" . }} + app.kubernetes.io/name: {{ include "vault.name" . }} + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/managed-by: {{ .Release.Service }} + {{- /* update the selectors docs in values.yaml whenever the defaults below change. */ -}} + {{- $selectors := .Values.serverTelemetry.serviceMonitor.selectors }} + {{- if $selectors }} + {{- toYaml $selectors | nindent 4 }} + {{- else }} + release: prometheus + {{- end }} +spec: + selector: + matchLabels: + app.kubernetes.io/name: {{ template "vault.name" . }} + app.kubernetes.io/instance: {{ .Release.Name }} + {{- if eq .mode "ha" }} + vault-active: "true" + {{- else }} + vault-internal: "true" + {{- end }} + endpoints: + - port: {{ include "vault.scheme" . }} + interval: {{ .Values.serverTelemetry.serviceMonitor.interval }} + scrapeTimeout: {{ .Values.serverTelemetry.serviceMonitor.scrapeTimeout }} + scheme: {{ include "vault.scheme" . | lower }} + path: /v1/sys/metrics + params: + format: + - prometheus + {{- with .Values.serverTelemetry.serviceMonitor.tlsConfig }} + tlsConfig: + {{- toYaml . | nindent 6 }} + {{- else }} + tlsConfig: + insecureSkipVerify: true + {{- end }} + {{- with .Values.serverTelemetry.serviceMonitor.authorization }} + authorization: + {{- toYaml . | nindent 6 }} + {{- end }} + {{- with .Values.serverTelemetry.serviceMonitor.metricRelabelings }} + metricRelabelings: + {{- toYaml . | nindent 6 }} + {{- end }} + namespaceSelector: + matchNames: + - {{ include "vault.namespace" . }} +{{ end }} diff --git a/charts/partners/hashicorp/vault/0.31.0/src/templates/server-clusterrolebinding.yaml b/charts/partners/hashicorp/vault/0.31.0/src/templates/server-clusterrolebinding.yaml new file mode 100644 index 000000000..14ec838a0 --- /dev/null +++ b/charts/partners/hashicorp/vault/0.31.0/src/templates/server-clusterrolebinding.yaml @@ -0,0 +1,29 @@ +{{/* +Copyright (c) HashiCorp, Inc. +SPDX-License-Identifier: MPL-2.0 +*/}} + +{{ template "vault.serverAuthDelegator" . }} +{{- if .serverAuthDelegator -}} +{{- if .Capabilities.APIVersions.Has "rbac.authorization.k8s.io/v1" -}} +apiVersion: rbac.authorization.k8s.io/v1 +{{- else }} +apiVersion: rbac.authorization.k8s.io/v1beta1 +{{- end }} +kind: ClusterRoleBinding +metadata: + name: {{ template "vault.fullname" . }}-server-binding + labels: + helm.sh/chart: {{ include "vault.chart" . }} + app.kubernetes.io/name: {{ include "vault.name" . }} + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/managed-by: {{ .Release.Service }} +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: system:auth-delegator +subjects: +- kind: ServiceAccount + name: {{ template "vault.serviceAccount.name" . }} + namespace: {{ include "vault.namespace" . }} +{{ end }} \ No newline at end of file diff --git a/charts/partners/hashicorp/vault/0.31.0/src/templates/server-config-configmap.yaml b/charts/partners/hashicorp/vault/0.31.0/src/templates/server-config-configmap.yaml new file mode 100644 index 000000000..1fed2e690 --- /dev/null +++ b/charts/partners/hashicorp/vault/0.31.0/src/templates/server-config-configmap.yaml @@ -0,0 +1,31 @@ +{{/* +Copyright (c) HashiCorp, Inc. +SPDX-License-Identifier: MPL-2.0 +*/}} + +{{ template "vault.mode" . }} +{{- if ne .mode "external" }} +{{- if .serverEnabled -}} +{{- if ne .mode "dev" -}} +{{ if or (.Values.server.standalone.config) (.Values.server.ha.config) -}} +apiVersion: v1 +kind: ConfigMap +metadata: + name: {{ template "vault.fullname" . }}-config + namespace: {{ include "vault.namespace" . }} + labels: + helm.sh/chart: {{ include "vault.chart" . }} + app.kubernetes.io/name: {{ include "vault.name" . }} + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/managed-by: {{ .Release.Service }} +{{- if .Values.server.includeConfigAnnotation }} + annotations: + vault.hashicorp.com/config-checksum: {{ include "vault.config" . | sha256sum }} +{{- end }} +data: + extraconfig-from-values.hcl: |- + {{ template "vault.config" . }} +{{- end }} +{{- end }} +{{- end }} +{{- end }} diff --git a/charts/partners/hashicorp/vault/0.31.0/src/templates/server-discovery-role.yaml b/charts/partners/hashicorp/vault/0.31.0/src/templates/server-discovery-role.yaml new file mode 100644 index 000000000..0cbdefaff --- /dev/null +++ b/charts/partners/hashicorp/vault/0.31.0/src/templates/server-discovery-role.yaml @@ -0,0 +1,26 @@ +{{/* +Copyright (c) HashiCorp, Inc. +SPDX-License-Identifier: MPL-2.0 +*/}} + +{{ template "vault.mode" . }} +{{- if .serverEnabled -}} +{{- if eq .mode "ha" }} +{{- if eq (.Values.server.serviceAccount.serviceDiscovery.enabled | toString) "true" }} +apiVersion: rbac.authorization.k8s.io/v1 +kind: Role +metadata: + namespace: {{ include "vault.namespace" . }} + name: {{ template "vault.fullname" . }}-discovery-role + labels: + helm.sh/chart: {{ include "vault.chart" . }} + app.kubernetes.io/name: {{ include "vault.name" . }} + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/managed-by: {{ .Release.Service }} +rules: +- apiGroups: [""] + resources: ["pods"] + verbs: ["get", "watch", "list", "update", "patch"] +{{ end }} +{{ end }} +{{ end }} diff --git a/charts/partners/hashicorp/vault/0.31.0/src/templates/server-discovery-rolebinding.yaml b/charts/partners/hashicorp/vault/0.31.0/src/templates/server-discovery-rolebinding.yaml new file mode 100644 index 000000000..87b0f6170 --- /dev/null +++ b/charts/partners/hashicorp/vault/0.31.0/src/templates/server-discovery-rolebinding.yaml @@ -0,0 +1,34 @@ +{{/* +Copyright (c) HashiCorp, Inc. +SPDX-License-Identifier: MPL-2.0 +*/}} + +{{ template "vault.mode" . }} +{{- if .serverEnabled -}} +{{- if eq .mode "ha" }} +{{- if eq (.Values.server.serviceAccount.serviceDiscovery.enabled | toString) "true" }} +{{- if .Capabilities.APIVersions.Has "rbac.authorization.k8s.io/v1" -}} +apiVersion: rbac.authorization.k8s.io/v1 +{{- else }} +apiVersion: rbac.authorization.k8s.io/v1beta1 +{{- end }} +kind: RoleBinding +metadata: + name: {{ template "vault.fullname" . }}-discovery-rolebinding + namespace: {{ include "vault.namespace" . }} + labels: + helm.sh/chart: {{ include "vault.chart" . }} + app.kubernetes.io/name: {{ include "vault.name" . }} + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/managed-by: {{ .Release.Service }} +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: Role + name: {{ template "vault.fullname" . }}-discovery-role +subjects: +- kind: ServiceAccount + name: {{ template "vault.serviceAccount.name" . }} + namespace: {{ include "vault.namespace" . }} +{{ end }} +{{ end }} +{{ end }} diff --git a/charts/partners/hashicorp/vault/0.31.0/src/templates/server-disruptionbudget.yaml b/charts/partners/hashicorp/vault/0.31.0/src/templates/server-disruptionbudget.yaml new file mode 100644 index 000000000..bbe9eb299 --- /dev/null +++ b/charts/partners/hashicorp/vault/0.31.0/src/templates/server-disruptionbudget.yaml @@ -0,0 +1,31 @@ +{{/* +Copyright (c) HashiCorp, Inc. +SPDX-License-Identifier: MPL-2.0 +*/}} + +{{ template "vault.mode" . }} +{{- if ne .mode "external" -}} +{{- if .serverEnabled -}} +{{- if and (eq .mode "ha") (eq (.Values.server.ha.disruptionBudget.enabled | toString) "true") -}} +# PodDisruptionBudget to prevent degrading the server cluster through +# voluntary cluster changes. +apiVersion: policy/v1 +kind: PodDisruptionBudget +metadata: + name: {{ template "vault.fullname" . }} + namespace: {{ include "vault.namespace" . }} + labels: + helm.sh/chart: {{ include "vault.chart" . }} + app.kubernetes.io/name: {{ include "vault.name" . }} + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/managed-by: {{ .Release.Service }} +spec: + maxUnavailable: {{ template "vault.pdb.maxUnavailable" . }} + selector: + matchLabels: + app.kubernetes.io/name: {{ include "vault.name" . }} + app.kubernetes.io/instance: {{ .Release.Name }} + component: server +{{- end -}} +{{- end -}} +{{- end -}} diff --git a/charts/partners/hashicorp/vault/0.31.0/src/templates/server-ha-active-service.yaml b/charts/partners/hashicorp/vault/0.31.0/src/templates/server-ha-active-service.yaml new file mode 100644 index 000000000..36ea529fe --- /dev/null +++ b/charts/partners/hashicorp/vault/0.31.0/src/templates/server-ha-active-service.yaml @@ -0,0 +1,64 @@ +{{/* +Copyright (c) HashiCorp, Inc. +SPDX-License-Identifier: MPL-2.0 +*/}} + +{{ template "vault.mode" . }} +{{- if ne .mode "external" }} +{{- template "vault.serverServiceEnabled" . -}} +{{- if .serverServiceEnabled -}} +{{- if eq .mode "ha" }} +{{- if eq (.Values.server.service.active.enabled | toString) "true" }} +# Service for active Vault pod +apiVersion: v1 +kind: Service +metadata: + name: {{ template "vault.fullname" . }}-active + namespace: {{ include "vault.namespace" . }} + labels: + helm.sh/chart: {{ include "vault.chart" . }} + app.kubernetes.io/name: {{ include "vault.name" . }} + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/managed-by: {{ .Release.Service }} + vault-active: "true" + annotations: +{{- template "vault.service.annotations" . }} +{{- template "vault.service.active.annotations" . }} +spec: + {{- if .Values.server.service.type}} + type: {{ .Values.server.service.type }} + {{- end}} + {{- if (semverCompare ">= 1.23-0" .Capabilities.KubeVersion.Version) }} + {{- if .Values.server.service.ipFamilyPolicy }} + ipFamilyPolicy: {{ .Values.server.service.ipFamilyPolicy }} + {{- end }} + {{- if .Values.server.service.ipFamilies }} + ipFamilies: {{ .Values.server.service.ipFamilies | toYaml | nindent 2 }} + {{- end }} + {{- end }} + {{- if .Values.server.service.clusterIP }} + clusterIP: {{ .Values.server.service.clusterIP }} + {{- end }} + {{- include "service.externalTrafficPolicy" .Values.server.service }} + publishNotReadyAddresses: {{ .Values.server.service.publishNotReadyAddresses }} + ports: + - name: {{ include "vault.scheme" . }} + port: {{ .Values.server.service.port }} + targetPort: {{ .Values.server.service.targetPort }} + {{- if and (.Values.server.service.activeNodePort) (eq (.Values.server.service.type | toString) "NodePort") }} + nodePort: {{ .Values.server.service.activeNodePort }} + {{- end }} + - name: https-internal + port: 8201 + targetPort: 8201 + selector: + app.kubernetes.io/name: {{ include "vault.name" . }} + {{- if eq (.Values.server.service.instanceSelector.enabled | toString) "true" }} + app.kubernetes.io/instance: {{ .Release.Name }} + {{- end }} + component: server + vault-active: "true" +{{- end }} +{{- end }} +{{- end }} +{{- end }} diff --git a/charts/partners/hashicorp/vault/0.31.0/src/templates/server-ha-standby-service.yaml b/charts/partners/hashicorp/vault/0.31.0/src/templates/server-ha-standby-service.yaml new file mode 100644 index 000000000..9ee8767a1 --- /dev/null +++ b/charts/partners/hashicorp/vault/0.31.0/src/templates/server-ha-standby-service.yaml @@ -0,0 +1,63 @@ +{{/* +Copyright (c) HashiCorp, Inc. +SPDX-License-Identifier: MPL-2.0 +*/}} + +{{ template "vault.mode" . }} +{{- if ne .mode "external" }} +{{- template "vault.serverServiceEnabled" . -}} +{{- if .serverServiceEnabled -}} +{{- if eq .mode "ha" }} +{{- if eq (.Values.server.service.standby.enabled | toString) "true" }} +# Service for standby Vault pod +apiVersion: v1 +kind: Service +metadata: + name: {{ template "vault.fullname" . }}-standby + namespace: {{ include "vault.namespace" . }} + labels: + helm.sh/chart: {{ include "vault.chart" . }} + app.kubernetes.io/name: {{ include "vault.name" . }} + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/managed-by: {{ .Release.Service }} + annotations: +{{- template "vault.service.annotations" . }} +{{- template "vault.service.standby.annotations" . }} +spec: + {{- if .Values.server.service.type}} + type: {{ .Values.server.service.type }} + {{- end}} + {{- if (semverCompare ">= 1.23-0" .Capabilities.KubeVersion.Version) }} + {{- if .Values.server.service.ipFamilyPolicy }} + ipFamilyPolicy: {{ .Values.server.service.ipFamilyPolicy }} + {{- end }} + {{- if .Values.server.service.ipFamilies }} + ipFamilies: {{ .Values.server.service.ipFamilies | toYaml | nindent 2 }} + {{- end }} + {{- end }} + {{- if .Values.server.service.clusterIP }} + clusterIP: {{ .Values.server.service.clusterIP }} + {{- end }} + {{- include "service.externalTrafficPolicy" .Values.server.service }} + publishNotReadyAddresses: {{ .Values.server.service.publishNotReadyAddresses }} + ports: + - name: {{ include "vault.scheme" . }} + port: {{ .Values.server.service.port }} + targetPort: {{ .Values.server.service.targetPort }} + {{- if and (.Values.server.service.standbyNodePort) (eq (.Values.server.service.type | toString) "NodePort") }} + nodePort: {{ .Values.server.service.standbyNodePort }} + {{- end }} + - name: https-internal + port: 8201 + targetPort: 8201 + selector: + app.kubernetes.io/name: {{ include "vault.name" . }} + {{- if eq (.Values.server.service.instanceSelector.enabled | toString) "true" }} + app.kubernetes.io/instance: {{ .Release.Name }} + {{- end }} + component: server + vault-active: "false" +{{- end }} +{{- end }} +{{- end }} +{{- end }} diff --git a/charts/partners/hashicorp/vault/0.31.0/src/templates/server-headless-service.yaml b/charts/partners/hashicorp/vault/0.31.0/src/templates/server-headless-service.yaml new file mode 100644 index 000000000..c0f4d3460 --- /dev/null +++ b/charts/partners/hashicorp/vault/0.31.0/src/templates/server-headless-service.yaml @@ -0,0 +1,47 @@ +{{/* +Copyright (c) HashiCorp, Inc. +SPDX-License-Identifier: MPL-2.0 +*/}} + +{{ template "vault.mode" . }} +{{- if ne .mode "external" }} +{{- template "vault.serverServiceEnabled" . -}} +{{- if .serverServiceEnabled -}} +# Service for Vault cluster +apiVersion: v1 +kind: Service +metadata: + name: {{ template "vault.fullname" . }}-internal + namespace: {{ include "vault.namespace" . }} + labels: + helm.sh/chart: {{ include "vault.chart" . }} + app.kubernetes.io/name: {{ include "vault.name" . }} + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/managed-by: {{ .Release.Service }} + vault-internal: "true" + annotations: +{{ template "vault.service.annotations" .}} +spec: + {{- if (semverCompare ">= 1.23-0" .Capabilities.KubeVersion.Version) }} + {{- if .Values.server.service.ipFamilyPolicy }} + ipFamilyPolicy: {{ .Values.server.service.ipFamilyPolicy }} + {{- end }} + {{- if .Values.server.service.ipFamilies }} + ipFamilies: {{ .Values.server.service.ipFamilies | toYaml | nindent 2 }} + {{- end }} + {{- end }} + clusterIP: None + publishNotReadyAddresses: true + ports: + - name: "{{ include "vault.scheme" . }}" + port: {{ .Values.server.service.port }} + targetPort: {{ .Values.server.service.targetPort }} + - name: https-internal + port: 8201 + targetPort: 8201 + selector: + app.kubernetes.io/name: {{ include "vault.name" . }} + app.kubernetes.io/instance: {{ .Release.Name }} + component: server +{{- end }} +{{- end }} diff --git a/charts/partners/hashicorp/vault/0.31.0/src/templates/server-ingress.yaml b/charts/partners/hashicorp/vault/0.31.0/src/templates/server-ingress.yaml new file mode 100644 index 000000000..d796bae41 --- /dev/null +++ b/charts/partners/hashicorp/vault/0.31.0/src/templates/server-ingress.yaml @@ -0,0 +1,69 @@ +{{/* +Copyright (c) HashiCorp, Inc. +SPDX-License-Identifier: MPL-2.0 +*/}} + +{{- if not .Values.global.openshift }} +{{ template "vault.mode" . }} +{{- if ne .mode "external" }} +{{- if .Values.server.ingress.enabled -}} +{{- $extraPaths := .Values.server.ingress.extraPaths -}} +{{- $serviceName := include "vault.fullname" . -}} +{{- template "vault.serverServiceEnabled" . -}} +{{- if .serverServiceEnabled -}} +{{- if and (eq .mode "ha" ) (eq (.Values.server.ingress.activeService | toString) "true") }} +{{- $serviceName = printf "%s-%s" $serviceName "active" -}} +{{- end }} +{{- $servicePort := .Values.server.service.port -}} +{{- $pathType := .Values.server.ingress.pathType -}} +{{- $kubeVersion := .Capabilities.KubeVersion.Version }} +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: {{ template "vault.fullname" . }} + namespace: {{ include "vault.namespace" . }} + labels: + helm.sh/chart: {{ include "vault.chart" . }} + app.kubernetes.io/name: {{ include "vault.name" . }} + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/managed-by: {{ .Release.Service }} + {{- with .Values.server.ingress.labels }} + {{- toYaml . | nindent 4 }} + {{- end }} + {{- template "vault.ingress.annotations" . }} +spec: +{{- if .Values.server.ingress.tls }} + tls: + {{- range .Values.server.ingress.tls }} + - hosts: + {{- range .hosts }} + - {{ . | quote }} + {{- end }} + secretName: {{ .secretName }} + {{- end }} +{{- end }} +{{- if .Values.server.ingress.ingressClassName }} + ingressClassName: {{ .Values.server.ingress.ingressClassName }} +{{- end }} + rules: + {{- range .Values.server.ingress.hosts }} + - host: {{ .host | quote }} + http: + paths: +{{ if $extraPaths }} +{{ toYaml $extraPaths | indent 10 }} +{{- end }} + {{- range (.paths | default (list "/")) }} + - path: {{ . }} + pathType: {{ $pathType }} + backend: + service: + name: {{ $serviceName }} + port: + number: {{ $servicePort }} + {{- end }} + {{- end }} +{{- end }} +{{- end }} +{{- end }} +{{- end }} diff --git a/charts/partners/hashicorp/vault/0.31.0/src/templates/server-network-policy.yaml b/charts/partners/hashicorp/vault/0.31.0/src/templates/server-network-policy.yaml new file mode 100644 index 000000000..43dcdb16f --- /dev/null +++ b/charts/partners/hashicorp/vault/0.31.0/src/templates/server-network-policy.yaml @@ -0,0 +1,24 @@ +{{/* +Copyright (c) HashiCorp, Inc. +SPDX-License-Identifier: MPL-2.0 +*/}} + +{{- if eq (.Values.server.networkPolicy.enabled | toString) "true" }} +apiVersion: networking.k8s.io/v1 +kind: NetworkPolicy +metadata: + name: {{ template "vault.fullname" . }} + labels: + app.kubernetes.io/name: {{ template "vault.name" . }} + app.kubernetes.io/instance: {{ .Release.Name }} +spec: + podSelector: + matchLabels: + app.kubernetes.io/name: {{ template "vault.name" . }} + app.kubernetes.io/instance: {{ .Release.Name }} + ingress: {{- toYaml .Values.server.networkPolicy.ingress | nindent 4 }} + {{- if .Values.server.networkPolicy.egress }} + egress: + {{- toYaml .Values.server.networkPolicy.egress | nindent 4 }} + {{ end }} +{{ end }} diff --git a/charts/partners/hashicorp/vault/0.31.0/src/templates/server-psp-role.yaml b/charts/partners/hashicorp/vault/0.31.0/src/templates/server-psp-role.yaml new file mode 100644 index 000000000..64cd6c507 --- /dev/null +++ b/charts/partners/hashicorp/vault/0.31.0/src/templates/server-psp-role.yaml @@ -0,0 +1,25 @@ +{{/* +Copyright (c) HashiCorp, Inc. +SPDX-License-Identifier: MPL-2.0 +*/}} + +{{ template "vault.mode" . }} +{{- if .serverEnabled -}} +{{- if and (ne .mode "") (eq (.Values.global.psp.enable | toString) "true") }} +apiVersion: rbac.authorization.k8s.io/v1 +kind: Role +metadata: + name: {{ template "vault.fullname" . }}-psp + namespace: {{ include "vault.namespace" . }} + labels: + app.kubernetes.io/name: {{ include "vault.name" . }} + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/managed-by: {{ .Release.Service }} +rules: +- apiGroups: ['policy'] + resources: ['podsecuritypolicies'] + verbs: ['use'] + resourceNames: + - {{ template "vault.fullname" . }} +{{- end }} +{{- end }} diff --git a/charts/partners/hashicorp/vault/0.31.0/src/templates/server-psp-rolebinding.yaml b/charts/partners/hashicorp/vault/0.31.0/src/templates/server-psp-rolebinding.yaml new file mode 100644 index 000000000..342f55379 --- /dev/null +++ b/charts/partners/hashicorp/vault/0.31.0/src/templates/server-psp-rolebinding.yaml @@ -0,0 +1,26 @@ +{{/* +Copyright (c) HashiCorp, Inc. +SPDX-License-Identifier: MPL-2.0 +*/}} + +{{ template "vault.mode" . }} +{{- if .serverEnabled -}} +{{- if and (ne .mode "") (eq (.Values.global.psp.enable | toString) "true") }} +apiVersion: rbac.authorization.k8s.io/v1 +kind: RoleBinding +metadata: + name: {{ template "vault.fullname" . }}-psp + namespace: {{ include "vault.namespace" . }} + labels: + app.kubernetes.io/name: {{ include "vault.name" . }} + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/managed-by: {{ .Release.Service }} +roleRef: + kind: Role + name: {{ template "vault.fullname" . }}-psp + apiGroup: rbac.authorization.k8s.io +subjects: + - kind: ServiceAccount + name: {{ template "vault.fullname" . }} +{{- end }} +{{- end }} diff --git a/charts/partners/hashicorp/vault/0.31.0/src/templates/server-psp.yaml b/charts/partners/hashicorp/vault/0.31.0/src/templates/server-psp.yaml new file mode 100644 index 000000000..567e66245 --- /dev/null +++ b/charts/partners/hashicorp/vault/0.31.0/src/templates/server-psp.yaml @@ -0,0 +1,54 @@ +{{/* +Copyright (c) HashiCorp, Inc. +SPDX-License-Identifier: MPL-2.0 +*/}} + +{{ template "vault.mode" . }} +{{- if .serverEnabled -}} +{{- if and (ne .mode "") (eq (.Values.global.psp.enable | toString) "true") }} +apiVersion: policy/v1beta1 +kind: PodSecurityPolicy +metadata: + name: {{ template "vault.fullname" . }} + labels: + app.kubernetes.io/name: {{ include "vault.name" . }} + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/managed-by: {{ .Release.Service }} +{{- template "vault.psp.annotations" . }} +spec: + privileged: false + # Required to prevent escalations to root. + allowPrivilegeEscalation: false + volumes: + - configMap + - emptyDir + - projected + - secret + - downwardAPI + {{- if eq (.Values.server.dataStorage.enabled | toString) "true" }} + - persistentVolumeClaim + {{- end }} + hostNetwork: false + hostIPC: false + hostPID: false + runAsUser: + # Require the container to run without root privileges. + rule: MustRunAsNonRoot + seLinux: + # This policy assumes the nodes are using AppArmor rather than SELinux. + rule: RunAsAny + supplementalGroups: + rule: MustRunAs + ranges: + # Forbid adding the root group. + - min: 1 + max: 65535 + fsGroup: + rule: MustRunAs + ranges: + # Forbid adding the root group. + - min: 1 + max: 65535 + readOnlyRootFilesystem: false +{{- end }} +{{- end }} diff --git a/charts/partners/hashicorp/vault/0.31.0/src/templates/server-route.yaml b/charts/partners/hashicorp/vault/0.31.0/src/templates/server-route.yaml new file mode 100644 index 000000000..4e955555a --- /dev/null +++ b/charts/partners/hashicorp/vault/0.31.0/src/templates/server-route.yaml @@ -0,0 +1,39 @@ +{{/* +Copyright (c) HashiCorp, Inc. +SPDX-License-Identifier: MPL-2.0 +*/}} + +{{- if .Values.global.openshift }} +{{- if ne .mode "external" }} +{{- if .Values.server.route.enabled -}} +{{- $serviceName := include "vault.fullname" . -}} +{{- if and (eq .mode "ha" ) (eq (.Values.server.route.activeService | toString) "true") }} +{{- $serviceName = printf "%s-%s" $serviceName "active" -}} +{{- end }} +kind: Route +apiVersion: route.openshift.io/v1 +metadata: + name: {{ template "vault.fullname" . }} + namespace: {{ include "vault.namespace" . }} + labels: + helm.sh/chart: {{ include "vault.chart" . }} + app.kubernetes.io/name: {{ include "vault.name" . }} + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/managed-by: {{ .Release.Service }} + {{- with .Values.server.route.labels }} + {{- toYaml . | nindent 4 }} + {{- end }} + {{- template "vault.route.annotations" . }} +spec: + host: {{ .Values.server.route.host }} + to: + kind: Service + name: {{ $serviceName }} + weight: 100 + port: + targetPort: 8200 + tls: + {{- toYaml .Values.server.route.tls | nindent 4 }} +{{- end }} +{{- end }} +{{- end }} diff --git a/charts/partners/hashicorp/vault/0.31.0/src/templates/server-service.yaml b/charts/partners/hashicorp/vault/0.31.0/src/templates/server-service.yaml new file mode 100644 index 000000000..c12e190cb --- /dev/null +++ b/charts/partners/hashicorp/vault/0.31.0/src/templates/server-service.yaml @@ -0,0 +1,59 @@ +{{/* +Copyright (c) HashiCorp, Inc. +SPDX-License-Identifier: MPL-2.0 +*/}} + +{{ template "vault.mode" . }} +{{- if ne .mode "external" }} +{{- template "vault.serverServiceEnabled" . -}} +{{- if .serverServiceEnabled -}} +# Service for Vault cluster +apiVersion: v1 +kind: Service +metadata: + name: {{ template "vault.fullname" . }} + namespace: {{ include "vault.namespace" . }} + labels: + helm.sh/chart: {{ include "vault.chart" . }} + app.kubernetes.io/name: {{ include "vault.name" . }} + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/managed-by: {{ .Release.Service }} + annotations: +{{ template "vault.service.annotations" .}} +spec: + {{- if .Values.server.service.type}} + type: {{ .Values.server.service.type }} + {{- end}} + {{- if (semverCompare ">= 1.23-0" .Capabilities.KubeVersion.Version) }} + {{- if .Values.server.service.ipFamilyPolicy }} + ipFamilyPolicy: {{ .Values.server.service.ipFamilyPolicy }} + {{- end }} + {{- if .Values.server.service.ipFamilies }} + ipFamilies: {{ .Values.server.service.ipFamilies | toYaml | nindent 2 }} + {{- end }} + {{- end }} + {{- if .Values.server.service.clusterIP }} + clusterIP: {{ .Values.server.service.clusterIP }} + {{- end }} + {{- include "service.externalTrafficPolicy" .Values.server.service }} + # We want the servers to become available even if they're not ready + # since this DNS is also used for join operations. + publishNotReadyAddresses: {{ .Values.server.service.publishNotReadyAddresses }} + ports: + - name: {{ include "vault.scheme" . }} + port: {{ .Values.server.service.port }} + targetPort: {{ .Values.server.service.targetPort }} + {{- if and (.Values.server.service.nodePort) (eq (.Values.server.service.type | toString) "NodePort") }} + nodePort: {{ .Values.server.service.nodePort }} + {{- end }} + - name: https-internal + port: 8201 + targetPort: 8201 + selector: + app.kubernetes.io/name: {{ include "vault.name" . }} + {{- if eq (.Values.server.service.instanceSelector.enabled | toString) "true" }} + app.kubernetes.io/instance: {{ .Release.Name }} + {{- end }} + component: server +{{- end }} +{{- end }} diff --git a/charts/partners/hashicorp/vault/0.31.0/src/templates/server-serviceaccount-secret.yaml b/charts/partners/hashicorp/vault/0.31.0/src/templates/server-serviceaccount-secret.yaml new file mode 100644 index 000000000..74d70f900 --- /dev/null +++ b/charts/partners/hashicorp/vault/0.31.0/src/templates/server-serviceaccount-secret.yaml @@ -0,0 +1,21 @@ +{{/* +Copyright (c) HashiCorp, Inc. +SPDX-License-Identifier: MPL-2.0 +*/}} + +{{ template "vault.serverServiceAccountSecretCreationEnabled" . }} +{{- if .serverServiceAccountSecretCreationEnabled -}} +apiVersion: v1 +kind: Secret +metadata: + name: {{ template "vault.serviceAccount.name" . }}-token + namespace: {{ include "vault.namespace" . }} + annotations: + kubernetes.io/service-account.name: {{ template "vault.serviceAccount.name" . }} + labels: + helm.sh/chart: {{ include "vault.chart" . }} + app.kubernetes.io/name: {{ include "vault.name" . }} + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/managed-by: {{ .Release.Service }} +type: kubernetes.io/service-account-token +{{ end }} \ No newline at end of file diff --git a/charts/partners/hashicorp/vault/0.31.0/src/templates/server-serviceaccount.yaml b/charts/partners/hashicorp/vault/0.31.0/src/templates/server-serviceaccount.yaml new file mode 100644 index 000000000..216ea6178 --- /dev/null +++ b/charts/partners/hashicorp/vault/0.31.0/src/templates/server-serviceaccount.yaml @@ -0,0 +1,22 @@ +{{/* +Copyright (c) HashiCorp, Inc. +SPDX-License-Identifier: MPL-2.0 +*/}} + +{{ template "vault.serverServiceAccountEnabled" . }} +{{- if .serverServiceAccountEnabled -}} +apiVersion: v1 +kind: ServiceAccount +metadata: + name: {{ template "vault.serviceAccount.name" . }} + namespace: {{ include "vault.namespace" . }} + labels: + helm.sh/chart: {{ include "vault.chart" . }} + app.kubernetes.io/name: {{ include "vault.name" . }} + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/managed-by: {{ .Release.Service }} + {{- if .Values.server.serviceAccount.extraLabels -}} + {{- toYaml .Values.server.serviceAccount.extraLabels | nindent 4 -}} + {{- end -}} + {{ template "vault.serviceAccount.annotations" . }} +{{ end }} diff --git a/charts/partners/hashicorp/vault/0.31.0/src/templates/server-statefulset.yaml b/charts/partners/hashicorp/vault/0.31.0/src/templates/server-statefulset.yaml new file mode 100644 index 000000000..7e5810c46 --- /dev/null +++ b/charts/partners/hashicorp/vault/0.31.0/src/templates/server-statefulset.yaml @@ -0,0 +1,240 @@ +{{/* +Copyright (c) HashiCorp, Inc. +SPDX-License-Identifier: MPL-2.0 +*/}} + +{{ template "vault.mode" . }} +{{- if ne .mode "external" }} +{{- if ne .mode "" }} +{{- if .serverEnabled -}} +# StatefulSet to run the actual vault server cluster. +apiVersion: apps/v1 +kind: StatefulSet +metadata: + name: {{ template "vault.fullname" . }} + namespace: {{ include "vault.namespace" . }} + labels: + app.kubernetes.io/name: {{ include "vault.name" . }} + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/managed-by: {{ .Release.Service }} + {{- template "vault.statefulSet.annotations" . }} +spec: + serviceName: {{ template "vault.fullname" . }}-internal + podManagementPolicy: Parallel + replicas: {{ template "vault.replicas" . }} + updateStrategy: + type: {{ .Values.server.updateStrategyType }} + {{- if and (semverCompare ">= 1.23-0" .Capabilities.KubeVersion.Version) (.Values.server.persistentVolumeClaimRetentionPolicy) }} + persistentVolumeClaimRetentionPolicy: {{ toYaml .Values.server.persistentVolumeClaimRetentionPolicy | nindent 4 }} + {{- end }} + selector: + matchLabels: + app.kubernetes.io/name: {{ template "vault.name" . }} + app.kubernetes.io/instance: {{ .Release.Name }} + component: server + template: + metadata: + labels: + helm.sh/chart: {{ template "vault.chart" . }} + app.kubernetes.io/name: {{ template "vault.name" . }} + app.kubernetes.io/instance: {{ .Release.Name }} + component: server + {{- if .Values.server.extraLabels -}} + {{- toYaml .Values.server.extraLabels | nindent 8 -}} + {{- end -}} + {{ template "vault.annotations" . }} + spec: + {{ template "vault.affinity" . }} + {{ template "vault.topologySpreadConstraints" . }} + {{ template "vault.tolerations" . }} + {{ template "vault.nodeselector" . }} + {{- if .Values.server.priorityClassName }} + priorityClassName: {{ .Values.server.priorityClassName }} + {{- end }} + terminationGracePeriodSeconds: {{ .Values.server.terminationGracePeriodSeconds }} + serviceAccountName: {{ template "vault.serviceAccount.name" . }} + {{ if .Values.server.shareProcessNamespace }} + shareProcessNamespace: true + {{ end }} + {{- template "server.statefulSet.securityContext.pod" . }} + {{- if not .Values.global.openshift }} + hostNetwork: {{ .Values.server.hostNetwork }} + {{- end }} + volumes: + {{ template "vault.volumes" . }} + - name: home + emptyDir: {} + {{- if .Values.server.hostAliases }} + hostAliases: + {{ toYaml .Values.server.hostAliases | nindent 8}} + {{- end }} + {{- if .Values.server.extraInitContainers }} + initContainers: + {{ toYaml .Values.server.extraInitContainers | nindent 8}} + {{- end }} + containers: + - name: vault + {{ template "vault.resources" . }} + image: {{ .Values.server.image.repository }}:{{ .Values.server.image.tag | default "latest" }} + imagePullPolicy: {{ .Values.server.image.pullPolicy }} + command: + - "/bin/sh" + - "-ec" + args: {{ template "vault.args" . }} + {{- template "server.statefulSet.securityContext.container" . }} + env: + - name: HOST_IP + valueFrom: + fieldRef: + fieldPath: status.hostIP + - name: POD_IP + valueFrom: + fieldRef: + fieldPath: status.podIP + - name: VAULT_K8S_POD_NAME + valueFrom: + fieldRef: + fieldPath: metadata.name + - name: VAULT_K8S_NAMESPACE + valueFrom: + fieldRef: + fieldPath: metadata.namespace + - name: VAULT_ADDR + value: "{{ include "vault.scheme" . }}://127.0.0.1:8200" + - name: VAULT_API_ADDR + {{- if .Values.server.ha.apiAddr }} + value: {{ .Values.server.ha.apiAddr }} + {{- else }} + value: "{{ include "vault.scheme" . }}://$(POD_IP):8200" + {{- end }} + - name: SKIP_CHOWN + value: "true" + - name: SKIP_SETCAP + value: "true" + - name: HOSTNAME + valueFrom: + fieldRef: + fieldPath: metadata.name + - name: VAULT_CLUSTER_ADDR + {{- if .Values.server.ha.clusterAddr }} + value: {{ .Values.server.ha.clusterAddr | quote }} + {{- else }} + value: "https://$(HOSTNAME).{{ template "vault.fullname" . }}-internal:8201" + {{- end }} + {{- if and (eq (.Values.server.ha.raft.enabled | toString) "true") (eq (.Values.server.ha.raft.setNodeId | toString) "true") }} + - name: VAULT_RAFT_NODE_ID + valueFrom: + fieldRef: + fieldPath: metadata.name + {{- end }} + - name: HOME + value: "/home/vault" + {{- if .Values.server.logLevel }} + - name: VAULT_LOG_LEVEL + value: "{{ .Values.server.logLevel }}" + {{- end }} + {{- if .Values.server.logFormat }} + - name: VAULT_LOG_FORMAT + value: "{{ .Values.server.logFormat }}" + {{- end }} + {{- if (and .Values.server.enterpriseLicense.secretName .Values.server.enterpriseLicense.secretKey) }} + - name: VAULT_LICENSE_PATH + value: /vault/license/{{ .Values.server.enterpriseLicense.secretKey }} + {{- end }} + {{ template "vault.envs" . }} + {{- include "vault.extraEnvironmentVars" .Values.server | nindent 12 }} + {{- include "vault.extraSecretEnvironmentVars" .Values.server | nindent 12 }} + volumeMounts: + {{ template "vault.mounts" . }} + - name: home + mountPath: /home/vault + ports: + - containerPort: 8200 + name: {{ include "vault.scheme" . }} + - containerPort: 8201 + name: https-internal + - containerPort: 8202 + name: {{ include "vault.scheme" . }}-rep + {{- if .Values.server.extraPorts -}} + {{ toYaml .Values.server.extraPorts | nindent 12}} + {{- end }} + {{- if .Values.server.readinessProbe.enabled }} + readinessProbe: + {{- if .Values.server.readinessProbe.path }} + httpGet: + path: {{ .Values.server.readinessProbe.path | quote }} + port: {{ .Values.server.readinessProbe.port }} + scheme: {{ include "vault.scheme" . | upper }} + {{- else }} + # Check status; unsealed vault servers return 0 + # The exit code reflects the seal status: + # 0 - unsealed + # 1 - error + # 2 - sealed + exec: + command: ["/bin/sh", "-ec", "vault status -tls-skip-verify"] + {{- end }} + failureThreshold: {{ .Values.server.readinessProbe.failureThreshold }} + initialDelaySeconds: {{ .Values.server.readinessProbe.initialDelaySeconds }} + periodSeconds: {{ .Values.server.readinessProbe.periodSeconds }} + successThreshold: {{ .Values.server.readinessProbe.successThreshold }} + timeoutSeconds: {{ .Values.server.readinessProbe.timeoutSeconds }} + {{- end }} + {{- if .Values.server.livenessProbe.enabled }} + livenessProbe: + {{- if .Values.server.livenessProbe.execCommand }} + exec: + command: + {{- range (.Values.server.livenessProbe.execCommand) }} + - {{ . | quote }} + {{- end }} + {{- else }} + httpGet: + path: {{ .Values.server.livenessProbe.path | quote }} + port: {{ .Values.server.livenessProbe.port }} + scheme: {{ include "vault.scheme" . | upper }} + {{- end }} + failureThreshold: {{ .Values.server.livenessProbe.failureThreshold }} + initialDelaySeconds: {{ .Values.server.livenessProbe.initialDelaySeconds }} + periodSeconds: {{ .Values.server.livenessProbe.periodSeconds }} + successThreshold: {{ .Values.server.livenessProbe.successThreshold }} + timeoutSeconds: {{ .Values.server.livenessProbe.timeoutSeconds }} + {{- end }} + lifecycle: + # Vault container doesn't receive SIGTERM from Kubernetes + # and after the grace period ends, Kube sends SIGKILL. This + # causes issues with graceful shutdowns such as deregistering itself + # from Consul (zombie services). + preStop: + {{- if .Values.server.preStop }} + exec: + command: + {{- range (.Values.server.preStop) }} + - {{ . | quote }} + {{- end }} + {{- else }} + exec: + command: + - "/bin/sh" + - "-c" + # Adding a sleep here to give the pod eviction a + # chance to propagate, so requests will not be made + # to this pod while it's terminating + - "sleep {{ .Values.server.preStopSleepSeconds }} && kill -SIGTERM $(pidof vault)" + {{- end}} + {{- if .Values.server.postStart }} + postStart: + exec: + command: + {{- range (.Values.server.postStart) }} + - {{ . | quote }} + {{- end }} + {{- end }} + {{- if .Values.server.extraContainers }} + {{ toYaml .Values.server.extraContainers | nindent 8}} + {{- end }} + {{- include "imagePullSecrets" . | nindent 6 }} + {{ template "vault.volumeclaims" . }} +{{ end }} +{{ end }} +{{ end }} diff --git a/charts/partners/hashicorp/vault/0.31.0/src/templates/tests/server-test.yaml b/charts/partners/hashicorp/vault/0.31.0/src/templates/tests/server-test.yaml new file mode 100644 index 000000000..065415f3c --- /dev/null +++ b/charts/partners/hashicorp/vault/0.31.0/src/templates/tests/server-test.yaml @@ -0,0 +1,60 @@ +{{/* +Copyright (c) HashiCorp, Inc. +SPDX-License-Identifier: MPL-2.0 +*/}} + +{{ template "vault.mode" . }} +{{- if ne .mode "external" }} +{{- if .serverEnabled -}} +apiVersion: v1 +kind: Pod +metadata: + name: {{ template "vault.fullname" . }}-server-test + namespace: {{ include "vault.namespace" . }} + annotations: + "helm.sh/hook": test + {{- with .Values.server.extraLabels }} + labels: + {{- toYaml . | nindent 4 }} + {{- end }} +spec: + {{- include "imagePullSecrets" . | nindent 2 }} + containers: + - name: {{ .Release.Name }}-server-test + image: {{ .Values.server.image.repository }}:{{ .Values.server.image.tag | default "latest" }} + imagePullPolicy: {{ .Values.server.image.pullPolicy }} + env: + - name: VAULT_ADDR + value: {{ include "vault.scheme" . }}://{{ template "vault.fullname" . }}.{{ include "vault.namespace" . }}.svc:{{ .Values.server.service.port }} + {{- include "vault.extraEnvironmentVars" .Values.server | nindent 8 }} + command: + - /bin/sh + - -c + - | + echo "Checking for sealed info in 'vault status' output" + ATTEMPTS=10 + n=0 + until [ "$n" -ge $ATTEMPTS ] + do + echo "Attempt" $n... + vault status -format yaml | grep -E '^sealed: (true|false)' && break + n=$((n+1)) + sleep 5 + done + if [ $n -ge $ATTEMPTS ]; then + echo "timed out looking for sealed info in 'vault status' output" + exit 1 + fi + + exit 0 + {{- if .Values.server.volumeMounts }} + volumeMounts: + {{- toYaml .Values.server.volumeMounts | nindent 8}} + {{- end }} + {{- if .Values.server.volumes }} + volumes: + {{- toYaml .Values.server.volumes | nindent 4}} + {{- end }} + restartPolicy: Never +{{- end }} +{{- end }} diff --git a/charts/partners/hashicorp/vault/0.31.0/src/templates/ui-service.yaml b/charts/partners/hashicorp/vault/0.31.0/src/templates/ui-service.yaml new file mode 100644 index 000000000..95370842e --- /dev/null +++ b/charts/partners/hashicorp/vault/0.31.0/src/templates/ui-service.yaml @@ -0,0 +1,50 @@ +{{/* +Copyright (c) HashiCorp, Inc. +SPDX-License-Identifier: MPL-2.0 +*/}} + +{{ template "vault.mode" . }} +{{- if ne .mode "external" }} +{{- template "vault.uiEnabled" . -}} +{{- if .uiEnabled -}} + +apiVersion: v1 +kind: Service +metadata: + name: {{ template "vault.fullname" . }}-ui + namespace: {{ include "vault.namespace" . }} + labels: + helm.sh/chart: {{ include "vault.chart" . }} + app.kubernetes.io/name: {{ include "vault.name" . }}-ui + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/managed-by: {{ .Release.Service }} + {{- template "vault.ui.annotations" . }} +spec: + {{- if (semverCompare ">= 1.23-0" .Capabilities.KubeVersion.Version) }} + {{- if .Values.ui.serviceIPFamilyPolicy }} + ipFamilyPolicy: {{ .Values.ui.serviceIPFamilyPolicy }} + {{- end }} + {{- if .Values.ui.serviceIPFamilies }} + ipFamilies: {{ .Values.ui.serviceIPFamilies | toYaml | nindent 2 }} + {{- end }} + {{- end }} + selector: + app.kubernetes.io/name: {{ include "vault.name" . }} + app.kubernetes.io/instance: {{ .Release.Name }} + component: server + {{- if and (.Values.ui.activeVaultPodOnly) (eq .mode "ha") }} + vault-active: "true" + {{- end }} + publishNotReadyAddresses: {{ .Values.ui.publishNotReadyAddresses }} + ports: + - name: {{ include "vault.scheme" . }} + port: {{ .Values.ui.externalPort }} + targetPort: {{ .Values.ui.targetPort }} + {{- if .Values.ui.serviceNodePort }} + nodePort: {{ .Values.ui.serviceNodePort }} + {{- end }} + type: {{ .Values.ui.serviceType }} + {{- include "service.externalTrafficPolicy" .Values.ui }} + {{- include "service.loadBalancer" .Values.ui }} +{{- end -}} +{{- end }} diff --git a/charts/partners/hashicorp/vault/0.31.0/src/values.openshift.yaml b/charts/partners/hashicorp/vault/0.31.0/src/values.openshift.yaml new file mode 100644 index 000000000..bcf71d54f --- /dev/null +++ b/charts/partners/hashicorp/vault/0.31.0/src/values.openshift.yaml @@ -0,0 +1,34 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 + +# These overrides are appropriate defaults for deploying this chart on OpenShift + +global: + openshift: true + +injector: + image: + repository: "registry.connect.redhat.com/hashicorp/vault-k8s" + tag: "1.7.0-ubi" + + agentImage: + repository: "registry.connect.redhat.com/hashicorp/vault" + tag: "1.20.4-ubi" + +server: + image: + repository: "registry.connect.redhat.com/hashicorp/vault" + tag: "1.20.4-ubi" + + readinessProbe: + path: "/v1/sys/health?uninitcode=204" + +csi: + image: + repository: "registry.connect.redhat.com/hashicorp/vault-csi-provider" + tag: "1.6.0-ubi" + + agent: + image: + repository: "registry.connect.redhat.com/hashicorp/vault" + tag: "1.20.4-ubi" diff --git a/charts/partners/hashicorp/vault/0.31.0/src/values.schema.json b/charts/partners/hashicorp/vault/0.31.0/src/values.schema.json new file mode 100644 index 000000000..934116acf --- /dev/null +++ b/charts/partners/hashicorp/vault/0.31.0/src/values.schema.json @@ -0,0 +1,1329 @@ +{ + "$schema": "https://json-schema.org/draft-07/schema#", + "type": "object", + "properties": { + "csi": { + "type": "object", + "properties": { + "agent": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + }, + "extraArgs": { + "type": "array" + }, + "image": { + "type": "object", + "properties": { + "pullPolicy": { + "type": "string" + }, + "repository": { + "type": "string" + }, + "tag": { + "type": "string" + } + } + }, + "logFormat": { + "type": "string" + }, + "logLevel": { + "type": "string" + }, + "resources": { + "type": "object" + }, + "securityContext": { + "type": "object", + "properties": { + "container": { + "type": [ + "object", + "string" + ] + } + } + } + } + }, + "daemonSet": { + "type": "object", + "properties": { + "annotations": { + "type": [ + "object", + "string" + ] + }, + "extraLabels": { + "type": "object" + }, + "kubeletRootDir": { + "type": "string" + }, + "providersDir": { + "type": "string" + }, + "securityContext": { + "type": "object", + "properties": { + "container": { + "type": [ + "object", + "string" + ] + }, + "pod": { + "type": [ + "object", + "string" + ] + } + } + }, + "updateStrategy": { + "type": "object", + "properties": { + "maxUnavailable": { + "type": "string" + }, + "type": { + "type": "string" + } + } + } + } + }, + "debug": { + "type": "boolean" + }, + "enabled": { + "type": [ + "boolean", + "string" + ] + }, + "extraArgs": { + "type": "array" + }, + "hmacSecretName": { + "type": "string" + }, + "hostNetwork": { + "type": "boolean" + }, + "image": { + "type": "object", + "properties": { + "pullPolicy": { + "type": "string" + }, + "repository": { + "type": "string" + }, + "tag": { + "type": "string" + } + } + }, + "livenessProbe": { + "type": "object", + "properties": { + "failureThreshold": { + "type": "integer" + }, + "initialDelaySeconds": { + "type": "integer" + }, + "periodSeconds": { + "type": "integer" + }, + "successThreshold": { + "type": "integer" + }, + "timeoutSeconds": { + "type": "integer" + } + } + }, + "logLevel": { + "type": "string" + }, + "pod": { + "type": "object", + "properties": { + "affinity": { + "type": [ + "null", + "object", + "string" + ] + }, + "annotations": { + "type": [ + "object", + "string" + ] + }, + "extraLabels": { + "type": "object" + }, + "nodeSelector": { + "type": [ + "null", + "object", + "string" + ] + }, + "tolerations": { + "type": [ + "null", + "array", + "string" + ] + } + } + }, + "priorityClassName": { + "type": "string" + }, + "readinessProbe": { + "type": "object", + "properties": { + "failureThreshold": { + "type": "integer" + }, + "initialDelaySeconds": { + "type": "integer" + }, + "periodSeconds": { + "type": "integer" + }, + "successThreshold": { + "type": "integer" + }, + "timeoutSeconds": { + "type": "integer" + } + } + }, + "resources": { + "type": "object" + }, + "serviceAccount": { + "type": "object", + "properties": { + "annotations": { + "type": [ + "object", + "string" + ] + }, + "extraLabels": { + "type": "object" + } + } + }, + "volumeMounts": { + "type": [ + "null", + "array" + ] + }, + "volumes": { + "type": [ + "null", + "array" + ] + } + } + }, + "global": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + }, + "externalVaultAddr": { + "type": "string" + }, + "imagePullSecrets": { + "type": "array" + }, + "namespace": { + "type": "string" + }, + "openshift": { + "type": "boolean" + }, + "psp": { + "type": "object", + "properties": { + "annotations": { + "type": [ + "object", + "string" + ] + }, + "enable": { + "type": "boolean" + } + } + }, + "serverTelemetry": { + "type": "object", + "properties": { + "prometheusOperator": { + "type": "boolean" + } + } + }, + "tlsDisable": { + "type": "boolean" + } + } + }, + "injector": { + "type": "object", + "properties": { + "affinity": { + "type": [ + "object", + "string" + ] + }, + "agentDefaults": { + "type": "object", + "properties": { + "cpuLimit": { + "type": "string" + }, + "cpuRequest": { + "type": "string" + }, + "memLimit": { + "type": "string" + }, + "memRequest": { + "type": "string" + }, + "ephemeralLimit": { + "type": "string" + }, + "ephemeralRequest": { + "type": "string" + }, + "template": { + "type": "string" + }, + "templateConfig": { + "type": "object", + "properties": { + "exitOnRetryFailure": { + "type": "boolean" + }, + "staticSecretRenderInterval": { + "type": "string" + } + } + } + } + }, + "agentImage": { + "type": "object", + "properties": { + "repository": { + "type": "string" + }, + "tag": { + "type": "string" + } + } + }, + "annotations": { + "type": [ + "object", + "string" + ] + }, + "authPath": { + "type": "string" + }, + "certs": { + "type": "object", + "properties": { + "caBundle": { + "type": "string" + }, + "certName": { + "type": "string" + }, + "keyName": { + "type": "string" + }, + "secretName": { + "type": [ + "null", + "string" + ] + } + } + }, + "enabled": { + "type": [ + "boolean", + "string" + ] + }, + "externalVaultAddr": { + "type": "string" + }, + "extraEnvironmentVars": { + "type": "object" + }, + "extraLabels": { + "type": "object" + }, + "failurePolicy": { + "type": "string" + }, + "hostNetwork": { + "type": "boolean" + }, + "image": { + "type": "object", + "properties": { + "pullPolicy": { + "type": "string" + }, + "repository": { + "type": "string" + }, + "tag": { + "type": "string" + } + } + }, + "leaderElector": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + } + } + }, + "livenessProbe": { + "type": "object", + "properties": { + "failureThreshold": { + "type": "integer" + }, + "initialDelaySeconds": { + "type": "integer" + }, + "periodSeconds": { + "type": "integer" + }, + "successThreshold": { + "type": "integer" + }, + "timeoutSeconds": { + "type": "integer" + } + } + }, + "logFormat": { + "type": "string" + }, + "logLevel": { + "type": "string" + }, + "metrics": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + } + } + }, + "namespaceSelector": { + "type": "object" + }, + "nodeSelector": { + "type": [ + "null", + "object", + "string" + ] + }, + "objectSelector": { + "type": [ + "object", + "string" + ] + }, + "podDisruptionBudget": { + "type": "object" + }, + "port": { + "type": "integer" + }, + "priorityClassName": { + "type": "string" + }, + "readinessProbe": { + "type": "object", + "properties": { + "failureThreshold": { + "type": "integer" + }, + "initialDelaySeconds": { + "type": "integer" + }, + "periodSeconds": { + "type": "integer" + }, + "successThreshold": { + "type": "integer" + }, + "timeoutSeconds": { + "type": "integer" + } + } + }, + "replicas": { + "type": "integer" + }, + "resources": { + "type": "object" + }, + "revokeOnShutdown": { + "type": "boolean" + }, + "securityContext": { + "type": "object", + "properties": { + "container": { + "type": [ + "object", + "string" + ] + }, + "pod": { + "type": [ + "object", + "string" + ] + } + } + }, + "service": { + "type": "object", + "properties": { + "annotations": { + "type": [ + "object", + "string" + ] + } + } + }, + "serviceAccount": { + "type": "object", + "properties": { + "annotations": { + "type": [ + "object", + "string" + ] + } + } + }, + "startupProbe": { + "type": "object", + "properties": { + "failureThreshold": { + "type": "integer" + }, + "initialDelaySeconds": { + "type": "integer" + }, + "periodSeconds": { + "type": "integer" + }, + "successThreshold": { + "type": "integer" + }, + "timeoutSeconds": { + "type": "integer" + } + } + }, + "strategy": { + "type": [ + "object", + "string" + ] + }, + "tolerations": { + "type": [ + "null", + "array", + "string" + ] + }, + "topologySpreadConstraints": { + "type": [ + "null", + "array", + "string" + ] + }, + "webhook": { + "type": "object", + "properties": { + "annotations": { + "type": [ + "object", + "string" + ] + }, + "failurePolicy": { + "type": "string" + }, + "matchPolicy": { + "type": "string" + }, + "namespaceSelector": { + "type": "object" + }, + "objectSelector": { + "type": [ + "object", + "string" + ] + }, + "timeoutSeconds": { + "type": "integer" + } + } + }, + "webhookAnnotations": { + "type": [ + "object", + "string" + ] + } + } + }, + "server": { + "type": "object", + "properties": { + "affinity": { + "type": [ + "object", + "string" + ] + }, + "annotations": { + "type": [ + "object", + "string" + ] + }, + "auditStorage": { + "type": "object", + "properties": { + "accessMode": { + "type": "string" + }, + "annotations": { + "type": [ + "object", + "string" + ] + }, + "enabled": { + "type": [ + "boolean", + "string" + ] + }, + "labels": { + "type": [ + "object", + "string" + ] + }, + "mountPath": { + "type": "string" + }, + "size": { + "type": "string" + }, + "storageClass": { + "type": [ + "null", + "string" + ] + } + } + }, + "authDelegator": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + } + } + }, + "dataStorage": { + "type": "object", + "properties": { + "accessMode": { + "type": "string" + }, + "annotations": { + "type": [ + "object", + "string" + ] + }, + "enabled": { + "type": [ + "boolean", + "string" + ] + }, + "labels": { + "type": [ + "object", + "string" + ] + }, + "mountPath": { + "type": "string" + }, + "size": { + "type": "string" + }, + "storageClass": { + "type": [ + "null", + "string" + ] + } + } + }, + "dev": { + "type": "object", + "properties": { + "devRootToken": { + "type": "string" + }, + "enabled": { + "type": "boolean" + } + } + }, + "enabled": { + "type": [ + "boolean", + "string" + ] + }, + "enterpriseLicense": { + "type": "object", + "properties": { + "secretKey": { + "type": "string" + }, + "secretName": { + "type": "string" + } + } + }, + "extraArgs": { + "type": "string" + }, + "extraContainers": { + "type": [ + "null", + "array" + ] + }, + "extraEnvironmentVars": { + "type": "object" + }, + "extraInitContainers": { + "type": [ + "null", + "array" + ] + }, + "extraLabels": { + "type": "object" + }, + "extraPorts": { + "type": [ + "null", + "array" + ] + }, + "extraSecretEnvironmentVars": { + "type": "array" + }, + "extraVolumes": { + "type": "array" + }, + "ha": { + "type": "object", + "properties": { + "apiAddr": { + "type": [ + "null", + "string" + ] + }, + "clusterAddr": { + "type": [ + "null", + "string" + ] + }, + "config": { + "type": [ + "string", + "object" + ] + }, + "disruptionBudget": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + }, + "maxUnavailable": { + "type": [ + "null", + "integer" + ] + } + } + }, + "enabled": { + "type": "boolean" + }, + "raft": { + "type": "object", + "properties": { + "config": { + "type": [ + "string", + "object" + ] + }, + "enabled": { + "type": "boolean" + }, + "setNodeId": { + "type": "boolean" + } + } + }, + "replicas": { + "type": "integer" + } + } + }, + "hostAliases": { + "type": "array" + }, + "hostNetwork": { + "type": "boolean" + }, + "image": { + "type": "object", + "properties": { + "pullPolicy": { + "type": "string" + }, + "repository": { + "type": "string" + }, + "tag": { + "type": "string" + } + } + }, + "includeConfigAnnotation": { + "type": "boolean" + }, + "ingress": { + "type": "object", + "properties": { + "activeService": { + "type": "boolean" + }, + "annotations": { + "type": [ + "object", + "string" + ] + }, + "enabled": { + "type": "boolean" + }, + "extraPaths": { + "type": "array" + }, + "hosts": { + "type": "array", + "items": { + "type": "object", + "properties": { + "host": { + "type": "string" + }, + "paths": { + "type": "array" + } + } + } + }, + "ingressClassName": { + "type": "string" + }, + "labels": { + "type": "object" + }, + "pathType": { + "type": "string" + }, + "tls": { + "type": "array" + } + } + }, + "livenessProbe": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + }, + "execCommand": { + "type": "array" + }, + "failureThreshold": { + "type": "integer" + }, + "initialDelaySeconds": { + "type": "integer" + }, + "path": { + "type": "string" + }, + "periodSeconds": { + "type": "integer" + }, + "port": { + "type": "integer" + }, + "successThreshold": { + "type": "integer" + }, + "timeoutSeconds": { + "type": "integer" + } + } + }, + "logFormat": { + "type": "string" + }, + "logLevel": { + "type": "string" + }, + "networkPolicy": { + "type": "object", + "properties": { + "egress": { + "type": "array" + }, + "enabled": { + "type": "boolean" + }, + "ingress": { + "type": "array" + } + } + }, + "nodeSelector": { + "type": [ + "null", + "object", + "string" + ] + }, + "persistentVolumeClaimRetentionPolicy": { + "type": "object", + "properties": { + "whenDeleted": { + "type": "string" + }, + "whenScaled": { + "type": "string" + } + } + }, + "postStart": { + "type": "array" + }, + "preStopSleepSeconds": { + "type": "integer" + }, + "priorityClassName": { + "type": "string" + }, + "readinessProbe": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + }, + "failureThreshold": { + "type": "integer" + }, + "initialDelaySeconds": { + "type": "integer" + }, + "periodSeconds": { + "type": "integer" + }, + "port": { + "type": "integer" + }, + "successThreshold": { + "type": "integer" + }, + "timeoutSeconds": { + "type": "integer" + } + } + }, + "resources": { + "type": "object" + }, + "route": { + "type": "object", + "properties": { + "activeService": { + "type": "boolean" + }, + "annotations": { + "type": [ + "object", + "string" + ] + }, + "enabled": { + "type": "boolean" + }, + "host": { + "type": "string" + }, + "labels": { + "type": "object" + }, + "tls": { + "type": "object" + } + } + }, + "service": { + "type": "object", + "properties": { + "active": { + "type": "object", + "properties": { + "annotations": { + "type": [ + "object", + "string" + ] + }, + "enabled": { + "type": "boolean" + } + } + }, + "activeNodePort": { + "type": "integer" + }, + "annotations": { + "type": [ + "object", + "string" + ] + }, + "enabled": { + "type": "boolean" + }, + "externalTrafficPolicy": { + "type": "string" + }, + "instanceSelector": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + } + } + }, + "ipFamilies": { + "type": "array" + }, + "ipFamilyPolicy": { + "type": "string" + }, + "nodePort": { + "type": "integer" + }, + "port": { + "type": "integer" + }, + "publishNotReadyAddresses": { + "type": "boolean" + }, + "standby": { + "type": "object", + "properties": { + "annotations": { + "type": [ + "object", + "string" + ] + }, + "enabled": { + "type": "boolean" + } + } + }, + "standbyNodePort": { + "type": "integer" + }, + "targetPort": { + "type": "integer" + } + } + }, + "serviceAccount": { + "type": "object", + "properties": { + "annotations": { + "type": [ + "object", + "string" + ] + }, + "create": { + "type": "boolean" + }, + "createSecret": { + "type": "boolean" + }, + "extraLabels": { + "type": "object" + }, + "name": { + "type": "string" + }, + "serviceDiscovery": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + } + } + } + } + }, + "shareProcessNamespace": { + "type": "boolean" + }, + "standalone": { + "type": "object", + "properties": { + "config": { + "type": [ + "string", + "object" + ] + }, + "enabled": { + "type": [ + "string", + "boolean" + ] + } + } + }, + "statefulSet": { + "type": "object", + "properties": { + "annotations": { + "type": [ + "object", + "string" + ] + }, + "securityContext": { + "type": "object", + "properties": { + "container": { + "type": [ + "object", + "string" + ] + }, + "pod": { + "type": [ + "object", + "string" + ] + } + } + } + } + }, + "terminationGracePeriodSeconds": { + "type": "integer" + }, + "tolerations": { + "type": [ + "null", + "array", + "string" + ] + }, + "topologySpreadConstraints": { + "type": [ + "null", + "array", + "string" + ] + }, + "updateStrategyType": { + "type": "string" + }, + "volumeMounts": { + "type": [ + "null", + "array" + ] + }, + "volumes": { + "type": [ + "null", + "array" + ] + } + } + }, + "serverTelemetry": { + "type": "object", + "properties": { + "prometheusRules": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + }, + "rules": { + "type": "array" + }, + "selectors": { + "type": "object" + } + } + }, + "serviceMonitor": { + "type": "object", + "properties": { + "authorization": { + "type": "object" + }, + "enabled": { + "type": "boolean" + }, + "interval": { + "type": "string" + }, + "metricRelabelings": { + "type": "array" + }, + "scrapeTimeout": { + "type": "string" + }, + "selectors": { + "type": "object" + }, + "tlsConfig": { + "type": "object" + } + } + } + } + }, + "ui": { + "type": "object", + "properties": { + "activeVaultPodOnly": { + "type": "boolean" + }, + "annotations": { + "type": [ + "object", + "string" + ] + }, + "enabled": { + "type": [ + "boolean", + "string" + ] + }, + "externalPort": { + "type": "integer" + }, + "externalTrafficPolicy": { + "type": "string" + }, + "publishNotReadyAddresses": { + "type": "boolean" + }, + "serviceIPFamilies": { + "type": "array" + }, + "serviceIPFamilyPolicy": { + "type": "string" + }, + "serviceNodePort": { + "type": [ + "null", + "integer" + ] + }, + "serviceType": { + "type": "string" + }, + "targetPort": { + "type": "integer" + } + } + } + } +} diff --git a/charts/partners/hashicorp/vault/0.31.0/src/values.yaml b/charts/partners/hashicorp/vault/0.31.0/src/values.yaml new file mode 100644 index 000000000..ed01fb372 --- /dev/null +++ b/charts/partners/hashicorp/vault/0.31.0/src/values.yaml @@ -0,0 +1,1240 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 + +# Available parameters and their default values for the Vault chart. + +global: + # enabled is the master enabled switch. Setting this to true or false + # will enable or disable all the components within this chart by default. + enabled: true + # The namespace to deploy to. Defaults to the `helm` installation namespace. + namespace: "" + # Image pull secret to use for registry authentication. + # Alternatively, the value may be specified as an array of strings. + imagePullSecrets: [] + # imagePullSecrets: + # - name: image-pull-secret + + # TLS for end-to-end encrypted transport + tlsDisable: true + # External vault server address for the injector and CSI provider to use. + # Setting this will disable deployment of a vault server. + externalVaultAddr: "" + # If deploying to OpenShift + openshift: true + # Create PodSecurityPolicy for pods + psp: + enable: false + # Annotation for PodSecurityPolicy. + # This is a multi-line templated string map, and can also be set as YAML. + annotations: | + seccomp.security.alpha.kubernetes.io/allowedProfileNames: docker/default,runtime/default + apparmor.security.beta.kubernetes.io/allowedProfileNames: runtime/default + seccomp.security.alpha.kubernetes.io/defaultProfileName: runtime/default + apparmor.security.beta.kubernetes.io/defaultProfileName: runtime/default + serverTelemetry: + # Enable integration with the Prometheus Operator + # See the top level serverTelemetry section below before enabling this feature. + prometheusOperator: false +injector: + # True if you want to enable vault agent injection. + # @default: global.enabled + enabled: "-" + replicas: 1 + # Configures the port the injector should listen on + port: 8080 + # If multiple replicas are specified, by default a leader will be determined + # so that only one injector attempts to create TLS certificates. + leaderElector: + enabled: true + # If true, will enable a node exporter metrics endpoint at /metrics. + metrics: + enabled: false + # Deprecated: Please use global.externalVaultAddr instead. + externalVaultAddr: "" + # image sets the repo and tag of the vault-k8s image to use for the injector. + image: + repository: "registry.connect.redhat.com/hashicorp/vault-k8s" + tag: "1.7.0-ubi" + pullPolicy: IfNotPresent + # agentImage sets the repo and tag of the Vault image to use for the Vault Agent + # containers. This should be set to the official Vault image. Vault 1.3.1+ is + # required. + agentImage: + repository: "registry.connect.redhat.com/hashicorp/vault" + tag: "1.20.4-ubi" + # The default values for the injected Vault Agent containers. + agentDefaults: + # For more information on configuring resources, see the K8s documentation: + # https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + cpuLimit: "500m" + cpuRequest: "250m" + memLimit: "128Mi" + memRequest: "64Mi" + # ephemeralLimit: "128Mi" + # ephemeralRequest: "64Mi" + + # Default template type for secrets when no custom template is specified. + # Possible values include: "json" and "map". + template: "map" + # Default values within Agent's template_config stanza. + templateConfig: + exitOnRetryFailure: true + staticSecretRenderInterval: "" + # Used to define custom livenessProbe settings + livenessProbe: + # When a probe fails, Kubernetes will try failureThreshold times before giving up + failureThreshold: 2 + # Number of seconds after the container has started before probe initiates + initialDelaySeconds: 5 + # How often (in seconds) to perform the probe + periodSeconds: 2 + # Minimum consecutive successes for the probe to be considered successful after having failed + successThreshold: 1 + # Number of seconds after which the probe times out. + timeoutSeconds: 5 + # Used to define custom readinessProbe settings + readinessProbe: + # When a probe fails, Kubernetes will try failureThreshold times before giving up + failureThreshold: 2 + # Number of seconds after the container has started before probe initiates + initialDelaySeconds: 5 + # How often (in seconds) to perform the probe + periodSeconds: 2 + # Minimum consecutive successes for the probe to be considered successful after having failed + successThreshold: 1 + # Number of seconds after which the probe times out. + timeoutSeconds: 5 + # Used to define custom startupProbe settings + startupProbe: + # When a probe fails, Kubernetes will try failureThreshold times before giving up + failureThreshold: 12 + # Number of seconds after the container has started before probe initiates + initialDelaySeconds: 5 + # How often (in seconds) to perform the probe + periodSeconds: 5 + # Minimum consecutive successes for the probe to be considered successful after having failed + successThreshold: 1 + # Number of seconds after which the probe times out. + timeoutSeconds: 5 + # Mount Path of the Vault Kubernetes Auth Method. + authPath: "auth/kubernetes" + # Configures the log verbosity of the injector. + # Supported log levels include: trace, debug, info, warn, error + logLevel: "info" + # Configures the log format of the injector. Supported log formats: "standard", "json". + logFormat: "standard" + # Configures all Vault Agent sidecars to revoke their token when shutting down + revokeOnShutdown: false + webhook: + # Configures failurePolicy of the webhook. The "unspecified" default behaviour depends on the + # API Version of the WebHook. + # To block pod creation while the webhook is unavailable, set the policy to `Fail` below. + # See https://kubernetes.io/docs/reference/access-authn-authz/extensible-admission-controllers/#failure-policy + # + failurePolicy: Ignore + # matchPolicy specifies the approach to accepting changes based on the rules of + # the MutatingWebhookConfiguration. + # See https://kubernetes.io/docs/reference/access-authn-authz/extensible-admission-controllers/#matching-requests-matchpolicy + # for more details. + # + matchPolicy: Exact + # timeoutSeconds is the amount of seconds before the webhook request will be ignored + # or fails. + # If it is ignored or fails depends on the failurePolicy + # See https://kubernetes.io/docs/reference/access-authn-authz/extensible-admission-controllers/#timeouts + # for more details. + # + timeoutSeconds: 30 + # namespaceSelector is the selector for restricting the webhook to only + # specific namespaces. + # See https://kubernetes.io/docs/reference/access-authn-authz/extensible-admission-controllers/#matching-requests-namespaceselector + # for more details. + # Example: + # namespaceSelector: + # matchLabels: + # sidecar-injector: enabled + namespaceSelector: {} + # objectSelector is the selector for restricting the webhook to only + # specific labels. + # See https://kubernetes.io/docs/reference/access-authn-authz/extensible-admission-controllers/#matching-requests-objectselector + # for more details. + # Example: + # objectSelector: + # matchLabels: + # vault-sidecar-injector: enabled + objectSelector: | + matchExpressions: + - key: app.kubernetes.io/name + operator: NotIn + values: + - {{ template "vault.name" . }}-agent-injector + # Extra annotations to attach to the webhook + annotations: {} + # Deprecated: please use 'webhook.failurePolicy' instead + # Configures failurePolicy of the webhook. The "unspecified" default behaviour depends on the + # API Version of the WebHook. + # To block pod creation while webhook is unavailable, set the policy to `Fail` below. + # See https://kubernetes.io/docs/reference/access-authn-authz/extensible-admission-controllers/#failure-policy + # + failurePolicy: Ignore + # Deprecated: please use 'webhook.namespaceSelector' instead + # namespaceSelector is the selector for restricting the webhook to only + # specific namespaces. + # See https://kubernetes.io/docs/reference/access-authn-authz/extensible-admission-controllers/#matching-requests-namespaceselector + # for more details. + # Example: + # namespaceSelector: + # matchLabels: + # sidecar-injector: enabled + namespaceSelector: {} + # Deprecated: please use 'webhook.objectSelector' instead + # objectSelector is the selector for restricting the webhook to only + # specific labels. + # See https://kubernetes.io/docs/reference/access-authn-authz/extensible-admission-controllers/#matching-requests-objectselector + # for more details. + # Example: + # objectSelector: + # matchLabels: + # vault-sidecar-injector: enabled + objectSelector: {} + # Deprecated: please use 'webhook.annotations' instead + # Extra annotations to attach to the webhook + webhookAnnotations: {} + certs: + # secretName is the name of the secret that has the TLS certificate and + # private key to serve the injector webhook. If this is null, then the + # injector will default to its automatic management mode that will assign + # a service account to the injector to generate its own certificates. + secretName: null + # caBundle is a base64-encoded PEM-encoded certificate bundle for the CA + # that signed the TLS certificate that the webhook serves. This must be set + # if secretName is non-null unless an external service like cert-manager is + # keeping the caBundle updated. + caBundle: "" + # certName and keyName are the names of the files within the secret for + # the TLS cert and private key, respectively. These have reasonable + # defaults but can be customized if necessary. + certName: tls.crt + keyName: tls.key + # Security context for the pod template and the injector container + # The default pod securityContext is: + # runAsNonRoot: true + # runAsGroup: {{ .Values.injector.gid | default 1000 }} + # runAsUser: {{ .Values.injector.uid | default 100 }} + # fsGroup: {{ .Values.injector.gid | default 1000 }} + # and for container is + # allowPrivilegeEscalation: false + # capabilities: + # drop: + # - ALL + securityContext: + pod: {} + container: {} + resources: {} + # resources: + # requests: + # memory: 256Mi + # cpu: 250m + # limits: + # memory: 256Mi + # cpu: 250m + + # extraEnvironmentVars is a list of extra environment variables to set in the + # injector deployment. + extraEnvironmentVars: {} + # KUBERNETES_SERVICE_HOST: kubernetes.default.svc + + # Affinity Settings for injector pods + # This can either be a multi-line string or YAML matching the PodSpec's affinity field. + # Commenting out or setting as empty the affinity variable, will allow + # deployment of multiple replicas to single node services such as Minikube. + affinity: | + podAntiAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + - labelSelector: + matchLabels: + app.kubernetes.io/name: {{ template "vault.name" . }}-agent-injector + app.kubernetes.io/instance: "{{ .Release.Name }}" + component: webhook + topologyKey: kubernetes.io/hostname + # Topology settings for injector pods + # ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/ + # This should be either a multi-line string or YAML matching the topologySpreadConstraints array + # in a PodSpec. + topologySpreadConstraints: [] + # Toleration Settings for injector pods + # This should be either a multi-line string or YAML matching the Toleration array + # in a PodSpec. + tolerations: [] + # nodeSelector labels for server pod assignment, formatted as a multi-line string or YAML map. + # ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector + # Example: + # nodeSelector: + # beta.kubernetes.io/arch: amd64 + nodeSelector: {} + # Priority class for injector pods + priorityClassName: "" + # Extra annotations to attach to the injector pods + # This can either be YAML or a YAML-formatted multi-line templated string map + # of the annotations to apply to the injector pods + annotations: {} + # Extra labels to attach to the agent-injector + # This should be a YAML map of the labels to apply to the injector + extraLabels: {} + # Should the injector pods run on the host network (useful when using + # an alternate CNI in EKS) + hostNetwork: false + # Injector service specific config + service: + # Extra annotations to attach to the injector service + annotations: {} + # Injector serviceAccount specific config + serviceAccount: + # Extra annotations to attach to the injector serviceAccount + annotations: {} + # A disruption budget limits the number of pods of a replicated application + # that are down simultaneously from voluntary disruptions + podDisruptionBudget: {} + # podDisruptionBudget: + # maxUnavailable: 1 + + # strategy for updating the deployment. This can be a multi-line string or a + # YAML map. + strategy: {} + # strategy: | + # rollingUpdate: + # maxSurge: 25% + # maxUnavailable: 25% + # type: RollingUpdate +server: + # If true, or "-" with global.enabled true, Vault server will be installed. + # See vault.mode in _helpers.tpl for implementation details. + enabled: "-" + # [Enterprise Only] This value refers to a Kubernetes secret that you have + # created that contains your enterprise license. If you are not using an + # enterprise image or if you plan to introduce the license key via another + # route, then leave secretName blank ("") or set it to null. + # Requires Vault Enterprise 1.8 or later. + enterpriseLicense: + # The name of the Kubernetes secret that holds the enterprise license. The + # secret must be in the same namespace that Vault is installed into. + secretName: "" + # The key within the Kubernetes secret that holds the enterprise license. + secretKey: "license" + image: + repository: "registry.connect.redhat.com/hashicorp/vault" + tag: "1.20.4-ubi" + # Overrides the default Image Pull Policy + pullPolicy: IfNotPresent + # Configure the Update Strategy Type for the StatefulSet + # See https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#update-strategies + updateStrategyType: "OnDelete" + # Configure the logging verbosity for the Vault server. + # Supported log levels include: trace, debug, info, warn, error + logLevel: "" + # Configure the logging format for the Vault server. + # Supported log formats include: standard, json + logFormat: "" + # Resource requests, limits, etc. for the server cluster placement. This + # should map directly to the value of the resources field for a PodSpec. + # By default no direct resource request is made. + resources: {} + # resources: + # requests: + # memory: 256Mi + # cpu: 250m + # limits: + # memory: 256Mi + # cpu: 250m + + # Ingress allows ingress services to be created to allow external access + # from Kubernetes to access Vault pods. + # If deployment is on OpenShift, the following block is ignored. + # In order to expose the service, use the route section below + ingress: + enabled: false + labels: {} + # traffic: external + annotations: {} + # | + # kubernetes.io/ingress.class: nginx + # kubernetes.io/tls-acme: "true" + # or + # kubernetes.io/ingress.class: nginx + # kubernetes.io/tls-acme: "true" + + # Optionally use ingressClassName instead of deprecated annotation. + # See: https://kubernetes.io/docs/concepts/services-networking/ingress/#deprecated-annotation + ingressClassName: "" + # As of Kubernetes 1.19, all Ingress Paths must have a pathType configured. The default value below should be sufficient in most cases. + # See: https://kubernetes.io/docs/concepts/services-networking/ingress/#path-types for other possible values. + pathType: Prefix + # When HA mode is enabled and K8s service registration is being used, + # configure the ingress to point to the Vault active service. + activeService: true + hosts: + - host: chart-example.local + paths: [] + ## Extra paths to prepend to the host configuration. This is useful when working with annotation based services. + extraPaths: [] + # - path: /* + # backend: + # service: + # name: ssl-redirect + # port: + # number: use-annotation + tls: [] + # - secretName: chart-example-tls + # hosts: + # - chart-example.local + # hostAliases is a list of aliases to be added to /etc/hosts. Specified as a YAML list. + hostAliases: [] + # - ip: 127.0.0.1 + # hostnames: + # - chart-example.local + + # OpenShift only - create a route to expose the service + # By default the created route will be of type passthrough + route: + enabled: false + # When HA mode is enabled and K8s service registration is being used, + # configure the route to point to the Vault active service. + activeService: true + labels: {} + annotations: {} + host: chart-example.local + # tls will be passed directly to the route's TLS config, which + # can be used to configure other termination methods that terminate + # TLS at the router + tls: + termination: passthrough + # authDelegator enables a cluster role binding to be attached to the service + # account. This cluster role binding can be used to setup Kubernetes auth + # method. See https://developer.hashicorp.com/vault/docs/auth/kubernetes + authDelegator: + enabled: true + # extraInitContainers is a list of init containers. Specified as a YAML list. + # This is useful if you need to run a script to provision TLS certificates or + # write out configuration files in a dynamic way. + extraInitContainers: null + # # This example installs a plugin pulled from github into the /usr/local/libexec/vault/oauthapp folder, + # # which is defined in the volumes value. + # - name: oauthapp + # image: "alpine" + # command: [sh, -c] + # args: + # - cd /tmp && + # wget https://github.com/puppetlabs/vault-plugin-secrets-oauthapp/releases/download/v1.2.0/vault-plugin-secrets-oauthapp-v1.2.0-linux-amd64.tar.xz -O oauthapp.xz && + # tar -xf oauthapp.xz && + # mv vault-plugin-secrets-oauthapp-v1.2.0-linux-amd64 /usr/local/libexec/vault/oauthapp && + # chmod +x /usr/local/libexec/vault/oauthapp + # volumeMounts: + # - name: plugins + # mountPath: /usr/local/libexec/vault + + # extraContainers is a list of sidecar containers. Specified as a YAML list. + extraContainers: null + # shareProcessNamespace enables process namespace sharing between Vault and the extraContainers + # This is useful if Vault must be signaled, e.g. to send a SIGHUP for a log rotation + shareProcessNamespace: false + # extraArgs is a string containing additional Vault server arguments. + extraArgs: "" + # extraPorts is a list of extra ports. Specified as a YAML list. + # This is useful if you need to add additional ports to the statefulset in dynamic way. + extraPorts: null + # - containerPort: 8300 + # name: http-monitoring + + # Used to define custom readinessProbe settings + readinessProbe: + enabled: true + # If you need to use a http path instead of the default exec + # path: /v1/sys/health?standbyok=true + + # Port number on which readinessProbe will be checked. + port: 8200 + # When a probe fails, Kubernetes will try failureThreshold times before giving up + failureThreshold: 2 + # Number of seconds after the container has started before probe initiates + initialDelaySeconds: 5 + # How often (in seconds) to perform the probe + periodSeconds: 5 + # Minimum consecutive successes for the probe to be considered successful after having failed + successThreshold: 1 + # Number of seconds after which the probe times out. + timeoutSeconds: 3 + path: "/v1/sys/health?uninitcode=204" + # Used to enable a livenessProbe for the pods + livenessProbe: + enabled: false + # Used to define a liveness exec command. If provided, exec is preferred to httpGet (path) as the livenessProbe handler. + execCommand: [] + # - /bin/sh + # - -c + # - /vault/userconfig/mylivenessscript/run.sh + # Path for the livenessProbe to use httpGet as the livenessProbe handler + path: "/v1/sys/health?standbyok=true" + # Port number on which livenessProbe will be checked if httpGet is used as the livenessProbe handler + port: 8200 + # When a probe fails, Kubernetes will try failureThreshold times before giving up + failureThreshold: 2 + # Number of seconds after the container has started before probe initiates + initialDelaySeconds: 60 + # How often (in seconds) to perform the probe + periodSeconds: 5 + # Minimum consecutive successes for the probe to be considered successful after having failed + successThreshold: 1 + # Number of seconds after which the probe times out. + timeoutSeconds: 3 + # Optional duration in seconds the pod needs to terminate gracefully. + # See: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/ + terminationGracePeriodSeconds: 10 + # Used to set the sleep time during the preStop step, if custom preStop + # commands are not set. + preStopSleepSeconds: 5 + # Used to define custom preStop exec commands to run before the pod is + # terminated. If not set, this will default to: + # preStop: + # - "/bin/sh" + # - "-c" + # - "sleep {{ .Values.server.preStopSleepSeconds }} && kill -SIGTERM $(pidof vault)" + preStop: [] + # Used to define commands to run after the pod is ready. + # This can be used to automate processes such as initialization + # or boostrapping auth methods. + postStart: [] + # - /bin/sh + # - -c + # - /vault/userconfig/myscript/run.sh + + # extraEnvironmentVars is a list of extra environment variables to set with the stateful set. These could be + # used to include variables required for auto-unseal. + extraEnvironmentVars: {} + # GOOGLE_REGION: global + # GOOGLE_PROJECT: myproject + # GOOGLE_APPLICATION_CREDENTIALS: /vault/userconfig/myproject/myproject-creds.json + + # extraSecretEnvironmentVars is a list of extra environment variables to set with the stateful set. + # These variables take value from existing Secret objects. + extraSecretEnvironmentVars: [] + # - envName: AWS_SECRET_ACCESS_KEY + # secretName: vault + # secretKey: AWS_SECRET_ACCESS_KEY + + # Deprecated: please use 'volumes' instead. + # extraVolumes is a list of extra volumes to mount. These will be exposed + # to Vault in the path `/vault/userconfig//`. The value below is + # an array of objects, examples are shown below. + extraVolumes: [] + # - type: secret (or "configMap") + # name: my-secret + # path: null # default is `/vault/userconfig` + + # volumes is a list of volumes made available to all containers. These are rendered + # via toYaml rather than pre-processed like the extraVolumes value. + # The purpose is to make it easy to share volumes between containers. + volumes: null + # - name: plugins + # emptyDir: {} + + # volumeMounts is a list of volumeMounts for the main server container. These are rendered + # via toYaml rather than pre-processed like the extraVolumes value. + # The purpose is to make it easy to share volumes between containers. + volumeMounts: null + # - mountPath: /usr/local/libexec/vault + # name: plugins + # readOnly: true + + # Affinity Settings + # Commenting out or setting as empty the affinity variable, will allow + # deployment to single node services such as Minikube + # This should be either a multi-line string or YAML matching the PodSpec's affinity field. + affinity: | + podAntiAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + - labelSelector: + matchLabels: + app.kubernetes.io/name: {{ template "vault.name" . }} + app.kubernetes.io/instance: "{{ .Release.Name }}" + component: server + topologyKey: kubernetes.io/hostname + # Topology settings for server pods + # ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/ + # This should be either a multi-line string or YAML matching the topologySpreadConstraints array + # in a PodSpec. + topologySpreadConstraints: [] + # Toleration Settings for server pods + # This should be either a multi-line string or YAML matching the Toleration array + # in a PodSpec. + tolerations: [] + # nodeSelector labels for server pod assignment, formatted as a multi-line string or YAML map. + # ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector + # Example: + # nodeSelector: + # beta.kubernetes.io/arch: amd64 + nodeSelector: {} + # Enables network policy for server pods + networkPolicy: + enabled: false + egress: [] + # egress: + # - to: + # - ipBlock: + # cidr: 10.0.0.0/24 + # ports: + # - protocol: TCP + # port: 443 + ingress: + - from: + - namespaceSelector: {} + ports: + - port: 8200 + protocol: TCP + - port: 8201 + protocol: TCP + # Priority class for server pods + priorityClassName: "" + # Extra labels to attach to the server pods + # This should be a YAML map of the labels to apply to the server pods + extraLabels: {} + # Extra annotations to attach to the server pods + # This can either be YAML or a YAML-formatted multi-line templated string map + # of the annotations to apply to the server pods + annotations: {} + # Add an annotation to the server configmap and the statefulset pods, + # vaultproject.io/config-checksum, that is a hash of the Vault configuration. + # This can be used together with an OnDelete deployment strategy to help + # identify which pods still need to be deleted during a deployment to pick up + # any configuration changes. + includeConfigAnnotation: false + # Enables a headless service to be used by the Vault Statefulset + service: + enabled: true + # Enable or disable the vault-active service, which selects Vault pods that + # have labeled themselves as the cluster leader with `vault-active: "true"`. + active: + enabled: true + # Extra annotations for the service definition. This can either be YAML or a + # YAML-formatted multi-line templated string map of the annotations to apply + # to the active service. + annotations: {} + # Enable or disable the vault-standby service, which selects Vault pods that + # have labeled themselves as a cluster follower with `vault-active: "false"`. + standby: + enabled: true + # Extra annotations for the service definition. This can either be YAML or a + # YAML-formatted multi-line templated string map of the annotations to apply + # to the standby service. + annotations: {} + # If enabled, the service selectors will include `app.kubernetes.io/instance: {{ .Release.Name }}` + # When disabled, services may select Vault pods not deployed from the chart. + # Does not affect the headless vault-internal service with `ClusterIP: None` + instanceSelector: + enabled: true + # clusterIP controls whether a Cluster IP address is attached to the + # Vault service within Kubernetes. By default, the Vault service will + # be given a Cluster IP address, set to None to disable. When disabled + # Kubernetes will create a "headless" service. Headless services can be + # used to communicate with pods directly through DNS instead of a round-robin + # load balancer. + # clusterIP: None + + # Configures the service type for the main Vault service. Can be ClusterIP + # or NodePort. + #type: ClusterIP + + # The IP family and IP families options are to set the behaviour in a dual-stack environment. + # Omitting these values will let the service fall back to whatever the CNI dictates the defaults + # should be. + # These are only supported for kubernetes versions >=1.23.0 + # + # Configures the service's supported IP family policy, can be either: + # SingleStack: Single-stack service. The control plane allocates a cluster IP for the Service, using the first configured service cluster IP range. + # PreferDualStack: Allocates IPv4 and IPv6 cluster IPs for the Service. + # RequireDualStack: Allocates Service .spec.ClusterIPs from both IPv4 and IPv6 address ranges. + ipFamilyPolicy: "" + # Sets the families that should be supported and the order in which they should be applied to ClusterIP as well. + # Can be IPv4 and/or IPv6. + ipFamilies: [] + # Do not wait for pods to be ready before including them in the services' + # targets. Does not apply to the headless service, which is used for + # cluster-internal communication. + publishNotReadyAddresses: true + # The externalTrafficPolicy can be set to either Cluster or Local + # and is only valid for LoadBalancer and NodePort service types. + # The default value is Cluster. + # ref: https://kubernetes.io/docs/concepts/services-networking/service/#external-traffic-policy + externalTrafficPolicy: Cluster + # If type is set to "NodePort", a specific nodePort value can be configured, + # will be random if left blank. + #nodePort: 30000 + + # When HA mode is enabled + # If type is set to "NodePort", a specific nodePort value can be configured, + # will be random if left blank. + #activeNodePort: 30001 + + # When HA mode is enabled + # If type is set to "NodePort", a specific nodePort value can be configured, + # will be random if left blank. + #standbyNodePort: 30002 + + # Port on which Vault server is listening + port: 8200 + # Target port to which the service should be mapped to + targetPort: 8200 + # Extra annotations for the service definition. This can either be YAML or a + # YAML-formatted multi-line templated string map of the annotations to apply + # to the service. + annotations: {} + # This configures the Vault Statefulset to create a PVC for data + # storage when using the file or raft backend storage engines. + # See https://developer.hashicorp.com/vault/docs/configuration/storage to know more + dataStorage: + enabled: true + # Size of the PVC created + size: 10Gi + # Location where the PVC will be mounted. + mountPath: "/vault/data" + # Name of the storage class to use. If null it will use the + # configured default Storage Class. + storageClass: null + # Access Mode of the storage device being used for the PVC + accessMode: ReadWriteOnce + # Annotations to apply to the PVC + annotations: {} + # Labels to apply to the PVC + labels: {} + # Persistent Volume Claim (PVC) retention policy + # ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#persistentvolumeclaim-retention + # Example: + # persistentVolumeClaimRetentionPolicy: + # whenDeleted: Retain + # whenScaled: Retain + persistentVolumeClaimRetentionPolicy: {} + # This configures the Vault Statefulset to create a PVC for audit + # logs. Once Vault is deployed, initialized, and unsealed, Vault must + # be configured to use this for audit logs. This will be mounted to + # /vault/audit + # See https://developer.hashicorp.com/vault/docs/audit to know more + auditStorage: + enabled: false + # Size of the PVC created + size: 10Gi + # Location where the PVC will be mounted. + mountPath: "/vault/audit" + # Name of the storage class to use. If null it will use the + # configured default Storage Class. + storageClass: null + # Access Mode of the storage device being used for the PVC + accessMode: ReadWriteOnce + # Annotations to apply to the PVC + annotations: {} + # Labels to apply to the PVC + labels: {} + # Run Vault in "dev" mode. This requires no further setup, no state management, + # and no initialization. This is useful for experimenting with Vault without + # needing to unseal, store keys, et. al. All data is lost on restart - do not + # use dev mode for anything other than experimenting. + # See https://developer.hashicorp.com/vault/docs/concepts/dev-server to know more + dev: + enabled: false + # Set VAULT_DEV_ROOT_TOKEN_ID value + devRootToken: "root" + # Run Vault in "standalone" mode. This is the default mode that will deploy if + # no arguments are given to helm. This requires a PVC for data storage to use + # the "file" backend. This mode is not highly available and should not be scaled + # past a single replica. + standalone: + enabled: "-" + # config is a raw string of default configuration when using a Stateful + # deployment. Default is to use a PersistentVolumeClaim mounted at /vault/data + # and store data there. This is only used when using a Replica count of 1, and + # using a stateful set. Supported formats are HCL and JSON. + + # Note: Configuration files are stored in ConfigMaps so sensitive data + # such as passwords should be either mounted through extraSecretEnvironmentVars + # or through a Kube secret. For more information see: + # https://developer.hashicorp.com/vault/docs/platform/k8s/helm/run#protecting-sensitive-vault-configurations + config: |- + ui = true + + listener "tcp" { + tls_disable = 1 + address = "[::]:8200" + cluster_address = "[::]:8201" + # Enable unauthenticated metrics access (necessary for Prometheus Operator) + #telemetry { + # unauthenticated_metrics_access = "true" + #} + } + storage "file" { + path = "/vault/data" + } + + # Example configuration for using auto-unseal, using Google Cloud KMS. The + # GKMS keys must already exist, and the cluster must have a service account + # that is authorized to access GCP KMS. + #seal "gcpckms" { + # project = "vault-helm-dev" + # region = "global" + # key_ring = "vault-helm-unseal-kr" + # crypto_key = "vault-helm-unseal-key" + #} + + # Example configuration for enabling Prometheus metrics in your config. + #telemetry { + # prometheus_retention_time = "30s" + # disable_hostname = true + #} + # Run Vault in "HA" mode. There are no storage requirements unless the audit log + # persistence is required. In HA mode Vault will configure itself to use Consul + # for its storage backend. The default configuration provided will work the Consul + # Helm project by default. It is possible to manually configure Vault to use a + # different HA backend. + ha: + enabled: false + replicas: 3 + # Set the api_addr configuration for Vault HA + # See https://developer.hashicorp.com/vault/docs/configuration#api_addr + # If set to null, this will be set to the Pod IP Address + apiAddr: null + # Set the cluster_addr configuration for Vault HA + # See https://developer.hashicorp.com/vault/docs/configuration#cluster_addr + # If set to null, this will be set to https://$(HOSTNAME).{{ template "vault.fullname" . }}-internal:8201 + clusterAddr: null + # Enables Vault's integrated Raft storage. Unlike the typical HA modes where + # Vault's persistence is external (such as Consul), enabling Raft mode will create + # persistent volumes for Vault to store data according to the configuration under server.dataStorage. + # The Vault cluster will coordinate leader elections and failovers internally. + raft: + # Enables Raft integrated storage + enabled: false + # Set the Node Raft ID to the name of the pod + setNodeId: false + # Note: Configuration files are stored in ConfigMaps so sensitive data + # such as passwords should be either mounted through extraSecretEnvironmentVars + # or through a Kube secret. For more information see: + # https://developer.hashicorp.com/vault/docs/platform/k8s/helm/run#protecting-sensitive-vault-configurations + # Supported formats are HCL and JSON. + config: | + ui = true + + listener "tcp" { + tls_disable = 1 + address = "[::]:8200" + cluster_address = "[::]:8201" + # Enable unauthenticated metrics access (necessary for Prometheus Operator) + #telemetry { + # unauthenticated_metrics_access = "true" + #} + } + + storage "raft" { + path = "/vault/data" + } + + service_registration "kubernetes" {} + # config is a raw string of default configuration when using a Stateful + # deployment. Default is to use a Consul for its HA storage backend. + # Supported formats are HCL and JSON. + + # Note: Configuration files are stored in ConfigMaps so sensitive data + # such as passwords should be either mounted through extraSecretEnvironmentVars + # or through a Kube secret. For more information see: + # https://developer.hashicorp.com/vault/docs/platform/k8s/helm/run#protecting-sensitive-vault-configurations + config: | + ui = true + + listener "tcp" { + tls_disable = 1 + address = "[::]:8200" + cluster_address = "[::]:8201" + } + storage "consul" { + path = "vault" + address = "HOST_IP:8500" + } + + service_registration "kubernetes" {} + + # Example configuration for using auto-unseal, using Google Cloud KMS. The + # GKMS keys must already exist, and the cluster must have a service account + # that is authorized to access GCP KMS. + #seal "gcpckms" { + # project = "vault-helm-dev-246514" + # region = "global" + # key_ring = "vault-helm-unseal-kr" + # crypto_key = "vault-helm-unseal-key" + #} + + # Example configuration for enabling Prometheus metrics. + # If you are using Prometheus Operator you can enable a ServiceMonitor resource below. + # You may wish to enable unauthenticated metrics in the listener block above. + #telemetry { + # prometheus_retention_time = "30s" + # disable_hostname = true + #} + # A disruption budget limits the number of pods of a replicated application + # that are down simultaneously from voluntary disruptions + disruptionBudget: + enabled: true + # maxUnavailable will default to (n/2)-1 where n is the number of + # replicas. If you'd like a custom value, you can specify an override here. + maxUnavailable: null + # Definition of the serviceAccount used to run Vault. + # These options are also used when using an external Vault server to validate + # Kubernetes tokens. + serviceAccount: + # Specifies whether a service account should be created + create: true + # The name of the service account to use. + # If not set and create is true, a name is generated using the fullname template + name: "" + # Create a Secret API object to store a non-expiring token for the service account. + # Prior to v1.24.0, Kubernetes used to generate this secret for each service account by default. + # Kubernetes now recommends using short-lived tokens from the TokenRequest API or projected volumes instead if possible. + # For more details, see https://kubernetes.io/docs/concepts/configuration/secret/#service-account-token-secrets + # serviceAccount.create must be equal to 'true' in order to use this feature. + createSecret: false + # Extra annotations for the serviceAccount definition. This can either be + # YAML or a YAML-formatted multi-line templated string map of the + # annotations to apply to the serviceAccount. + annotations: {} + # Extra labels to attach to the serviceAccount + # This should be a YAML map of the labels to apply to the serviceAccount + extraLabels: {} + # Enable or disable a service account role binding with the permissions required for + # Vault's Kubernetes service_registration config option. + # See https://developer.hashicorp.com/vault/docs/configuration/service-registration/kubernetes + serviceDiscovery: + enabled: true + # Settings for the statefulSet used to run Vault. + statefulSet: + # Extra annotations for the statefulSet. This can either be YAML or a + # YAML-formatted multi-line templated string map of the annotations to apply + # to the statefulSet. + annotations: {} + # Set the pod and container security contexts. + # If not set, these will default to, and for *not* OpenShift: + # pod: + # runAsNonRoot: true + # runAsGroup: {{ .Values.server.gid | default 1000 }} + # runAsUser: {{ .Values.server.uid | default 100 }} + # fsGroup: {{ .Values.server.gid | default 1000 }} + # container: + # allowPrivilegeEscalation: false + # + # If not set, these will default to, and for OpenShift: + # pod: {} + # container: {} + securityContext: + pod: {} + container: {} + # Should the server pods run on the host network + hostNetwork: false +# Vault UI +ui: + # True if you want to create a Service entry for the Vault UI. + # + # serviceType can be used to control the type of service created. For + # example, setting this to "LoadBalancer" will create an external load + # balancer (for supported K8S installations) to access the UI. + enabled: false + publishNotReadyAddresses: true + # The service should only contain selectors for active Vault pod + activeVaultPodOnly: false + serviceType: "ClusterIP" + serviceNodePort: null + externalPort: 8200 + targetPort: 8200 + # The IP family and IP families options are to set the behaviour in a dual-stack environment. + # Omitting these values will let the service fall back to whatever the CNI dictates the defaults + # should be. + # These are only supported for kubernetes versions >=1.23.0 + # + # Configures the service's supported IP family, can be either: + # SingleStack: Single-stack service. The control plane allocates a cluster IP for the Service, using the first configured service cluster IP range. + # PreferDualStack: Allocates IPv4 and IPv6 cluster IPs for the Service. + # RequireDualStack: Allocates Service .spec.ClusterIPs from both IPv4 and IPv6 address ranges. + serviceIPFamilyPolicy: "" + # Sets the families that should be supported and the order in which they should be applied to ClusterIP as well + # Can be IPv4 and/or IPv6. + serviceIPFamilies: [] + # The externalTrafficPolicy can be set to either Cluster or Local + # and is only valid for LoadBalancer and NodePort service types. + # The default value is Cluster. + # ref: https://kubernetes.io/docs/concepts/services-networking/service/#external-traffic-policy + externalTrafficPolicy: Cluster + #loadBalancerSourceRanges: + # - 10.0.0.0/16 + # - 1.78.23.3/32 + + # loadBalancerIP: + + # Extra annotations to attach to the ui service + # This can either be YAML or a YAML-formatted multi-line templated string map + # of the annotations to apply to the ui service + annotations: {} +# secrets-store-csi-driver-provider-vault +csi: + # True if you want to install a secrets-store-csi-driver-provider-vault daemonset. + # + # Requires installing the secrets-store-csi-driver separately, see: + # https://github.com/kubernetes-sigs/secrets-store-csi-driver#install-the-secrets-store-csi-driver + # + # With the driver and provider installed, you can mount Vault secrets into volumes + # similar to the Vault Agent injector, and you can also sync those secrets into + # Kubernetes secrets. + enabled: false + image: + repository: "registry.connect.redhat.com/hashicorp/vault-csi-provider" + tag: "1.6.0-ubi" + pullPolicy: IfNotPresent + # volumes is a list of volumes made available to all containers. These are rendered + # via toYaml rather than pre-processed like the extraVolumes value. + # The purpose is to make it easy to share volumes between containers. + volumes: null + # - name: tls + # secret: + # secretName: vault-tls + + # volumeMounts is a list of volumeMounts for the main server container. These are rendered + # via toYaml rather than pre-processed like the extraVolumes value. + # The purpose is to make it easy to share volumes between containers. + volumeMounts: null + # - name: tls + # mountPath: "/vault/tls" + # readOnly: true + + resources: {} + # resources: + # requests: + # cpu: 50m + # memory: 128Mi + # limits: + # cpu: 50m + # memory: 128Mi + + # Override the default secret name for the CSI Provider's HMAC key used for + # generating secret versions. + hmacSecretName: "" + # Allow modification of the hostNetwork parameter to avoid the need of a + # dedicated pod ip + hostNetwork: false + # Settings for the daemonSet used to run the provider. + daemonSet: + updateStrategy: + type: RollingUpdate + maxUnavailable: "" + # Extra annotations for the daemonSet. This can either be YAML or a + # YAML-formatted multi-line templated string map of the annotations to apply + # to the daemonSet. + annotations: {} + # Provider host path (must match the CSI provider's path) + providersDir: "/var/run/secrets-store-csi-providers" + # Kubelet host path + kubeletRootDir: "/var/lib/kubelet" + # Extra labels to attach to the vault-csi-provider daemonSet + # This should be a YAML map of the labels to apply to the csi provider daemonSet + extraLabels: {} + # Security context for the pod template and container in the csi provider + # daemonSet. For OpenShift, the container securityContext defaults to + # `privileged: true`. + securityContext: + pod: {} + container: {} + pod: + # Extra annotations for the provider pods. This can either be YAML or a + # YAML-formatted multi-line templated string map of the annotations to apply + # to the pod. + annotations: {} + # Toleration Settings for provider pods + # This should be either a multi-line string or YAML matching the Toleration array + # in a PodSpec. + tolerations: [] + # nodeSelector labels for csi pod assignment, formatted as a multi-line string or YAML map. + # ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector + # Example: + # nodeSelector: + # beta.kubernetes.io/arch: amd64 + nodeSelector: {} + # Affinity Settings + # This should be either a multi-line string or YAML matching the PodSpec's affinity field. + affinity: {} + # Extra labels to attach to the vault-csi-provider pod + # This should be a YAML map of the labels to apply to the csi provider pod + extraLabels: {} + agent: + enabled: true + extraArgs: [] + image: + repository: "registry.connect.redhat.com/hashicorp/vault" + tag: "1.20.4-ubi" + pullPolicy: IfNotPresent + logFormat: standard + logLevel: info + resources: {} + # resources: + # requests: + # memory: 256Mi + # cpu: 250m + # limits: + # memory: 256Mi + # cpu: 250m + + # Security context for the vault agent sidecar container + securityContext: + container: + allowPrivilegeEscalation: false + capabilities: + drop: + - ALL + readOnlyRootFilesystem: true + runAsNonRoot: true + runAsUser: 100 + runAsGroup: 1000 + # Priority class for csi pods + priorityClassName: "" + serviceAccount: + # Extra annotations for the serviceAccount definition. This can either be + # YAML or a YAML-formatted multi-line templated string map of the + # annotations to apply to the serviceAccount. + annotations: {} + # Extra labels to attach to the vault-csi-provider serviceAccount + # This should be a YAML map of the labels to apply to the csi provider serviceAccount + extraLabels: {} + # Used to configure readinessProbe for the pods. + readinessProbe: + # When a probe fails, Kubernetes will try failureThreshold times before giving up + failureThreshold: 2 + # Number of seconds after the container has started before probe initiates + initialDelaySeconds: 5 + # How often (in seconds) to perform the probe + periodSeconds: 5 + # Minimum consecutive successes for the probe to be considered successful after having failed + successThreshold: 1 + # Number of seconds after which the probe times out. + timeoutSeconds: 3 + # Used to configure livenessProbe for the pods. + livenessProbe: + # When a probe fails, Kubernetes will try failureThreshold times before giving up + failureThreshold: 2 + # Number of seconds after the container has started before probe initiates + initialDelaySeconds: 5 + # How often (in seconds) to perform the probe + periodSeconds: 5 + # Minimum consecutive successes for the probe to be considered successful after having failed + successThreshold: 1 + # Number of seconds after which the probe times out. + timeoutSeconds: 3 + # Configures the log level for the Vault CSI provider. + # Supported log levels include: trace, debug, info, warn, error, and off + logLevel: "info" + # Deprecated, set logLevel to debug instead. + # If set to true, the logLevel will be set to debug. + debug: false + # Pass arbitrary additional arguments to vault-csi-provider. + # See https://developer.hashicorp.com/vault/docs/platform/k8s/csi/configurations#command-line-arguments + # for the available command line flags. + extraArgs: [] +# Vault is able to collect and publish various runtime metrics. +# Enabling this feature requires setting adding `telemetry{}` stanza to +# the Vault configuration. There are a few examples included in the `config` sections above. +# +# For more information see: +# https://developer.hashicorp.com/vault/docs/configuration/telemetry +# https://developer.hashicorp.com/vault/docs/internals/telemetry +serverTelemetry: + # Enable support for the Prometheus Operator. If authorization is not set for authenticating + # to Vault's metrics endpoint, the following Vault server `telemetry{}` config must be included + # in the `listener "tcp"{}` stanza + # telemetry { + # unauthenticated_metrics_access = "true" + # } + # + # See the `standalone.config` for a more complete example of this. + # + # In addition, a top level `telemetry{}` stanza must also be included in the Vault configuration: + # + # example: + # telemetry { + # prometheus_retention_time = "30s" + # disable_hostname = true + # } + # + # Configuration for monitoring the Vault server. + serviceMonitor: + # The Prometheus operator *must* be installed before enabling this feature, + # if not the chart will fail to install due to missing CustomResourceDefinitions + # provided by the operator. + # + # Instructions on how to install the Helm chart can be found here: + # https://github.com/prometheus-community/helm-charts/tree/main/charts/kube-prometheus-stack + # More information can be found here: + # https://github.com/prometheus-operator/prometheus-operator + # https://github.com/prometheus-operator/kube-prometheus + + # Enable deployment of the Vault Server ServiceMonitor CustomResource. + enabled: false + # Selector labels to add to the ServiceMonitor. + # When empty, defaults to: + # release: prometheus + selectors: {} + # Interval at which Prometheus scrapes metrics + interval: 30s + # Timeout for Prometheus scrapes + scrapeTimeout: 10s + # tlsConfig used for scraping the Vault metrics API. + # See API reference: https://prometheus-operator.dev/docs/api-reference/api/#monitoring.coreos.com/v1.TLSConfig + # example: + # tlsConfig: + # ca: + # secret: + # name: vault-metrics-client + # key: ca.crt + tlsConfig: {} + # authorization used for scraping the Vault metrics API. + # See API reference: https://prometheus-operator.dev/docs/api-reference/api/#monitoring.coreos.com/v1.SafeAuthorization + # example: + # authorization: + # credentials: + # name: vault-metrics-client + # key: token + authorization: {} + # metricRelabelings configures the relabeling rules to apply to the samples before ingestion. + # See API reference: https://prometheus-operator.dev/docs/api-reference/api/#monitoring.coreos.com/v1.RelabelConfig + # example: + # metricRelabelings: + # - sourceLabels: [cluster] + # targetLabel: vault_cluster + metricRelabelings: [] + prometheusRules: + # The Prometheus operator *must* be installed before enabling this feature, + # if not the chart will fail to install due to missing CustomResourceDefinitions + # provided by the operator. + + # Deploy the PrometheusRule custom resource for AlertManager based alerts. + # Requires that AlertManager is properly deployed. + enabled: false + # Selector labels to add to the PrometheusRules. + # When empty, defaults to: + # release: prometheus + selectors: {} + # Some example rules. + rules: [] + # - alert: vault-HighResponseTime + # annotations: + # message: The response time of Vault is over 500ms on average over the last 5 minutes. + # expr: vault_core_handle_request{quantile="0.5", namespace="mynamespace"} > 500 + # for: 5m + # labels: + # severity: warning + # - alert: vault-HighResponseTime + # annotations: + # message: The response time of Vault is over 1s on average over the last 5 minutes. + # expr: vault_core_handle_request{quantile="0.5", namespace="mynamespace"} > 1000 + # for: 5m + # labels: + # severity: critical diff --git a/charts/partners/i2i/i2i5gcorehelm/1.0.10/i2i5gcorehelm-1.0.10.tgz b/charts/partners/i2i/i2i5gcorehelm/1.0.10/i2i5gcorehelm-1.0.10.tgz new file mode 100644 index 0000000000000000000000000000000000000000..e1cf82914e8d8bd96c3634c89c825ecf47dcc41c GIT binary patch literal 37699 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 literal 0 HcmV?d00001 diff --git a/charts/partners/i2i/i2i5gcorehelm/1.0.10/i2i5gcorehelm-1.0.10.tgz.prov b/charts/partners/i2i/i2i5gcorehelm/1.0.10/i2i5gcorehelm-1.0.10.tgz.prov new file mode 100644 index 000000000..a6061a06c --- /dev/null +++ b/charts/partners/i2i/i2i5gcorehelm/1.0.10/i2i5gcorehelm-1.0.10.tgz.prov @@ -0,0 +1,30 @@ +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA512 + +annotations: + charts.openshift.io/name: i2i-5G-Core +apiVersion: v2 +appVersion: 1.12.0 +description: A Helm chart for Kubernetes +icon: https://i2i-systems.com/wp-content/uploads/2020/02/i2i_logo.png +kubeVersion: '>=1.19.0-0' +name: i2i5gcorehelm +type: application +version: 1.0.10 + +... +files: + i2i5gcorehelm-1.0.10.tgz: sha256:f4455e09cf38acd0059e7fc628ffe95d09663be852ef6889675fd66d6068256e +-----BEGIN PGP SIGNATURE----- + +wsDcBAEBCgAQBQJo8STHCRCr3kvRTbd93gAAoWsMAFHhG75TPIjIt+mFq5FtYXeP +NFi/PQK+gWAFE72OrIxWyQQj7MoWdCC+jgsJ228zCSmfRrtNQQdQn5w2dwtRrtVQ +Zm+oO5BpDpiuK+mywQedkAsrNetBpk/Kn1v7ZEOIx+zBW2VnuYMARuERdEc5MiVE +u4l72e1jmsWTktZqNGrXlBNbKjjs8iQl0TtS51rMMJr9oUTULSSuD2H1UStwNTXp +butwOjO1AIjDeRt2r4TrHAVfkG/RhiYjco+faOaFyrqivxkEQKXtCH3ETkujV8WA +GcLuzqBKs6DVx4IVJIRE7p+zHthNxkp+XyDdS06A0OrLl5Tak1HHp7OA6mKNFYtx +J6M4JQquOp2TmSO40lXFhRxJbo7xFUqEDjVxHFaQKIJE6jO1QwP67Kas5B7FG1SL +GHbaobKJ1KsNWXU0/aSaZzePFfSu82SR825Enb0EFRI+HWRgg+E5qYXZok7509A7 +MdbQX9VhoKJASJd8WZ1Pu4tTJwRk8QrmwEOzl5r1zA== +=/zrq +-----END PGP SIGNATURE----- \ No newline at end of file diff --git a/charts/partners/i2i/i2i5gcorehelm/1.0.10/report.yaml b/charts/partners/i2i/i2i5gcorehelm/1.0.10/report.yaml new file mode 100644 index 000000000..6185a8d50 --- /dev/null +++ b/charts/partners/i2i/i2i5gcorehelm/1.0.10/report.yaml @@ -0,0 +1,105 @@ +apiversion: v1 +kind: verify-report +metadata: + tool: + verifier-version: 1.13.12 + profile: + VendorType: partner + version: v1.3 + reportDigest: uint64:8601818804985081692 + chart-uri: i2i5gcorehelm-1.0.10.tgz + digests: + chart: sha256:770364a0d25f44db37656886912ad149e1ea58ac9e5f8870b4459b8651439cc0 + package: f4455e09cf38acd0059e7fc628ffe95d09663be852ef6889675fd66d6068256e + publicKey: a4d63b93381b667f62b79aee4c6db7646fbdad11fd925a85ef9d16c7c7da4623 + lastCertifiedTimestamp: "2025-10-16T20:04:35.059465+03:00" + testedOpenShiftVersion: "4.18" + supportedOpenShiftVersions: '>=4.6' + webCatalogOnly: false + chart: + name: i2i5gcorehelm + home: "" + sources: [] + version: 1.0.10 + description: A Helm chart for Kubernetes + keywords: [] + maintainers: [] + icon: https://i2i-systems.com/wp-content/uploads/2020/02/i2i_logo.png + apiversion: v2 + condition: "" + tags: "" + appversion: 1.12.0 + deprecated: false + annotations: + charts.openshift.io/name: i2i-5G-Core + kubeversion: '>=1.19.0-0' + dependencies: [] + type: application + chart-overrides: "" +results: + - check: v1.0/has-readme + type: Mandatory + outcome: PASS + reason: Chart has a README + - check: v1.0/not-contains-crds + type: Mandatory + outcome: PASS + reason: Chart does not contain CRDs + - check: v1.0/signature-is-valid + type: Mandatory + outcome: PASS + reason: 'Chart is signed : Signature verification passed' + - check: v1.0/contains-values-schema + type: Mandatory + outcome: PASS + reason: Values schema file exist + - check: v1.0/is-helm-v3 + type: Mandatory + outcome: PASS + reason: API version is V2, used in Helm 3 + - check: v1.0/required-annotations-present + type: Mandatory + outcome: PASS + reason: All required annotations present + - check: v1.0/contains-test + type: Mandatory + outcome: PASS + reason: Chart test files exist + - check: v1.1/has-kubeversion + type: Mandatory + outcome: PASS + reason: Kubernetes version specified + - check: v1.1/images-are-certified + type: Mandatory + outcome: PASS + reason: |- + Image is Red Hat certified : quay.io/i2i/nssf-app-ubi9:latest + Image is Red Hat certified : quay.io/i2i/ausf-app-ubi9:latest + Image is Red Hat certified : quay.io/i2i/nrf-app-ubi9:latest + Image is Red Hat certified : quay.io/i2i/pcf-app-ubi9:latest + Image is Red Hat certified : quay.io/i2i/smf-app-ubi9:latest + Image is Red Hat certified : quay.io/i2i/udm-app-ubi9:latest + Image is Red Hat certified : quay.io/i2i/udr-app-ubi9:latest + Image is Red Hat certified : quay.io/i2i/upf-app-ubi8:1.12.0 + Image is Red Hat certified : quay.io/i2i/amf-app-ubi9:latest + Image is Red Hat certified : registry.access.redhat.com/ubi8/ubi + - check: v1.0/contains-values + type: Mandatory + outcome: PASS + reason: Values file exist + - check: v1.0/has-notes + type: Optional + outcome: PASS + reason: Chart does contain NOTES.txt + - check: v1.0/not-contain-csi-objects + type: Mandatory + outcome: PASS + reason: CSI objects do not exist + - check: v1.0/chart-testing + type: Mandatory + outcome: PASS + reason: Chart tests have passed + - check: v1.0/helm-lint + type: Mandatory + outcome: PASS + reason: Helm lint successful diff --git a/charts/partners/i2i/i2i5gcorehelm/OWNERS b/charts/partners/i2i/i2i5gcorehelm/OWNERS index d2f595251..029503c5f 100644 --- a/charts/partners/i2i/i2i5gcorehelm/OWNERS +++ b/charts/partners/i2i/i2i5gcorehelm/OWNERS @@ -2,7 +2,7 @@ chart: name: i2i5gcorehelm shortDescription: Github i2i 5G Core Repository providerDelivery: false -publicPgpKey: LS0tLS1CRUdJTiBQR1AgUFVCTElDIEtFWSBCTE9DSy0tLS0tCgptUUdOQkdobjVYTUJEQURQemM0NnZjb0F1Zm85OWEwL2NuRWxUSSt4bzNJbzYvT0hXb3ZtN0pYakNaTnNHTTZPCm10M1ZHbmRLZFBHbGN1bmFjV0tGa1RnekFEQkd6WE1zb2Z0WW1STk80OE12bTl6K3NEbEtiMDVKeVFEem9CcXoKdDlUa3hiY3l2bFpmS2FrSHJDZlY2SVhUM0d4YlQzcTVGQ2RFL1djTmNZcUdDNUFNM2NCQWhDbUlmc1B3QytaYQpBVmxTRjRldjkyVTI3WDNLSHl1Yi9kRXQ4VnlwSlhIcGplWlFISjEycWoxU01Ic2NaQVVldUJFSjNmNGlsU3ExCjR1TENOcE95SmpPeTliTDVhdUpDcjdTR0t5OW1vTC9nRy9WVWhiVUlSNHNSZ2VVcElmYmJ3cnpWRXJjV1VYZGkKZm82UXU2TTY4dTFEUGswYkZCakY2OUNTQmFoeDJtRG9IeG5Qamw1SUdQeGdyY1FrWXM1OHpFYXNORjNxM0xUVgo2OHhTRkpkdGhoaWV6TXRUSERxUHBDUW5MYTBBQyt6OG5sZlQrUGFONVlSVDVjZTd4aUxYWDhvOWdLTVZDR012Ci9YeVo3TVJTQk1RSlR0U1RhWGJRTjhuVjYyL3R4bXB4MW5wa2Z2TEhsK1lXa1FBNU03bHN0bWpTZWQ2dmVRbloKT2lKKzVvcjRZWkhoSVlFQUVRRUFBYlFKYVRKcE5XZGpiM0psaVFIVUJCTUJDZ0ErRmlFRWdyN05kc0I2OWNvVAprS08vcDllNUkxenBMMlVGQW1objVYTUNHd01GQ1FQQ1p3QUZDd2tJQndJR0ZRb0pDQXNDQkJZQ0F3RUNIZ0VDCkY0QUFDZ2tRcDllNUkxenBMMlhBemd2K0o5WjQxTU1hZjBXSElsWkVQSnNFc3JGWklWOHdvNytjYVQwdjJIZUUKaGZUSms5b0w2QWdNMHpOSHJVT0xycE5wRGZtcjVPVlhGaHd0UjBncTVWdFVNZXdUeSs0dnRFWlRIWlJWcXpPNgpHSlVKbjBWOU5DK04yeDd1a21YVGN4emZQdE9ZcFZodjlpMFFlYTNkbkVGZlpkZ2IyLzlOY0YyTHkwLzNLNDczCm5PUjJwUmJiUklGMk9reUVJY3RtRkd0cU4yZWlHOWwzOEdPaUhUUVdldFV4eUdpNVZqWm1BTUloMlN6ZlFzcHQKSVpLWGhNVUdUSjRTS0FNaDlpUm05YUM4eUkrbEFON1dyRE51Vm15SFRLeXVJNkttcFBVU1ZaemdZNkZpSXduUgpyTDloYU1GM2FHMWJQYXJUK1RFV3QzMCtBQStVTmYzQ0s5K1F2MXh6R1ZoUE1mOTNYcExEZUFoVDZidkozdno1ClZJQ0RlSDZ1OTFVKzRrZjJLL3lXMk9GYUJkbnFMVjdlSWRHZ3RVdVEyR0JOenhzdU9PNHArREgxS2pOV25UQjMKUW5rMEVLL1pSYXpYb3hBc1pyQVZGZTVISlUxNDVUaGVWWnd1TytFR21hQjdQZGc1aFJ1aUt0RmdzaThrTTROYQpvZkVEUUsyelRPZU0rUlFMOEpGTllnWHp1UUdOQkdobjVYTUJEQURZWVY3RlFoNEg4TklqYWZIMTMvM2krbmVyCjZpdzNNQ3AyNkFGL0h5M0dZcnJzR3IzYk5yUEVCaGNnZ1UxOU90c0JhN2ZsNWo1d0sxVTczSTluM0xwcTYvSWIKL0ZhQVd5VEk5TS9qRUE0QXo3eXBvazE5YjVKVkZ5ODkrczRTbXppTFMxR1lTVG5BKzJhbC9VWWNXUkdGbnY2bQo1Q0NraVZyM3Z2STZXVXZMTVkxZWU0Y2hDTS94WGZzRnJOTnBMc3ZydmJOcUcydm1ycTh5LzVHUHFDNXNYWktwCmpRV3ZiY1pvVHZ5cXczTW9XWngzMnlleFVZTjdoYVYxSFZQSSt3VjBLbkRRQW40QmpvLy9yalIwWElFR0JNaU4KbkhtYStrenRPb2JWbkJ6U2FvRmVhT2tIUFBDY1BkU0I5NE5sYmRXdjRjMHRteTV5eDRRbjVYUGtsU1VMN3U2bAp6bXExbkUydjY3NmZTemRVdlJGTFJFdll2cTVvTFJTYzB4aWZ2Y3BZdGUrR0M5a3EwcjFjMzZPMFZRU2Z3cHRVClBJY29IMlMxdkNaL2REZHAva0N6eWVrdkhCYVZqVHAxR1pJeTVkbWxzQmd1VjJka3ZVWU0wUlppT1p1dzJCdksKbWR5MVdwRUEyYzdsUGE3dTlLNGxDcUxlWXlYTXZCVkRINWJybEdzQUVRRUFBWWtCdkFRWUFRb0FKaFloQklLKwp6WGJBZXZYS0U1Q2p2NmZYdVNOYzZTOWxCUUpvWitWekFoc01CUWtEd21jQUFBb0pFS2ZYdVNOYzZTOWxDdklNCkFNNlFuQmxLZFV1ZWthcCt1SmkrVTdKSHAwaUpocm9BVlN6NjlpSkxIRU5BU2ZyNzIvUlRVOGZZbFh4TUNORzQKUUdmR3htckducTFRdTlEL3JkbDd1Zm92U2g5b2FWelpzR3UzSXNKeFJzYXFZSWg5REltRUlDcis2UThaOHY2NQpkNW1VYkJ2blY2L0ZIR0RuRHc0WGZocEhwc3lSVnRWNGQyc0htamVzOHRFSlJiU3RZVkt2ZmNzV0lvS3Y0cGUvCjVUNG12RnJRRHBXZzRZcmRWWVhQNUNNTFhraHZWVWNCSytucElvcG53eVNUSTQ5c0ozZFZYQVpiMUg1bXg5N3gKWUZEemtuYkZHeXk3dSs1Zm50M3VQTzRyaUVGa3BIcFord1V0blJJbkU3VmtVd0taUklUKzJaUG5uQTQzVE40QQpNdWZMUlZNYTB0c05xZUJJQUdyeEk1Ym1pZUZUcXhMU29QLzk0ZmtvczNpTkRJeXl5a2gwSkVUejB1YU5IM1lGClYxZXRkZDQ3emZZWEtLVld1MzVoWlZLblpwQThnRUpGUlRPZ1FKQXNvQmxVUERoNElqaXNyRXlkd1dXK2FUUkEKVEF1TDhHWmJERThMMGZOZmg5SnFuYXpJaWNMNkVRbVJRSXNNaW1DTFlYTksySGRWMitjL1l2RktWYjVjYnFUUApEUT09Cj1Zek1lCi0tLS0tRU5EIFBHUCBQVUJMSUMgS0VZIEJMT0NLLS0tLS0K +publicPgpKey: LS0tLS1CRUdJTiBQR1AgUFVCTElDIEtFWSBCTE9DSy0tLS0tCgptUUdOQkdqeEFRVUJEQUNyZjFiUVMyQllLYzUrRzRzaEgxbHJGdVJZaElBYWpXMWNTWGFxQnBhaWRsNlNnZU9oCm40UnZ5SVh1bXJQR1FUbFNaQUhBRXlyZzVOR3ZFOWVVYnVvdE1NdzRodkZQS29keDJQMU5uT2VnTXlXcjRrWUcKTnQvME9zaW5sQjE1cjJncUxKclFtUWpHdmN0QWhCdk9uSU42R0FsMlpqVDNRYUlpRDk2MllBWlcyNFB6WWRpRgo3QU1lUXJqUzlhRnJrdVZzKzZiVklaem0rSFMwQkNIQWxNWmg3ZGZFVzdqQVZqZTZDcEUvTkxVdzlkMzVVOElKCjhhalVJZmR3OE1KL2ViajdreFhOSW8rT085emY4WlQrQ3FqQzZ5eklCTUJ6YWxMaFhKaEdVRDRYZ09Hb2orOEMKRmhUalZoNngvU2xWQ0EyRjllend3NGd6c1FQZGtyWFd5S0I2K3dyU2hQRWlYTi96VUE0YlY1L2o4MFlMM1ZFVgp2RTEybm1Tc29jSUs5VjJPSDhJNjhPOSs3blg2ZmMyT3E3YmV6SHZxbVJDdzlVbnhNaXMvcmVpRnkxMzQ2WnFOCnBOSHFDTG51cm5aamUwOUVlbHFwTmNKOWVQdFBTajUyQW1aZHVUcElscEtkeWYvQmRlM2FDT2lTSVJOVVdHUXAKdTc1c25QN3RmcnV1WjNFQUVRRUFBYlFoYUdGellXNGdQR2hoYzJGdWEyOXpaVUJwTW1rdGMzbHpkR1Z0Y3k1agpiMjAraVFIVUJCTUJDZ0ErRmlFRWZBb3FMa0psMjBWbE8rbFRxOTVMMFUyM2ZkNEZBbWp4QVFVQ0d3TUZDUVBDClp3QUZDd2tJQndJR0ZRb0pDQXNDQkJZQ0F3RUNIZ0VDRjRBQUNna1FxOTVMMFUyM2ZkNnFJUXdBb0FVYWc4UncKUytacy85TXlYcUU1clpGT2lUcFFPSVp6c1hDUy9GSU80R29UeENqWjYwcCtaMmgxWnlmTVdmSWlzN1ZpS0lxYwp4ZkFZNVU1NytEOVExZG91NTY0ZjN5SytVdk5ZUG9KUExNNkZaZSszaWVmbTZjekxwdXJVOFlSNzRsc1RMMFNrCmw2M3NJZE5maEt4SHhEdllLWXV1SDVyekpsKzk4NUU1T2RNbjVCSEtlMDlyZGFSQWVFVGovaGw2T0M5RGJBMUMKcjJSQzQ1VVhucERhQUR2dUFMTCtNNmpFOWRwbTYrakhJbW9xZW94Y0o0NVJYMU91aVUza2o4QWY2Qzhqak5lZgphYjJaME1aV0dMUXV6a0J3OUVWdE5DR3Z4WmdkYnBGMVRmdnUvYXg5b1RoUmxiUDZqOXZPbUkrbHEraTVsUFV1Ckduais5UTBxZS9qU3oyeXNaMy9FdXpySlZRMnRpd3gzWW1hbG1vL3crSDJFYldsdlAzT2QwcEpJOUcyODI3Z28KdUMzVkxXVG9uVHhsN0NlZGVzSlUwb0dYTzNoOFJNUDdRRkRwMzFMdDdaWFVWWFNvMGFlK1dneVlYakVRQ2h3RgpVL29Ta0xGL1VDRzQ2R2NZbXRxWHdHYnZOTCtIcVY3UUdGSXdDZXhNL09wUi9KVlRKcTN5OUpFNXVRR05CR2p4CkFRVUJEQURrOUtWUFJFbjB1bElqQzdQdG8wN2ZkN1R3RUJnSDYrSjVSZjdPWUdKZk9BY3pPc3RHaXY2QitvTW8KZ1Jab0pNai9xYTRacUJTVTBKcXhZSVhuVmNhNFZCTG9xbmtpZmk0ZjE0b0c3NHYvdU9qK3lkRkFRWXdYVUZJUAp3a0phWXI3UWJKOWZlT0QyWGF4aGNnZ2FERXJ0V25lNTRGYjZRM2syeTlYbVNBU290eXY3cVVBaE92bHpnZUJqCjJRTFo4dnNISTJkOWRmcEU5dFJNbFMyaDhya3NPTEE3N1g1R3QrZU9BZGVSbTZSdjkwNlVORm1VQjVYSlZwcm0KRlEyY2J1Sld5ZGJMVzBZVElzLy93d2NjMVFkMEhMKzQyUE9HSnppSU1Oa1hQSm43NWZZY1dBeUd1OVJ5d21RZgpycTZVZStpcDhDT3VGZE1Jc09RR01KQ01pYkZqQnJ4UmdFSTJjei92S2YzcGs4SUpVYW8rdGJRcEZoMjlYZ3UzCmNRNWxvMCtxdUt4UUdJYnd1aHh4d1BUR3ZvQ1dzTG1BK2xGdE5nRVJvcFJWdW9PeU05Slo4a3h2Y3Z2K0Z2cjEKdVIzTzdXSmVYRzU0MloyNE0vWDJicVNNUzlzWk5zaGJIK1p5TUlVUiswV3U4Y204c1B1N0Z6QjZWTm9BbTFJYQp5T1F5SWtzQUVRRUFBWWtCdkFRWUFRb0FKaFloQkh3S0tpNUNaZHRGWlR2cFU2dmVTOUZOdDMzZUJRSm84UUVGCkFoc01CUWtEd21jQUFBb0pFS3ZlUzlGTnQzM2VKK2dMLzFGSy9XWmRoN1RRaEhDL1djSGt0RjdFWm9meEJESlQKRXZ3c2NmTDFVWGNEaGJpMUFoa1VZM3UvTHBTOHdRZXZIZ2JxKzRPdEtFZ3Y4MG03YkVsVHR5N2Z6blRGcGlNWgpQTnRXSVV4OFBZNEw3UzVmZXNCNDdUd09uVUtFZVkxZy96NHZVeWJiWlI5dlViSk52eHk0Vng3aGJJbTN5RWtJCmZ4U2VaeHY2WWpEalNIaFNzRk5zQ21qK2pOaStJbXdaaWRna0JIOXJoVVZJSEo5TGtnc0xzay9LSGkvc3RZYncKaDJCajVDNzJ4Y3hteTRKVmdqVXNvU3pRVkdQaG1SMnB5cUV1RDlmeXp3c1ZtcXRkYVhCcWduMGVoVDFJdGVibQpIUDVncThLMEpkSVZobk5wNVg0YUJqWlJuVnlzWUFwTU1VSGQ4RFZYcnhOV1NMSXZMa1FjcmpYS3BNVTlMK2ViCnpOejRYR2FMc1loZW1BRDROSkxVUGxlanUrQXp0RVloVDJTRk1SZHhtMkIzaVRyYlVlVHIwY1hEakdnMExhVlAKRHhZcU9rMGF4ejBUdWx6SXRmZ2c0QlI1ZWRFS01QNGk5aUhDc2l5RmlCUE9PWURJd0dPRkdjSzZzazBibTZUKwpyeFgvTWdOUjB4ZEdQaHRFZUx3cG4reWgxVjcyWGlEd0lBPT0KPUJvbXEKLS0tLS1FTkQgUEdQIFBVQkxJQyBLRVkgQkxPQ0stLS0tLQo= users: - githubUsername: hasankose86 vendor: diff --git a/charts/partners/ibm-edge/demo-helm/OWNERS b/charts/partners/ibm-edge/demo-helm/OWNERS index e900bf105..23eeefff4 100644 --- a/charts/partners/ibm-edge/demo-helm/OWNERS +++ b/charts/partners/ibm-edge/demo-helm/OWNERS @@ -1,7 +1,8 @@ chart: name: demo-helm shortDescription: test -publicPgpKey: null +providerDelivery: false +publicPgpKey: unknown users: - githubUsername: rhm-samples - githubUsername: demo123 diff --git a/charts/partners/ibm-edge/nodered-chart/OWNERS b/charts/partners/ibm-edge/nodered-chart/OWNERS index d77d42253..053446cfc 100644 --- a/charts/partners/ibm-edge/nodered-chart/OWNERS +++ b/charts/partners/ibm-edge/nodered-chart/OWNERS @@ -1,7 +1,8 @@ chart: name: nodered-chart shortDescription: Node-RED is a flow-based programming tool. -publicPgpKey: null +providerDelivery: false +publicPgpKey: unknown users: - githubUsername: rhm-samples - githubUsername: prajyotnarulkar25 diff --git a/charts/partners/ibm/ibm-b2bi-prod/OWNERS b/charts/partners/ibm/ibm-b2bi-prod/OWNERS index 84e92aad3..32ff210d6 100644 --- a/charts/partners/ibm/ibm-b2bi-prod/OWNERS +++ b/charts/partners/ibm/ibm-b2bi-prod/OWNERS @@ -1,10 +1,11 @@ chart: name: ibm-b2bi-prod - shortDescription: null -publicPgpKey: null + shortDescription: unknown +providerDelivery: false +publicPgpKey: unknown users: - githubUsername: nikeshmi - githubUsername: imdad000 vendor: label: ibm - name: IBM Japan, Ltd. + name: IBM Corporation diff --git a/charts/partners/ibm/ibm-connect-direct/OWNERS b/charts/partners/ibm/ibm-connect-direct/OWNERS index 425257641..c5bcf96b8 100644 --- a/charts/partners/ibm/ibm-connect-direct/OWNERS +++ b/charts/partners/ibm/ibm-connect-direct/OWNERS @@ -1,8 +1,9 @@ chart: name: ibm-connect-direct shortDescription: unknown +providerDelivery: false publicPgpKey: unknown users: [] vendor: label: ibm - name: IBM + name: IBM Corporation diff --git a/charts/partners/ibm/ibm-object-storage-plugin/OWNERS b/charts/partners/ibm/ibm-object-storage-plugin/OWNERS index cd8fad3f1..05456c70b 100644 --- a/charts/partners/ibm/ibm-object-storage-plugin/OWNERS +++ b/charts/partners/ibm/ibm-object-storage-plugin/OWNERS @@ -1,11 +1,12 @@ chart: name: ibm-object-storage-plugin - shortDescription: null -publicPgpKey: null + shortDescription: unknown +providerDelivery: false +publicPgpKey: unknown users: - githubUsername: ambiknai - githubUsername: nkkashyap - githubUsername: Bhagyashreek8 vendor: label: ibm - name: IBM + name: IBM Corporation diff --git a/charts/partners/ibm/ibm-oms-ent-prod/OWNERS b/charts/partners/ibm/ibm-oms-ent-prod/OWNERS index 4e484a979..96b4a6fc5 100644 --- a/charts/partners/ibm/ibm-oms-ent-prod/OWNERS +++ b/charts/partners/ibm/ibm-oms-ent-prod/OWNERS @@ -1,9 +1,10 @@ chart: name: ibm-oms-ent-prod - shortDescription: null -publicPgpKey: null + shortDescription: unknown +providerDelivery: false +publicPgpKey: unknown users: - githubUsername: ntinvo vendor: label: ibm - name: IBM + name: IBM Corporation diff --git a/charts/partners/ibm/ibm-oms-pro-prod/OWNERS b/charts/partners/ibm/ibm-oms-pro-prod/OWNERS index e1e6d20ae..c8c87845b 100644 --- a/charts/partners/ibm/ibm-oms-pro-prod/OWNERS +++ b/charts/partners/ibm/ibm-oms-pro-prod/OWNERS @@ -1,9 +1,10 @@ chart: name: ibm-oms-pro-prod - shortDescription: null -publicPgpKey: null + shortDescription: unknown +providerDelivery: false +publicPgpKey: unknown users: - githubUsername: ntinvo vendor: label: ibm - name: IBM + name: IBM Corporation diff --git a/charts/partners/ibm/ibm-operator-catalog-enablement/OWNERS b/charts/partners/ibm/ibm-operator-catalog-enablement/OWNERS index 564506b83..d76e6c39e 100644 --- a/charts/partners/ibm/ibm-operator-catalog-enablement/OWNERS +++ b/charts/partners/ibm/ibm-operator-catalog-enablement/OWNERS @@ -1,10 +1,11 @@ chart: name: ibm-operator-catalog-enablement - shortDescription: null -publicPgpKey: null + shortDescription: unknown +providerDelivery: false +publicPgpKey: unknown users: - githubUsername: morstad - githubUsername: rondamus vendor: label: ibm - name: IBM + name: IBM Corporation diff --git a/charts/partners/ibm/ibm-sfg-prod/OWNERS b/charts/partners/ibm/ibm-sfg-prod/OWNERS index d9273f781..793318e2b 100644 --- a/charts/partners/ibm/ibm-sfg-prod/OWNERS +++ b/charts/partners/ibm/ibm-sfg-prod/OWNERS @@ -1,10 +1,11 @@ chart: name: ibm-sfg-prod - shortDescription: null -publicPgpKey: null + shortDescription: unknown +providerDelivery: false +publicPgpKey: unknown users: - githubUsername: nikeshmi - githubUsername: imdad000 vendor: label: ibm - name: IBM Japan, Ltd. + name: IBM Corporation diff --git a/charts/partners/ibm/ibm-spectrum-protect-plus-prod/OWNERS b/charts/partners/ibm/ibm-spectrum-protect-plus-prod/OWNERS index 26ef9d8d2..722596fe8 100644 --- a/charts/partners/ibm/ibm-spectrum-protect-plus-prod/OWNERS +++ b/charts/partners/ibm/ibm-spectrum-protect-plus-prod/OWNERS @@ -1,9 +1,10 @@ chart: name: ibm-spectrum-protect-plus-prod - shortDescription: null -publicPgpKey: null + shortDescription: unknown +providerDelivery: false +publicPgpKey: unknown users: - githubUsername: emcollin vendor: label: ibm - name: IBM + name: IBM Corporation diff --git a/charts/partners/illumio/illumio/OWNERS b/charts/partners/illumio/illumio/OWNERS index a93eb33e1..d2086ddf8 100644 --- a/charts/partners/illumio/illumio/OWNERS +++ b/charts/partners/illumio/illumio/OWNERS @@ -1,8 +1,8 @@ chart: name: illumio - shortDescription: null -publicPgpKey: null -providerDelivery: True + shortDescription: unknown +providerDelivery: true +publicPgpKey: unknown users: - githubUsername: jan-lucansky vendor: diff --git a/charts/partners/inaccel/fpga-operator/OWNERS b/charts/partners/inaccel/fpga-operator/OWNERS index b7a43eb40..215909f50 100644 --- a/charts/partners/inaccel/fpga-operator/OWNERS +++ b/charts/partners/inaccel/fpga-operator/OWNERS @@ -1,7 +1,8 @@ chart: name: fpga-operator shortDescription: Simplifying FPGA management in Kubernetes -publicPgpKey: null +providerDelivery: false +publicPgpKey: unknown users: - githubUsername: eliaskoromilas vendor: diff --git a/charts/partners/intracom-telecom/nfvri-chart/OWNERS b/charts/partners/intracom-telecom/nfvri-chart/OWNERS index 8b6af6e0b..fc327e011 100644 --- a/charts/partners/intracom-telecom/nfvri-chart/OWNERS +++ b/charts/partners/intracom-telecom/nfvri-chart/OWNERS @@ -1,7 +1,8 @@ chart: name: nfvri-chart shortDescription: NFV-RI (TM) Helm Chart Repository -publicPgpKey: null +providerDelivery: false +publicPgpKey: unknown users: - githubUsername: angelouev - githubUsername: danielchristod diff --git a/charts/partners/intracom-telecom/nfvri/OWNERS b/charts/partners/intracom-telecom/nfvri/OWNERS index 64a638543..bb7e0c1fb 100644 --- a/charts/partners/intracom-telecom/nfvri/OWNERS +++ b/charts/partners/intracom-telecom/nfvri/OWNERS @@ -2,7 +2,7 @@ chart: name: nfvri shortDescription: NFV-RI (TM) Helm Chart Repository providerDelivery: true -publicPgpKey: null +publicPgpKey: unknown users: - githubUsername: angelouev - githubUsername: vaspapts diff --git a/charts/partners/iomesh/iomesh-csidriver/OWNERS b/charts/partners/iomesh/iomesh-csidriver/OWNERS index e3c691b04..6b3565d86 100644 --- a/charts/partners/iomesh/iomesh-csidriver/OWNERS +++ b/charts/partners/iomesh/iomesh-csidriver/OWNERS @@ -1,6 +1,7 @@ chart: name: iomesh-csidriver shortDescription: unknown +providerDelivery: false publicPgpKey: unknown users: [] vendor: diff --git a/charts/partners/iomesh/iomesh-operator/OWNERS b/charts/partners/iomesh/iomesh-operator/OWNERS index 1242aa407..96e8c441c 100644 --- a/charts/partners/iomesh/iomesh-operator/OWNERS +++ b/charts/partners/iomesh/iomesh-operator/OWNERS @@ -1,6 +1,7 @@ chart: name: iomesh-operator shortDescription: unknown +providerDelivery: false publicPgpKey: unknown users: [] vendor: diff --git a/charts/partners/kovair/kovairdevops-helm/OWNERS b/charts/partners/kovair/kovairdevops-helm/OWNERS index 28a55034d..28db6b3bb 100644 --- a/charts/partners/kovair/kovairdevops-helm/OWNERS +++ b/charts/partners/kovair/kovairdevops-helm/OWNERS @@ -1,7 +1,8 @@ chart: name: kovairdevops-helm shortDescription: Kovair DevOps Application Frontend Container -publicPgpKey: null +providerDelivery: false +publicPgpKey: unknown users: - githubUsername: saaj562 vendor: diff --git a/charts/partners/lacework/lacework-agent/OWNERS b/charts/partners/lacework/lacework-agent/OWNERS index 2650ba305..500a9a740 100644 --- a/charts/partners/lacework/lacework-agent/OWNERS +++ b/charts/partners/lacework/lacework-agent/OWNERS @@ -1,7 +1,8 @@ chart: name: lacework-agent shortDescription: Lacework Agent Helm Charts -publicPgpKey: null +providerDelivery: false +publicPgpKey: unknown users: - githubUsername: cirego - githubUsername: nschmeller diff --git a/charts/partners/mavenir/amf/OWNERS b/charts/partners/mavenir/amf/OWNERS index 5221e97e4..7c4588dd1 100644 --- a/charts/partners/mavenir/amf/OWNERS +++ b/charts/partners/mavenir/amf/OWNERS @@ -1,8 +1,8 @@ chart: name: amf shortDescription: Mavenir 5GCore AMF CNF Helm charts -publicPgpKey: null -providerDelivery: True +providerDelivery: true +publicPgpKey: unknown users: - githubUsername: k-anirwan vendor: diff --git a/charts/partners/mavenir/ausf/OWNERS b/charts/partners/mavenir/ausf/OWNERS index b8d982a51..c2f5ee6af 100644 --- a/charts/partners/mavenir/ausf/OWNERS +++ b/charts/partners/mavenir/ausf/OWNERS @@ -1,8 +1,8 @@ chart: name: ausf shortDescription: Mavenir 5GCore AUSF CNF Helm charts -publicPgpKey: null -providerDelivery: True +providerDelivery: true +publicPgpKey: unknown users: - githubUsername: k-anirwan vendor: diff --git a/charts/partners/mavenir/ksync/OWNERS b/charts/partners/mavenir/ksync/OWNERS index 1f369a877..50b6883b2 100644 --- a/charts/partners/mavenir/ksync/OWNERS +++ b/charts/partners/mavenir/ksync/OWNERS @@ -1,8 +1,8 @@ chart: name: ksync shortDescription: Mavenir 5GCore KSYNC CNF Helm charts -publicPgpKey: null -providerDelivery: True +providerDelivery: true +publicPgpKey: unknown users: - githubUsername: k-anirwan vendor: diff --git a/charts/partners/mavenir/mtcil/OWNERS b/charts/partners/mavenir/mtcil/OWNERS index fdbad40c4..84994ef54 100644 --- a/charts/partners/mavenir/mtcil/OWNERS +++ b/charts/partners/mavenir/mtcil/OWNERS @@ -1,8 +1,8 @@ chart: name: mtcil - shortDescription: null + shortDescription: unknown providerDelivery: true -publicPgpKey: null +publicPgpKey: unknown users: - githubUsername: shantanushivanekar123 vendor: diff --git a/charts/partners/mavenir/nrf/OWNERS b/charts/partners/mavenir/nrf/OWNERS index 8ff97f508..511950c83 100644 --- a/charts/partners/mavenir/nrf/OWNERS +++ b/charts/partners/mavenir/nrf/OWNERS @@ -1,8 +1,8 @@ chart: name: nrf shortDescription: Mavenir 5GCore NRF CNF Helm charts -publicPgpKey: null -providerDelivery: True +providerDelivery: true +publicPgpKey: unknown users: - githubUsername: k-anirwan vendor: diff --git a/charts/partners/mavenir/nssf/OWNERS b/charts/partners/mavenir/nssf/OWNERS index 670534cde..133da58c9 100644 --- a/charts/partners/mavenir/nssf/OWNERS +++ b/charts/partners/mavenir/nssf/OWNERS @@ -1,8 +1,8 @@ chart: name: nssf shortDescription: Mavenir 5GCore NSSF CNF Helm charts -publicPgpKey: null -providerDelivery: True +providerDelivery: true +publicPgpKey: unknown users: - githubUsername: k-anirwan vendor: diff --git a/charts/partners/mavenir/pcf/OWNERS b/charts/partners/mavenir/pcf/OWNERS index 2f8bf75a7..712a3714b 100644 --- a/charts/partners/mavenir/pcf/OWNERS +++ b/charts/partners/mavenir/pcf/OWNERS @@ -1,8 +1,8 @@ chart: name: pcf shortDescription: Mavenir 5GCore PCF CNF Helm charts -publicPgpKey: null -providerDelivery: True +providerDelivery: true +publicPgpKey: unknown users: - githubUsername: k-anirwan vendor: diff --git a/charts/partners/mavenir/smf/OWNERS b/charts/partners/mavenir/smf/OWNERS index 614f97a52..c11acb19f 100644 --- a/charts/partners/mavenir/smf/OWNERS +++ b/charts/partners/mavenir/smf/OWNERS @@ -1,8 +1,8 @@ chart: name: smf shortDescription: Mavenir 5GCore SMF CNF Helm charts -publicPgpKey: null -providerDelivery: True +providerDelivery: true +publicPgpKey: unknown users: - githubUsername: k-anirwan vendor: diff --git a/charts/partners/mavenir/udm/OWNERS b/charts/partners/mavenir/udm/OWNERS index 280e8af27..d79f1f9b0 100644 --- a/charts/partners/mavenir/udm/OWNERS +++ b/charts/partners/mavenir/udm/OWNERS @@ -1,8 +1,8 @@ chart: name: udm shortDescription: Mavenir 5GCore UDM CNF Helm charts -publicPgpKey: null -providerDelivery: True +providerDelivery: true +publicPgpKey: unknown users: - githubUsername: k-anirwan vendor: diff --git a/charts/partners/mavenir/udr/OWNERS b/charts/partners/mavenir/udr/OWNERS index d61bb6113..0aa427bd4 100644 --- a/charts/partners/mavenir/udr/OWNERS +++ b/charts/partners/mavenir/udr/OWNERS @@ -1,8 +1,8 @@ chart: name: udr shortDescription: Mavenir 5GCore UDR CNF Helm charts -publicPgpKey: null -providerDelivery: True +providerDelivery: true +publicPgpKey: unknown users: - githubUsername: k-anirwan vendor: diff --git a/charts/partners/mavenir/udsf/OWNERS b/charts/partners/mavenir/udsf/OWNERS index b4e177dd5..8af81f1e4 100644 --- a/charts/partners/mavenir/udsf/OWNERS +++ b/charts/partners/mavenir/udsf/OWNERS @@ -1,8 +1,8 @@ chart: name: udsf shortDescription: Mavenir 5GCore UDSF CNF Helm charts -publicPgpKey: null -providerDelivery: True +providerDelivery: true +publicPgpKey: unknown users: - githubUsername: k-anirwan vendor: diff --git a/charts/partners/mavenir/upf/OWNERS b/charts/partners/mavenir/upf/OWNERS index a6c36695b..9c156dcc0 100644 --- a/charts/partners/mavenir/upf/OWNERS +++ b/charts/partners/mavenir/upf/OWNERS @@ -1,8 +1,8 @@ chart: name: upf shortDescription: Mavenir 5GCore UPF CNF Helm charts -publicPgpKey: null -providerDelivery: True +providerDelivery: true +publicPgpKey: unknown users: - githubUsername: k-anirwan vendor: diff --git a/charts/partners/memverge/mmai/1.0.0/report.yaml b/charts/partners/memverge/mmai/1.0.0/report.yaml new file mode 100644 index 000000000..6e9a4d7a9 --- /dev/null +++ b/charts/partners/memverge/mmai/1.0.0/report.yaml @@ -0,0 +1,100 @@ +apiversion: v1 +kind: verify-report +metadata: + tool: + verifier-version: 1.13.13 + profile: + VendorType: partner + version: v1.3 + reportDigest: uint64:12547936785746172580 + chart-uri: N/A + digests: + chart: sha256:f167f8c990d85170a6f63bafedaf3088af40d0015810d869636328a9f1c4859b + package: c3ea09fcf8a83dbde191a4b91ed2485af503186fb77973e5cd53b85855bc99a7 + lastCertifiedTimestamp: "2025-10-06T23:07:38.831763+00:00" + testedOpenShiftVersion: "4.18" + supportedOpenShiftVersions: '>=4.16' + webCatalogOnly: true + chart: + name: mmai + home: "" + sources: [] + version: 1.0.0 + description: Memory Machine AI (MMAI) Management Plane + keywords: [] + maintainers: [] + icon: "" + apiversion: v2 + condition: "" + tags: "" + appversion: v1.0.0 + deprecated: false + annotations: + charts.openshift.io/name: mmai + kubeversion: '>= 1.29.0-0' + dependencies: [] + type: application + chart-overrides: "" +results: + - check: v1.0/has-notes + type: Optional + outcome: PASS + reason: Chart does contain NOTES.txt + - check: v1.1/images-are-certified + type: Mandatory + outcome: PASS + reason: |- + Image is Red Hat certified : ghcr.io/memverge/k8s-cli:v0.1.0 + Image is Red Hat certified : ghcr.io/memverge/mmai-billing:v1.0.0 + Image is Red Hat certified : ghcr.io/memverge/mysql:v8.0-1 + Image is Red Hat certified : ghcr.io/memverge/mmai:v1.0.0 + Image is Red Hat certified : registry.access.redhat.com/ubi9/python-312:9.5 + - check: v1.0/not-contain-csi-objects + type: Mandatory + outcome: PASS + reason: CSI objects do not exist + - check: v1.0/not-contains-crds + type: Mandatory + outcome: PASS + reason: Chart does not contain CRDs + - check: v1.0/required-annotations-present + type: Mandatory + outcome: PASS + reason: All required annotations present + - check: v1.0/contains-values-schema + type: Mandatory + outcome: PASS + reason: Values schema file exist + - check: v1.0/contains-values + type: Mandatory + outcome: PASS + reason: Values file exist + - check: v1.1/has-kubeversion + type: Mandatory + outcome: PASS + reason: Kubernetes version specified + - check: v1.0/helm-lint + type: Mandatory + outcome: PASS + reason: Helm lint successful + - check: v1.0/is-helm-v3 + type: Mandatory + outcome: PASS + reason: API version is V2, used in Helm 3 + - check: v1.0/chart-testing + type: Mandatory + outcome: PASS + reason: Chart tests have passed + - check: v1.0/contains-test + type: Mandatory + outcome: PASS + reason: Chart test files exist + - check: v1.0/has-readme + type: Mandatory + outcome: PASS + reason: Chart has a README + - check: v1.0/signature-is-valid + type: Mandatory + outcome: SKIPPED + reason: 'Chart is not signed : Signature verification not required' + diff --git a/charts/partners/memverge/mmai/OWNERS b/charts/partners/memverge/mmai/OWNERS new file mode 100644 index 000000000..44aa13bb0 --- /dev/null +++ b/charts/partners/memverge/mmai/OWNERS @@ -0,0 +1,11 @@ +chart: + name: mmai + shortDescription: Helm Chart of MMAI GPU Cluster Manager +providerDelivery: true +publicPgpKey: unknown +users: +- githubUsername: memverge-build +- githubUsername: xiongzubiao +vendor: + label: memverge + name: MemVerge diff --git a/charts/partners/memverge/mvtco/1.1.0/report.yaml b/charts/partners/memverge/mvtco/1.1.0/report.yaml new file mode 100644 index 000000000..3328e420d --- /dev/null +++ b/charts/partners/memverge/mvtco/1.1.0/report.yaml @@ -0,0 +1,101 @@ +apiversion: v1 +kind: verify-report +metadata: + tool: + verifier-version: 1.13.13 + profile: + VendorType: partner + version: v1.3 + reportDigest: uint64:3376497185880928119 + chart-uri: N/A + digests: + chart: sha256:3f9519b2b05c26121defa6a92d3dcd25de7d180b3f5af3eed7a6eaa2f275cffe + package: 50ac4cddbbf09fc5c0f703c82841d90dd08ec7dd89de804275c28f959fce491a + lastCertifiedTimestamp: "2025-09-29T20:38:49.509637+00:00" + testedOpenShiftVersion: "4.18" + supportedOpenShiftVersions: '>=4.18' + webCatalogOnly: true + chart: + name: mvtco + home: "" + sources: [] + version: 1.1.0 + description: Install MemVerge Transparent Checkpoint Operator + keywords: [] + maintainers: [] + icon: "" + apiversion: v2 + condition: "" + tags: "" + appversion: v1.1.0 + deprecated: false + annotations: + charts.openshift.io/name: mvtco + kubeversion: '>= 1.31.0-0' + dependencies: + - name: loki-stack + version: 2.10.2 + repository: https://grafana.github.io/helm-charts + condition: loki-stack.enabled + type: application + chart-overrides: "" +results: + - check: v1.1/has-kubeversion + type: Mandatory + outcome: PASS + reason: Kubernetes version specified + - check: v1.0/has-readme + type: Mandatory + outcome: PASS + reason: Chart has a README + - check: v1.0/is-helm-v3 + type: Mandatory + outcome: PASS + reason: API version is V2, used in Helm 3 + - check: v1.0/helm-lint + type: Mandatory + outcome: PASS + reason: Helm lint successful + - check: v1.0/contains-test + type: Mandatory + outcome: PASS + reason: Chart test files exist + - check: v1.0/contains-values-schema + type: Mandatory + outcome: PASS + reason: Values schema file exist + - check: v1.0/not-contain-csi-objects + type: Mandatory + outcome: PASS + reason: CSI objects do not exist + - check: v1.0/has-notes + type: Optional + outcome: PASS + reason: Chart does contain NOTES.txt + - check: v1.1/images-are-certified + type: Mandatory + outcome: PASS + reason: |- + Image is Red Hat certified : ghcr.io/memverge/mvtco:v1.1.0 + Image is Red Hat certified : ghcr.io/memverge/k8s-cli:v0.1.0 + - check: v1.0/not-contains-crds + type: Mandatory + outcome: PASS + reason: Chart does not contain CRDs + - check: v1.0/required-annotations-present + type: Mandatory + outcome: PASS + reason: All required annotations present + - check: v1.0/signature-is-valid + type: Mandatory + outcome: SKIPPED + reason: 'Chart is not signed : Signature verification not required' + - check: v1.0/chart-testing + type: Mandatory + outcome: PASS + reason: Chart tests have passed + - check: v1.0/contains-values + type: Mandatory + outcome: PASS + reason: Values file exist + diff --git a/charts/partners/mobileum/alerter/OWNERS b/charts/partners/mobileum/alerter/OWNERS index bd91f915b..2d482af12 100644 --- a/charts/partners/mobileum/alerter/OWNERS +++ b/charts/partners/mobileum/alerter/OWNERS @@ -2,7 +2,7 @@ chart: name: alerter shortDescription: Mobileum Private Repository providerDelivery: true -publicPgpKey: null +publicPgpKey: unknown users: - githubUsername: mobaipws vendor: diff --git a/charts/partners/mobileum/caddy015/OWNERS b/charts/partners/mobileum/caddy015/OWNERS index 76a2dfc58..26ce5b8da 100644 --- a/charts/partners/mobileum/caddy015/OWNERS +++ b/charts/partners/mobileum/caddy015/OWNERS @@ -2,7 +2,7 @@ chart: name: caddy015 shortDescription: Mobileum Private Repository providerDelivery: true -publicPgpKey: null +publicPgpKey: unknown users: - githubUsername: mobaipws vendor: diff --git a/charts/partners/mobileum/data-sync/OWNERS b/charts/partners/mobileum/data-sync/OWNERS index 472dc2195..8fda43a20 100644 --- a/charts/partners/mobileum/data-sync/OWNERS +++ b/charts/partners/mobileum/data-sync/OWNERS @@ -1,8 +1,8 @@ chart: name: data-sync - shortDescription: null + shortDescription: unknown providerDelivery: true -publicPgpKey: null +publicPgpKey: unknown users: - githubUsername: mobaipws vendor: diff --git a/charts/partners/mobileum/ignite/OWNERS b/charts/partners/mobileum/ignite/OWNERS index 6599407cb..bd03afa0a 100644 --- a/charts/partners/mobileum/ignite/OWNERS +++ b/charts/partners/mobileum/ignite/OWNERS @@ -2,7 +2,7 @@ chart: name: ignite shortDescription: Mobileum Private Repository providerDelivery: true -publicPgpKey: null +publicPgpKey: unknown users: - githubUsername: mobaipws vendor: diff --git a/charts/partners/mobileum/keycloak040/OWNERS b/charts/partners/mobileum/keycloak040/OWNERS index 0fd706e9b..f4134aa2d 100644 --- a/charts/partners/mobileum/keycloak040/OWNERS +++ b/charts/partners/mobileum/keycloak040/OWNERS @@ -2,7 +2,7 @@ chart: name: keycloak040 shortDescription: Mobileum Private Repository providerDelivery: true -publicPgpKey: null +publicPgpKey: unknown users: - githubUsername: mobaipws vendor: diff --git a/charts/partners/mobileum/sparkjobmanager/OWNERS b/charts/partners/mobileum/sparkjobmanager/OWNERS index 244ed8284..34d09bdac 100644 --- a/charts/partners/mobileum/sparkjobmanager/OWNERS +++ b/charts/partners/mobileum/sparkjobmanager/OWNERS @@ -2,7 +2,7 @@ chart: name: sparkjobmanager shortDescription: Mobileum Private Repository providerDelivery: true -publicPgpKey: null +publicPgpKey: unknown users: - githubUsername: mobaipws vendor: diff --git a/charts/partners/mobileum/trinodb/OWNERS b/charts/partners/mobileum/trinodb/OWNERS index e848a57c1..6c30246f9 100644 --- a/charts/partners/mobileum/trinodb/OWNERS +++ b/charts/partners/mobileum/trinodb/OWNERS @@ -1,8 +1,8 @@ chart: name: trinodb - shortDescription: null + shortDescription: unknown providerDelivery: true -publicPgpKey: null +publicPgpKey: unknown users: - githubUsername: mobaipws vendor: diff --git a/charts/partners/mobileum/wafplatform/OWNERS b/charts/partners/mobileum/wafplatform/OWNERS index 2550b717d..f4654f98f 100644 --- a/charts/partners/mobileum/wafplatform/OWNERS +++ b/charts/partners/mobileum/wafplatform/OWNERS @@ -2,7 +2,7 @@ chart: name: wafplatform shortDescription: Mobileum Private Repository providerDelivery: true -publicPgpKey: null +publicPgpKey: unknown users: - githubUsername: mobaipws vendor: diff --git a/charts/partners/multipolar/bpjstk-service/OWNERS b/charts/partners/multipolar/bpjstk-service/OWNERS index 6cd78e658..7e330607c 100644 --- a/charts/partners/multipolar/bpjstk-service/OWNERS +++ b/charts/partners/multipolar/bpjstk-service/OWNERS @@ -7,4 +7,4 @@ users: - githubUsername: andrianrf vendor: label: multipolar - name: PT. Multipolar Tbk + name: PT. Multipolar Technology Tbk diff --git a/charts/partners/nebulon/nebulon-csi-nebulon/OWNERS b/charts/partners/nebulon/nebulon-csi-nebulon/OWNERS index 1ecb24e18..2a02da3cc 100644 --- a/charts/partners/nebulon/nebulon-csi-nebulon/OWNERS +++ b/charts/partners/nebulon/nebulon-csi-nebulon/OWNERS @@ -1,7 +1,8 @@ chart: name: nebulon-csi-nebulon - shortDescription: null -publicPgpKey: null + shortDescription: unknown +providerDelivery: false +publicPgpKey: unknown users: - githubUsername: priyanka@nebulon.com vendor: diff --git a/charts/partners/nirmata/kyverno/OWNERS b/charts/partners/nirmata/kyverno/OWNERS index a07ff238a..f8445a106 100644 --- a/charts/partners/nirmata/kyverno/OWNERS +++ b/charts/partners/nirmata/kyverno/OWNERS @@ -1,7 +1,8 @@ chart: name: kyverno shortDescription: Kyverno is a Kubernetes Native Policy Management engine. -publicPgpKey: null +providerDelivery: false +publicPgpKey: unknown users: - githubUsername: realshuting - githubUsername: patelrit diff --git a/charts/partners/nokia/cmm-operator-k8s/25.7.0-p1/report.yaml b/charts/partners/nokia/cmm-operator-k8s/25.7.0-p1/report.yaml new file mode 100644 index 000000000..5371a14cf --- /dev/null +++ b/charts/partners/nokia/cmm-operator-k8s/25.7.0-p1/report.yaml @@ -0,0 +1,98 @@ +apiversion: v1 +kind: verify-report +metadata: + tool: + verifier-version: 1.13.13 + profile: + VendorType: partner + version: v1.3 + reportDigest: uint64:2383097837922272243 + chart-uri: N/A + digests: + chart: sha256:e50e1fb27a3c35c13a260e6d74987b2c58b661f31f25ac134fbb435c4850d922 + package: 0dc4f5899003ce77b19ed2ae4bb98b317671900e5f9499e6bd1df33577f9e758 + lastCertifiedTimestamp: "2025-09-16T06:18:26.594634+00:00" + testedOpenShiftVersion: "4.18" + supportedOpenShiftVersions: '>=4.7' + webCatalogOnly: true + chart: + name: cmm-operator-k8s + home: "" + sources: [] + version: 25.7.0-p1 + description: A Helm chart for CMM in Kubernetes using operators + keywords: [] + maintainers: [] + icon: https://www.nokia.com/chart-icon.png + apiversion: v2 + condition: "" + tags: "" + appversion: "" + deprecated: false + annotations: + charts.openshift.io/archs: x86_64 + charts.openshift.io/name: Nokia CMM + charts.openshift.io/provider: Nokia + charts.openshift.io/supportURL: https://github.com/nokiacmm/helm-chart + kubeversion: '>= 1.20.0-0' + dependencies: [] + type: application + chart-overrides: "" +results: + - check: v1.0/contains-values + type: Mandatory + outcome: PASS + reason: Values file exist + - check: v1.1/images-are-certified + type: Mandatory + outcome: PASS + reason: 'Image is Red Hat certified : quay.io/nepravee/cmm-operator:CMM25.7.0.0' + - check: v1.0/required-annotations-present + type: Mandatory + outcome: PASS + reason: All required annotations present + - check: v1.0/signature-is-valid + type: Mandatory + outcome: SKIPPED + reason: 'Chart is not signed : Signature verification not required' + - check: v1.0/contains-values-schema + type: Mandatory + outcome: PASS + reason: Values schema file exist + - check: v1.0/has-readme + type: Mandatory + outcome: PASS + reason: Chart has a README + - check: v1.0/helm-lint + type: Mandatory + outcome: PASS + reason: Helm lint successful + - check: v1.0/is-helm-v3 + type: Mandatory + outcome: PASS + reason: API version is V2, used in Helm 3 + - check: v1.0/not-contain-csi-objects + type: Mandatory + outcome: PASS + reason: CSI objects do not exist + - check: v1.0/has-notes + type: Optional + outcome: PASS + reason: Chart does contain NOTES.txt + - check: v1.0/not-contains-crds + type: Mandatory + outcome: PASS + reason: Chart does not contain CRDs + - check: v1.0/chart-testing + type: Mandatory + outcome: PASS + reason: Chart tests have passed + - check: v1.0/contains-test + type: Mandatory + outcome: PASS + reason: Chart test files exist + - check: v1.1/has-kubeversion + type: Mandatory + outcome: PASS + reason: Kubernetes version specified + diff --git a/charts/partners/nonamesec/noname-security-sensor-ubi/3.3.45-rhel/report.yaml b/charts/partners/nonamesec/noname-security-sensor-ubi/3.3.45-rhel/report.yaml new file mode 100644 index 000000000..57ffa4e23 --- /dev/null +++ b/charts/partners/nonamesec/noname-security-sensor-ubi/3.3.45-rhel/report.yaml @@ -0,0 +1,94 @@ +apiversion: v1 +kind: verify-report +metadata: + tool: + verifier-version: 1.13.12 + profile: + VendorType: partner + version: v1.3 + reportDigest: uint64:12375938402040610962 + chart-uri: N/A + digests: + chart: sha256:e9fffc555ffc2ddbf7be886d08ffff738a29395c335905b89bb730988aa0bf6b + package: af8ce4af306b57f009d255e494cc62fa25adadb404ea5e0425c58b836b99c6e2 + lastCertifiedTimestamp: "2025-08-24T15:49:50.470739+00:00" + testedOpenShiftVersion: "4.18" + supportedOpenShiftVersions: '>=4.9' + webCatalogOnly: true + chart: + name: noname-security-sensor-ubi + home: "" + sources: [] + version: 3.3.45-rhel + description: A Helm chart for Kubernetes + keywords: [] + maintainers: [] + icon: "" + apiversion: v2 + condition: "" + tags: "" + appversion: 3.3.45-rhel + deprecated: false + annotations: + charts.openshift.io/name: noname-security-sensor + kubeversion: '>=1.22.0-0' + dependencies: [] + type: application + chart-overrides: "" +results: + - check: v1.0/has-notes + type: Optional + outcome: FAIL + reason: Chart does not contain NOTES.txt + - check: v1.0/not-contain-csi-objects + type: Mandatory + outcome: PASS + reason: CSI objects do not exist + - check: v1.0/contains-values-schema + type: Mandatory + outcome: PASS + reason: Values schema file exist + - check: v1.1/images-are-certified + type: Mandatory + outcome: PASS + reason: 'Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/noname-sensor:3.3.45-rhel' + - check: v1.0/required-annotations-present + type: Mandatory + outcome: PASS + reason: All required annotations present + - check: v1.0/signature-is-valid + type: Mandatory + outcome: SKIPPED + reason: 'Chart is not signed : Signature verification not required' + - check: v1.1/has-kubeversion + type: Mandatory + outcome: PASS + reason: Kubernetes version specified + - check: v1.0/contains-test + type: Mandatory + outcome: PASS + reason: Chart test files exist + - check: v1.0/chart-testing + type: Mandatory + outcome: PASS + reason: Chart tests have passed + - check: v1.0/helm-lint + type: Mandatory + outcome: PASS + reason: Helm lint successful + - check: v1.0/contains-values + type: Mandatory + outcome: PASS + reason: Values file exist + - check: v1.0/not-contains-crds + type: Mandatory + outcome: PASS + reason: Chart does not contain CRDs + - check: v1.0/has-readme + type: Mandatory + outcome: PASS + reason: Chart has a README + - check: v1.0/is-helm-v3 + type: Mandatory + outcome: PASS + reason: API version is V2, used in Helm 3 diff --git a/charts/partners/nonamesec/noname-security-sensor-ubi/3.3.48-rhel/report.yaml b/charts/partners/nonamesec/noname-security-sensor-ubi/3.3.48-rhel/report.yaml new file mode 100644 index 000000000..ddf9d3d02 --- /dev/null +++ b/charts/partners/nonamesec/noname-security-sensor-ubi/3.3.48-rhel/report.yaml @@ -0,0 +1,94 @@ +apiversion: v1 +kind: verify-report +metadata: + tool: + verifier-version: 1.13.13 + profile: + VendorType: partner + version: v1.3 + reportDigest: uint64:6908958828179640874 + chart-uri: N/A + digests: + chart: sha256:c57168396fefdc5345694fc04c90679d4b3e7c425c63291d7d03716563b0eb00 + package: 68737239c39746c8399d58d23d374c27084d8d1a3ea3037033494980623a25dc + lastCertifiedTimestamp: "2025-10-28T14:46:56.99126+00:00" + testedOpenShiftVersion: "4.18" + supportedOpenShiftVersions: '>=4.9' + webCatalogOnly: true + chart: + name: noname-security-sensor-ubi + home: "" + sources: [] + version: 3.3.48-rhel + description: A Helm chart for Kubernetes + keywords: [] + maintainers: [] + icon: "" + apiversion: v2 + condition: "" + tags: "" + appversion: 3.3.48-rhel + deprecated: false + annotations: + charts.openshift.io/name: noname-security-sensor + kubeversion: '>=1.22.0-0' + dependencies: [] + type: application + chart-overrides: "" +results: + - check: v1.0/contains-values + type: Mandatory + outcome: PASS + reason: Values file exist + - check: v1.0/has-notes + type: Optional + outcome: FAIL + reason: Chart does not contain NOTES.txt + - check: v1.0/not-contains-crds + type: Mandatory + outcome: PASS + reason: Chart does not contain CRDs + - check: v1.0/signature-is-valid + type: Mandatory + outcome: SKIPPED + reason: 'Chart is not signed : Signature verification not required' + - check: v1.0/chart-testing + type: Mandatory + outcome: PASS + reason: Chart tests have passed + - check: v1.0/has-readme + type: Mandatory + outcome: PASS + reason: Chart has a README + - check: v1.1/images-are-certified + type: Mandatory + outcome: PASS + reason: 'Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/noname-sensor:3.3.48-rhel' + - check: v1.0/is-helm-v3 + type: Mandatory + outcome: PASS + reason: API version is V2, used in Helm 3 + - check: v1.0/helm-lint + type: Mandatory + outcome: PASS + reason: Helm lint successful + - check: v1.0/not-contain-csi-objects + type: Mandatory + outcome: PASS + reason: CSI objects do not exist + - check: v1.0/required-annotations-present + type: Mandatory + outcome: PASS + reason: All required annotations present + - check: v1.0/contains-test + type: Mandatory + outcome: PASS + reason: Chart test files exist + - check: v1.1/has-kubeversion + type: Mandatory + outcome: PASS + reason: Kubernetes version specified + - check: v1.0/contains-values-schema + type: Mandatory + outcome: PASS + reason: Values schema file exist diff --git a/charts/partners/nonamesec/nonamesec-ubi/3.46.16-lts/report.yaml b/charts/partners/nonamesec/nonamesec-ubi/3.46.16-lts/report.yaml new file mode 100644 index 000000000..7c8849069 --- /dev/null +++ b/charts/partners/nonamesec/nonamesec-ubi/3.46.16-lts/report.yaml @@ -0,0 +1,168 @@ +apiversion: v1 +kind: verify-report +metadata: + tool: + verifier-version: 1.13.12 + profile: + VendorType: partner + version: v1.3 + reportDigest: uint64:16815478814945506975 + chart-uri: N/A + digests: + chart: sha256:927de9ccfe91d02556edec97aa971ed3f9c3d6c8342b332e1733e5c51ecf6588 + package: 990b359e6681f8fd88b7681b4ee290706f23645022ca3c35e15d2567de0ca072 + lastCertifiedTimestamp: "2025-08-25T13:02:13.10221+00:00" + testedOpenShiftVersion: "4.14" + supportedOpenShiftVersions: '>=4.1' + webCatalogOnly: true + chart: + name: nonamesec-ubi + home: "" + sources: [] + version: 3.46.16-lts + description: Noname Helm on k8s + keywords: [] + maintainers: [] + icon: "" + apiversion: v2 + condition: "" + tags: "" + appversion: 3.46.16-lts + deprecated: false + annotations: + charts.openshift.io/name: Remote Engine + kubeversion: '>=1.0.0-0' + dependencies: + - name: noname + version: 0.1.0 + repository: file://charts/noname + condition: global.noname.enabled + tags: [] + enabled: false + importvalues: [] + alias: "" + - name: engine + version: 0.1.0 + repository: file://charts/engine + condition: global.engine.enabled + tags: [] + enabled: false + importvalues: [] + alias: "" + - name: active + version: 0.1.0 + repository: file://charts/active + condition: global.active.enabled + tags: [] + enabled: false + importvalues: [] + alias: "" + - name: platform + version: 0.1.0 + repository: file://charts/platform + condition: global.platform.enabled + tags: [] + enabled: false + importvalues: [] + alias: "" + - name: router + version: 0.1.0 + repository: file://charts/router + condition: global.router.enabled + tags: [] + enabled: false + importvalues: [] + alias: "" + - name: noagentapi + version: 0.1.0 + repository: file://charts/noagentapi + condition: noagentapi.enabled + tags: [] + enabled: false + importvalues: [] + alias: "" + - name: rabbitmq + version: 15.3.3 + repository: file://charts/rabbitmq + condition: global.noname.enabled,global.rabbitmq.enabled + tags: [] + enabled: false + importvalues: [] + alias: "" + - name: nns-eso + version: 0.1.0 + repository: file://charts/nns-eso + condition: global.nns_eso.enabled + tags: [] + enabled: false + importvalues: [] + alias: "" + type: "" + chart-overrides: "" +results: + - check: v1.1/images-are-certified + type: Mandatory + outcome: PASS + reason: |- + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/nats-jetstream:2.10.24-custom-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/cloud-metadata:v3.46.16-lts-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/heavy-engine:v3.46.16-lts-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/integrations-adapter:v3.46.16-lts-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/nogate:v3.46.16-lts-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/platform-integrations:v3.46.16-lts-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/rhel8/postgresql-15:1-66.1716485364 + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/nginx:v3.46.16-lts-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/light-engine:v3.46.16-lts-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/router:v3.46.16-lts-ubi + - check: v1.0/is-helm-v3 + type: Mandatory + outcome: PASS + reason: API version is V2, used in Helm 3 + - check: v1.0/signature-is-valid + type: Mandatory + outcome: SKIPPED + reason: 'Chart is not signed : Signature verification not required' + - check: v1.0/required-annotations-present + type: Mandatory + outcome: PASS + reason: All required annotations present + - check: v1.0/chart-testing + type: Mandatory + outcome: PASS + reason: Chart tests have passed + - check: v1.0/has-notes + type: Optional + outcome: PASS + reason: Chart does contain NOTES.txt + - check: v1.0/has-readme + type: Mandatory + outcome: PASS + reason: Chart has a README + - check: v1.0/contains-values + type: Mandatory + outcome: PASS + reason: Values file exist + - check: v1.0/contains-values-schema + type: Mandatory + outcome: PASS + reason: Values schema file exist + - check: v1.1/has-kubeversion + type: Mandatory + outcome: PASS + reason: Kubernetes version specified + - check: v1.0/contains-test + type: Mandatory + outcome: PASS + reason: Chart test files exist + - check: v1.0/not-contains-crds + type: Mandatory + outcome: PASS + reason: Chart does not contain CRDs + - check: v1.0/not-contain-csi-objects + type: Mandatory + outcome: PASS + reason: CSI objects do not exist + - check: v1.0/helm-lint + type: Mandatory + outcome: PASS + reason: Helm lint successful diff --git a/charts/partners/nonamesec/nonamesec-ubi/3.46.16/report.yaml b/charts/partners/nonamesec/nonamesec-ubi/3.46.16/report.yaml new file mode 100644 index 000000000..638109216 --- /dev/null +++ b/charts/partners/nonamesec/nonamesec-ubi/3.46.16/report.yaml @@ -0,0 +1,168 @@ +apiversion: v1 +kind: verify-report +metadata: + tool: + verifier-version: 1.13.12 + profile: + VendorType: partner + version: v1.3 + reportDigest: uint64:17111216184872945242 + chart-uri: N/A + digests: + chart: sha256:0ec07696447fef75fcfe19c4117476da96f281738f01c5898fd90b267f442b7b + package: 45ad54c54745be028c40e0ecad855fca9051490a3c555890dd2049afd70806b4 + lastCertifiedTimestamp: "2025-08-13T17:01:59.642805+00:00" + testedOpenShiftVersion: "4.14" + supportedOpenShiftVersions: '>=4.1' + webCatalogOnly: true + chart: + name: nonamesec-ubi + home: "" + sources: [] + version: 3.46.16 + description: Noname Helm on k8s + keywords: [] + maintainers: [] + icon: "" + apiversion: v2 + condition: "" + tags: "" + appversion: 3.46.16 + deprecated: false + annotations: + charts.openshift.io/name: Remote Engine + kubeversion: '>=1.0.0-0' + dependencies: + - name: noname + version: 0.1.0 + repository: file://charts/noname + condition: global.noname.enabled + tags: [] + enabled: false + importvalues: [] + alias: "" + - name: engine + version: 0.1.0 + repository: file://charts/engine + condition: global.engine.enabled + tags: [] + enabled: false + importvalues: [] + alias: "" + - name: active + version: 0.1.0 + repository: file://charts/active + condition: global.active.enabled + tags: [] + enabled: false + importvalues: [] + alias: "" + - name: platform + version: 0.1.0 + repository: file://charts/platform + condition: global.platform.enabled + tags: [] + enabled: false + importvalues: [] + alias: "" + - name: router + version: 0.1.0 + repository: file://charts/router + condition: global.router.enabled + tags: [] + enabled: false + importvalues: [] + alias: "" + - name: noagentapi + version: 0.1.0 + repository: file://charts/noagentapi + condition: noagentapi.enabled + tags: [] + enabled: false + importvalues: [] + alias: "" + - name: rabbitmq + version: 15.3.3 + repository: file://charts/rabbitmq + condition: global.noname.enabled,global.rabbitmq.enabled + tags: [] + enabled: false + importvalues: [] + alias: "" + - name: nns-eso + version: 0.1.0 + repository: file://charts/nns-eso + condition: global.nns_eso.enabled + tags: [] + enabled: false + importvalues: [] + alias: "" + type: "" + chart-overrides: "" +results: + - check: v1.0/chart-testing + type: Mandatory + outcome: PASS + reason: Chart tests have passed + - check: v1.0/contains-test + type: Mandatory + outcome: PASS + reason: Chart test files exist + - check: v1.1/images-are-certified + type: Mandatory + outcome: PASS + reason: |- + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/nginx:v3.46.16-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/light-engine:v3.46.16-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/integrations-adapter:v3.46.16-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/platform-integrations:v3.46.16-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/router:v3.46.16-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/nats-jetstream:2.10.24-custom-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/cloud-metadata:v3.46.16-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/heavy-engine:v3.46.16-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/nogate:v3.46.16-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/rhel8/postgresql-15:1-66.1716485364 + - check: v1.0/not-contains-crds + type: Mandatory + outcome: PASS + reason: Chart does not contain CRDs + - check: v1.0/signature-is-valid + type: Mandatory + outcome: SKIPPED + reason: 'Chart is not signed : Signature verification not required' + - check: v1.0/required-annotations-present + type: Mandatory + outcome: PASS + reason: All required annotations present + - check: v1.0/contains-values + type: Mandatory + outcome: PASS + reason: Values file exist + - check: v1.0/has-readme + type: Mandatory + outcome: PASS + reason: Chart has a README + - check: v1.0/contains-values-schema + type: Mandatory + outcome: PASS + reason: Values schema file exist + - check: v1.1/has-kubeversion + type: Mandatory + outcome: PASS + reason: Kubernetes version specified + - check: v1.0/has-notes + type: Optional + outcome: PASS + reason: Chart does contain NOTES.txt + - check: v1.0/is-helm-v3 + type: Mandatory + outcome: PASS + reason: API version is V2, used in Helm 3 + - check: v1.0/helm-lint + type: Mandatory + outcome: PASS + reason: Helm lint successful + - check: v1.0/not-contain-csi-objects + type: Mandatory + outcome: PASS + reason: CSI objects do not exist diff --git a/charts/partners/nonamesec/nonamesec-ubi/3.46.18-lts/report.yaml b/charts/partners/nonamesec/nonamesec-ubi/3.46.18-lts/report.yaml new file mode 100644 index 000000000..ab2973b89 --- /dev/null +++ b/charts/partners/nonamesec/nonamesec-ubi/3.46.18-lts/report.yaml @@ -0,0 +1,136 @@ +apiversion: v1 +kind: verify-report +metadata: + tool: + verifier-version: 1.13.13 + profile: + VendorType: partner + version: v1.3 + reportDigest: uint64:4984181621926751695 + chart-uri: N/A + digests: + chart: sha256:4284e9687c1e6770df8cb14407e9997260181b67e4eab76cc349caf43e5d3b52 + package: eb015e37ae7877920ed161160804637d82f7644ce54006864cb441da178008c1 + lastCertifiedTimestamp: "2025-09-14T08:50:22.912003+00:00" + testedOpenShiftVersion: "4.14" + supportedOpenShiftVersions: '>=4.1' + webCatalogOnly: true + chart: + name: nonamesec-ubi + home: "" + sources: [] + version: 3.46.18-lts + description: Noname Helm on k8s + keywords: [] + maintainers: [] + icon: "" + apiversion: v2 + condition: "" + tags: "" + appversion: 3.46.18-lts + deprecated: false + annotations: + charts.openshift.io/name: Remote Engine + kubeversion: '>=1.0.0-0' + dependencies: + - name: noname + version: 0.1.0 + repository: file://charts/noname + condition: global.noname.enabled + - name: engine + version: 0.1.0 + repository: file://charts/engine + condition: global.engine.enabled + - name: active + version: 0.1.0 + repository: file://charts/active + condition: global.active.enabled + - name: platform + version: 0.1.0 + repository: file://charts/platform + condition: global.platform.enabled + - name: router + version: 0.1.0 + repository: file://charts/router + condition: global.router.enabled + - name: noagentapi + version: 0.1.0 + repository: file://charts/noagentapi + condition: noagentapi.enabled + - name: rabbitmq + version: 15.3.3 + repository: file://charts/rabbitmq + condition: global.noname.enabled,global.rabbitmq.enabled + - name: nns-eso + version: 0.1.0 + repository: file://charts/nns-eso + condition: global.nns_eso.enabled + type: "" + chart-overrides: "" +results: + - check: v1.0/not-contains-crds + type: Mandatory + outcome: PASS + reason: Chart does not contain CRDs + - check: v1.0/required-annotations-present + type: Mandatory + outcome: PASS + reason: All required annotations present + - check: v1.0/chart-testing + type: Mandatory + outcome: PASS + reason: Chart tests have passed + - check: v1.0/has-readme + type: Mandatory + outcome: PASS + reason: Chart has a README + - check: v1.1/has-kubeversion + type: Mandatory + outcome: PASS + reason: Kubernetes version specified + - check: v1.0/signature-is-valid + type: Mandatory + outcome: SKIPPED + reason: 'Chart is not signed : Signature verification not required' + - check: v1.0/contains-test + type: Mandatory + outcome: PASS + reason: Chart test files exist + - check: v1.0/contains-values-schema + type: Mandatory + outcome: PASS + reason: Values schema file exist + - check: v1.0/helm-lint + type: Mandatory + outcome: PASS + reason: Helm lint successful + - check: v1.1/images-are-certified + type: Mandatory + outcome: PASS + reason: |- + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/nats-jetstream:2.10.24-custom-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/light-engine:v3.46.18-lts-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/cloud-metadata:v3.46.18-lts-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/heavy-engine:v3.46.18-lts-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/platform-integrations:v3.46.18-lts-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/rhel8/postgresql-15:1-66.1716485364 + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/router:v3.46.18-lts-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/integrations-adapter:v3.46.18-lts-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/nogate:v3.46.18-lts-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/nginx:v3.46.18-lts-ubi + - check: v1.0/not-contain-csi-objects + type: Mandatory + outcome: PASS + reason: CSI objects do not exist + - check: v1.0/contains-values + type: Mandatory + outcome: PASS + reason: Values file exist + - check: v1.0/has-notes + type: Optional + outcome: PASS + reason: Chart does contain NOTES.txt + - check: v1.0/is-helm-v3 + type: Mandatory + outcome: PASS + reason: API version is V2, used in Helm 3 diff --git a/charts/partners/nonamesec/nonamesec-ubi/3.46.19-lts/report.yaml b/charts/partners/nonamesec/nonamesec-ubi/3.46.19-lts/report.yaml new file mode 100644 index 000000000..e68b1e4a2 --- /dev/null +++ b/charts/partners/nonamesec/nonamesec-ubi/3.46.19-lts/report.yaml @@ -0,0 +1,136 @@ +apiversion: v1 +kind: verify-report +metadata: + tool: + verifier-version: 1.13.13 + profile: + VendorType: partner + version: v1.3 + reportDigest: uint64:11753105463361439076 + chart-uri: N/A + digests: + chart: sha256:86bc985aabafc0f512403fe6fe1be84628a53067bc58d88b0919a7705cc3a392 + package: 5cb7838329897f4d4858363601dc9e6a2db65dc73f5537e4a1b9f1c21b6851f1 + lastCertifiedTimestamp: "2025-09-25T07:22:10.823857+00:00" + testedOpenShiftVersion: "4.14" + supportedOpenShiftVersions: '>=4.1' + webCatalogOnly: true + chart: + name: nonamesec-ubi + home: "" + sources: [] + version: 3.46.19-lts + description: Noname Helm on k8s + keywords: [] + maintainers: [] + icon: "" + apiversion: v2 + condition: "" + tags: "" + appversion: 3.46.19-lts + deprecated: false + annotations: + charts.openshift.io/name: Remote Engine + kubeversion: '>=1.0.0-0' + dependencies: + - name: noname + version: 0.1.0 + repository: file://charts/noname + condition: global.noname.enabled + - name: engine + version: 0.1.0 + repository: file://charts/engine + condition: global.engine.enabled + - name: active + version: 0.1.0 + repository: file://charts/active + condition: global.active.enabled + - name: platform + version: 0.1.0 + repository: file://charts/platform + condition: global.platform.enabled + - name: router + version: 0.1.0 + repository: file://charts/router + condition: global.router.enabled + - name: noagentapi + version: 0.1.0 + repository: file://charts/noagentapi + condition: noagentapi.enabled + - name: rabbitmq + version: 15.3.3 + repository: file://charts/rabbitmq + condition: global.noname.enabled,global.rabbitmq.enabled + - name: nns-eso + version: 0.1.0 + repository: file://charts/nns-eso + condition: global.nns_eso.enabled + type: "" + chart-overrides: "" +results: + - check: v1.1/images-are-certified + type: Mandatory + outcome: PASS + reason: |- + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/cloud-metadata:v3.46.19-lts-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/rhel8/postgresql-15:1-66.1716485364 + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/nginx:v3.46.19-lts-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/light-engine:v3.46.19-lts-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/heavy-engine:v3.46.19-lts-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/integrations-adapter:v3.46.19-lts-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/nogate:v3.46.19-lts-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/platform-integrations:v3.46.19-lts-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/router:v3.46.19-lts-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/nats-jetstream:2.11.9-custom-ubi + - check: v1.0/is-helm-v3 + type: Mandatory + outcome: PASS + reason: API version is V2, used in Helm 3 + - check: v1.0/chart-testing + type: Mandatory + outcome: PASS + reason: Chart tests have passed + - check: v1.0/contains-values-schema + type: Mandatory + outcome: PASS + reason: Values schema file exist + - check: v1.1/has-kubeversion + type: Mandatory + outcome: PASS + reason: Kubernetes version specified + - check: v1.0/not-contains-crds + type: Mandatory + outcome: PASS + reason: Chart does not contain CRDs + - check: v1.0/required-annotations-present + type: Mandatory + outcome: PASS + reason: All required annotations present + - check: v1.0/signature-is-valid + type: Mandatory + outcome: SKIPPED + reason: 'Chart is not signed : Signature verification not required' + - check: v1.0/not-contain-csi-objects + type: Mandatory + outcome: PASS + reason: CSI objects do not exist + - check: v1.0/contains-test + type: Mandatory + outcome: PASS + reason: Chart test files exist + - check: v1.0/contains-values + type: Mandatory + outcome: PASS + reason: Values file exist + - check: v1.0/has-notes + type: Optional + outcome: PASS + reason: Chart does contain NOTES.txt + - check: v1.0/has-readme + type: Mandatory + outcome: PASS + reason: Chart has a README + - check: v1.0/helm-lint + type: Mandatory + outcome: PASS + reason: Helm lint successful diff --git a/charts/partners/nonamesec/nonamesec-ubi/3.46.19/report.yaml b/charts/partners/nonamesec/nonamesec-ubi/3.46.19/report.yaml new file mode 100644 index 000000000..4e834fb48 --- /dev/null +++ b/charts/partners/nonamesec/nonamesec-ubi/3.46.19/report.yaml @@ -0,0 +1,136 @@ +apiversion: v1 +kind: verify-report +metadata: + tool: + verifier-version: 1.13.13 + profile: + VendorType: partner + version: v1.3 + reportDigest: uint64:3904875955284744433 + chart-uri: N/A + digests: + chart: sha256:9dba60c438eaddd746742ffd25f3d8afe3208ae05b364295bcb62533fc850a50 + package: 7ec7ecb131632e8254851e17be9932a3c2e0fe2cae064b345fa3f7b05f975757 + lastCertifiedTimestamp: "2025-09-24T17:55:25.285829+00:00" + testedOpenShiftVersion: "4.14" + supportedOpenShiftVersions: '>=4.1' + webCatalogOnly: true + chart: + name: nonamesec-ubi + home: "" + sources: [] + version: 3.46.19 + description: Noname Helm on k8s + keywords: [] + maintainers: [] + icon: "" + apiversion: v2 + condition: "" + tags: "" + appversion: 3.46.19 + deprecated: false + annotations: + charts.openshift.io/name: Remote Engine + kubeversion: '>=1.0.0-0' + dependencies: + - name: noname + version: 0.1.0 + repository: file://charts/noname + condition: global.noname.enabled + - name: engine + version: 0.1.0 + repository: file://charts/engine + condition: global.engine.enabled + - name: active + version: 0.1.0 + repository: file://charts/active + condition: global.active.enabled + - name: platform + version: 0.1.0 + repository: file://charts/platform + condition: global.platform.enabled + - name: router + version: 0.1.0 + repository: file://charts/router + condition: global.router.enabled + - name: noagentapi + version: 0.1.0 + repository: file://charts/noagentapi + condition: noagentapi.enabled + - name: rabbitmq + version: 15.3.3 + repository: file://charts/rabbitmq + condition: global.noname.enabled,global.rabbitmq.enabled + - name: nns-eso + version: 0.1.0 + repository: file://charts/nns-eso + condition: global.nns_eso.enabled + type: "" + chart-overrides: "" +results: + - check: v1.0/has-readme + type: Mandatory + outcome: PASS + reason: Chart has a README + - check: v1.0/not-contains-crds + type: Mandatory + outcome: PASS + reason: Chart does not contain CRDs + - check: v1.0/contains-test + type: Mandatory + outcome: PASS + reason: Chart test files exist + - check: v1.0/chart-testing + type: Mandatory + outcome: PASS + reason: Chart tests have passed + - check: v1.1/images-are-certified + type: Mandatory + outcome: PASS + reason: |- + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/rhel8/postgresql-15:1-66.1716485364 + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/nats-jetstream:2.11.9-custom-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/light-engine:v3.46.19-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/platform-integrations:v3.46.19-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/router:v3.46.19-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/nginx:v3.46.19-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/cloud-metadata:v3.46.19-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/heavy-engine:v3.46.19-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/integrations-adapter:v3.46.19-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/nogate:v3.46.19-ubi + - check: v1.0/not-contain-csi-objects + type: Mandatory + outcome: PASS + reason: CSI objects do not exist + - check: v1.0/contains-values-schema + type: Mandatory + outcome: PASS + reason: Values schema file exist + - check: v1.0/helm-lint + type: Mandatory + outcome: PASS + reason: Helm lint successful + - check: v1.0/is-helm-v3 + type: Mandatory + outcome: PASS + reason: API version is V2, used in Helm 3 + - check: v1.0/required-annotations-present + type: Mandatory + outcome: PASS + reason: All required annotations present + - check: v1.0/signature-is-valid + type: Mandatory + outcome: SKIPPED + reason: 'Chart is not signed : Signature verification not required' + - check: v1.0/contains-values + type: Mandatory + outcome: PASS + reason: Values file exist + - check: v1.1/has-kubeversion + type: Mandatory + outcome: PASS + reason: Kubernetes version specified + - check: v1.0/has-notes + type: Optional + outcome: PASS + reason: Chart does contain NOTES.txt diff --git a/charts/partners/nonamesec/nonamesec-ubi/3.50.10/report.yaml b/charts/partners/nonamesec/nonamesec-ubi/3.50.10/report.yaml index f6c15b3d7..0a3fb8736 100644 --- a/charts/partners/nonamesec/nonamesec-ubi/3.50.10/report.yaml +++ b/charts/partners/nonamesec/nonamesec-ubi/3.50.10/report.yaml @@ -2,16 +2,16 @@ apiversion: v1 kind: verify-report metadata: tool: - verifier-version: 1.13.12 + verifier-version: 1.13.13 profile: VendorType: partner version: v1.3 - reportDigest: uint64:9967585103493683000 + reportDigest: uint64:11389317863926249193 chart-uri: N/A digests: chart: sha256:169d2eeb29e0765e29678b688d66ac1c298e0bf5a1b33bf4960446930224098f package: a25cb0a9503afbb8f44e1b675c96a60f6d9d88f26b8e58ba9a8b105cb95b82cc - lastCertifiedTimestamp: "2025-07-22T16:52:10.379593+00:00" + lastCertifiedTimestamp: "2025-09-04T12:53:28.488786+00:00" testedOpenShiftVersion: "4.14" supportedOpenShiftVersions: '>=4.1' webCatalogOnly: true @@ -37,73 +37,45 @@ metadata: version: 0.1.0 repository: file://charts/noname condition: global.noname.enabled - tags: [] - enabled: false - importvalues: [] - alias: "" - name: engine version: 0.1.0 repository: file://charts/engine condition: global.engine.enabled - tags: [] - enabled: false - importvalues: [] - alias: "" - name: active version: 0.1.0 repository: file://charts/active condition: global.active.enabled - tags: [] - enabled: false - importvalues: [] - alias: "" - name: platform version: 0.1.0 repository: file://charts/platform condition: global.platform.enabled - tags: [] - enabled: false - importvalues: [] - alias: "" - name: router version: 0.1.0 repository: file://charts/router condition: global.router.enabled - tags: [] - enabled: false - importvalues: [] - alias: "" - name: noagentapi version: 0.1.0 repository: file://charts/noagentapi condition: noagentapi.enabled - tags: [] - enabled: false - importvalues: [] - alias: "" - name: rabbitmq version: 15.3.3 repository: file://charts/rabbitmq condition: global.noname.enabled,global.rabbitmq.enabled - tags: [] - enabled: false - importvalues: [] - alias: "" - name: nns-eso version: 0.1.0 repository: file://charts/nns-eso condition: global.nns_eso.enabled - tags: [] - enabled: false - importvalues: [] - alias: "" type: "" chart-overrides: "" results: - - check: v1.0/required-annotations-present + - check: v1.0/contains-values-schema type: Mandatory outcome: PASS - reason: All required annotations present + reason: Values schema file exist + - check: v1.0/has-notes + type: Optional + outcome: PASS + reason: Chart does contain NOTES.txt - check: v1.0/helm-lint type: Mandatory outcome: PASS @@ -112,56 +84,52 @@ results: type: Mandatory outcome: PASS reason: |- - Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/platform-integrations:v3.50.10-ubi - Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/rhel8/postgresql-15:1-66.1716485364 Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/router:v3.50.10-ubi - Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/nats-jetstream:2.10.24-custom-ubi Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/light-engine:v3.50.10-ubi Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/cloud-metadata:v3.50.10-ubi - Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/heavy-engine:v3.50.10-ubi Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/integrations-adapter:v3.50.10-ubi - Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/nogate:v3.50.10-ubi Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/nginx:v3.50.10-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/nats-jetstream:2.10.24-custom-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/heavy-engine:v3.50.10-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/nogate:v3.50.10-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/platform-integrations:v3.50.10-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/rhel8/postgresql-15:1-66.1716485364 + - check: v1.0/not-contain-csi-objects + type: Mandatory + outcome: PASS + reason: CSI objects do not exist + - check: v1.0/not-contains-crds + type: Mandatory + outcome: PASS + reason: Chart does not contain CRDs + - check: v1.0/required-annotations-present + type: Mandatory + outcome: PASS + reason: All required annotations present - check: v1.0/signature-is-valid type: Mandatory outcome: SKIPPED reason: 'Chart is not signed : Signature verification not required' - - check: v1.0/has-notes - type: Optional - outcome: PASS - reason: Chart does contain NOTES.txt - - check: v1.1/has-kubeversion + - check: v1.0/chart-testing type: Mandatory outcome: PASS - reason: Kubernetes version specified + reason: Chart tests have passed - check: v1.0/contains-test type: Mandatory outcome: PASS reason: Chart test files exist - - check: v1.0/contains-values-schema - type: Mandatory - outcome: PASS - reason: Values schema file exist - - check: v1.0/not-contain-csi-objects + - check: v1.0/contains-values type: Mandatory outcome: PASS - reason: CSI objects do not exist - - check: v1.0/chart-testing + reason: Values file exist + - check: v1.1/has-kubeversion type: Mandatory outcome: PASS - reason: Chart tests have passed + reason: Kubernetes version specified - check: v1.0/is-helm-v3 type: Mandatory outcome: PASS reason: API version is V2, used in Helm 3 - - check: v1.0/not-contains-crds - type: Mandatory - outcome: PASS - reason: Chart does not contain CRDs - - check: v1.0/contains-values - type: Mandatory - outcome: PASS - reason: Values file exist - check: v1.0/has-readme type: Mandatory outcome: PASS diff --git a/charts/partners/nonamesec/nonamesec-ubi/3.51.12/report.yaml b/charts/partners/nonamesec/nonamesec-ubi/3.51.12/report.yaml new file mode 100644 index 000000000..d8a96d471 --- /dev/null +++ b/charts/partners/nonamesec/nonamesec-ubi/3.51.12/report.yaml @@ -0,0 +1,168 @@ +apiversion: v1 +kind: verify-report +metadata: + tool: + verifier-version: 1.13.12 + profile: + VendorType: partner + version: v1.3 + reportDigest: uint64:13404734493473314097 + chart-uri: N/A + digests: + chart: sha256:faa9623c1ef24ff57c04cb3c57da2a3be29ee495eea116368434222cedbe8cb9 + package: 692b7079f666bab62910148cb8cceb3fe07fe27af53477d6e39c0aa6b4a0c95a + lastCertifiedTimestamp: "2025-08-18T08:16:30.580055+00:00" + testedOpenShiftVersion: "4.14" + supportedOpenShiftVersions: '>=4.1' + webCatalogOnly: true + chart: + name: nonamesec-ubi + home: "" + sources: [] + version: 3.51.12 + description: Noname Helm on k8s + keywords: [] + maintainers: [] + icon: "" + apiversion: v2 + condition: "" + tags: "" + appversion: 3.51.12 + deprecated: false + annotations: + charts.openshift.io/name: Remote Engine + kubeversion: '>=1.0.0-0' + dependencies: + - name: noname + version: 0.1.0 + repository: file://charts/noname + condition: global.noname.enabled + tags: [] + enabled: false + importvalues: [] + alias: "" + - name: engine + version: 0.1.0 + repository: file://charts/engine + condition: global.engine.enabled + tags: [] + enabled: false + importvalues: [] + alias: "" + - name: active + version: 0.1.0 + repository: file://charts/active + condition: global.active.enabled + tags: [] + enabled: false + importvalues: [] + alias: "" + - name: platform + version: 0.1.0 + repository: file://charts/platform + condition: global.platform.enabled + tags: [] + enabled: false + importvalues: [] + alias: "" + - name: router + version: 0.1.0 + repository: file://charts/router + condition: global.router.enabled + tags: [] + enabled: false + importvalues: [] + alias: "" + - name: noagentapi + version: 0.1.0 + repository: file://charts/noagentapi + condition: noagentapi.enabled + tags: [] + enabled: false + importvalues: [] + alias: "" + - name: rabbitmq + version: 15.3.3 + repository: file://charts/rabbitmq + condition: global.noname.enabled,global.rabbitmq.enabled + tags: [] + enabled: false + importvalues: [] + alias: "" + - name: nns-eso + version: 0.1.0 + repository: file://charts/nns-eso + condition: global.nns_eso.enabled + tags: [] + enabled: false + importvalues: [] + alias: "" + type: "" + chart-overrides: "" +results: + - check: v1.0/signature-is-valid + type: Mandatory + outcome: SKIPPED + reason: 'Chart is not signed : Signature verification not required' + - check: v1.0/chart-testing + type: Mandatory + outcome: PASS + reason: Chart tests have passed + - check: v1.0/not-contains-crds + type: Mandatory + outcome: PASS + reason: Chart does not contain CRDs + - check: v1.0/contains-values-schema + type: Mandatory + outcome: PASS + reason: Values schema file exist + - check: v1.0/not-contain-csi-objects + type: Mandatory + outcome: PASS + reason: CSI objects do not exist + - check: v1.0/contains-values + type: Mandatory + outcome: PASS + reason: Values file exist + - check: v1.1/has-kubeversion + type: Mandatory + outcome: PASS + reason: Kubernetes version specified + - check: v1.1/images-are-certified + type: Mandatory + outcome: PASS + reason: |- + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/nogate:v3.51.12-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/platform-integrations:v3.51.12-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/rhel8/postgresql-15:1-66.1716485364 + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/light-engine:v3.51.12-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/heavy-engine:v3.51.12-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/integrations-adapter:v3.51.12-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/router:v3.51.12-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/nginx:v3.51.12-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/nats-jetstream:2.10.24-custom-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/cloud-metadata:v3.51.12-ubi + - check: v1.0/has-readme + type: Mandatory + outcome: PASS + reason: Chart has a README + - check: v1.0/is-helm-v3 + type: Mandatory + outcome: PASS + reason: API version is V2, used in Helm 3 + - check: v1.0/helm-lint + type: Mandatory + outcome: PASS + reason: Helm lint successful + - check: v1.0/required-annotations-present + type: Mandatory + outcome: PASS + reason: All required annotations present + - check: v1.0/contains-test + type: Mandatory + outcome: PASS + reason: Chart test files exist + - check: v1.0/has-notes + type: Optional + outcome: PASS + reason: Chart does contain NOTES.txt diff --git a/charts/partners/nonamesec/nonamesec-ubi/3.52.12-lts/report.yaml b/charts/partners/nonamesec/nonamesec-ubi/3.52.12-lts/report.yaml new file mode 100644 index 000000000..fe24b0788 --- /dev/null +++ b/charts/partners/nonamesec/nonamesec-ubi/3.52.12-lts/report.yaml @@ -0,0 +1,136 @@ +apiversion: v1 +kind: verify-report +metadata: + tool: + verifier-version: 1.13.13 + profile: + VendorType: partner + version: v1.3 + reportDigest: uint64:11300579006577191045 + chart-uri: N/A + digests: + chart: sha256:2caa8022576f526de8739631e09c45238280122ab37de241597bf0dffd0e0068 + package: 6f81f93fc4007b42b2be4d0f7d2abab15bda0485ff387bf16913a9d6517f2661 + lastCertifiedTimestamp: "2025-10-13T09:23:18.314605+00:00" + testedOpenShiftVersion: "4.14" + supportedOpenShiftVersions: '>=4.1' + webCatalogOnly: true + chart: + name: nonamesec-ubi + home: "" + sources: [] + version: 3.52.12-lts + description: Noname Helm on k8s + keywords: [] + maintainers: [] + icon: "" + apiversion: v2 + condition: "" + tags: "" + appversion: 3.52.12-lts + deprecated: false + annotations: + charts.openshift.io/name: Remote Engine + kubeversion: '>=1.0.0-0' + dependencies: + - name: noname + version: 0.1.0 + repository: file://charts/noname + condition: global.noname.enabled + - name: engine + version: 0.1.0 + repository: file://charts/engine + condition: global.engine.enabled + - name: active + version: 0.1.0 + repository: file://charts/active + condition: global.active.enabled + - name: platform + version: 0.1.0 + repository: file://charts/platform + condition: global.platform.enabled + - name: router + version: 0.1.0 + repository: file://charts/router + condition: global.router.enabled + - name: noagentapi + version: 0.1.0 + repository: file://charts/noagentapi + condition: noagentapi.enabled + - name: rabbitmq + version: 16.0.11 + repository: file://charts/rabbitmq + condition: global.noname.enabled,global.rabbitmq.enabled + - name: nns-eso + version: 0.1.0 + repository: file://charts/nns-eso + condition: global.nns_eso.enabled + type: "" + chart-overrides: "" +results: + - check: v1.0/not-contains-crds + type: Mandatory + outcome: PASS + reason: Chart does not contain CRDs + - check: v1.0/required-annotations-present + type: Mandatory + outcome: PASS + reason: All required annotations present + - check: v1.0/chart-testing + type: Mandatory + outcome: PASS + reason: Chart tests have passed + - check: v1.0/contains-values + type: Mandatory + outcome: PASS + reason: Values file exist + - check: v1.0/is-helm-v3 + type: Mandatory + outcome: PASS + reason: API version is V2, used in Helm 3 + - check: v1.0/contains-test + type: Mandatory + outcome: PASS + reason: Chart test files exist + - check: v1.0/has-readme + type: Mandatory + outcome: PASS + reason: Chart has a README + - check: v1.0/signature-is-valid + type: Mandatory + outcome: SKIPPED + reason: 'Chart is not signed : Signature verification not required' + - check: v1.0/contains-values-schema + type: Mandatory + outcome: PASS + reason: Values schema file exist + - check: v1.0/has-notes + type: Optional + outcome: PASS + reason: Chart does contain NOTES.txt + - check: v1.0/helm-lint + type: Mandatory + outcome: PASS + reason: Helm lint successful + - check: v1.0/not-contain-csi-objects + type: Mandatory + outcome: PASS + reason: CSI objects do not exist + - check: v1.1/has-kubeversion + type: Mandatory + outcome: PASS + reason: Kubernetes version specified + - check: v1.1/images-are-certified + type: Mandatory + outcome: PASS + reason: |- + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/light-engine:v3.52.12-lts-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/heavy-engine:v3.52.12-lts-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/integrations-adapter:v3.52.12-lts-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/nats-jetstream:2.11.9-custom-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/cloud-metadata:v3.52.12-lts-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/nogate:v3.52.12-lts-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/platform-integrations:v3.52.12-lts-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/rhel8/postgresql-15:1-66.1716485364 + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/router:v3.52.12-lts-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/nginx:v3.52.12-lts-ubi diff --git a/charts/partners/nonamesec/nonamesec-ubi/3.52.12/report.yaml b/charts/partners/nonamesec/nonamesec-ubi/3.52.12/report.yaml new file mode 100644 index 000000000..2e12f663f --- /dev/null +++ b/charts/partners/nonamesec/nonamesec-ubi/3.52.12/report.yaml @@ -0,0 +1,136 @@ +apiversion: v1 +kind: verify-report +metadata: + tool: + verifier-version: 1.13.13 + profile: + VendorType: partner + version: v1.3 + reportDigest: uint64:15653145310527682182 + chart-uri: N/A + digests: + chart: sha256:bd22dc3deb1a436610a23b31f17a06adbf3c8ff34bfd35ec21bf54ef81bf89e2 + package: 917a02c2a7ca20554e4ae74849ac2854d4b9025d91c98b5f7e97bc7e82e47fcc + lastCertifiedTimestamp: "2025-10-12T19:46:49.813461+00:00" + testedOpenShiftVersion: "4.14" + supportedOpenShiftVersions: '>=4.1' + webCatalogOnly: true + chart: + name: nonamesec-ubi + home: "" + sources: [] + version: 3.52.12 + description: Noname Helm on k8s + keywords: [] + maintainers: [] + icon: "" + apiversion: v2 + condition: "" + tags: "" + appversion: 3.52.12 + deprecated: false + annotations: + charts.openshift.io/name: Remote Engine + kubeversion: '>=1.0.0-0' + dependencies: + - name: noname + version: 0.1.0 + repository: file://charts/noname + condition: global.noname.enabled + - name: engine + version: 0.1.0 + repository: file://charts/engine + condition: global.engine.enabled + - name: active + version: 0.1.0 + repository: file://charts/active + condition: global.active.enabled + - name: platform + version: 0.1.0 + repository: file://charts/platform + condition: global.platform.enabled + - name: router + version: 0.1.0 + repository: file://charts/router + condition: global.router.enabled + - name: noagentapi + version: 0.1.0 + repository: file://charts/noagentapi + condition: noagentapi.enabled + - name: rabbitmq + version: 16.0.11 + repository: file://charts/rabbitmq + condition: global.noname.enabled,global.rabbitmq.enabled + - name: nns-eso + version: 0.1.0 + repository: file://charts/nns-eso + condition: global.nns_eso.enabled + type: "" + chart-overrides: "" +results: + - check: v1.0/has-readme + type: Mandatory + outcome: PASS + reason: Chart has a README + - check: v1.1/images-are-certified + type: Mandatory + outcome: PASS + reason: |- + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/integrations-adapter:v3.52.12-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/nogate:v3.52.12-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/platform-integrations:v3.52.12-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/rhel8/postgresql-15:1-66.1716485364 + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/router:v3.52.12-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/nginx:v3.52.12-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/cloud-metadata:v3.52.12-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/heavy-engine:v3.52.12-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/nats-jetstream:2.11.9-custom-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/light-engine:v3.52.12-ubi + - check: v1.0/required-annotations-present + type: Mandatory + outcome: PASS + reason: All required annotations present + - check: v1.0/signature-is-valid + type: Mandatory + outcome: SKIPPED + reason: 'Chart is not signed : Signature verification not required' + - check: v1.1/has-kubeversion + type: Mandatory + outcome: PASS + reason: Kubernetes version specified + - check: v1.0/helm-lint + type: Mandatory + outcome: PASS + reason: Helm lint successful + - check: v1.0/not-contain-csi-objects + type: Mandatory + outcome: PASS + reason: CSI objects do not exist + - check: v1.0/contains-values-schema + type: Mandatory + outcome: PASS + reason: Values schema file exist + - check: v1.0/not-contains-crds + type: Mandatory + outcome: PASS + reason: Chart does not contain CRDs + - check: v1.0/chart-testing + type: Mandatory + outcome: PASS + reason: Chart tests have passed + - check: v1.0/contains-test + type: Mandatory + outcome: PASS + reason: Chart test files exist + - check: v1.0/contains-values + type: Mandatory + outcome: PASS + reason: Values file exist + - check: v1.0/has-notes + type: Optional + outcome: PASS + reason: Chart does contain NOTES.txt + - check: v1.0/is-helm-v3 + type: Mandatory + outcome: PASS + reason: API version is V2, used in Helm 3 diff --git a/charts/partners/nonamesec/nonamesec-ubi/3.52.2/report.yaml b/charts/partners/nonamesec/nonamesec-ubi/3.52.2/report.yaml new file mode 100644 index 000000000..7b6cc21b2 --- /dev/null +++ b/charts/partners/nonamesec/nonamesec-ubi/3.52.2/report.yaml @@ -0,0 +1,168 @@ +apiversion: v1 +kind: verify-report +metadata: + tool: + verifier-version: 1.13.12 + profile: + VendorType: partner + version: v1.3 + reportDigest: uint64:9949354059739948514 + chart-uri: N/A + digests: + chart: sha256:3584f73e12774a9bc407a9684a130dec66dbab4c91fe4a52f482aab419ffdf6b + package: c9676ffe0e99e94666abcd23dafaf27408e6a16ad17e4428be7860a6d2bc0a09 + lastCertifiedTimestamp: "2025-08-13T18:51:55.358152+00:00" + testedOpenShiftVersion: "4.14" + supportedOpenShiftVersions: '>=4.1' + webCatalogOnly: true + chart: + name: nonamesec-ubi + home: "" + sources: [] + version: 3.52.2 + description: Noname Helm on k8s + keywords: [] + maintainers: [] + icon: "" + apiversion: v2 + condition: "" + tags: "" + appversion: 3.52.2 + deprecated: false + annotations: + charts.openshift.io/name: Remote Engine + kubeversion: '>=1.0.0-0' + dependencies: + - name: noname + version: 0.1.0 + repository: file://charts/noname + condition: global.noname.enabled + tags: [] + enabled: false + importvalues: [] + alias: "" + - name: engine + version: 0.1.0 + repository: file://charts/engine + condition: global.engine.enabled + tags: [] + enabled: false + importvalues: [] + alias: "" + - name: active + version: 0.1.0 + repository: file://charts/active + condition: global.active.enabled + tags: [] + enabled: false + importvalues: [] + alias: "" + - name: platform + version: 0.1.0 + repository: file://charts/platform + condition: global.platform.enabled + tags: [] + enabled: false + importvalues: [] + alias: "" + - name: router + version: 0.1.0 + repository: file://charts/router + condition: global.router.enabled + tags: [] + enabled: false + importvalues: [] + alias: "" + - name: noagentapi + version: 0.1.0 + repository: file://charts/noagentapi + condition: noagentapi.enabled + tags: [] + enabled: false + importvalues: [] + alias: "" + - name: rabbitmq + version: 16.0.11 + repository: file://charts/rabbitmq + condition: global.noname.enabled,global.rabbitmq.enabled + tags: [] + enabled: false + importvalues: [] + alias: "" + - name: nns-eso + version: 0.1.0 + repository: file://charts/nns-eso + condition: global.nns_eso.enabled + tags: [] + enabled: false + importvalues: [] + alias: "" + type: "" + chart-overrides: "" +results: + - check: v1.0/is-helm-v3 + type: Mandatory + outcome: PASS + reason: API version is V2, used in Helm 3 + - check: v1.0/has-notes + type: Optional + outcome: PASS + reason: Chart does contain NOTES.txt + - check: v1.0/contains-values + type: Mandatory + outcome: PASS + reason: Values file exist + - check: v1.1/images-are-certified + type: Mandatory + outcome: PASS + reason: |- + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/cloud-metadata:v3.52.2-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/nogate:v3.52.2-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/rhel8/postgresql-15:1-66.1716485364 + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/router:v3.52.2-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/nginx:v3.52.2-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/light-engine:v3.52.2-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/heavy-engine:v3.52.2-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/integrations-adapter:v3.52.2-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/platform-integrations:v3.52.2-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/nats-jetstream:2.10.24-custom-ubi + - check: v1.0/has-readme + type: Mandatory + outcome: PASS + reason: Chart has a README + - check: v1.0/not-contains-crds + type: Mandatory + outcome: PASS + reason: Chart does not contain CRDs + - check: v1.0/chart-testing + type: Mandatory + outcome: PASS + reason: Chart tests have passed + - check: v1.0/required-annotations-present + type: Mandatory + outcome: PASS + reason: All required annotations present + - check: v1.1/has-kubeversion + type: Mandatory + outcome: PASS + reason: Kubernetes version specified + - check: v1.0/contains-values-schema + type: Mandatory + outcome: PASS + reason: Values schema file exist + - check: v1.0/helm-lint + type: Mandatory + outcome: PASS + reason: Helm lint successful + - check: v1.0/signature-is-valid + type: Mandatory + outcome: SKIPPED + reason: 'Chart is not signed : Signature verification not required' + - check: v1.0/contains-test + type: Mandatory + outcome: PASS + reason: Chart test files exist + - check: v1.0/not-contain-csi-objects + type: Mandatory + outcome: PASS + reason: CSI objects do not exist diff --git a/charts/partners/nonamesec/nonamesec-ubi/3.52.3/report.yaml b/charts/partners/nonamesec/nonamesec-ubi/3.52.3/report.yaml new file mode 100644 index 000000000..8193ec267 --- /dev/null +++ b/charts/partners/nonamesec/nonamesec-ubi/3.52.3/report.yaml @@ -0,0 +1,168 @@ +apiversion: v1 +kind: verify-report +metadata: + tool: + verifier-version: 1.13.12 + profile: + VendorType: partner + version: v1.3 + reportDigest: uint64:5644328632330665108 + chart-uri: N/A + digests: + chart: sha256:ae342df8b2ed45ed2111cc65238308042e1f2667e8594d89c23c72ca332609fb + package: 62127983c1e5675089cc1a2dd173ac3d86476963eb4c7c402fd2f4a5c56bb59f + lastCertifiedTimestamp: "2025-08-15T11:44:35.629844+00:00" + testedOpenShiftVersion: "4.14" + supportedOpenShiftVersions: '>=4.1' + webCatalogOnly: true + chart: + name: nonamesec-ubi + home: "" + sources: [] + version: 3.52.3 + description: Noname Helm on k8s + keywords: [] + maintainers: [] + icon: "" + apiversion: v2 + condition: "" + tags: "" + appversion: 3.52.3 + deprecated: false + annotations: + charts.openshift.io/name: Remote Engine + kubeversion: '>=1.0.0-0' + dependencies: + - name: noname + version: 0.1.0 + repository: file://charts/noname + condition: global.noname.enabled + tags: [] + enabled: false + importvalues: [] + alias: "" + - name: engine + version: 0.1.0 + repository: file://charts/engine + condition: global.engine.enabled + tags: [] + enabled: false + importvalues: [] + alias: "" + - name: active + version: 0.1.0 + repository: file://charts/active + condition: global.active.enabled + tags: [] + enabled: false + importvalues: [] + alias: "" + - name: platform + version: 0.1.0 + repository: file://charts/platform + condition: global.platform.enabled + tags: [] + enabled: false + importvalues: [] + alias: "" + - name: router + version: 0.1.0 + repository: file://charts/router + condition: global.router.enabled + tags: [] + enabled: false + importvalues: [] + alias: "" + - name: noagentapi + version: 0.1.0 + repository: file://charts/noagentapi + condition: noagentapi.enabled + tags: [] + enabled: false + importvalues: [] + alias: "" + - name: rabbitmq + version: 16.0.11 + repository: file://charts/rabbitmq + condition: global.noname.enabled,global.rabbitmq.enabled + tags: [] + enabled: false + importvalues: [] + alias: "" + - name: nns-eso + version: 0.1.0 + repository: file://charts/nns-eso + condition: global.nns_eso.enabled + tags: [] + enabled: false + importvalues: [] + alias: "" + type: "" + chart-overrides: "" +results: + - check: v1.0/has-readme + type: Mandatory + outcome: PASS + reason: Chart has a README + - check: v1.0/contains-values + type: Mandatory + outcome: PASS + reason: Values file exist + - check: v1.1/has-kubeversion + type: Mandatory + outcome: PASS + reason: Kubernetes version specified + - check: v1.0/is-helm-v3 + type: Mandatory + outcome: PASS + reason: API version is V2, used in Helm 3 + - check: v1.0/has-notes + type: Optional + outcome: PASS + reason: Chart does contain NOTES.txt + - check: v1.0/required-annotations-present + type: Mandatory + outcome: PASS + reason: All required annotations present + - check: v1.0/helm-lint + type: Mandatory + outcome: PASS + reason: Helm lint successful + - check: v1.0/contains-test + type: Mandatory + outcome: PASS + reason: Chart test files exist + - check: v1.0/signature-is-valid + type: Mandatory + outcome: SKIPPED + reason: 'Chart is not signed : Signature verification not required' + - check: v1.0/contains-values-schema + type: Mandatory + outcome: PASS + reason: Values schema file exist + - check: v1.0/not-contain-csi-objects + type: Mandatory + outcome: PASS + reason: CSI objects do not exist + - check: v1.0/not-contains-crds + type: Mandatory + outcome: PASS + reason: Chart does not contain CRDs + - check: v1.0/chart-testing + type: Mandatory + outcome: PASS + reason: Chart tests have passed + - check: v1.1/images-are-certified + type: Mandatory + outcome: PASS + reason: |- + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/light-engine:v3.52.3-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/cloud-metadata:v3.52.3-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/heavy-engine:v3.52.3-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/integrations-adapter:v3.52.3-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/platform-integrations:v3.52.3-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/rhel8/postgresql-15:1-66.1716485364 + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/nginx:v3.52.3-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/nogate:v3.52.3-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/router:v3.52.3-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/nats-jetstream:2.10.24-custom-ubi diff --git a/charts/partners/nonamesec/nonamesec-ubi/3.52.5/report.yaml b/charts/partners/nonamesec/nonamesec-ubi/3.52.5/report.yaml new file mode 100644 index 000000000..52874d80c --- /dev/null +++ b/charts/partners/nonamesec/nonamesec-ubi/3.52.5/report.yaml @@ -0,0 +1,168 @@ +apiversion: v1 +kind: verify-report +metadata: + tool: + verifier-version: 1.13.12 + profile: + VendorType: partner + version: v1.3 + reportDigest: uint64:16950188967590126126 + chart-uri: N/A + digests: + chart: sha256:92d908c14d2b1f2b7d3b197a4753d3b0dff09d692e5f253523756f61059b3790 + package: 32bd77f837d92be8b7e8d0a157a8fab8def1b418d647dbd318c6c84c89cf30b2 + lastCertifiedTimestamp: "2025-08-26T10:29:52.520157+00:00" + testedOpenShiftVersion: "4.14" + supportedOpenShiftVersions: '>=4.1' + webCatalogOnly: true + chart: + name: nonamesec-ubi + home: "" + sources: [] + version: 3.52.5 + description: Noname Helm on k8s + keywords: [] + maintainers: [] + icon: "" + apiversion: v2 + condition: "" + tags: "" + appversion: 3.52.5 + deprecated: false + annotations: + charts.openshift.io/name: Remote Engine + kubeversion: '>=1.0.0-0' + dependencies: + - name: noname + version: 0.1.0 + repository: file://charts/noname + condition: global.noname.enabled + tags: [] + enabled: false + importvalues: [] + alias: "" + - name: engine + version: 0.1.0 + repository: file://charts/engine + condition: global.engine.enabled + tags: [] + enabled: false + importvalues: [] + alias: "" + - name: active + version: 0.1.0 + repository: file://charts/active + condition: global.active.enabled + tags: [] + enabled: false + importvalues: [] + alias: "" + - name: platform + version: 0.1.0 + repository: file://charts/platform + condition: global.platform.enabled + tags: [] + enabled: false + importvalues: [] + alias: "" + - name: router + version: 0.1.0 + repository: file://charts/router + condition: global.router.enabled + tags: [] + enabled: false + importvalues: [] + alias: "" + - name: noagentapi + version: 0.1.0 + repository: file://charts/noagentapi + condition: noagentapi.enabled + tags: [] + enabled: false + importvalues: [] + alias: "" + - name: rabbitmq + version: 16.0.11 + repository: file://charts/rabbitmq + condition: global.noname.enabled,global.rabbitmq.enabled + tags: [] + enabled: false + importvalues: [] + alias: "" + - name: nns-eso + version: 0.1.0 + repository: file://charts/nns-eso + condition: global.nns_eso.enabled + tags: [] + enabled: false + importvalues: [] + alias: "" + type: "" + chart-overrides: "" +results: + - check: v1.0/not-contains-crds + type: Mandatory + outcome: PASS + reason: Chart does not contain CRDs + - check: v1.0/has-notes + type: Optional + outcome: PASS + reason: Chart does contain NOTES.txt + - check: v1.0/contains-values + type: Mandatory + outcome: PASS + reason: Values file exist + - check: v1.0/signature-is-valid + type: Mandatory + outcome: SKIPPED + reason: 'Chart is not signed : Signature verification not required' + - check: v1.0/contains-values-schema + type: Mandatory + outcome: PASS + reason: Values schema file exist + - check: v1.0/helm-lint + type: Mandatory + outcome: PASS + reason: Helm lint successful + - check: v1.0/chart-testing + type: Mandatory + outcome: PASS + reason: Chart tests have passed + - check: v1.0/not-contain-csi-objects + type: Mandatory + outcome: PASS + reason: CSI objects do not exist + - check: v1.1/images-are-certified + type: Mandatory + outcome: PASS + reason: |- + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/router:v3.52.5-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/nginx:v3.52.5-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/light-engine:v3.52.5-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/cloud-metadata:v3.52.5-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/heavy-engine:v3.52.5-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/integrations-adapter:v3.52.5-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/platform-integrations:v3.52.5-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/nogate:v3.52.5-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/rhel8/postgresql-15:1-66.1716485364 + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/nats-jetstream:2.10.24-custom-ubi + - check: v1.1/has-kubeversion + type: Mandatory + outcome: PASS + reason: Kubernetes version specified + - check: v1.0/has-readme + type: Mandatory + outcome: PASS + reason: Chart has a README + - check: v1.0/contains-test + type: Mandatory + outcome: PASS + reason: Chart test files exist + - check: v1.0/is-helm-v3 + type: Mandatory + outcome: PASS + reason: API version is V2, used in Helm 3 + - check: v1.0/required-annotations-present + type: Mandatory + outcome: PASS + reason: All required annotations present diff --git a/charts/partners/nonamesec/nonamesec-ubi/3.52.6/report.yaml b/charts/partners/nonamesec/nonamesec-ubi/3.52.6/report.yaml new file mode 100644 index 000000000..98212adec --- /dev/null +++ b/charts/partners/nonamesec/nonamesec-ubi/3.52.6/report.yaml @@ -0,0 +1,136 @@ +apiversion: v1 +kind: verify-report +metadata: + tool: + verifier-version: 1.13.13 + profile: + VendorType: partner + version: v1.3 + reportDigest: uint64:10574780437485782849 + chart-uri: N/A + digests: + chart: sha256:eea3df9066cd35a8bafcf7a201ee1a229f13c003a9889b8eda997ca1247cb0a2 + package: 0c83e36105a229a5df36155182ebc5d4b1d2471afad7947779b8db85578dd845 + lastCertifiedTimestamp: "2025-08-27T19:12:13.22645+00:00" + testedOpenShiftVersion: "4.14" + supportedOpenShiftVersions: '>=4.1' + webCatalogOnly: true + chart: + name: nonamesec-ubi + home: "" + sources: [] + version: 3.52.6 + description: Noname Helm on k8s + keywords: [] + maintainers: [] + icon: "" + apiversion: v2 + condition: "" + tags: "" + appversion: 3.52.6 + deprecated: false + annotations: + charts.openshift.io/name: Remote Engine + kubeversion: '>=1.0.0-0' + dependencies: + - name: noname + version: 0.1.0 + repository: file://charts/noname + condition: global.noname.enabled + - name: engine + version: 0.1.0 + repository: file://charts/engine + condition: global.engine.enabled + - name: active + version: 0.1.0 + repository: file://charts/active + condition: global.active.enabled + - name: platform + version: 0.1.0 + repository: file://charts/platform + condition: global.platform.enabled + - name: router + version: 0.1.0 + repository: file://charts/router + condition: global.router.enabled + - name: noagentapi + version: 0.1.0 + repository: file://charts/noagentapi + condition: noagentapi.enabled + - name: rabbitmq + version: 16.0.11 + repository: file://charts/rabbitmq + condition: global.noname.enabled,global.rabbitmq.enabled + - name: nns-eso + version: 0.1.0 + repository: file://charts/nns-eso + condition: global.nns_eso.enabled + type: "" + chart-overrides: "" +results: + - check: v1.0/signature-is-valid + type: Mandatory + outcome: SKIPPED + reason: 'Chart is not signed : Signature verification not required' + - check: v1.0/chart-testing + type: Mandatory + outcome: PASS + reason: Chart tests have passed + - check: v1.1/images-are-certified + type: Mandatory + outcome: PASS + reason: |- + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/integrations-adapter:v3.52.6-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/rhel8/postgresql-15:1-66.1716485364 + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/router:v3.52.6-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/light-engine:v3.52.6-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/nogate:v3.52.6-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/platform-integrations:v3.52.6-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/nginx:v3.52.6-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/nats-jetstream:2.10.24-custom-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/cloud-metadata:v3.52.6-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/heavy-engine:v3.52.6-ubi + - check: v1.0/not-contain-csi-objects + type: Mandatory + outcome: PASS + reason: CSI objects do not exist + - check: v1.0/not-contains-crds + type: Mandatory + outcome: PASS + reason: Chart does not contain CRDs + - check: v1.0/contains-values-schema + type: Mandatory + outcome: PASS + reason: Values schema file exist + - check: v1.1/has-kubeversion + type: Mandatory + outcome: PASS + reason: Kubernetes version specified + - check: v1.0/has-notes + type: Optional + outcome: PASS + reason: Chart does contain NOTES.txt + - check: v1.0/is-helm-v3 + type: Mandatory + outcome: PASS + reason: API version is V2, used in Helm 3 + - check: v1.0/contains-test + type: Mandatory + outcome: PASS + reason: Chart test files exist + - check: v1.0/contains-values + type: Mandatory + outcome: PASS + reason: Values file exist + - check: v1.0/required-annotations-present + type: Mandatory + outcome: PASS + reason: All required annotations present + - check: v1.0/has-readme + type: Mandatory + outcome: PASS + reason: Chart has a README + - check: v1.0/helm-lint + type: Mandatory + outcome: PASS + reason: Helm lint successful diff --git a/charts/partners/nonamesec/nonamesec-ubi/3.54.0/report.yaml b/charts/partners/nonamesec/nonamesec-ubi/3.54.0/report.yaml new file mode 100644 index 000000000..aafc776f3 --- /dev/null +++ b/charts/partners/nonamesec/nonamesec-ubi/3.54.0/report.yaml @@ -0,0 +1,136 @@ +apiversion: v1 +kind: verify-report +metadata: + tool: + verifier-version: 1.13.13 + profile: + VendorType: partner + version: v1.3 + reportDigest: uint64:9171125778743196088 + chart-uri: N/A + digests: + chart: sha256:c2b3fe60dce3afbdcc36383623e5a39196ad710d7f1cd548591d3485312bb089 + package: 9031e9726c8ab7cc3029708c4e4a50e3f51874e27e7f80489e4d36cc0b23570c + lastCertifiedTimestamp: "2025-09-22T12:32:23.96417+00:00" + testedOpenShiftVersion: "4.14" + supportedOpenShiftVersions: '>=4.1' + webCatalogOnly: true + chart: + name: nonamesec-ubi + home: "" + sources: [] + version: 3.54.0 + description: Noname Helm on k8s + keywords: [] + maintainers: [] + icon: "" + apiversion: v2 + condition: "" + tags: "" + appversion: 3.54.0 + deprecated: false + annotations: + charts.openshift.io/name: Remote Engine + kubeversion: '>=1.0.0-0' + dependencies: + - name: noname + version: 0.1.0 + repository: file://charts/noname + condition: global.noname.enabled + - name: engine + version: 0.1.0 + repository: file://charts/engine + condition: global.engine.enabled + - name: active + version: 0.1.0 + repository: file://charts/active + condition: global.active.enabled + - name: platform + version: 0.1.0 + repository: file://charts/platform + condition: global.platform.enabled + - name: router + version: 0.1.0 + repository: file://charts/router + condition: global.router.enabled + - name: noagentapi + version: 0.1.0 + repository: file://charts/noagentapi + condition: noagentapi.enabled + - name: rabbitmq + version: 16.0.11 + repository: file://charts/rabbitmq + condition: global.noname.enabled,global.rabbitmq.enabled + - name: nns-eso + version: 0.1.0 + repository: file://charts/nns-eso + condition: global.nns_eso.enabled + type: "" + chart-overrides: "" +results: + - check: v1.0/chart-testing + type: Mandatory + outcome: PASS + reason: Chart tests have passed + - check: v1.0/contains-values-schema + type: Mandatory + outcome: PASS + reason: Values schema file exist + - check: v1.0/has-readme + type: Mandatory + outcome: PASS + reason: Chart has a README + - check: v1.0/contains-test + type: Mandatory + outcome: PASS + reason: Chart test files exist + - check: v1.1/has-kubeversion + type: Mandatory + outcome: PASS + reason: Kubernetes version specified + - check: v1.0/is-helm-v3 + type: Mandatory + outcome: PASS + reason: API version is V2, used in Helm 3 + - check: v1.0/not-contain-csi-objects + type: Mandatory + outcome: PASS + reason: CSI objects do not exist + - check: v1.0/not-contains-crds + type: Mandatory + outcome: PASS + reason: Chart does not contain CRDs + - check: v1.0/contains-values + type: Mandatory + outcome: PASS + reason: Values file exist + - check: v1.0/has-notes + type: Optional + outcome: PASS + reason: Chart does contain NOTES.txt + - check: v1.1/images-are-certified + type: Mandatory + outcome: PASS + reason: |- + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/light-engine:v3.54.0-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/cloud-metadata:v3.54.0-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/heavy-engine:v3.54.0-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/platform-integrations:v3.54.0-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/rhel8/postgresql-15:1-66.1716485364 + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/router:v3.54.0-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/nginx:v3.54.0-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/integrations-adapter:v3.54.0-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/nogate:v3.54.0-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/nats-jetstream:2.11.9-custom-ubi + - check: v1.0/signature-is-valid + type: Mandatory + outcome: SKIPPED + reason: 'Chart is not signed : Signature verification not required' + - check: v1.0/helm-lint + type: Mandatory + outcome: PASS + reason: Helm lint successful + - check: v1.0/required-annotations-present + type: Mandatory + outcome: PASS + reason: All required annotations present diff --git a/charts/partners/nonamesec/nonamesec-ubi/3.54.1/report.yaml b/charts/partners/nonamesec/nonamesec-ubi/3.54.1/report.yaml new file mode 100644 index 000000000..1531fba5a --- /dev/null +++ b/charts/partners/nonamesec/nonamesec-ubi/3.54.1/report.yaml @@ -0,0 +1,136 @@ +apiversion: v1 +kind: verify-report +metadata: + tool: + verifier-version: 1.13.13 + profile: + VendorType: partner + version: v1.3 + reportDigest: uint64:13152654588417889492 + chart-uri: N/A + digests: + chart: sha256:b51d087925fa35b8f35cd60a7f04fb837b3deb4cdd7b3d119ba3c3031af9a48b + package: 4b0ceb4a8394b9ab9185414e54bd07bcdbb368bc1a5be948665b3ea9425bac8e + lastCertifiedTimestamp: "2025-09-25T22:46:17.751738+00:00" + testedOpenShiftVersion: "4.14" + supportedOpenShiftVersions: '>=4.1' + webCatalogOnly: true + chart: + name: nonamesec-ubi + home: "" + sources: [] + version: 3.54.1 + description: Noname Helm on k8s + keywords: [] + maintainers: [] + icon: "" + apiversion: v2 + condition: "" + tags: "" + appversion: 3.54.1 + deprecated: false + annotations: + charts.openshift.io/name: Remote Engine + kubeversion: '>=1.0.0-0' + dependencies: + - name: noname + version: 0.1.0 + repository: file://charts/noname + condition: global.noname.enabled + - name: engine + version: 0.1.0 + repository: file://charts/engine + condition: global.engine.enabled + - name: active + version: 0.1.0 + repository: file://charts/active + condition: global.active.enabled + - name: platform + version: 0.1.0 + repository: file://charts/platform + condition: global.platform.enabled + - name: router + version: 0.1.0 + repository: file://charts/router + condition: global.router.enabled + - name: noagentapi + version: 0.1.0 + repository: file://charts/noagentapi + condition: noagentapi.enabled + - name: rabbitmq + version: 16.0.11 + repository: file://charts/rabbitmq + condition: global.noname.enabled,global.rabbitmq.enabled + - name: nns-eso + version: 0.1.0 + repository: file://charts/nns-eso + condition: global.nns_eso.enabled + type: "" + chart-overrides: "" +results: + - check: v1.0/is-helm-v3 + type: Mandatory + outcome: PASS + reason: API version is V2, used in Helm 3 + - check: v1.0/not-contain-csi-objects + type: Mandatory + outcome: PASS + reason: CSI objects do not exist + - check: v1.0/chart-testing + type: Mandatory + outcome: PASS + reason: Chart tests have passed + - check: v1.0/contains-test + type: Mandatory + outcome: PASS + reason: Chart test files exist + - check: v1.0/has-readme + type: Mandatory + outcome: PASS + reason: Chart has a README + - check: v1.0/not-contains-crds + type: Mandatory + outcome: PASS + reason: Chart does not contain CRDs + - check: v1.0/contains-values-schema + type: Mandatory + outcome: PASS + reason: Values schema file exist + - check: v1.1/has-kubeversion + type: Mandatory + outcome: PASS + reason: Kubernetes version specified + - check: v1.0/required-annotations-present + type: Mandatory + outcome: PASS + reason: All required annotations present + - check: v1.0/signature-is-valid + type: Mandatory + outcome: SKIPPED + reason: 'Chart is not signed : Signature verification not required' + - check: v1.0/contains-values + type: Mandatory + outcome: PASS + reason: Values file exist + - check: v1.0/has-notes + type: Optional + outcome: PASS + reason: Chart does contain NOTES.txt + - check: v1.0/helm-lint + type: Mandatory + outcome: PASS + reason: Helm lint successful + - check: v1.1/images-are-certified + type: Mandatory + outcome: PASS + reason: |- + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/cloud-metadata:v3.54.1-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/integrations-adapter:v3.54.1-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/nogate:v3.54.1-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/nginx:v3.54.1-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/light-engine:v3.54.1-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/heavy-engine:v3.54.1-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/platform-integrations:v3.54.1-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/rhel8/postgresql-15:1-66.1716485364 + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/router:v3.54.1-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/nats-jetstream:2.11.9-custom-ubi diff --git a/charts/partners/nonamesec/nonamesec-ubi/3.54.2/report.yaml b/charts/partners/nonamesec/nonamesec-ubi/3.54.2/report.yaml new file mode 100644 index 000000000..ba7e97005 --- /dev/null +++ b/charts/partners/nonamesec/nonamesec-ubi/3.54.2/report.yaml @@ -0,0 +1,136 @@ +apiversion: v1 +kind: verify-report +metadata: + tool: + verifier-version: 1.13.13 + profile: + VendorType: partner + version: v1.3 + reportDigest: uint64:13266130153820403037 + chart-uri: N/A + digests: + chart: sha256:ca5b13048d5388b6b47037b764566c68e47699874156298b27e5ff290f3c1c62 + package: dff7906f5e134ab39588b30133da32e5bef1e16fa5a830d1bb76fc39804603c8 + lastCertifiedTimestamp: "2025-09-28T13:21:51.598303+00:00" + testedOpenShiftVersion: "4.14" + supportedOpenShiftVersions: '>=4.1' + webCatalogOnly: true + chart: + name: nonamesec-ubi + home: "" + sources: [] + version: 3.54.2 + description: Noname Helm on k8s + keywords: [] + maintainers: [] + icon: "" + apiversion: v2 + condition: "" + tags: "" + appversion: 3.54.2 + deprecated: false + annotations: + charts.openshift.io/name: Remote Engine + kubeversion: '>=1.0.0-0' + dependencies: + - name: noname + version: 0.1.0 + repository: file://charts/noname + condition: global.noname.enabled + - name: engine + version: 0.1.0 + repository: file://charts/engine + condition: global.engine.enabled + - name: active + version: 0.1.0 + repository: file://charts/active + condition: global.active.enabled + - name: platform + version: 0.1.0 + repository: file://charts/platform + condition: global.platform.enabled + - name: router + version: 0.1.0 + repository: file://charts/router + condition: global.router.enabled + - name: noagentapi + version: 0.1.0 + repository: file://charts/noagentapi + condition: noagentapi.enabled + - name: rabbitmq + version: 16.0.11 + repository: file://charts/rabbitmq + condition: global.noname.enabled,global.rabbitmq.enabled + - name: nns-eso + version: 0.1.0 + repository: file://charts/nns-eso + condition: global.nns_eso.enabled + type: "" + chart-overrides: "" +results: + - check: v1.0/has-notes + type: Optional + outcome: PASS + reason: Chart does contain NOTES.txt + - check: v1.0/signature-is-valid + type: Mandatory + outcome: SKIPPED + reason: 'Chart is not signed : Signature verification not required' + - check: v1.0/contains-values-schema + type: Mandatory + outcome: PASS + reason: Values schema file exist + - check: v1.0/required-annotations-present + type: Mandatory + outcome: PASS + reason: All required annotations present + - check: v1.0/chart-testing + type: Mandatory + outcome: PASS + reason: Chart tests have passed + - check: v1.0/contains-test + type: Mandatory + outcome: PASS + reason: Chart test files exist + - check: v1.0/is-helm-v3 + type: Mandatory + outcome: PASS + reason: API version is V2, used in Helm 3 + - check: v1.0/not-contain-csi-objects + type: Mandatory + outcome: PASS + reason: CSI objects do not exist + - check: v1.0/contains-values + type: Mandatory + outcome: PASS + reason: Values file exist + - check: v1.1/has-kubeversion + type: Mandatory + outcome: PASS + reason: Kubernetes version specified + - check: v1.0/has-readme + type: Mandatory + outcome: PASS + reason: Chart has a README + - check: v1.0/helm-lint + type: Mandatory + outcome: PASS + reason: Helm lint successful + - check: v1.1/images-are-certified + type: Mandatory + outcome: PASS + reason: |- + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/nogate:v3.54.2-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/platform-integrations:v3.54.2-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/rhel8/postgresql-15:1-66.1716485364 + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/nginx:v3.54.2-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/nats-jetstream:2.11.9-custom-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/light-engine:v3.54.2-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/heavy-engine:v3.54.2-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/router:v3.54.2-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/cloud-metadata:v3.54.2-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/integrations-adapter:v3.54.2-ubi + - check: v1.0/not-contains-crds + type: Mandatory + outcome: PASS + reason: Chart does not contain CRDs diff --git a/charts/partners/nonamesec/nonamesec-ubi/3.54.3/report.yaml b/charts/partners/nonamesec/nonamesec-ubi/3.54.3/report.yaml new file mode 100644 index 000000000..eac03e7f6 --- /dev/null +++ b/charts/partners/nonamesec/nonamesec-ubi/3.54.3/report.yaml @@ -0,0 +1,136 @@ +apiversion: v1 +kind: verify-report +metadata: + tool: + verifier-version: 1.13.13 + profile: + VendorType: partner + version: v1.3 + reportDigest: uint64:14094296532967150236 + chart-uri: N/A + digests: + chart: sha256:03a874525f44ab9e8f1f3467755b002cfe24d4c9e85efba7bd387e8ecfedb4d4 + package: 1e36b08c70057049a57bd8451c6ddd37f06a76a9f257c24719fa9288d2a4a45f + lastCertifiedTimestamp: "2025-09-29T23:24:12.205149+00:00" + testedOpenShiftVersion: "4.14" + supportedOpenShiftVersions: '>=4.1' + webCatalogOnly: true + chart: + name: nonamesec-ubi + home: "" + sources: [] + version: 3.54.3 + description: Noname Helm on k8s + keywords: [] + maintainers: [] + icon: "" + apiversion: v2 + condition: "" + tags: "" + appversion: 3.54.3 + deprecated: false + annotations: + charts.openshift.io/name: Remote Engine + kubeversion: '>=1.0.0-0' + dependencies: + - name: noname + version: 0.1.0 + repository: file://charts/noname + condition: global.noname.enabled + - name: engine + version: 0.1.0 + repository: file://charts/engine + condition: global.engine.enabled + - name: active + version: 0.1.0 + repository: file://charts/active + condition: global.active.enabled + - name: platform + version: 0.1.0 + repository: file://charts/platform + condition: global.platform.enabled + - name: router + version: 0.1.0 + repository: file://charts/router + condition: global.router.enabled + - name: noagentapi + version: 0.1.0 + repository: file://charts/noagentapi + condition: noagentapi.enabled + - name: rabbitmq + version: 16.0.11 + repository: file://charts/rabbitmq + condition: global.noname.enabled,global.rabbitmq.enabled + - name: nns-eso + version: 0.1.0 + repository: file://charts/nns-eso + condition: global.nns_eso.enabled + type: "" + chart-overrides: "" +results: + - check: v1.0/is-helm-v3 + type: Mandatory + outcome: PASS + reason: API version is V2, used in Helm 3 + - check: v1.0/required-annotations-present + type: Mandatory + outcome: PASS + reason: All required annotations present + - check: v1.0/chart-testing + type: Mandatory + outcome: PASS + reason: Chart tests have passed + - check: v1.0/contains-values + type: Mandatory + outcome: PASS + reason: Values file exist + - check: v1.0/has-notes + type: Optional + outcome: PASS + reason: Chart does contain NOTES.txt + - check: v1.1/images-are-certified + type: Mandatory + outcome: PASS + reason: |- + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/router:v3.54.3-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/nats-jetstream:2.11.9-custom-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/light-engine:v3.54.3-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/nogate:v3.54.3-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/rhel8/postgresql-15:1-66.1716485364 + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/nginx:v3.54.3-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/cloud-metadata:v3.54.3-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/heavy-engine:v3.54.3-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/integrations-adapter:v3.54.3-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/platform-integrations:v3.54.3-ubi + - check: v1.0/not-contain-csi-objects + type: Mandatory + outcome: PASS + reason: CSI objects do not exist + - check: v1.0/not-contains-crds + type: Mandatory + outcome: PASS + reason: Chart does not contain CRDs + - check: v1.0/helm-lint + type: Mandatory + outcome: PASS + reason: Helm lint successful + - check: v1.0/has-readme + type: Mandatory + outcome: PASS + reason: Chart has a README + - check: v1.0/signature-is-valid + type: Mandatory + outcome: SKIPPED + reason: 'Chart is not signed : Signature verification not required' + - check: v1.0/contains-test + type: Mandatory + outcome: PASS + reason: Chart test files exist + - check: v1.0/contains-values-schema + type: Mandatory + outcome: PASS + reason: Values schema file exist + - check: v1.1/has-kubeversion + type: Mandatory + outcome: PASS + reason: Kubernetes version specified diff --git a/charts/partners/nonamesec/nonamesec-ubi/3.54.4/report.yaml b/charts/partners/nonamesec/nonamesec-ubi/3.54.4/report.yaml new file mode 100644 index 000000000..0b0aab167 --- /dev/null +++ b/charts/partners/nonamesec/nonamesec-ubi/3.54.4/report.yaml @@ -0,0 +1,136 @@ +apiversion: v1 +kind: verify-report +metadata: + tool: + verifier-version: 1.13.13 + profile: + VendorType: partner + version: v1.3 + reportDigest: uint64:5318266408470884639 + chart-uri: N/A + digests: + chart: sha256:7ae673278dfd8ce08ace7b73a59ea242cbe397b72dbb1a453509b713aa65d609 + package: fbb2acecfb7db8b410c958bd0c7486f86bbc3775fdd3dee9c10a09243f1fda0a + lastCertifiedTimestamp: "2025-10-05T12:08:10.06071+00:00" + testedOpenShiftVersion: "4.14" + supportedOpenShiftVersions: '>=4.1' + webCatalogOnly: true + chart: + name: nonamesec-ubi + home: "" + sources: [] + version: 3.54.4 + description: Noname Helm on k8s + keywords: [] + maintainers: [] + icon: "" + apiversion: v2 + condition: "" + tags: "" + appversion: 3.54.4 + deprecated: false + annotations: + charts.openshift.io/name: Remote Engine + kubeversion: '>=1.0.0-0' + dependencies: + - name: noname + version: 0.1.0 + repository: file://charts/noname + condition: global.noname.enabled + - name: engine + version: 0.1.0 + repository: file://charts/engine + condition: global.engine.enabled + - name: active + version: 0.1.0 + repository: file://charts/active + condition: global.active.enabled + - name: platform + version: 0.1.0 + repository: file://charts/platform + condition: global.platform.enabled + - name: router + version: 0.1.0 + repository: file://charts/router + condition: global.router.enabled + - name: noagentapi + version: 0.1.0 + repository: file://charts/noagentapi + condition: noagentapi.enabled + - name: rabbitmq + version: 16.0.11 + repository: file://charts/rabbitmq + condition: global.noname.enabled,global.rabbitmq.enabled + - name: nns-eso + version: 0.1.0 + repository: file://charts/nns-eso + condition: global.nns_eso.enabled + type: "" + chart-overrides: "" +results: + - check: v1.1/images-are-certified + type: Mandatory + outcome: PASS + reason: |- + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/nats-jetstream:2.11.9-custom-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/cloud-metadata:v3.54.4-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/heavy-engine:v3.54.4-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/nginx:v3.54.4-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/light-engine:v3.54.4-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/integrations-adapter:v3.54.4-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/nogate:v3.54.4-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/platform-integrations:v3.54.4-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/rhel8/postgresql-15:1-66.1716485364 + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/router:v3.54.4-ubi + - check: v1.0/helm-lint + type: Mandatory + outcome: PASS + reason: Helm lint successful + - check: v1.0/is-helm-v3 + type: Mandatory + outcome: PASS + reason: API version is V2, used in Helm 3 + - check: v1.0/chart-testing + type: Mandatory + outcome: PASS + reason: Chart tests have passed + - check: v1.1/has-kubeversion + type: Mandatory + outcome: PASS + reason: Kubernetes version specified + - check: v1.0/has-notes + type: Optional + outcome: PASS + reason: Chart does contain NOTES.txt + - check: v1.0/has-readme + type: Mandatory + outcome: PASS + reason: Chart has a README + - check: v1.0/signature-is-valid + type: Mandatory + outcome: SKIPPED + reason: 'Chart is not signed : Signature verification not required' + - check: v1.0/contains-test + type: Mandatory + outcome: PASS + reason: Chart test files exist + - check: v1.0/contains-values-schema + type: Mandatory + outcome: PASS + reason: Values schema file exist + - check: v1.0/contains-values + type: Mandatory + outcome: PASS + reason: Values file exist + - check: v1.0/not-contain-csi-objects + type: Mandatory + outcome: PASS + reason: CSI objects do not exist + - check: v1.0/not-contains-crds + type: Mandatory + outcome: PASS + reason: Chart does not contain CRDs + - check: v1.0/required-annotations-present + type: Mandatory + outcome: PASS + reason: All required annotations present diff --git a/charts/partners/nonamesec/nonamesec-ubi/3.54.5/report.yaml b/charts/partners/nonamesec/nonamesec-ubi/3.54.5/report.yaml new file mode 100644 index 000000000..59b81c870 --- /dev/null +++ b/charts/partners/nonamesec/nonamesec-ubi/3.54.5/report.yaml @@ -0,0 +1,136 @@ +apiversion: v1 +kind: verify-report +metadata: + tool: + verifier-version: 1.13.13 + profile: + VendorType: partner + version: v1.3 + reportDigest: uint64:16709599906067808309 + chart-uri: N/A + digests: + chart: sha256:aceac87fc2d77f5c59eb5d3496e35dcdf3cd56362712cd072d01057e4e0b1df8 + package: e420dac0a1255324381ce8b18e32fca3a06f7c3ebc8204e9ef2c8f20dd795d75 + lastCertifiedTimestamp: "2025-10-05T16:37:44.691029+00:00" + testedOpenShiftVersion: "4.14" + supportedOpenShiftVersions: '>=4.1' + webCatalogOnly: true + chart: + name: nonamesec-ubi + home: "" + sources: [] + version: 3.54.5 + description: Noname Helm on k8s + keywords: [] + maintainers: [] + icon: "" + apiversion: v2 + condition: "" + tags: "" + appversion: 3.54.5 + deprecated: false + annotations: + charts.openshift.io/name: Remote Engine + kubeversion: '>=1.0.0-0' + dependencies: + - name: noname + version: 0.1.0 + repository: file://charts/noname + condition: global.noname.enabled + - name: engine + version: 0.1.0 + repository: file://charts/engine + condition: global.engine.enabled + - name: active + version: 0.1.0 + repository: file://charts/active + condition: global.active.enabled + - name: platform + version: 0.1.0 + repository: file://charts/platform + condition: global.platform.enabled + - name: router + version: 0.1.0 + repository: file://charts/router + condition: global.router.enabled + - name: noagentapi + version: 0.1.0 + repository: file://charts/noagentapi + condition: noagentapi.enabled + - name: rabbitmq + version: 16.0.11 + repository: file://charts/rabbitmq + condition: global.noname.enabled,global.rabbitmq.enabled + - name: nns-eso + version: 0.1.0 + repository: file://charts/nns-eso + condition: global.nns_eso.enabled + type: "" + chart-overrides: "" +results: + - check: v1.0/required-annotations-present + type: Mandatory + outcome: PASS + reason: All required annotations present + - check: v1.0/signature-is-valid + type: Mandatory + outcome: SKIPPED + reason: 'Chart is not signed : Signature verification not required' + - check: v1.0/not-contains-crds + type: Mandatory + outcome: PASS + reason: Chart does not contain CRDs + - check: v1.0/contains-values + type: Mandatory + outcome: PASS + reason: Values file exist + - check: v1.1/images-are-certified + type: Mandatory + outcome: PASS + reason: |- + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/cloud-metadata:v3.54.5-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/platform-integrations:v3.54.5-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/rhel8/postgresql-15:1-66.1716485364 + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/nats-jetstream:2.11.9-custom-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/light-engine:v3.54.5-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/heavy-engine:v3.54.5-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/integrations-adapter:v3.54.5-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/nogate:v3.54.5-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/router:v3.54.5-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/nginx:v3.54.5-ubi + - check: v1.0/contains-test + type: Mandatory + outcome: PASS + reason: Chart test files exist + - check: v1.1/has-kubeversion + type: Mandatory + outcome: PASS + reason: Kubernetes version specified + - check: v1.0/has-notes + type: Optional + outcome: PASS + reason: Chart does contain NOTES.txt + - check: v1.0/helm-lint + type: Mandatory + outcome: PASS + reason: Helm lint successful + - check: v1.0/not-contain-csi-objects + type: Mandatory + outcome: PASS + reason: CSI objects do not exist + - check: v1.0/chart-testing + type: Mandatory + outcome: PASS + reason: Chart tests have passed + - check: v1.0/contains-values-schema + type: Mandatory + outcome: PASS + reason: Values schema file exist + - check: v1.0/has-readme + type: Mandatory + outcome: PASS + reason: Chart has a README + - check: v1.0/is-helm-v3 + type: Mandatory + outcome: PASS + reason: API version is V2, used in Helm 3 diff --git a/charts/partners/nonamesec/nonamesec-ubi/3.54.6/report.yaml b/charts/partners/nonamesec/nonamesec-ubi/3.54.6/report.yaml new file mode 100644 index 000000000..be9e3ce18 --- /dev/null +++ b/charts/partners/nonamesec/nonamesec-ubi/3.54.6/report.yaml @@ -0,0 +1,136 @@ +apiversion: v1 +kind: verify-report +metadata: + tool: + verifier-version: 1.13.13 + profile: + VendorType: partner + version: v1.3 + reportDigest: uint64:8143103118169684658 + chart-uri: N/A + digests: + chart: sha256:66525e71aeaf2ff133fd4147a4963dfb2e6fd1126a33c5377daa2a64fb09ac71 + package: f7fe9a6f114b773fb341b94da5df687ef07ad2d508a71c8fbedfc1008244cfc3 + lastCertifiedTimestamp: "2025-10-12T19:38:16.353512+00:00" + testedOpenShiftVersion: "4.14" + supportedOpenShiftVersions: '>=4.1' + webCatalogOnly: true + chart: + name: nonamesec-ubi + home: "" + sources: [] + version: 3.54.6 + description: Noname Helm on k8s + keywords: [] + maintainers: [] + icon: "" + apiversion: v2 + condition: "" + tags: "" + appversion: 3.54.6 + deprecated: false + annotations: + charts.openshift.io/name: Remote Engine + kubeversion: '>=1.0.0-0' + dependencies: + - name: noname + version: 0.1.0 + repository: file://charts/noname + condition: global.noname.enabled + - name: engine + version: 0.1.0 + repository: file://charts/engine + condition: global.engine.enabled + - name: active + version: 0.1.0 + repository: file://charts/active + condition: global.active.enabled + - name: platform + version: 0.1.0 + repository: file://charts/platform + condition: global.platform.enabled + - name: router + version: 0.1.0 + repository: file://charts/router + condition: global.router.enabled + - name: noagentapi + version: 0.1.0 + repository: file://charts/noagentapi + condition: noagentapi.enabled + - name: rabbitmq + version: 16.0.11 + repository: file://charts/rabbitmq + condition: global.noname.enabled,global.rabbitmq.enabled + - name: nns-eso + version: 0.1.0 + repository: file://charts/nns-eso + condition: global.nns_eso.enabled + type: "" + chart-overrides: "" +results: + - check: v1.0/required-annotations-present + type: Mandatory + outcome: PASS + reason: All required annotations present + - check: v1.0/contains-test + type: Mandatory + outcome: PASS + reason: Chart test files exist + - check: v1.1/has-kubeversion + type: Mandatory + outcome: PASS + reason: Kubernetes version specified + - check: v1.0/has-notes + type: Optional + outcome: PASS + reason: Chart does contain NOTES.txt + - check: v1.0/has-readme + type: Mandatory + outcome: PASS + reason: Chart has a README + - check: v1.0/contains-values-schema + type: Mandatory + outcome: PASS + reason: Values schema file exist + - check: v1.0/signature-is-valid + type: Mandatory + outcome: SKIPPED + reason: 'Chart is not signed : Signature verification not required' + - check: v1.0/chart-testing + type: Mandatory + outcome: PASS + reason: Chart tests have passed + - check: v1.1/images-are-certified + type: Mandatory + outcome: PASS + reason: |- + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/cloud-metadata:v3.54.6-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/heavy-engine:v3.54.6-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/integrations-adapter:v3.54.6-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/nogate:v3.54.6-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/platform-integrations:v3.54.6-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/router:v3.54.6-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/nginx:v3.54.6-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/nats-jetstream:2.11.9-custom-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/light-engine:v3.54.6-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/rhel8/postgresql-15:1-66.1716485364 + - check: v1.0/contains-values + type: Mandatory + outcome: PASS + reason: Values file exist + - check: v1.0/helm-lint + type: Mandatory + outcome: PASS + reason: Helm lint successful + - check: v1.0/is-helm-v3 + type: Mandatory + outcome: PASS + reason: API version is V2, used in Helm 3 + - check: v1.0/not-contain-csi-objects + type: Mandatory + outcome: PASS + reason: CSI objects do not exist + - check: v1.0/not-contains-crds + type: Mandatory + outcome: PASS + reason: Chart does not contain CRDs diff --git a/charts/partners/nonamesec/nonamesec-ubi/3.55.0/report.yaml b/charts/partners/nonamesec/nonamesec-ubi/3.55.0/report.yaml new file mode 100644 index 000000000..7b2e73bd8 --- /dev/null +++ b/charts/partners/nonamesec/nonamesec-ubi/3.55.0/report.yaml @@ -0,0 +1,136 @@ +apiversion: v1 +kind: verify-report +metadata: + tool: + verifier-version: 1.13.13 + profile: + VendorType: partner + version: v1.3 + reportDigest: uint64:679745173603969496 + chart-uri: N/A + digests: + chart: sha256:d13185dbb8741299843bc20fce2c8169998cfc50e5b0a8b9c16b4a81365b7dee + package: b1417e0bf01e122551d6f9097b5e7011767de0faded4805ccaa046f46654b0cc + lastCertifiedTimestamp: "2025-10-12T17:32:22.223271+00:00" + testedOpenShiftVersion: "4.14" + supportedOpenShiftVersions: '>=4.1' + webCatalogOnly: true + chart: + name: nonamesec-ubi + home: "" + sources: [] + version: 3.55.0 + description: Noname Helm on k8s + keywords: [] + maintainers: [] + icon: "" + apiversion: v2 + condition: "" + tags: "" + appversion: 3.55.0 + deprecated: false + annotations: + charts.openshift.io/name: Remote Engine + kubeversion: '>=1.0.0-0' + dependencies: + - name: noname + version: 0.1.0 + repository: file://charts/noname + condition: global.noname.enabled + - name: engine + version: 0.1.0 + repository: file://charts/engine + condition: global.engine.enabled + - name: active + version: 0.1.0 + repository: file://charts/active + condition: global.active.enabled + - name: platform + version: 0.1.0 + repository: file://charts/platform + condition: global.platform.enabled + - name: router + version: 0.1.0 + repository: file://charts/router + condition: global.router.enabled + - name: noagentapi + version: 0.1.0 + repository: file://charts/noagentapi + condition: noagentapi.enabled + - name: rabbitmq + version: 16.0.11 + repository: file://charts/rabbitmq + condition: global.noname.enabled,global.rabbitmq.enabled + - name: nns-eso + version: 0.1.0 + repository: file://charts/nns-eso + condition: global.nns_eso.enabled + type: "" + chart-overrides: "" +results: + - check: v1.0/not-contains-crds + type: Mandatory + outcome: PASS + reason: Chart does not contain CRDs + - check: v1.0/required-annotations-present + type: Mandatory + outcome: PASS + reason: All required annotations present + - check: v1.0/chart-testing + type: Mandatory + outcome: PASS + reason: Chart tests have passed + - check: v1.0/contains-values + type: Mandatory + outcome: PASS + reason: Values file exist + - check: v1.0/helm-lint + type: Mandatory + outcome: PASS + reason: Helm lint successful + - check: v1.0/is-helm-v3 + type: Mandatory + outcome: PASS + reason: API version is V2, used in Helm 3 + - check: v1.0/contains-values-schema + type: Mandatory + outcome: PASS + reason: Values schema file exist + - check: v1.0/not-contain-csi-objects + type: Mandatory + outcome: PASS + reason: CSI objects do not exist + - check: v1.0/signature-is-valid + type: Mandatory + outcome: SKIPPED + reason: 'Chart is not signed : Signature verification not required' + - check: v1.1/has-kubeversion + type: Mandatory + outcome: PASS + reason: Kubernetes version specified + - check: v1.0/has-notes + type: Optional + outcome: PASS + reason: Chart does contain NOTES.txt + - check: v1.0/has-readme + type: Mandatory + outcome: PASS + reason: Chart has a README + - check: v1.1/images-are-certified + type: Mandatory + outcome: PASS + reason: |- + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/rhel8/postgresql-15:1-66.1716485364 + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/cloud-metadata:v3.55.0-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/integrations-adapter:v3.55.0-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/nogate:v3.55.0-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/platform-integrations:v3.55.0-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/router:v3.55.0-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/nginx:v3.55.0-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/nats-jetstream:2.11.9-custom-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/light-engine:v3.55.0-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/heavy-engine:v3.55.0-ubi + - check: v1.0/contains-test + type: Mandatory + outcome: PASS + reason: Chart test files exist diff --git a/charts/partners/nonamesec/nonamesec-ubi/3.55.1/report.yaml b/charts/partners/nonamesec/nonamesec-ubi/3.55.1/report.yaml new file mode 100644 index 000000000..79ef90f2f --- /dev/null +++ b/charts/partners/nonamesec/nonamesec-ubi/3.55.1/report.yaml @@ -0,0 +1,136 @@ +apiversion: v1 +kind: verify-report +metadata: + tool: + verifier-version: 1.13.13 + profile: + VendorType: partner + version: v1.3 + reportDigest: uint64:2449870859770745764 + chart-uri: N/A + digests: + chart: sha256:e2d0e6c501afdadd24da0b8b218fbbbb066e2c2c7ba726418e13169e7ce2120a + package: 6bd54a09cdb4481771fd6c158d73f4ea1ddc91951177a4a6f2cd75657b14490d + lastCertifiedTimestamp: "2025-10-12T19:40:45.848763+00:00" + testedOpenShiftVersion: "4.14" + supportedOpenShiftVersions: '>=4.1' + webCatalogOnly: true + chart: + name: nonamesec-ubi + home: "" + sources: [] + version: 3.55.1 + description: Noname Helm on k8s + keywords: [] + maintainers: [] + icon: "" + apiversion: v2 + condition: "" + tags: "" + appversion: 3.55.1 + deprecated: false + annotations: + charts.openshift.io/name: Remote Engine + kubeversion: '>=1.0.0-0' + dependencies: + - name: noname + version: 0.1.0 + repository: file://charts/noname + condition: global.noname.enabled + - name: engine + version: 0.1.0 + repository: file://charts/engine + condition: global.engine.enabled + - name: active + version: 0.1.0 + repository: file://charts/active + condition: global.active.enabled + - name: platform + version: 0.1.0 + repository: file://charts/platform + condition: global.platform.enabled + - name: router + version: 0.1.0 + repository: file://charts/router + condition: global.router.enabled + - name: noagentapi + version: 0.1.0 + repository: file://charts/noagentapi + condition: noagentapi.enabled + - name: rabbitmq + version: 16.0.11 + repository: file://charts/rabbitmq + condition: global.noname.enabled,global.rabbitmq.enabled + - name: nns-eso + version: 0.1.0 + repository: file://charts/nns-eso + condition: global.nns_eso.enabled + type: "" + chart-overrides: "" +results: + - check: v1.0/contains-values + type: Mandatory + outcome: PASS + reason: Values file exist + - check: v1.0/is-helm-v3 + type: Mandatory + outcome: PASS + reason: API version is V2, used in Helm 3 + - check: v1.0/not-contain-csi-objects + type: Mandatory + outcome: PASS + reason: CSI objects do not exist + - check: v1.0/not-contains-crds + type: Mandatory + outcome: PASS + reason: Chart does not contain CRDs + - check: v1.0/signature-is-valid + type: Mandatory + outcome: SKIPPED + reason: 'Chart is not signed : Signature verification not required' + - check: v1.0/contains-values-schema + type: Mandatory + outcome: PASS + reason: Values schema file exist + - check: v1.0/chart-testing + type: Mandatory + outcome: PASS + reason: Chart tests have passed + - check: v1.1/has-kubeversion + type: Mandatory + outcome: PASS + reason: Kubernetes version specified + - check: v1.0/has-notes + type: Optional + outcome: PASS + reason: Chart does contain NOTES.txt + - check: v1.0/has-readme + type: Mandatory + outcome: PASS + reason: Chart has a README + - check: v1.0/helm-lint + type: Mandatory + outcome: PASS + reason: Helm lint successful + - check: v1.1/images-are-certified + type: Mandatory + outcome: PASS + reason: |- + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/nats-jetstream:2.11.9-custom-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/light-engine:v3.55.1-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/cloud-metadata:v3.55.1-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/heavy-engine:v3.55.1-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/integrations-adapter:v3.55.1-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/nogate:v3.55.1-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/platform-integrations:v3.55.1-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/rhel8/postgresql-15:1-66.1716485364 + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/router:v3.55.1-ubi + Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/nginx:v3.55.1-ubi + - check: v1.0/required-annotations-present + type: Mandatory + outcome: PASS + reason: All required annotations present + - check: v1.0/contains-test + type: Mandatory + outcome: PASS + reason: Chart test files exist diff --git a/charts/partners/nonamesec/remote-active-worker-ubi/3.51.12/report.yaml b/charts/partners/nonamesec/remote-active-worker-ubi/3.51.12/report.yaml new file mode 100644 index 000000000..bec0d965d --- /dev/null +++ b/charts/partners/nonamesec/remote-active-worker-ubi/3.51.12/report.yaml @@ -0,0 +1,94 @@ +apiversion: v1 +kind: verify-report +metadata: + tool: + verifier-version: 1.13.12 + profile: + VendorType: partner + version: v1.3 + reportDigest: uint64:6409409880195626668 + chart-uri: N/A + digests: + chart: sha256:ec2c6bb8a7d42b478b2194169f26033f7130d62f8d48c2afc27911a5f60c7265 + package: 31710a32e340a801297ed43c9532a5a130441217677d8215959b8fca1b545e76 + lastCertifiedTimestamp: "2025-08-18T08:17:22.349906+00:00" + testedOpenShiftVersion: "4.14" + supportedOpenShiftVersions: '>=4.1' + webCatalogOnly: true + chart: + name: remote-active-worker-ubi + home: "" + sources: [] + version: 3.51.12 + description: Active Worker Helm Chart for remote active worker deployments + keywords: [] + maintainers: [] + icon: "" + apiversion: v2 + condition: "" + tags: "" + appversion: 2.39.1-ubi + deprecated: false + annotations: + charts.openshift.io/name: Remote Active Testing Worker + kubeversion: '>=1.0.0-0' + dependencies: [] + type: application + chart-overrides: "" +results: + - check: v1.0/required-annotations-present + type: Mandatory + outcome: PASS + reason: All required annotations present + - check: v1.1/images-are-certified + type: Mandatory + outcome: PASS + reason: 'Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/active-worker:2.39.1-ubi' + - check: v1.0/contains-test + type: Mandatory + outcome: PASS + reason: Chart test files exist + - check: v1.0/contains-values + type: Mandatory + outcome: PASS + reason: Values file exist + - check: v1.1/has-kubeversion + type: Mandatory + outcome: PASS + reason: Kubernetes version specified + - check: v1.0/not-contain-csi-objects + type: Mandatory + outcome: PASS + reason: CSI objects do not exist + - check: v1.0/contains-values-schema + type: Mandatory + outcome: PASS + reason: Values schema file exist + - check: v1.0/has-notes + type: Optional + outcome: PASS + reason: Chart does contain NOTES.txt + - check: v1.0/not-contains-crds + type: Mandatory + outcome: PASS + reason: Chart does not contain CRDs + - check: v1.0/chart-testing + type: Mandatory + outcome: PASS + reason: Chart tests have passed + - check: v1.0/has-readme + type: Mandatory + outcome: PASS + reason: Chart has a README + - check: v1.0/helm-lint + type: Mandatory + outcome: PASS + reason: Helm lint successful + - check: v1.0/signature-is-valid + type: Mandatory + outcome: SKIPPED + reason: 'Chart is not signed : Signature verification not required' + - check: v1.0/is-helm-v3 + type: Mandatory + outcome: PASS + reason: API version is V2, used in Helm 3 diff --git a/charts/partners/nonamesec/remote-active-worker-ubi/3.52.10/report.yaml b/charts/partners/nonamesec/remote-active-worker-ubi/3.52.10/report.yaml new file mode 100644 index 000000000..59830f52a --- /dev/null +++ b/charts/partners/nonamesec/remote-active-worker-ubi/3.52.10/report.yaml @@ -0,0 +1,94 @@ +apiversion: v1 +kind: verify-report +metadata: + tool: + verifier-version: 1.13.13 + profile: + VendorType: partner + version: v1.3 + reportDigest: uint64:18444639939885685627 + chart-uri: N/A + digests: + chart: sha256:6ee6332acd58a7191fc69c89c3a661615e809c112566749d5cc2fcf326bb87cc + package: 0db80361fc4d9961683b51ddac2f24517b791055fc0254b6710a5728bfaf121d + lastCertifiedTimestamp: "2025-09-14T09:01:20.142897+00:00" + testedOpenShiftVersion: "4.14" + supportedOpenShiftVersions: '>=4.1' + webCatalogOnly: true + chart: + name: remote-active-worker-ubi + home: "" + sources: [] + version: 3.52.10 + description: Active Worker Helm Chart for remote active worker deployments + keywords: [] + maintainers: [] + icon: "" + apiversion: v2 + condition: "" + tags: "" + appversion: 2.40.1-ubi + deprecated: false + annotations: + charts.openshift.io/name: Remote Active Testing Worker + kubeversion: '>=1.0.0-0' + dependencies: [] + type: application + chart-overrides: "" +results: + - check: v1.0/has-readme + type: Mandatory + outcome: PASS + reason: Chart has a README + - check: v1.0/signature-is-valid + type: Mandatory + outcome: SKIPPED + reason: 'Chart is not signed : Signature verification not required' + - check: v1.0/contains-values-schema + type: Mandatory + outcome: PASS + reason: Values schema file exist + - check: v1.0/has-notes + type: Optional + outcome: PASS + reason: Chart does contain NOTES.txt + - check: v1.0/helm-lint + type: Mandatory + outcome: PASS + reason: Helm lint successful + - check: v1.1/images-are-certified + type: Mandatory + outcome: PASS + reason: 'Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/active-worker:2.40.1-ubi' + - check: v1.0/not-contains-crds + type: Mandatory + outcome: PASS + reason: Chart does not contain CRDs + - check: v1.0/chart-testing + type: Mandatory + outcome: PASS + reason: Chart tests have passed + - check: v1.0/is-helm-v3 + type: Mandatory + outcome: PASS + reason: API version is V2, used in Helm 3 + - check: v1.0/not-contain-csi-objects + type: Mandatory + outcome: PASS + reason: CSI objects do not exist + - check: v1.0/required-annotations-present + type: Mandatory + outcome: PASS + reason: All required annotations present + - check: v1.0/contains-test + type: Mandatory + outcome: PASS + reason: Chart test files exist + - check: v1.0/contains-values + type: Mandatory + outcome: PASS + reason: Values file exist + - check: v1.1/has-kubeversion + type: Mandatory + outcome: PASS + reason: Kubernetes version specified diff --git a/charts/partners/nonamesec/remote-active-worker-ubi/3.52.12/report.yaml b/charts/partners/nonamesec/remote-active-worker-ubi/3.52.12/report.yaml new file mode 100644 index 000000000..e9efb1f4a --- /dev/null +++ b/charts/partners/nonamesec/remote-active-worker-ubi/3.52.12/report.yaml @@ -0,0 +1,94 @@ +apiversion: v1 +kind: verify-report +metadata: + tool: + verifier-version: 1.13.13 + profile: + VendorType: partner + version: v1.3 + reportDigest: uint64:17725084888578138008 + chart-uri: N/A + digests: + chart: sha256:6e90bd5d3577241c2e8e4d9570c18d792bfeb07a9d5b5953618aadf318caeb6d + package: 8a037f77f37512c81e969902fe73d044050157677690a0e19f26fcf535cc95d6 + lastCertifiedTimestamp: "2025-10-12T19:47:28.487893+00:00" + testedOpenShiftVersion: "4.14" + supportedOpenShiftVersions: '>=4.1' + webCatalogOnly: true + chart: + name: remote-active-worker-ubi + home: "" + sources: [] + version: 3.52.12 + description: Active Worker Helm Chart for remote active worker deployments + keywords: [] + maintainers: [] + icon: "" + apiversion: v2 + condition: "" + tags: "" + appversion: 2.40.2-ubi + deprecated: false + annotations: + charts.openshift.io/name: Remote Active Testing Worker + kubeversion: '>=1.0.0-0' + dependencies: [] + type: application + chart-overrides: "" +results: + - check: v1.0/not-contains-crds + type: Mandatory + outcome: PASS + reason: Chart does not contain CRDs + - check: v1.0/chart-testing + type: Mandatory + outcome: PASS + reason: Chart tests have passed + - check: v1.0/contains-values-schema + type: Mandatory + outcome: PASS + reason: Values schema file exist + - check: v1.0/has-notes + type: Optional + outcome: PASS + reason: Chart does contain NOTES.txt + - check: v1.0/is-helm-v3 + type: Mandatory + outcome: PASS + reason: API version is V2, used in Helm 3 + - check: v1.0/contains-test + type: Mandatory + outcome: PASS + reason: Chart test files exist + - check: v1.0/contains-values + type: Mandatory + outcome: PASS + reason: Values file exist + - check: v1.1/has-kubeversion + type: Mandatory + outcome: PASS + reason: Kubernetes version specified + - check: v1.0/has-readme + type: Mandatory + outcome: PASS + reason: Chart has a README + - check: v1.0/helm-lint + type: Mandatory + outcome: PASS + reason: Helm lint successful + - check: v1.1/images-are-certified + type: Mandatory + outcome: PASS + reason: 'Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/active-worker:2.40.2-ubi' + - check: v1.0/not-contain-csi-objects + type: Mandatory + outcome: PASS + reason: CSI objects do not exist + - check: v1.0/required-annotations-present + type: Mandatory + outcome: PASS + reason: All required annotations present + - check: v1.0/signature-is-valid + type: Mandatory + outcome: SKIPPED + reason: 'Chart is not signed : Signature verification not required' diff --git a/charts/partners/nonamesec/remote-active-worker-ubi/3.52.3/report.yaml b/charts/partners/nonamesec/remote-active-worker-ubi/3.52.3/report.yaml new file mode 100644 index 000000000..fa963da25 --- /dev/null +++ b/charts/partners/nonamesec/remote-active-worker-ubi/3.52.3/report.yaml @@ -0,0 +1,94 @@ +apiversion: v1 +kind: verify-report +metadata: + tool: + verifier-version: 1.13.12 + profile: + VendorType: partner + version: v1.3 + reportDigest: uint64:6117234136746615951 + chart-uri: N/A + digests: + chart: sha256:d15bf8a75bf34170558497140a222480ee05ee0f352df9d7947779a5cf25ec6e + package: 49f8900d9a5c3eea4aea1b5816b11a44b746450b0eba1b4dde233589dc852dd1 + lastCertifiedTimestamp: "2025-08-15T11:47:27.782184+00:00" + testedOpenShiftVersion: "4.14" + supportedOpenShiftVersions: '>=4.1' + webCatalogOnly: true + chart: + name: remote-active-worker-ubi + home: "" + sources: [] + version: 3.52.3 + description: Active Worker Helm Chart for remote active worker deployments + keywords: [] + maintainers: [] + icon: "" + apiversion: v2 + condition: "" + tags: "" + appversion: 2.40.1-ubi + deprecated: false + annotations: + charts.openshift.io/name: Remote Active Testing Worker + kubeversion: '>=1.0.0-0' + dependencies: [] + type: application + chart-overrides: "" +results: + - check: v1.0/not-contains-crds + type: Mandatory + outcome: PASS + reason: Chart does not contain CRDs + - check: v1.0/contains-test + type: Mandatory + outcome: PASS + reason: Chart test files exist + - check: v1.1/has-kubeversion + type: Mandatory + outcome: PASS + reason: Kubernetes version specified + - check: v1.0/required-annotations-present + type: Mandatory + outcome: PASS + reason: All required annotations present + - check: v1.0/contains-values-schema + type: Mandatory + outcome: PASS + reason: Values schema file exist + - check: v1.1/images-are-certified + type: Mandatory + outcome: PASS + reason: 'Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/active-worker:2.40.1-ubi' + - check: v1.0/chart-testing + type: Mandatory + outcome: PASS + reason: Chart tests have passed + - check: v1.0/signature-is-valid + type: Mandatory + outcome: SKIPPED + reason: 'Chart is not signed : Signature verification not required' + - check: v1.0/has-readme + type: Mandatory + outcome: PASS + reason: Chart has a README + - check: v1.0/helm-lint + type: Mandatory + outcome: PASS + reason: Helm lint successful + - check: v1.0/contains-values + type: Mandatory + outcome: PASS + reason: Values file exist + - check: v1.0/not-contain-csi-objects + type: Mandatory + outcome: PASS + reason: CSI objects do not exist + - check: v1.0/is-helm-v3 + type: Mandatory + outcome: PASS + reason: API version is V2, used in Helm 3 + - check: v1.0/has-notes + type: Optional + outcome: PASS + reason: Chart does contain NOTES.txt diff --git a/charts/partners/nonamesec/remote-active-worker-ubi/3.52.4/report.yaml b/charts/partners/nonamesec/remote-active-worker-ubi/3.52.4/report.yaml new file mode 100644 index 000000000..eb566cadf --- /dev/null +++ b/charts/partners/nonamesec/remote-active-worker-ubi/3.52.4/report.yaml @@ -0,0 +1,94 @@ +apiversion: v1 +kind: verify-report +metadata: + tool: + verifier-version: 1.13.12 + profile: + VendorType: partner + version: v1.3 + reportDigest: uint64:10227172559661340712 + chart-uri: N/A + digests: + chart: sha256:3a56e2509759a548fe72f9767b85d9f9ded3b275fac342e9226d7de2ed8f0970 + package: 543982e25ba0f451ec860af903cecac240d9c75b6e7d34956d687855918b4dfa + lastCertifiedTimestamp: "2025-08-18T19:38:50.287444+00:00" + testedOpenShiftVersion: "4.14" + supportedOpenShiftVersions: '>=4.1' + webCatalogOnly: true + chart: + name: remote-active-worker-ubi + home: "" + sources: [] + version: 3.52.4 + description: Active Worker Helm Chart for remote active worker deployments + keywords: [] + maintainers: [] + icon: "" + apiversion: v2 + condition: "" + tags: "" + appversion: 2.40.1-ubi + deprecated: false + annotations: + charts.openshift.io/name: Remote Active Testing Worker + kubeversion: '>=1.0.0-0' + dependencies: [] + type: application + chart-overrides: "" +results: + - check: v1.0/contains-values + type: Mandatory + outcome: PASS + reason: Values file exist + - check: v1.0/not-contain-csi-objects + type: Mandatory + outcome: PASS + reason: CSI objects do not exist + - check: v1.0/contains-test + type: Mandatory + outcome: PASS + reason: Chart test files exist + - check: v1.0/has-notes + type: Optional + outcome: PASS + reason: Chart does contain NOTES.txt + - check: v1.0/signature-is-valid + type: Mandatory + outcome: SKIPPED + reason: 'Chart is not signed : Signature verification not required' + - check: v1.0/is-helm-v3 + type: Mandatory + outcome: PASS + reason: API version is V2, used in Helm 3 + - check: v1.0/has-readme + type: Mandatory + outcome: PASS + reason: Chart has a README + - check: v1.0/helm-lint + type: Mandatory + outcome: PASS + reason: Helm lint successful + - check: v1.1/has-kubeversion + type: Mandatory + outcome: PASS + reason: Kubernetes version specified + - check: v1.0/chart-testing + type: Mandatory + outcome: PASS + reason: Chart tests have passed + - check: v1.0/contains-values-schema + type: Mandatory + outcome: PASS + reason: Values schema file exist + - check: v1.1/images-are-certified + type: Mandatory + outcome: PASS + reason: 'Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/active-worker:2.40.1-ubi' + - check: v1.0/not-contains-crds + type: Mandatory + outcome: PASS + reason: Chart does not contain CRDs + - check: v1.0/required-annotations-present + type: Mandatory + outcome: PASS + reason: All required annotations present diff --git a/charts/partners/nonamesec/remote-active-worker-ubi/3.52.5/report.yaml b/charts/partners/nonamesec/remote-active-worker-ubi/3.52.5/report.yaml new file mode 100644 index 000000000..da7d7f36b --- /dev/null +++ b/charts/partners/nonamesec/remote-active-worker-ubi/3.52.5/report.yaml @@ -0,0 +1,94 @@ +apiversion: v1 +kind: verify-report +metadata: + tool: + verifier-version: 1.13.12 + profile: + VendorType: partner + version: v1.3 + reportDigest: uint64:1690450249209918892 + chart-uri: N/A + digests: + chart: sha256:f6b92c15c4e8c155daea6135cd73df2e7119dbb7994526b083cc536a9624a577 + package: 793881e37b8c23f5ec1777b9f4119ff980e7f5379d39b777b32a41d6af29a3fd + lastCertifiedTimestamp: "2025-08-26T10:30:30.74251+00:00" + testedOpenShiftVersion: "4.14" + supportedOpenShiftVersions: '>=4.1' + webCatalogOnly: true + chart: + name: remote-active-worker-ubi + home: "" + sources: [] + version: 3.52.5 + description: Active Worker Helm Chart for remote active worker deployments + keywords: [] + maintainers: [] + icon: "" + apiversion: v2 + condition: "" + tags: "" + appversion: 2.40.1-ubi + deprecated: false + annotations: + charts.openshift.io/name: Remote Active Testing Worker + kubeversion: '>=1.0.0-0' + dependencies: [] + type: application + chart-overrides: "" +results: + - check: v1.1/has-kubeversion + type: Mandatory + outcome: PASS + reason: Kubernetes version specified + - check: v1.0/not-contain-csi-objects + type: Mandatory + outcome: PASS + reason: CSI objects do not exist + - check: v1.0/signature-is-valid + type: Mandatory + outcome: SKIPPED + reason: 'Chart is not signed : Signature verification not required' + - check: v1.0/contains-test + type: Mandatory + outcome: PASS + reason: Chart test files exist + - check: v1.0/required-annotations-present + type: Mandatory + outcome: PASS + reason: All required annotations present + - check: v1.0/helm-lint + type: Mandatory + outcome: PASS + reason: Helm lint successful + - check: v1.0/is-helm-v3 + type: Mandatory + outcome: PASS + reason: API version is V2, used in Helm 3 + - check: v1.0/chart-testing + type: Mandatory + outcome: PASS + reason: Chart tests have passed + - check: v1.0/not-contains-crds + type: Mandatory + outcome: PASS + reason: Chart does not contain CRDs + - check: v1.0/has-readme + type: Mandatory + outcome: PASS + reason: Chart has a README + - check: v1.1/images-are-certified + type: Mandatory + outcome: PASS + reason: 'Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/active-worker:2.40.1-ubi' + - check: v1.0/contains-values + type: Mandatory + outcome: PASS + reason: Values file exist + - check: v1.0/has-notes + type: Optional + outcome: PASS + reason: Chart does contain NOTES.txt + - check: v1.0/contains-values-schema + type: Mandatory + outcome: PASS + reason: Values schema file exist diff --git a/charts/partners/nonamesec/remote-active-worker-ubi/3.52.6/report.yaml b/charts/partners/nonamesec/remote-active-worker-ubi/3.52.6/report.yaml new file mode 100644 index 000000000..9991dcac2 --- /dev/null +++ b/charts/partners/nonamesec/remote-active-worker-ubi/3.52.6/report.yaml @@ -0,0 +1,94 @@ +apiversion: v1 +kind: verify-report +metadata: + tool: + verifier-version: 1.13.13 + profile: + VendorType: partner + version: v1.3 + reportDigest: uint64:4563630743727597206 + chart-uri: N/A + digests: + chart: sha256:7c7d697549f7eef8ffe02922cd1010652da58359b206a24dfcf844a9857cbe4d + package: a11d1e3765d309d1476169643c7bd4300df3f42a8999a93a18dc2fb4a9f7ed1e + lastCertifiedTimestamp: "2025-08-27T19:12:59.075834+00:00" + testedOpenShiftVersion: "4.14" + supportedOpenShiftVersions: '>=4.1' + webCatalogOnly: true + chart: + name: remote-active-worker-ubi + home: "" + sources: [] + version: 3.52.6 + description: Active Worker Helm Chart for remote active worker deployments + keywords: [] + maintainers: [] + icon: "" + apiversion: v2 + condition: "" + tags: "" + appversion: 2.40.1-ubi + deprecated: false + annotations: + charts.openshift.io/name: Remote Active Testing Worker + kubeversion: '>=1.0.0-0' + dependencies: [] + type: application + chart-overrides: "" +results: + - check: v1.1/has-kubeversion + type: Mandatory + outcome: PASS + reason: Kubernetes version specified + - check: v1.0/not-contain-csi-objects + type: Mandatory + outcome: PASS + reason: CSI objects do not exist + - check: v1.0/not-contains-crds + type: Mandatory + outcome: PASS + reason: Chart does not contain CRDs + - check: v1.0/chart-testing + type: Mandatory + outcome: PASS + reason: Chart tests have passed + - check: v1.0/contains-values-schema + type: Mandatory + outcome: PASS + reason: Values schema file exist + - check: v1.0/contains-values + type: Mandatory + outcome: PASS + reason: Values file exist + - check: v1.0/has-notes + type: Optional + outcome: PASS + reason: Chart does contain NOTES.txt + - check: v1.0/has-readme + type: Mandatory + outcome: PASS + reason: Chart has a README + - check: v1.1/images-are-certified + type: Mandatory + outcome: PASS + reason: 'Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/active-worker:2.40.1-ubi' + - check: v1.0/helm-lint + type: Mandatory + outcome: PASS + reason: Helm lint successful + - check: v1.0/is-helm-v3 + type: Mandatory + outcome: PASS + reason: API version is V2, used in Helm 3 + - check: v1.0/required-annotations-present + type: Mandatory + outcome: PASS + reason: All required annotations present + - check: v1.0/signature-is-valid + type: Mandatory + outcome: SKIPPED + reason: 'Chart is not signed : Signature verification not required' + - check: v1.0/contains-test + type: Mandatory + outcome: PASS + reason: Chart test files exist diff --git a/charts/partners/nonamesec/remote-active-worker-ubi/3.53.5/report.yaml b/charts/partners/nonamesec/remote-active-worker-ubi/3.53.5/report.yaml new file mode 100644 index 000000000..10590de91 --- /dev/null +++ b/charts/partners/nonamesec/remote-active-worker-ubi/3.53.5/report.yaml @@ -0,0 +1,94 @@ +apiversion: v1 +kind: verify-report +metadata: + tool: + verifier-version: 1.13.13 + profile: + VendorType: partner + version: v1.3 + reportDigest: uint64:793797568995286217 + chart-uri: N/A + digests: + chart: sha256:7a7406a2bde8c8d2a8c3607becb98a70304df6147757553aee7eb21520d8745a + package: ff8ff0f614024d65b66714adba74ab3f7199d209e39d33341aaaf9a3536f73d7 + lastCertifiedTimestamp: "2025-10-12T19:33:57.503413+00:00" + testedOpenShiftVersion: "4.14" + supportedOpenShiftVersions: '>=4.1' + webCatalogOnly: true + chart: + name: remote-active-worker-ubi + home: "" + sources: [] + version: 3.53.5 + description: Active Worker Helm Chart for remote active worker deployments + keywords: [] + maintainers: [] + icon: "" + apiversion: v2 + condition: "" + tags: "" + appversion: 2.41.2-ubi + deprecated: false + annotations: + charts.openshift.io/name: Remote Active Testing Worker + kubeversion: '>=1.0.0-0' + dependencies: [] + type: application + chart-overrides: "" +results: + - check: v1.0/required-annotations-present + type: Mandatory + outcome: PASS + reason: All required annotations present + - check: v1.0/contains-test + type: Mandatory + outcome: PASS + reason: Chart test files exist + - check: v1.1/has-kubeversion + type: Mandatory + outcome: PASS + reason: Kubernetes version specified + - check: v1.0/has-notes + type: Optional + outcome: PASS + reason: Chart does contain NOTES.txt + - check: v1.0/not-contains-crds + type: Mandatory + outcome: PASS + reason: Chart does not contain CRDs + - check: v1.0/chart-testing + type: Mandatory + outcome: PASS + reason: Chart tests have passed + - check: v1.0/contains-values-schema + type: Mandatory + outcome: PASS + reason: Values schema file exist + - check: v1.0/helm-lint + type: Mandatory + outcome: PASS + reason: Helm lint successful + - check: v1.1/images-are-certified + type: Mandatory + outcome: PASS + reason: 'Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/active-worker:2.41.2-ubi' + - check: v1.0/not-contain-csi-objects + type: Mandatory + outcome: PASS + reason: CSI objects do not exist + - check: v1.0/signature-is-valid + type: Mandatory + outcome: SKIPPED + reason: 'Chart is not signed : Signature verification not required' + - check: v1.0/contains-values + type: Mandatory + outcome: PASS + reason: Values file exist + - check: v1.0/has-readme + type: Mandatory + outcome: PASS + reason: Chart has a README + - check: v1.0/is-helm-v3 + type: Mandatory + outcome: PASS + reason: API version is V2, used in Helm 3 diff --git a/charts/partners/nonamesec/remote-active-worker-ubi/3.54.0/report.yaml b/charts/partners/nonamesec/remote-active-worker-ubi/3.54.0/report.yaml new file mode 100644 index 000000000..ddb9262bd --- /dev/null +++ b/charts/partners/nonamesec/remote-active-worker-ubi/3.54.0/report.yaml @@ -0,0 +1,94 @@ +apiversion: v1 +kind: verify-report +metadata: + tool: + verifier-version: 1.13.13 + profile: + VendorType: partner + version: v1.3 + reportDigest: uint64:17181941315337769310 + chart-uri: N/A + digests: + chart: sha256:f0c0f91d67b1fefda8465d60e8ad201604966041695175e847a264223c3cd42f + package: 8c1dea397155617ccbf610659fa397cfc70dd6f069ceb1733e992856c35cfaa0 + lastCertifiedTimestamp: "2025-09-22T12:31:39.97555+00:00" + testedOpenShiftVersion: "4.14" + supportedOpenShiftVersions: '>=4.1' + webCatalogOnly: true + chart: + name: remote-active-worker-ubi + home: "" + sources: [] + version: 3.54.0 + description: Active Worker Helm Chart for remote active worker deployments + keywords: [] + maintainers: [] + icon: "" + apiversion: v2 + condition: "" + tags: "" + appversion: 2.42.0-ubi + deprecated: false + annotations: + charts.openshift.io/name: Remote Active Testing Worker + kubeversion: '>=1.0.0-0' + dependencies: [] + type: application + chart-overrides: "" +results: + - check: v1.1/has-kubeversion + type: Mandatory + outcome: PASS + reason: Kubernetes version specified + - check: v1.1/images-are-certified + type: Mandatory + outcome: PASS + reason: 'Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/active-worker:2.42.0-ubi' + - check: v1.0/is-helm-v3 + type: Mandatory + outcome: PASS + reason: API version is V2, used in Helm 3 + - check: v1.0/not-contain-csi-objects + type: Mandatory + outcome: PASS + reason: CSI objects do not exist + - check: v1.0/not-contains-crds + type: Mandatory + outcome: PASS + reason: Chart does not contain CRDs + - check: v1.0/contains-values-schema + type: Mandatory + outcome: PASS + reason: Values schema file exist + - check: v1.0/contains-test + type: Mandatory + outcome: PASS + reason: Chart test files exist + - check: v1.0/signature-is-valid + type: Mandatory + outcome: SKIPPED + reason: 'Chart is not signed : Signature verification not required' + - check: v1.0/chart-testing + type: Mandatory + outcome: PASS + reason: Chart tests have passed + - check: v1.0/has-notes + type: Optional + outcome: PASS + reason: Chart does contain NOTES.txt + - check: v1.0/has-readme + type: Mandatory + outcome: PASS + reason: Chart has a README + - check: v1.0/helm-lint + type: Mandatory + outcome: PASS + reason: Helm lint successful + - check: v1.0/required-annotations-present + type: Mandatory + outcome: PASS + reason: All required annotations present + - check: v1.0/contains-values + type: Mandatory + outcome: PASS + reason: Values file exist diff --git a/charts/partners/nonamesec/remote-active-worker-ubi/3.54.1/report.yaml b/charts/partners/nonamesec/remote-active-worker-ubi/3.54.1/report.yaml new file mode 100644 index 000000000..dbaec725c --- /dev/null +++ b/charts/partners/nonamesec/remote-active-worker-ubi/3.54.1/report.yaml @@ -0,0 +1,94 @@ +apiversion: v1 +kind: verify-report +metadata: + tool: + verifier-version: 1.13.13 + profile: + VendorType: partner + version: v1.3 + reportDigest: uint64:4440219209400846058 + chart-uri: N/A + digests: + chart: sha256:d3f696a98d651ad3304cb2408386948ce43a86c4f01eaf33a1d66dc16273e3c8 + package: d72e6a25c43154de2fae2ba57d9212b19983c0a2cac88f499369699bddbfdfd6 + lastCertifiedTimestamp: "2025-09-25T22:46:24.070282+00:00" + testedOpenShiftVersion: "4.14" + supportedOpenShiftVersions: '>=4.1' + webCatalogOnly: true + chart: + name: remote-active-worker-ubi + home: "" + sources: [] + version: 3.54.1 + description: Active Worker Helm Chart for remote active worker deployments + keywords: [] + maintainers: [] + icon: "" + apiversion: v2 + condition: "" + tags: "" + appversion: 2.42.0-ubi + deprecated: false + annotations: + charts.openshift.io/name: Remote Active Testing Worker + kubeversion: '>=1.0.0-0' + dependencies: [] + type: application + chart-overrides: "" +results: + - check: v1.0/signature-is-valid + type: Mandatory + outcome: SKIPPED + reason: 'Chart is not signed : Signature verification not required' + - check: v1.0/chart-testing + type: Mandatory + outcome: PASS + reason: Chart tests have passed + - check: v1.0/contains-values + type: Mandatory + outcome: PASS + reason: Values file exist + - check: v1.0/helm-lint + type: Mandatory + outcome: PASS + reason: Helm lint successful + - check: v1.0/is-helm-v3 + type: Mandatory + outcome: PASS + reason: API version is V2, used in Helm 3 + - check: v1.0/not-contain-csi-objects + type: Mandatory + outcome: PASS + reason: CSI objects do not exist + - check: v1.0/contains-test + type: Mandatory + outcome: PASS + reason: Chart test files exist + - check: v1.1/has-kubeversion + type: Mandatory + outcome: PASS + reason: Kubernetes version specified + - check: v1.0/not-contains-crds + type: Mandatory + outcome: PASS + reason: Chart does not contain CRDs + - check: v1.0/required-annotations-present + type: Mandatory + outcome: PASS + reason: All required annotations present + - check: v1.0/has-notes + type: Optional + outcome: PASS + reason: Chart does contain NOTES.txt + - check: v1.0/contains-values-schema + type: Mandatory + outcome: PASS + reason: Values schema file exist + - check: v1.0/has-readme + type: Mandatory + outcome: PASS + reason: Chart has a README + - check: v1.1/images-are-certified + type: Mandatory + outcome: PASS + reason: 'Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/active-worker:2.42.0-ubi' diff --git a/charts/partners/nonamesec/remote-active-worker-ubi/3.54.2/report.yaml b/charts/partners/nonamesec/remote-active-worker-ubi/3.54.2/report.yaml new file mode 100644 index 000000000..6662d1095 --- /dev/null +++ b/charts/partners/nonamesec/remote-active-worker-ubi/3.54.2/report.yaml @@ -0,0 +1,94 @@ +apiversion: v1 +kind: verify-report +metadata: + tool: + verifier-version: 1.13.13 + profile: + VendorType: partner + version: v1.3 + reportDigest: uint64:3614955393371131360 + chart-uri: N/A + digests: + chart: sha256:e4db0cae3d3b4be9fcfc9e572571777c33c892fa7b60d881f7fbc33a3f0615b6 + package: 96cba02073caaf5f8789040c11aad50d5ddc135b13e9ba3620dd5f91f360bfb0 + lastCertifiedTimestamp: "2025-09-28T13:25:43.360735+00:00" + testedOpenShiftVersion: "4.14" + supportedOpenShiftVersions: '>=4.1' + webCatalogOnly: true + chart: + name: remote-active-worker-ubi + home: "" + sources: [] + version: 3.54.2 + description: Active Worker Helm Chart for remote active worker deployments + keywords: [] + maintainers: [] + icon: "" + apiversion: v2 + condition: "" + tags: "" + appversion: 2.42.2-ubi + deprecated: false + annotations: + charts.openshift.io/name: Remote Active Testing Worker + kubeversion: '>=1.0.0-0' + dependencies: [] + type: application + chart-overrides: "" +results: + - check: v1.0/helm-lint + type: Mandatory + outcome: PASS + reason: Helm lint successful + - check: v1.1/images-are-certified + type: Mandatory + outcome: PASS + reason: 'Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/active-worker:2.42.2-ubi' + - check: v1.0/required-annotations-present + type: Mandatory + outcome: PASS + reason: All required annotations present + - check: v1.0/signature-is-valid + type: Mandatory + outcome: SKIPPED + reason: 'Chart is not signed : Signature verification not required' + - check: v1.0/contains-values + type: Mandatory + outcome: PASS + reason: Values file exist + - check: v1.0/not-contains-crds + type: Mandatory + outcome: PASS + reason: Chart does not contain CRDs + - check: v1.0/chart-testing + type: Mandatory + outcome: PASS + reason: Chart tests have passed + - check: v1.0/contains-values-schema + type: Mandatory + outcome: PASS + reason: Values schema file exist + - check: v1.0/is-helm-v3 + type: Mandatory + outcome: PASS + reason: API version is V2, used in Helm 3 + - check: v1.0/not-contain-csi-objects + type: Mandatory + outcome: PASS + reason: CSI objects do not exist + - check: v1.0/contains-test + type: Mandatory + outcome: PASS + reason: Chart test files exist + - check: v1.1/has-kubeversion + type: Mandatory + outcome: PASS + reason: Kubernetes version specified + - check: v1.0/has-notes + type: Optional + outcome: PASS + reason: Chart does contain NOTES.txt + - check: v1.0/has-readme + type: Mandatory + outcome: PASS + reason: Chart has a README diff --git a/charts/partners/nonamesec/remote-active-worker-ubi/3.54.3/report.yaml b/charts/partners/nonamesec/remote-active-worker-ubi/3.54.3/report.yaml new file mode 100644 index 000000000..4a9ac3312 --- /dev/null +++ b/charts/partners/nonamesec/remote-active-worker-ubi/3.54.3/report.yaml @@ -0,0 +1,94 @@ +apiversion: v1 +kind: verify-report +metadata: + tool: + verifier-version: 1.13.13 + profile: + VendorType: partner + version: v1.3 + reportDigest: uint64:13845704216768748260 + chart-uri: N/A + digests: + chart: sha256:e588eda80072e1a8688aeaccb3a2b3b3c849e04e4d34301d5f6e769446dda31f + package: 371577d2658f9089600a586d8bfaf60fbdc59c0a406d03cc3a5fbab07c29cac9 + lastCertifiedTimestamp: "2025-09-29T23:26:17.252117+00:00" + testedOpenShiftVersion: "4.14" + supportedOpenShiftVersions: '>=4.1' + webCatalogOnly: true + chart: + name: remote-active-worker-ubi + home: "" + sources: [] + version: 3.54.3 + description: Active Worker Helm Chart for remote active worker deployments + keywords: [] + maintainers: [] + icon: "" + apiversion: v2 + condition: "" + tags: "" + appversion: 2.42.2-ubi + deprecated: false + annotations: + charts.openshift.io/name: Remote Active Testing Worker + kubeversion: '>=1.0.0-0' + dependencies: [] + type: application + chart-overrides: "" +results: + - check: v1.0/has-notes + type: Optional + outcome: PASS + reason: Chart does contain NOTES.txt + - check: v1.0/has-readme + type: Mandatory + outcome: PASS + reason: Chart has a README + - check: v1.0/helm-lint + type: Mandatory + outcome: PASS + reason: Helm lint successful + - check: v1.0/signature-is-valid + type: Mandatory + outcome: SKIPPED + reason: 'Chart is not signed : Signature verification not required' + - check: v1.0/contains-values + type: Mandatory + outcome: PASS + reason: Values file exist + - check: v1.1/has-kubeversion + type: Mandatory + outcome: PASS + reason: Kubernetes version specified + - check: v1.1/images-are-certified + type: Mandatory + outcome: PASS + reason: 'Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/active-worker:2.42.2-ubi' + - check: v1.0/is-helm-v3 + type: Mandatory + outcome: PASS + reason: API version is V2, used in Helm 3 + - check: v1.0/not-contain-csi-objects + type: Mandatory + outcome: PASS + reason: CSI objects do not exist + - check: v1.0/not-contains-crds + type: Mandatory + outcome: PASS + reason: Chart does not contain CRDs + - check: v1.0/required-annotations-present + type: Mandatory + outcome: PASS + reason: All required annotations present + - check: v1.0/chart-testing + type: Mandatory + outcome: PASS + reason: Chart tests have passed + - check: v1.0/contains-test + type: Mandatory + outcome: PASS + reason: Chart test files exist + - check: v1.0/contains-values-schema + type: Mandatory + outcome: PASS + reason: Values schema file exist diff --git a/charts/partners/nonamesec/remote-active-worker-ubi/3.54.4/report.yaml b/charts/partners/nonamesec/remote-active-worker-ubi/3.54.4/report.yaml new file mode 100644 index 000000000..d7d4a917a --- /dev/null +++ b/charts/partners/nonamesec/remote-active-worker-ubi/3.54.4/report.yaml @@ -0,0 +1,94 @@ +apiversion: v1 +kind: verify-report +metadata: + tool: + verifier-version: 1.13.13 + profile: + VendorType: partner + version: v1.3 + reportDigest: uint64:14828578039720484990 + chart-uri: N/A + digests: + chart: sha256:6b795f67596c2f14f51e37f73ef236cddc44c48d9c25890638caea84adac75e4 + package: 5a715e391b512510f18bdb2c0b66eed0ccdbad4134f1a093fbc9a5e6a5278f4e + lastCertifiedTimestamp: "2025-10-05T12:08:11.656985+00:00" + testedOpenShiftVersion: "4.14" + supportedOpenShiftVersions: '>=4.1' + webCatalogOnly: true + chart: + name: remote-active-worker-ubi + home: "" + sources: [] + version: 3.54.4 + description: Active Worker Helm Chart for remote active worker deployments + keywords: [] + maintainers: [] + icon: "" + apiversion: v2 + condition: "" + tags: "" + appversion: 2.42.2-ubi + deprecated: false + annotations: + charts.openshift.io/name: Remote Active Testing Worker + kubeversion: '>=1.0.0-0' + dependencies: [] + type: application + chart-overrides: "" +results: + - check: v1.1/has-kubeversion + type: Mandatory + outcome: PASS + reason: Kubernetes version specified + - check: v1.0/has-notes + type: Optional + outcome: PASS + reason: Chart does contain NOTES.txt + - check: v1.0/helm-lint + type: Mandatory + outcome: PASS + reason: Helm lint successful + - check: v1.0/not-contain-csi-objects + type: Mandatory + outcome: PASS + reason: CSI objects do not exist + - check: v1.0/contains-values + type: Mandatory + outcome: PASS + reason: Values file exist + - check: v1.0/contains-values-schema + type: Mandatory + outcome: PASS + reason: Values schema file exist + - check: v1.0/has-readme + type: Mandatory + outcome: PASS + reason: Chart has a README + - check: v1.0/chart-testing + type: Mandatory + outcome: PASS + reason: Chart tests have passed + - check: v1.1/images-are-certified + type: Mandatory + outcome: PASS + reason: 'Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/active-worker:2.42.2-ubi' + - check: v1.0/is-helm-v3 + type: Mandatory + outcome: PASS + reason: API version is V2, used in Helm 3 + - check: v1.0/not-contains-crds + type: Mandatory + outcome: PASS + reason: Chart does not contain CRDs + - check: v1.0/required-annotations-present + type: Mandatory + outcome: PASS + reason: All required annotations present + - check: v1.0/signature-is-valid + type: Mandatory + outcome: SKIPPED + reason: 'Chart is not signed : Signature verification not required' + - check: v1.0/contains-test + type: Mandatory + outcome: PASS + reason: Chart test files exist diff --git a/charts/partners/nonamesec/remote-active-worker-ubi/3.54.5/report.yaml b/charts/partners/nonamesec/remote-active-worker-ubi/3.54.5/report.yaml new file mode 100644 index 000000000..16c424f35 --- /dev/null +++ b/charts/partners/nonamesec/remote-active-worker-ubi/3.54.5/report.yaml @@ -0,0 +1,94 @@ +apiversion: v1 +kind: verify-report +metadata: + tool: + verifier-version: 1.13.13 + profile: + VendorType: partner + version: v1.3 + reportDigest: uint64:10000533202949046410 + chart-uri: N/A + digests: + chart: sha256:d29f858a39f5f6b4fb626dceb3dac3cd0407be6962b5d793cb5c70463f65a701 + package: 9b85b34a830af2e0f70987c5f9e6f10a66329ee80ddaee7aa3b72b82d7a49b8e + lastCertifiedTimestamp: "2025-10-05T16:38:17.466184+00:00" + testedOpenShiftVersion: "4.14" + supportedOpenShiftVersions: '>=4.1' + webCatalogOnly: true + chart: + name: remote-active-worker-ubi + home: "" + sources: [] + version: 3.54.5 + description: Active Worker Helm Chart for remote active worker deployments + keywords: [] + maintainers: [] + icon: "" + apiversion: v2 + condition: "" + tags: "" + appversion: 2.42.3-ubi + deprecated: false + annotations: + charts.openshift.io/name: Remote Active Testing Worker + kubeversion: '>=1.0.0-0' + dependencies: [] + type: application + chart-overrides: "" +results: + - check: v1.0/not-contain-csi-objects + type: Mandatory + outcome: PASS + reason: CSI objects do not exist + - check: v1.0/not-contains-crds + type: Mandatory + outcome: PASS + reason: Chart does not contain CRDs + - check: v1.0/signature-is-valid + type: Mandatory + outcome: SKIPPED + reason: 'Chart is not signed : Signature verification not required' + - check: v1.0/contains-values-schema + type: Mandatory + outcome: PASS + reason: Values schema file exist + - check: v1.0/has-readme + type: Mandatory + outcome: PASS + reason: Chart has a README + - check: v1.0/is-helm-v3 + type: Mandatory + outcome: PASS + reason: API version is V2, used in Helm 3 + - check: v1.0/required-annotations-present + type: Mandatory + outcome: PASS + reason: All required annotations present + - check: v1.0/contains-test + type: Mandatory + outcome: PASS + reason: Chart test files exist + - check: v1.0/contains-values + type: Mandatory + outcome: PASS + reason: Values file exist + - check: v1.0/has-notes + type: Optional + outcome: PASS + reason: Chart does contain NOTES.txt + - check: v1.0/helm-lint + type: Mandatory + outcome: PASS + reason: Helm lint successful + - check: v1.0/chart-testing + type: Mandatory + outcome: PASS + reason: Chart tests have passed + - check: v1.1/has-kubeversion + type: Mandatory + outcome: PASS + reason: Kubernetes version specified + - check: v1.1/images-are-certified + type: Mandatory + outcome: PASS + reason: 'Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/active-worker:2.42.3-ubi' diff --git a/charts/partners/nonamesec/remote-active-worker-ubi/3.54.6/report.yaml b/charts/partners/nonamesec/remote-active-worker-ubi/3.54.6/report.yaml new file mode 100644 index 000000000..6b5cd9544 --- /dev/null +++ b/charts/partners/nonamesec/remote-active-worker-ubi/3.54.6/report.yaml @@ -0,0 +1,94 @@ +apiversion: v1 +kind: verify-report +metadata: + tool: + verifier-version: 1.13.13 + profile: + VendorType: partner + version: v1.3 + reportDigest: uint64:4297311478233356567 + chart-uri: N/A + digests: + chart: sha256:498f2b4b318bf4f02aae50e5a494fb50ba0bdbf9ff5662c7b8018929be97c484 + package: 88ad70f508c02f493d98b1f5582db7aff32b62a655f1f5e8fe028986f805f10a + lastCertifiedTimestamp: "2025-10-12T19:38:20.154764+00:00" + testedOpenShiftVersion: "4.14" + supportedOpenShiftVersions: '>=4.1' + webCatalogOnly: true + chart: + name: remote-active-worker-ubi + home: "" + sources: [] + version: 3.54.6 + description: Active Worker Helm Chart for remote active worker deployments + keywords: [] + maintainers: [] + icon: "" + apiversion: v2 + condition: "" + tags: "" + appversion: 2.42.3-ubi + deprecated: false + annotations: + charts.openshift.io/name: Remote Active Testing Worker + kubeversion: '>=1.0.0-0' + dependencies: [] + type: application + chart-overrides: "" +results: + - check: v1.0/contains-test + type: Mandatory + outcome: PASS + reason: Chart test files exist + - check: v1.1/has-kubeversion + type: Mandatory + outcome: PASS + reason: Kubernetes version specified + - check: v1.0/has-notes + type: Optional + outcome: PASS + reason: Chart does contain NOTES.txt + - check: v1.0/has-readme + type: Mandatory + outcome: PASS + reason: Chart has a README + - check: v1.0/helm-lint + type: Mandatory + outcome: PASS + reason: Helm lint successful + - check: v1.0/not-contain-csi-objects + type: Mandatory + outcome: PASS + reason: CSI objects do not exist + - check: v1.0/not-contains-crds + type: Mandatory + outcome: PASS + reason: Chart does not contain CRDs + - check: v1.0/signature-is-valid + type: Mandatory + outcome: SKIPPED + reason: 'Chart is not signed : Signature verification not required' + - check: v1.0/chart-testing + type: Mandatory + outcome: PASS + reason: Chart tests have passed + - check: v1.1/images-are-certified + type: Mandatory + outcome: PASS + reason: 'Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/active-worker:2.42.3-ubi' + - check: v1.0/is-helm-v3 + type: Mandatory + outcome: PASS + reason: API version is V2, used in Helm 3 + - check: v1.0/contains-values-schema + type: Mandatory + outcome: PASS + reason: Values schema file exist + - check: v1.0/contains-values + type: Mandatory + outcome: PASS + reason: Values file exist + - check: v1.0/required-annotations-present + type: Mandatory + outcome: PASS + reason: All required annotations present diff --git a/charts/partners/nonamesec/remote-active-worker-ubi/3.55.0/report.yaml b/charts/partners/nonamesec/remote-active-worker-ubi/3.55.0/report.yaml new file mode 100644 index 000000000..e9641910a --- /dev/null +++ b/charts/partners/nonamesec/remote-active-worker-ubi/3.55.0/report.yaml @@ -0,0 +1,94 @@ +apiversion: v1 +kind: verify-report +metadata: + tool: + verifier-version: 1.13.13 + profile: + VendorType: partner + version: v1.3 + reportDigest: uint64:4226577687506554692 + chart-uri: N/A + digests: + chart: sha256:a2f5b2bdf02dfc76da8b620e47bfbc7eb15b81877abc565953504f70e0b6b073 + package: f92a79f5f74c1e07cafc2471241a4ebcb23809e83311a5021e58708ae706ca70 + lastCertifiedTimestamp: "2025-10-12T17:30:07.757024+00:00" + testedOpenShiftVersion: "4.14" + supportedOpenShiftVersions: '>=4.1' + webCatalogOnly: true + chart: + name: remote-active-worker-ubi + home: "" + sources: [] + version: 3.55.0 + description: Active Worker Helm Chart for remote active worker deployments + keywords: [] + maintainers: [] + icon: "" + apiversion: v2 + condition: "" + tags: "" + appversion: 2.43.0-ubi + deprecated: false + annotations: + charts.openshift.io/name: Remote Active Testing Worker + kubeversion: '>=1.0.0-0' + dependencies: [] + type: application + chart-overrides: "" +results: + - check: v1.0/chart-testing + type: Mandatory + outcome: PASS + reason: Chart tests have passed + - check: v1.0/contains-values + type: Mandatory + outcome: PASS + reason: Values file exist + - check: v1.0/helm-lint + type: Mandatory + outcome: PASS + reason: Helm lint successful + - check: v1.0/signature-is-valid + type: Mandatory + outcome: SKIPPED + reason: 'Chart is not signed : Signature verification not required' + - check: v1.1/has-kubeversion + type: Mandatory + outcome: PASS + reason: Kubernetes version specified + - check: v1.0/has-readme + type: Mandatory + outcome: PASS + reason: Chart has a README + - check: v1.1/images-are-certified + type: Mandatory + outcome: PASS + reason: 'Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/active-worker:2.43.0-ubi' + - check: v1.0/required-annotations-present + type: Mandatory + outcome: PASS + reason: All required annotations present + - check: v1.0/contains-test + type: Mandatory + outcome: PASS + reason: Chart test files exist + - check: v1.0/contains-values-schema + type: Mandatory + outcome: PASS + reason: Values schema file exist + - check: v1.0/has-notes + type: Optional + outcome: PASS + reason: Chart does contain NOTES.txt + - check: v1.0/is-helm-v3 + type: Mandatory + outcome: PASS + reason: API version is V2, used in Helm 3 + - check: v1.0/not-contain-csi-objects + type: Mandatory + outcome: PASS + reason: CSI objects do not exist + - check: v1.0/not-contains-crds + type: Mandatory + outcome: PASS + reason: Chart does not contain CRDs diff --git a/charts/partners/nonamesec/remote-active-worker-ubi/3.55.1/report.yaml b/charts/partners/nonamesec/remote-active-worker-ubi/3.55.1/report.yaml new file mode 100644 index 000000000..535a793e0 --- /dev/null +++ b/charts/partners/nonamesec/remote-active-worker-ubi/3.55.1/report.yaml @@ -0,0 +1,94 @@ +apiversion: v1 +kind: verify-report +metadata: + tool: + verifier-version: 1.13.13 + profile: + VendorType: partner + version: v1.3 + reportDigest: uint64:15640518024272999754 + chart-uri: N/A + digests: + chart: sha256:e9cbb12531b43ded9f2d601998f8ba1263e40c1216028e8a5235726ee29f22b7 + package: 9d2c9df00dc1f3a9419bfe04ee6dd0d7adf477252c78bd913e3332035ff26c08 + lastCertifiedTimestamp: "2025-10-12T19:39:03.958775+00:00" + testedOpenShiftVersion: "4.14" + supportedOpenShiftVersions: '>=4.1' + webCatalogOnly: true + chart: + name: remote-active-worker-ubi + home: "" + sources: [] + version: 3.55.1 + description: Active Worker Helm Chart for remote active worker deployments + keywords: [] + maintainers: [] + icon: "" + apiversion: v2 + condition: "" + tags: "" + appversion: 2.43.0-ubi + deprecated: false + annotations: + charts.openshift.io/name: Remote Active Testing Worker + kubeversion: '>=1.0.0-0' + dependencies: [] + type: application + chart-overrides: "" +results: + - check: v1.0/contains-values + type: Mandatory + outcome: PASS + reason: Values file exist + - check: v1.0/helm-lint + type: Mandatory + outcome: PASS + reason: Helm lint successful + - check: v1.1/images-are-certified + type: Mandatory + outcome: PASS + reason: 'Image is Red Hat certified : us-central1-docker.pkg.dev/noname-artifacts/nns-docker/active-worker:2.43.0-ubi' + - check: v1.0/not-contains-crds + type: Mandatory + outcome: PASS + reason: Chart does not contain CRDs + - check: v1.1/has-kubeversion + type: Mandatory + outcome: PASS + reason: Kubernetes version specified + - check: v1.0/is-helm-v3 + type: Mandatory + outcome: PASS + reason: API version is V2, used in Helm 3 + - check: v1.0/not-contain-csi-objects + type: Mandatory + outcome: PASS + reason: CSI objects do not exist + - check: v1.0/contains-values-schema + type: Mandatory + outcome: PASS + reason: Values schema file exist + - check: v1.0/has-readme + type: Mandatory + outcome: PASS + reason: Chart has a README + - check: v1.0/required-annotations-present + type: Mandatory + outcome: PASS + reason: All required annotations present + - check: v1.0/contains-test + type: Mandatory + outcome: PASS + reason: Chart test files exist + - check: v1.0/has-notes + type: Optional + outcome: PASS + reason: Chart does contain NOTES.txt + - check: v1.0/signature-is-valid + type: Mandatory + outcome: SKIPPED + reason: 'Chart is not signed : Signature verification not required' + - check: v1.0/chart-testing + type: Mandatory + outcome: PASS + reason: Chart tests have passed diff --git a/charts/partners/not-a-real-company/helm-testing/OWNERS b/charts/partners/not-a-real-company/helm-testing/OWNERS index dcdbb837f..9d2467c58 100644 --- a/charts/partners/not-a-real-company/helm-testing/OWNERS +++ b/charts/partners/not-a-real-company/helm-testing/OWNERS @@ -1,6 +1,7 @@ chart: name: helm-testing shortDescription: unknown +providerDelivery: false publicPgpKey: unknown users: [] vendor: diff --git a/charts/partners/ntest/certpm-test-chart/OWNERS b/charts/partners/ntest/certpm-test-chart/OWNERS index d192cb95c..ac2aa7ba5 100644 --- a/charts/partners/ntest/certpm-test-chart/OWNERS +++ b/charts/partners/ntest/certpm-test-chart/OWNERS @@ -1,6 +1,7 @@ chart: name: certpm-test-chart shortDescription: unknown +providerDelivery: false publicPgpKey: unknown users: [] vendor: diff --git a/charts/partners/nti-containers/sepp/OWNERS b/charts/partners/nti-containers/sepp/OWNERS index d85af5372..8207e38d7 100644 --- a/charts/partners/nti-containers/sepp/OWNERS +++ b/charts/partners/nti-containers/sepp/OWNERS @@ -7,4 +7,4 @@ users: - githubUsername: NA vendor: label: nti-containers - name: Titan.ium Platform LLC + name: Titan.ium Platform, LLC diff --git a/charts/partners/openziti/ziti-host/OWNERS b/charts/partners/openziti/ziti-host/OWNERS index 86b9b3a8f..981684d99 100644 --- a/charts/partners/openziti/ziti-host/OWNERS +++ b/charts/partners/openziti/ziti-host/OWNERS @@ -2,7 +2,7 @@ chart: name: ziti-host shortDescription: Expose cluster services with Ziti providerDelivery: false -publicPgpKey: null +publicPgpKey: unknown users: - githubUsername: qrkourier - githubUsername: dovholuknf diff --git a/charts/partners/opscruise/opscruise/OWNERS b/charts/partners/opscruise/opscruise/OWNERS index 396de287a..dd47d39eb 100644 --- a/charts/partners/opscruise/opscruise/OWNERS +++ b/charts/partners/opscruise/opscruise/OWNERS @@ -2,7 +2,7 @@ chart: name: opscruise shortDescription: Helm chart for deploying OpsCruise providerDelivery: false -publicPgpKey: null +publicPgpKey: unknown users: - githubUsername: sudheeshopscruise - githubUsername: cesar-quintana-opscruise diff --git a/charts/partners/oracle/weblogic-kubernetes-operator/OWNERS b/charts/partners/oracle/weblogic-kubernetes-operator/OWNERS new file mode 100644 index 000000000..81894e600 --- /dev/null +++ b/charts/partners/oracle/weblogic-kubernetes-operator/OWNERS @@ -0,0 +1,9 @@ +chart: + name: weblogic-kubernetes-operator + shortDescription: unknown +providerDelivery: false +publicPgpKey: unknown +users: [] +vendor: + label: oracle + name: Oracle Corporation diff --git a/charts/partners/progressoft/corpay-progressoft/OWNERS b/charts/partners/progressoft/corpay-progressoft/OWNERS index 0ea516f69..a0cf53f9c 100644 --- a/charts/partners/progressoft/corpay-progressoft/OWNERS +++ b/charts/partners/progressoft/corpay-progressoft/OWNERS @@ -3,7 +3,7 @@ chart: shortDescription: "ProgressSoft\u2019s Corporate Banking (PS-CORPay) Suite introduces\ \ a solution that enables corporates to manage front-office banking services." providerDelivery: true -publicPgpKey: null +publicPgpKey: unknown users: - githubUsername: nour-alsatari - githubUsername: naelalbashir diff --git a/charts/partners/redhat-arkady-test/demochart7/OWNERS b/charts/partners/redhat-arkady-test/demochart7/OWNERS index b6aceafb2..578046c86 100644 --- a/charts/partners/redhat-arkady-test/demochart7/OWNERS +++ b/charts/partners/redhat-arkady-test/demochart7/OWNERS @@ -1,6 +1,6 @@ chart: name: demochart7 - shortDescription: unknown + shortDescription: This is a short description demochart7! providerDelivery: true publicPgpKey: unknown users: diff --git a/charts/partners/redhat-arkady-test/mychart/OWNERS b/charts/partners/redhat-arkady-test/mychart/OWNERS index 3c06354c4..4e49be43f 100644 --- a/charts/partners/redhat-arkady-test/mychart/OWNERS +++ b/charts/partners/redhat-arkady-test/mychart/OWNERS @@ -1,6 +1,7 @@ chart: name: mychart shortDescription: unknown +providerDelivery: false publicPgpKey: unknown users: [] vendor: diff --git a/charts/partners/redhat-arkady-test/newtestchart2/OWNERS b/charts/partners/redhat-arkady-test/newtestchart2/OWNERS index c166c5c56..d5e5fcea5 100644 --- a/charts/partners/redhat-arkady-test/newtestchart2/OWNERS +++ b/charts/partners/redhat-arkady-test/newtestchart2/OWNERS @@ -1,6 +1,6 @@ chart: name: newtestchart2 - shortDescription: unknown + shortDescription: This is a short description newtestchart2! providerDelivery: true publicPgpKey: unknown users: diff --git a/charts/partners/redhat-arkady-test/newtestchart5/OWNERS b/charts/partners/redhat-arkady-test/newtestchart5/OWNERS index 80830b417..97a2c2b78 100644 --- a/charts/partners/redhat-arkady-test/newtestchart5/OWNERS +++ b/charts/partners/redhat-arkady-test/newtestchart5/OWNERS @@ -1,6 +1,6 @@ chart: name: newtestchart5 - shortDescription: unknown + shortDescription: This is a short description newtestchart5! providerDelivery: true publicPgpKey: unknown users: diff --git a/charts/partners/redhat-arkady-test/newtestchart6/OWNERS b/charts/partners/redhat-arkady-test/newtestchart6/OWNERS index 453197236..78a3d7372 100644 --- a/charts/partners/redhat-arkady-test/newtestchart6/OWNERS +++ b/charts/partners/redhat-arkady-test/newtestchart6/OWNERS @@ -1,6 +1,6 @@ chart: name: newtestchart6 - shortDescription: unknown + shortDescription: This is a short description newtestchart6! providerDelivery: true publicPgpKey: unknown users: diff --git a/charts/partners/redhat-arkady-test/newtestchart7/OWNERS b/charts/partners/redhat-arkady-test/newtestchart7/OWNERS index 93f7d7613..193237860 100644 --- a/charts/partners/redhat-arkady-test/newtestchart7/OWNERS +++ b/charts/partners/redhat-arkady-test/newtestchart7/OWNERS @@ -1,6 +1,6 @@ chart: name: newtestchart7 - shortDescription: unknown + shortDescription: This is a short description newtestchart7! providerDelivery: true publicPgpKey: unknown users: diff --git a/charts/partners/redhat-arkady-test/test1/OWNERS b/charts/partners/redhat-arkady-test/test1/OWNERS index 114573507..76368580d 100644 --- a/charts/partners/redhat-arkady-test/test1/OWNERS +++ b/charts/partners/redhat-arkady-test/test1/OWNERS @@ -1,7 +1,8 @@ chart: name: test1 shortDescription: Short description of a Helm chart project. -publicPgpKey: null +providerDelivery: false +publicPgpKey: unknown users: - githubUsername: wying3 - githubUsername: sebrandon1 diff --git a/charts/partners/redhat-arkady-test/testchart1/OWNERS b/charts/partners/redhat-arkady-test/testchart1/OWNERS index 287a57c22..f659bcb73 100644 --- a/charts/partners/redhat-arkady-test/testchart1/OWNERS +++ b/charts/partners/redhat-arkady-test/testchart1/OWNERS @@ -1,7 +1,8 @@ chart: name: testchart1 - shortDescription: null -publicPgpKey: null + shortDescription: unknown +providerDelivery: false +publicPgpKey: unknown users: - githubUsername: yinwang@redhat.com vendor: diff --git a/charts/partners/redhat-arkady-test/testchart11/OWNERS b/charts/partners/redhat-arkady-test/testchart11/OWNERS index a5fc05f45..546671f7e 100644 --- a/charts/partners/redhat-arkady-test/testchart11/OWNERS +++ b/charts/partners/redhat-arkady-test/testchart11/OWNERS @@ -1,6 +1,6 @@ chart: name: testchart11 - shortDescription: unknown + shortDescription: This is a short description testchart11 providerDelivery: true publicPgpKey: unknown users: diff --git a/charts/partners/redhat-arkady-test/testchart12/OWNERS b/charts/partners/redhat-arkady-test/testchart12/OWNERS index e5a69d622..1d6d60fb2 100644 --- a/charts/partners/redhat-arkady-test/testchart12/OWNERS +++ b/charts/partners/redhat-arkady-test/testchart12/OWNERS @@ -1,6 +1,6 @@ chart: name: testchart12 - shortDescription: unknown + shortDescription: This is a short description testchart12 providerDelivery: true publicPgpKey: unknown users: diff --git a/charts/partners/redhat-arkady-test/testchartpr1/OWNERS b/charts/partners/redhat-arkady-test/testchartpr1/OWNERS index fb1f0c796..1a6dc9eb9 100644 --- a/charts/partners/redhat-arkady-test/testchartpr1/OWNERS +++ b/charts/partners/redhat-arkady-test/testchartpr1/OWNERS @@ -1,6 +1,6 @@ chart: name: testchartpr1 - shortDescription: unknown + shortDescription: This is a short description testchartprrrrrrrrrrrrrrrr providerDelivery: true publicPgpKey: unknown users: diff --git a/charts/partners/redhat-test/chart-helm-two-nine/OWNERS b/charts/partners/redhat-test/chart-helm-two-nine/OWNERS new file mode 100644 index 000000000..1ea075b41 --- /dev/null +++ b/charts/partners/redhat-test/chart-helm-two-nine/OWNERS @@ -0,0 +1,9 @@ +chart: + name: chart-helm-two-nine + shortDescription: unknown +providerDelivery: false +publicPgpKey: unknown +users: [] +vendor: + label: redhat-test + name: Red Hat, Inc. diff --git a/charts/partners/redhat-test/chartprodhelm/OWNERS b/charts/partners/redhat-test/chartprodhelm/OWNERS index 176e6d507..229d8af6e 100644 --- a/charts/partners/redhat-test/chartprodhelm/OWNERS +++ b/charts/partners/redhat-test/chartprodhelm/OWNERS @@ -1,8 +1,8 @@ chart: name: chartprodhelm - shortDescription: null + shortDescription: unknown providerDelivery: true -publicPgpKey: null +publicPgpKey: unknown users: - githubUsername: Aishwarya-Urne vendor: diff --git a/charts/partners/redhat-test/helm-12/OWNERS b/charts/partners/redhat-test/helm-12/OWNERS new file mode 100644 index 000000000..6aa3f914b --- /dev/null +++ b/charts/partners/redhat-test/helm-12/OWNERS @@ -0,0 +1,9 @@ +chart: + name: helm-12 + shortDescription: unknown +providerDelivery: false +publicPgpKey: unknown +users: [] +vendor: + label: redhat-test + name: Red Hat, Inc. diff --git a/charts/partners/redhat-test/testtstst/OWNERS b/charts/partners/redhat-test/testtstst/OWNERS new file mode 100644 index 000000000..224914848 --- /dev/null +++ b/charts/partners/redhat-test/testtstst/OWNERS @@ -0,0 +1,9 @@ +chart: + name: testtstst + shortDescription: unknown +providerDelivery: false +publicPgpKey: unknown +users: [] +vendor: + label: redhat-test + name: Red Hat, Inc. diff --git a/charts/partners/reform/reform-deploy/0.9.1/report.yaml b/charts/partners/reform/reform-deploy/0.9.1/report.yaml new file mode 100644 index 000000000..81b1ba137 --- /dev/null +++ b/charts/partners/reform/reform-deploy/0.9.1/report.yaml @@ -0,0 +1,103 @@ +apiversion: v1 +kind: verify-report +metadata: + tool: + verifier-version: 1.13.12 + profile: + VendorType: partner + version: v1.3 + reportDigest: uint64:5843596263160510430 + chart-uri: N/A + digests: + chart: sha256:b1e4918890315c377a007fb9dab9ab08c6aa9ee1e853cc56096f959a23000932 + package: cc10f10d76720542ab6f563f7dad105ace4b10a47fad5e5e37fa74145010b4df + lastCertifiedTimestamp: "2025-09-03T15:32:38.981411+08:00" + testedOpenShiftVersion: "4.14" + supportedOpenShiftVersions: '>=4.6' + webCatalogOnly: true + chart: + name: reform-deploy + home: "" + sources: [] + version: 0.9.1 + description: A Helm chart for Kubernetes + keywords: [] + maintainers: [] + icon: "" + apiversion: v2 + condition: "" + tags: "" + appversion: 0.7.0 + deprecated: false + annotations: + charts.openshift.io/name: reformdeploy + kubeversion: '>=1.19.0-0' + dependencies: + - name: hermitcrab + version: 0.1.4 + repository: file://../hermitcrab + condition: hermitcrab.enabled + tags: + - hermitcrab + type: application + chart-overrides: "" +results: + - check: v1.0/has-notes + type: Optional + outcome: PASS + reason: Chart does contain NOTES.txt + - check: v1.0/chart-testing + type: Mandatory + outcome: PASS + reason: Chart tests have passed + - check: v1.0/contains-values-schema + type: Mandatory + outcome: PASS + reason: Values schema file exist + - check: v1.0/helm-lint + type: Mandatory + outcome: PASS + reason: Helm lint successful + - check: v1.1/images-are-certified + type: Mandatory + outcome: PASS + reason: |- + Image is Red Hat certified : registry.access.redhat.com/ubi9/toolbox + Image is Red Hat certified : 602760177850.dkr.ecr.ap-southeast-1.amazonaws.com/reform/infra/server:v0.7.0-b11-ubi + Image is Red Hat certified : 602760177850.dkr.ecr.ap-southeast-1.amazonaws.com/reform/infra/hermitcrab:v1.0.2-ubi + - check: v1.0/is-helm-v3 + type: Mandatory + outcome: PASS + reason: API version is V2, used in Helm 3 + - check: v1.0/contains-test + type: Mandatory + outcome: PASS + reason: Chart test files exist + - check: v1.0/contains-values + type: Mandatory + outcome: PASS + reason: Values file exist + - check: v1.1/has-kubeversion + type: Mandatory + outcome: PASS + reason: Kubernetes version specified + - check: v1.0/has-readme + type: Mandatory + outcome: PASS + reason: Chart has a README + - check: v1.0/not-contain-csi-objects + type: Mandatory + outcome: PASS + reason: CSI objects do not exist + - check: v1.0/not-contains-crds + type: Mandatory + outcome: PASS + reason: Chart does not contain CRDs + - check: v1.0/signature-is-valid + type: Mandatory + outcome: SKIPPED + reason: 'Chart is not signed : Signature verification not required' + - check: v1.0/required-annotations-present + type: Mandatory + outcome: PASS + reason: All required annotations present diff --git a/charts/partners/reform/reform-deploy/OWNERS b/charts/partners/reform/reform-deploy/OWNERS new file mode 100644 index 000000000..b4a8f1a83 --- /dev/null +++ b/charts/partners/reform/reform-deploy/OWNERS @@ -0,0 +1,12 @@ +chart: + name: reform-deploy + shortDescription: Provides a faster and smarter way to simplify application delivery + and infrastructure provisioning. +providerDelivery: true +publicPgpKey: unknown +users: +- githubUsername: leoatreslv +- githubUsername: kreslv +vendor: + label: reform + name: Resolve Technology Limited diff --git a/charts/partners/sjpark00/hello-python-operator/OWNERS b/charts/partners/sjpark00/hello-python-operator/OWNERS new file mode 100644 index 000000000..9be411f3e --- /dev/null +++ b/charts/partners/sjpark00/hello-python-operator/OWNERS @@ -0,0 +1,9 @@ +chart: + name: hello-python-operator + shortDescription: unknown +providerDelivery: false +publicPgpKey: unknown +users: [] +vendor: + label: sjpark00 + name: DreamSecurity Co., Ltd. diff --git a/charts/partners/sjpark00/hello-python/OWNERS b/charts/partners/sjpark00/hello-python/OWNERS new file mode 100644 index 000000000..fedc5f8ff --- /dev/null +++ b/charts/partners/sjpark00/hello-python/OWNERS @@ -0,0 +1,9 @@ +chart: + name: hello-python + shortDescription: unknown +providerDelivery: false +publicPgpKey: unknown +users: [] +vendor: + label: sjpark00 + name: DreamSecurity Co., Ltd. diff --git a/charts/partners/solace/pubsubplus-openshift-dev/OWNERS b/charts/partners/solace/pubsubplus-openshift-dev/OWNERS index 80ddc7034..3b608ee25 100644 --- a/charts/partners/solace/pubsubplus-openshift-dev/OWNERS +++ b/charts/partners/solace/pubsubplus-openshift-dev/OWNERS @@ -2,7 +2,8 @@ chart: name: pubsubplus-openshift-dev shortDescription: Deploy a single-node non-HA Solace PubSub+ Event Broker Software on OpenShift for development purposes -publicPgpKey: null +providerDelivery: false +publicPgpKey: unknown users: - githubUsername: bczoma - githubUsername: juddrobertson diff --git a/charts/partners/solace/pubsubplus-openshift-ha/OWNERS b/charts/partners/solace/pubsubplus-openshift-ha/OWNERS index 448e543dc..b2d198b83 100644 --- a/charts/partners/solace/pubsubplus-openshift-ha/OWNERS +++ b/charts/partners/solace/pubsubplus-openshift-ha/OWNERS @@ -2,7 +2,8 @@ chart: name: pubsubplus-openshift-ha shortDescription: Deploy an HA redundancy group of Solace PubSub+ Event Broker Software on OpenShift -publicPgpKey: null +providerDelivery: false +publicPgpKey: unknown users: - githubUsername: bczoma - githubUsername: juddrobertson diff --git a/charts/partners/solace/pubsubplus-openshift/OWNERS b/charts/partners/solace/pubsubplus-openshift/OWNERS index 5773667de..ca68c2bf2 100644 --- a/charts/partners/solace/pubsubplus-openshift/OWNERS +++ b/charts/partners/solace/pubsubplus-openshift/OWNERS @@ -2,7 +2,8 @@ chart: name: pubsubplus-openshift shortDescription: Deploy a single-node non-HA Solace PubSub+ Event Broker Software on OpenShift -publicPgpKey: null +providerDelivery: false +publicPgpKey: unknown users: - githubUsername: bczoma - githubUsername: juddrobertson diff --git a/charts/partners/solo-io/gloo-ee-helm/OWNERS b/charts/partners/solo-io/gloo-ee-helm/OWNERS index f54ed263d..7e91ad3ed 100644 --- a/charts/partners/solo-io/gloo-ee-helm/OWNERS +++ b/charts/partners/solo-io/gloo-ee-helm/OWNERS @@ -1,7 +1,8 @@ chart: name: gloo-ee-helm shortDescription: Gloo Edge Enterprise Helm Chart -publicPgpKey: null +providerDelivery: false +publicPgpKey: unknown users: - githubUsername: djannot vendor: diff --git a/charts/partners/solo-io/gloo-mesh-enterprise/OWNERS b/charts/partners/solo-io/gloo-mesh-enterprise/OWNERS index e75b07dfb..ca517605d 100644 --- a/charts/partners/solo-io/gloo-mesh-enterprise/OWNERS +++ b/charts/partners/solo-io/gloo-mesh-enterprise/OWNERS @@ -1,7 +1,8 @@ chart: name: gloo-mesh-enterprise shortDescription: Gloo Mesh Enterprise Helm Chart -publicPgpKey: null +providerDelivery: false +publicPgpKey: unknown users: - githubUsername: djannot vendor: diff --git a/charts/partners/streebo/streebo-chatbot/OWNERS b/charts/partners/streebo/streebo-chatbot/OWNERS index 9f428459d..75b7973b8 100644 --- a/charts/partners/streebo/streebo-chatbot/OWNERS +++ b/charts/partners/streebo/streebo-chatbot/OWNERS @@ -1,7 +1,8 @@ chart: name: streebo-chatbot shortDescription: Helm chart for Streebo Chatbot Builder. -publicPgpKey: null +providerDelivery: false +publicPgpKey: unknown users: - githubUsername: abrarstreebo vendor: diff --git a/charts/partners/taylor-test-company/chart-test/OWNERS b/charts/partners/taylor-test-company/chart-test/OWNERS index fdc7a8c29..2f1e0bbef 100644 --- a/charts/partners/taylor-test-company/chart-test/OWNERS +++ b/charts/partners/taylor-test-company/chart-test/OWNERS @@ -1,6 +1,7 @@ chart: name: chart-test shortDescription: unknown +providerDelivery: false publicPgpKey: unknown users: [] vendor: diff --git a/charts/partners/test/chartname-cnf/OWNERS b/charts/partners/test/chartname-cnf/OWNERS index 04915f00c..d1a3a7d2f 100644 --- a/charts/partners/test/chartname-cnf/OWNERS +++ b/charts/partners/test/chartname-cnf/OWNERS @@ -1,6 +1,7 @@ chart: name: chartname-cnf shortDescription: unknown +providerDelivery: false publicPgpKey: unknown users: [] vendor: diff --git a/charts/partners/test467/dvdv/OWNERS b/charts/partners/test467/dvdv/OWNERS index e4bdca9e1..dbd09c611 100644 --- a/charts/partners/test467/dvdv/OWNERS +++ b/charts/partners/test467/dvdv/OWNERS @@ -1,7 +1,8 @@ chart: name: dvdv - shortDescription: null -publicPgpKey: null + shortDescription: unknown +providerDelivery: false +publicPgpKey: unknown users: - githubUsername: rnargotr vendor: diff --git a/charts/partners/vitagroupag/cdr-core-ehrbase-enterprise/OWNERS b/charts/partners/vitagroupag/cdr-core-ehrbase-enterprise/OWNERS index 6bdf6556e..4379e7370 100644 --- a/charts/partners/vitagroupag/cdr-core-ehrbase-enterprise/OWNERS +++ b/charts/partners/vitagroupag/cdr-core-ehrbase-enterprise/OWNERS @@ -1,8 +1,8 @@ chart: name: cdr-core-ehrbase-enterprise - shortDescription: null + shortDescription: unknown providerDelivery: false -publicPgpKey: null +publicPgpKey: unknown users: - githubUsername: bjoernpauli vendor: diff --git a/charts/partners/vitagroupag/ehrbase/OWNERS b/charts/partners/vitagroupag/ehrbase/OWNERS index abc8df2dc..baea044a9 100644 --- a/charts/partners/vitagroupag/ehrbase/OWNERS +++ b/charts/partners/vitagroupag/ehrbase/OWNERS @@ -1,8 +1,8 @@ chart: name: ehrbase - shortDescription: null + shortDescription: unknown providerDelivery: true -publicPgpKey: null +publicPgpKey: unknown users: - githubUsername: bjoernpauli vendor: diff --git a/charts/partners/voereir/ve-touchstone-master/5.1.0/report.yaml b/charts/partners/voereir/ve-touchstone-master/5.1.0/report.yaml new file mode 100644 index 000000000..bcfb7cf0b --- /dev/null +++ b/charts/partners/voereir/ve-touchstone-master/5.1.0/report.yaml @@ -0,0 +1,176 @@ +apiversion: v1 +kind: verify-report +metadata: + tool: + verifier-version: 1.13.13 + profile: + VendorType: partner + version: v1.3 + reportDigest: uint64:15201736724179206139 + chart-uri: N/A + digests: + chart: sha256:f73c1f31935e17351fee30313cb95849a2d8a844e4ed759523a454cf6530a1e1 + package: 99834cd9a72c709d664db7c5ab599b716628942987b74fd872e908505797d37b + lastCertifiedTimestamp: "2025-10-15T06:11:26.75522+00:00" + testedOpenShiftVersion: "4.19" + supportedOpenShiftVersions: '>=4.15' + webCatalogOnly: true + chart: + name: ve-touchstone-master + home: "" + sources: [] + version: 5.1.0 + description: A Helm chart for Deploying Touchstone Portal as well as Touchstone Management Portal End-to-End + keywords: [] + maintainers: + - name: VoerEir AB + email: "" + url: https://github.com/VoerEirAB + icon: "" + apiversion: v2 + condition: "" + tags: "" + appversion: v5.1.0 + deprecated: false + annotations: + category: Touchstone + charts.openshift.io/name: Touchstone + kubeversion: '>=1.28.0-0' + dependencies: + - name: mysql + version: 10.3.0 + repository: https://charts.bitnami.com/bitnami + condition: mysql.enabled + alias: mysql + - name: mongodb + version: 16.5.15 + repository: https://charts.bitnami.com/bitnami + condition: mongodb.enabled + alias: mongodb + - name: redis + version: 19.3.3 + repository: https://charts.bitnami.com/bitnami + condition: redis.enabled + alias: redis + - name: nginx-ingress-controller + version: 12.0.7 + repository: https://charts.bitnami.com/bitnami + condition: ingress_nginx.enabled + alias: ingress_nginx + - name: ve-touchstone-db-helper + version: 5.1.0 + repository: https://registry.voereir.io/chartrepo/voereir/ + alias: ve_touchstone_db_helper + - name: ve-touchstone-database-migration + version: 5.1.0 + repository: https://registry.voereir.io/chartrepo/voereir/ + alias: ve_touchstone_database_upgrade + - name: ve-touchstone-api + version: 5.1.0 + repository: https://registry.voereir.io/chartrepo/voereir/ + alias: ve_touchstone_api + - name: ve-touchstone-engine-observer + version: 5.1.0 + repository: https://registry.voereir.io/chartrepo/voereir/ + alias: ve_touchstone_engine_observer + - name: ve-touchstone-web + version: 5.1.0 + repository: https://registry.voereir.io/chartrepo/voereir/ + alias: ve_touchstone_web + - name: ve-touchstone-management-database-migration + version: 5.1.0 + repository: https://registry.voereir.io/chartrepo/voereir/ + alias: ve_touchstone_management_database_upgrade + - name: ve-touchstone-management-backend + version: 5.1.0 + repository: https://registry.voereir.io/chartrepo/voereir/ + alias: ve_touchstone_management_backend + - name: ve-touchstone-management-frontend + version: 5.1.0 + repository: https://registry.voereir.io/chartrepo/voereir/ + alias: ve_touchstone_management_frontend + - name: ve-notification-dispatcher + version: 5.1.0 + repository: https://registry.voereir.io/chartrepo/voereir/ + condition: ve_notification_dispatcher.enabled + alias: ve_notification_dispatcher + - name: ve-touchstone-ui + version: 5.1.0 + repository: https://registry.voereir.io/chartrepo/voereir/ + alias: ve_touchstone_ui + - name: ve-touchstone-ai + version: 5.1.0 + repository: https://registry.voereir.io/chartrepo/voereir/ + alias: ve_touchstone_ai + type: application + chart-overrides: "" +results: + - check: v1.0/contains-values-schema + type: Mandatory + outcome: PASS + reason: Values schema file exist + - check: v1.1/has-kubeversion + type: Mandatory + outcome: PASS + reason: Kubernetes version specified + - check: v1.1/images-are-certified + type: Mandatory + outcome: PASS + reason: |- + Image is Red Hat certified : registry.voereir.io/voereir/ve-touchstone-engine-init:v5.1.0 + Image is Red Hat certified : registry.voereir.io/voereir/ve-touchstone-engine:v5.1.0 + Image is Red Hat certified : registry.voereir.io/voereir/ve-touchstone-api:v5.1.0 + Image is Red Hat certified : registry.voereir.io/voereir/ve-touchstone-management-backend:v5.1.0 + Image is Red Hat certified : registry.voereir.io/voereir/ve-touchstone-ui:v5.1.0 + Image is Red Hat certified : registry.voereir.io/voereir/ve-touchstone-init-base:v1.0.0-ubi9 + Image is Red Hat certified : registry.voereir.io/voereir/ve-touchstone-database-migration:v5.1.0 + Image is Red Hat certified : registry.voereir.io/voereir/ve-touchstone-rally-engine:3.2.0-T5.1.0 + Image is Red Hat certified : registry.voereir.io/voereir/ve-notification-dispatcher:v5.1.0 + Image is Red Hat certified : registry.voereir.io/voereir/ve-touchstone-ai:v5.1.0 + Image is Red Hat certified : registry.voereir.io/voereir/ve-touchstone-management-frontend:v5.1.0 + Image is Red Hat certified : registry.voereir.io/voereir/ve-touchstone-web:v5.1.0 + Image is Red Hat certified : registry.voereir.io/voereir/ve-touchstone-database-migration-init:v5.1.0 + - check: v1.0/not-contain-csi-objects + type: Mandatory + outcome: PASS + reason: CSI objects do not exist + - check: v1.0/has-notes + type: Optional + outcome: PASS + reason: Chart does contain NOTES.txt + - check: v1.0/not-contains-crds + type: Mandatory + outcome: PASS + reason: Chart does not contain CRDs + - check: v1.0/required-annotations-present + type: Mandatory + outcome: PASS + reason: All required annotations present + - check: v1.0/helm-lint + type: Mandatory + outcome: PASS + reason: Helm lint successful + - check: v1.0/signature-is-valid + type: Mandatory + outcome: SKIPPED + reason: 'Chart is not signed : Signature verification not required' + - check: v1.0/contains-values + type: Mandatory + outcome: PASS + reason: Values file exist + - check: v1.0/has-readme + type: Mandatory + outcome: PASS + reason: Chart has a README + - check: v1.0/is-helm-v3 + type: Mandatory + outcome: PASS + reason: API version is V2, used in Helm 3 + - check: v1.0/chart-testing + type: Mandatory + outcome: PASS + reason: Chart tests have passed + - check: v1.0/contains-test + type: Mandatory + outcome: PASS + reason: Chart test files exist diff --git a/charts/partners/voereir/ve-touchstone-master/OWNERS b/charts/partners/voereir/ve-touchstone-master/OWNERS new file mode 100644 index 000000000..af373ac52 --- /dev/null +++ b/charts/partners/voereir/ve-touchstone-master/OWNERS @@ -0,0 +1,10 @@ +chart: + name: ve-touchstone-master + shortDescription: unknown +providerDelivery: true +publicPgpKey: unknown +users: +- githubUsername: amitpd +vendor: + label: voereir + name: VoerEir AB diff --git a/charts/partners/wavefronthq/wavefront/OWNERS b/charts/partners/wavefronthq/wavefront/OWNERS index 554af07d5..2db7359ae 100644 --- a/charts/partners/wavefronthq/wavefront/OWNERS +++ b/charts/partners/wavefronthq/wavefront/OWNERS @@ -2,7 +2,8 @@ chart: name: wavefront shortDescription: Deploys the Wavefront Collector for Kubernetes and Wavefront Proxy to your Kubernetes cluster -publicPgpKey: null +providerDelivery: false +publicPgpKey: unknown users: - githubUsername: akodali18 - githubUsername: johncornish diff --git a/charts/partners/whiteklay/izac-helm-charts/OWNERS b/charts/partners/whiteklay/izac-helm-charts/OWNERS index 1e4fe9c0a..978599093 100644 --- a/charts/partners/whiteklay/izac-helm-charts/OWNERS +++ b/charts/partners/whiteklay/izac-helm-charts/OWNERS @@ -7,4 +7,4 @@ users: - githubUsername: https://github.com/arjunkumar999/izacinstaller.git vendor: label: whiteklay - name: Whiteklay Pvt. Ltd. + name: Whiteklay diff --git a/charts/partners/yugabytedb/ybhelm2/OWNERS b/charts/partners/yugabytedb/ybhelm2/OWNERS index fcfb8a873..5cf7a9527 100644 --- a/charts/partners/yugabytedb/ybhelm2/OWNERS +++ b/charts/partners/yugabytedb/ybhelm2/OWNERS @@ -1,6 +1,7 @@ chart: name: ybhelm2 shortDescription: unknown +providerDelivery: false publicPgpKey: unknown users: [] vendor: diff --git a/charts/redhat/redhat/redhat-cryostat/2.0.2/src/.helmignore b/charts/redhat/redhat/redhat-cryostat/2.0.2/src/.helmignore new file mode 100644 index 000000000..0e8a0eb36 --- /dev/null +++ b/charts/redhat/redhat/redhat-cryostat/2.0.2/src/.helmignore @@ -0,0 +1,23 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*.orig +*~ +# Various IDEs +.project +.idea/ +*.tmproj +.vscode/ diff --git a/charts/redhat/redhat/redhat-cryostat/2.0.2/src/Chart.yaml b/charts/redhat/redhat/redhat-cryostat/2.0.2/src/Chart.yaml new file mode 100644 index 000000000..1764b39f5 --- /dev/null +++ b/charts/redhat/redhat/redhat-cryostat/2.0.2/src/Chart.yaml @@ -0,0 +1,46 @@ +apiVersion: v2 +name: redhat-cryostat +description: Securely manage JFR recordings for your containerized Java workloads + +type: application + +version: "2.0.2" + +kubeVersion: ">= 1.25.0-0" + +appVersion: "4.0.2-redhat" + +home: "https://cryostat.io" + +icon: "https://raw.githubusercontent.com/cryostatio/cryostat-helm/main/docs/images/cryostat-icon.svg" + +annotations: + charts.openshift.io/archs: x86_64, aarch64 + charts.openshift.io/name: Red Hat build of Cryostat + charts.openshift.io/provider: Red Hat + charts.openshift.io/supportURL: https://github.com/cryostatio/cryostat-helm + +keywords: +- flightrecorder +- java +- jdk +- jfr +- jmc +- missioncontrol +- monitoring +- profiling +- diagnostic + +sources: +- https://github.com/cryostatio/cryostat +- https://github.com/cryostatio/cryostat-core +- https://github.com/cryostatio/cryostat-web +- https://github.com/cryostatio/jfr-datasource +- https://github.com/cryostatio/cryostat-grafana-dashboard +- https://github.com/cryostatio/cryostat-db +- https://github.com/cryostatio/cryostat-storage +- https://github.com/cryostatio/openshift-oauth-proxy + +maintainers: +- name: The Cryostat Community + url: https://groups.google.com/g/cryostat-development diff --git a/charts/redhat/redhat/redhat-cryostat/2.0.2/src/LICENSE b/charts/redhat/redhat/redhat-cryostat/2.0.2/src/LICENSE new file mode 100644 index 000000000..57bc88a15 --- /dev/null +++ b/charts/redhat/redhat/redhat-cryostat/2.0.2/src/LICENSE @@ -0,0 +1,202 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + diff --git a/charts/redhat/redhat/redhat-cryostat/2.0.2/src/README.md b/charts/redhat/redhat/redhat-cryostat/2.0.2/src/README.md new file mode 100644 index 000000000..4533f18b1 --- /dev/null +++ b/charts/redhat/redhat/redhat-cryostat/2.0.2/src/README.md @@ -0,0 +1,274 @@ +# Cryostat Helm Chart + +![Version: 2.0.0-dev](https://img.shields.io/badge/Version-2.0.0--dev-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 4.0.0-dev](https://img.shields.io/badge/AppVersion-4.0.0--dev-informational?style=flat-square) + +A Helm chart for deploying [Cryostat](https://cryostat.io/) on Kubernetes and OpenShift. + +## Requirements + +Kubernetes: `>= 1.25.0-0` + +## Installation + +### From Helm repository + +The chart is available at the following repositories: + +- https://cryostat.io/helm-charts +- https://charts.openshift.io + +To install the chart, add the repository and install, for example: + +```bash +helm repo add cryostat-charts https://cryostat.io/helm-charts +helm repo update +helm install cryostat cryostat-charts/cryostat +``` + +### From OCI container registry + +The chart is also available as an OCI image on GitHub Container Registry (`ghcr.io`). + +To install the chart, run: + +```bash +helm install cryostat oci://ghcr.io/cryostatio/cryostat-helm --version $VERSION +``` + +### From source code + +To install the chart from source code, run: + +```bash +git clone https://github.com/cryostatio/cryostat-helm +cd cryostat-helm +helm install cryostat ./charts/cryostat +``` + +## Configuration + +See the sections below for Helm chart values which can be used for configuring various aspects of the Cryostat installation. + +If there are further customizations required to suit your deployment environment, choose the settings values that get +you closest to what you need, then manually edit the resulting Kubernetes objects to suit your requirements. You may +also consider using `helm install --dry-run` to render the Kubernetes YAML manifests without installing them, so that +you can apply your own customization patches as needed. + +### TLS + +When installed on OpenShift with `authentication.openshift.enabled=true`, the cluster's +["service serving certificates"](https://docs.openshift.com/container-platform/4.17/security/certificates/service-serving-certificate.html) +feature is used to enable managed TLS configuration on the exposed HTTP(S) ports. + +When installed with `authentication.openshift.enabled=false` but `oauth2Proxy.tls.selfSigned.enabled=true` then a +self-signed TLS certificate will be generated at installation time to serve similar purposes. These TLS certificates +are not managed, will not automatically rotate, and will expire after 365 days. You will need to manually rotate the +certificates, or reinstall the chart, or else apply your own customizations to the Kubernetes manifests to automate TLS +certificate issuance and rotation. + +## Parameters + +### Cryostat Container + +| Name | Description | Value | +| ------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------- | +| `core` | Configuration for the core Cryostat application | | +| `core.image.repository` | Repository for the main Cryostat container image | `registry.redhat.io/cryostat/cryostat-rhel9` | +| `core.image.pullPolicy` | Image pull policy for the main Cryostat container image | `IfNotPresent` | +| `core.image.tag` | Tag for the main Cryostat container image | `4.0.2` | +| `core.podAnnotations` | Annotations to be applied to the Cryostat Pods | `{}` | +| `core.service.type` | Type of Service to create for the Cryostat application | `ClusterIP` | +| `core.service.httpPort` | Port number to expose on the Service for Cryostat's HTTP server | `8181` | +| `core.debug.log.level` | Log level for troubleshooting and debugging | `INFO` | +| `core.sslProxied` | Enables SSL Proxied Environment Variables, useful when you are offloading SSL/TLS at External Loadbalancer instead of Ingress | `false` | +| `core.ingress.enabled` | Whether to create an Ingress object for the Cryostat service | `false` | +| `core.ingress.className` | Ingress class name for the Cryostat application Ingress | `""` | +| `core.ingress.annotations` | Annotations to apply to the Cryostat application Ingress | `{}` | +| `core.ingress.hosts` | Hosts to create rules for in the Cryostat application Ingress. See: [IngressSpec](https://kubernetes.io/docs/reference/kubernetes-api/service-resources/ingress-v1/#IngressSpec) | `[]` | +| `core.ingress.tls` | TLS configuration for the Cryostat application Ingress. See: [IngressSpec](https://kubernetes.io/docs/reference/kubernetes-api/service-resources/ingress-v1/#IngressSpec) | `[]` | +| `core.route.enabled` | Whether to create a Route object for the Cryostat service. Available only on OpenShift | `true` | +| `core.route.tls.enabled` | Whether to secure the Cryostat application Route with TLS. See: [TLSConfig](https://docs.openshift.com/container-platform/4.10/rest_api/network_apis/route-route-openshift-io-v1.html#spec-tls) | `true` | +| `core.route.tls.termination` | Type of TLS termination to use for the Cryostat application Route. One of: `edge`, `passthrough`, `reencrypt` | `edge` | +| `core.route.tls.insecureEdgeTerminationPolicy` | Specify how to handle insecure traffic for the Cryostat application Route. One of: `Allow`, `Disable`, `Redirect` | `Redirect` | +| `core.route.tls.key` | Custom private key to use when securing the Cryostat application Route | `""` | +| `core.route.tls.certificate` | Custom certificate to use when securing the Cryostat application Route | `""` | +| `core.route.tls.caCertificate` | Custom CA certificate to use, if needed to complete the certificate chain, when securing the Cryostat application Route | `""` | +| `core.route.tls.destinationCACertificate` | Provides the contents of the CA certificate of the final destination when using reencrypt termination for the Cryostat application Route | `""` | +| `core.resources.requests.cpu` | CPU resource request for the Cryostat container. See: [ResourceRequirements](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#resources) | `500m` | +| `core.resources.requests.memory` | Memory resource request for the Cryostat container. | `384Mi` | +| `core.securityContext` | Security Context for the Cryostat container. Defaults to meet "restricted" [Pod Security Standard](https://kubernetes.io/docs/concepts/security/pod-security-standards/#restricted). See: [SecurityContext](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#security-context-1) | `{}` | +| `core.databaseSecretName` | Name of the secret containing database keys. This secret must contain a CONNECTION_KEY secret which is the database connection password, and an ENCRYPTION_KEY secret which is the key used to encrypt sensitive data stored within the database, such as the target credentials keyring. It must not be updated across chart upgrades. It is recommended that the secret should be marked as immutable to avoid accidental changes to secret's data. More details: https://kubernetes.io/docs/concepts/configuration/secret/#secret-immutable | `""` | +| `core.discovery` | Configuration options to the Cryostat application's target discovery mechanisms | | +| `core.discovery.kubernetes.enabled` | Enables Kubernetes API discovery mechanism | `true` | +| `core.discovery.kubernetes.installNamespaceDisabled` | When false and `namespaces` is empty, the Cryostat application will default to discovery targets in the install namespace (i.e. `{{ .Release.Namespace }}`) | `false` | +| `core.discovery.kubernetes.namespaces` | List of namespaces whose workloads the Cryostat application should be permitted to access and profile | `[]` | +| `core.discovery.kubernetes.builtInPortNamesDisabled` | When false and `portNames` is empty, the Cryostat application will use the default port name `jfr-jmx` to look for JMX connectable targets. | `false` | +| `core.discovery.kubernetes.portNames` | List of port names that the Cryostat application should look for in order to consider a target as JMX connectable | `[]` | +| `core.discovery.kubernetes.builtInPortNumbersDisabled` | When false and `portNumbers` is empty, the Cryostat application will use the default port number `9091` to look for JMX connectable targets. | `false` | +| `core.discovery.kubernetes.portNumbers` | List of port numbers that the Cryostat application should look for in order to consider a target as JMX connectable | `[]` | +| `core.config.eventTemplates.configMapNames` | List of ConfigMap names. Each ConfigMap is expected to contain one or more files, which are .jfc (XML) JFR Event Templates, to be mounted to the Cryostat container. | `[]` | +| `core.config.tlsTruststore.secretNames` | List of Secret names. Each Secret is expected to contain one or more files, which are TLS certificates which target applications may use for their JMX servers, to be mounted to the Cryostat container for its TLS truststore. | `[]` | +| `core.nodeSelector` | Node Selector for the Cryostat Pod. See: [NodeSelector](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling) | `{}` | +| `core.tolerations` | Tolerations for the Cryostat Pod. See: [Tolerations](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling) | `[]` | +| `core.affinity` | Affinity for the Cryostat Pod. See: [Affinity](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling) | `{}` | + +### Report Generator Deployment + +| Name | Description | Value | +| ----------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------- | +| `reports` | Configuration for the Reports Generator deployment | | +| `reports.image.repository` | Repository for the Report Generator container image | `registry.redhat.io/cryostat/cryostat-reports-rhel9` | +| `reports.image.pullPolicy` | Image pull policy for the Report Generator container image | `IfNotPresent` | +| `reports.image.tag` | Tag for the Report Generator image | `4.0.2` | +| `reports.podAnnotations` | Annotations to be applied to the Report Generator Pods | `{}` | +| `reports.service.type` | Type of Service to create for the Report Generator Deployment | `ClusterIP` | +| `reports.service.httpPort` | Port number to expose on the Service for the Report Generator Deployment | `10001` | +| `reports.reportsSecretName` | Name of the secret containing the report generator access keys. This secret must contain a REPORTS_PASS secret which is the secret credential for the report generators. It must not be updated across chart upgrades, or else the connection between Cryostat and report generators will not be able to initialize. It is recommended that the secret should be marked as immutable to avoid accidental changes to secret's data. More details: https://kubernetes.io/docs/concepts/configuration/secret/#secret-immutable | `""` | +| `reports.debug.log.level` | Log level for troubleshooting and debugging | `INFO` | +| `reports.replicas` | Number of Report Generator replicas to deploy. If zero, the Deployment and Service will not be created and the main Cryostat container will handle all report generations on its own. | `0` | +| `reports.resources.requests.cpu` | CPU resource request for each Pod in the Report Generator Deployment. | `500m` | +| `reports.resources.requests.memory` | Memory resource request for each Pod in the Report Generator Deployment. | `512Mi` | +| `reports.securityContext` | Security Context for the Report Generator containers. Defaults to meet "restricted" [Pod Security Standard](https://kubernetes.io/docs/concepts/security/pod-security-standards/#restricted). See: [SecurityContext](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#security-context-1) | `{}` | +| `reports.nodeSelector` | Node Selector for the Report Generator Pods. See: [NodeSelector](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling) | `{}` | +| `reports.tolerations` | Tolerations for the Report Generator Pods. See: [Tolerations](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling) | `[]` | +| `reports.affinity` | Affinity for the Report Generator Pods. See: [Affinity](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling) | `{}` | + +### Database Container + +| Name | Description | Value | +| ------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------- | +| `db` | Configuration for Cryostat's database | | +| `db.image.repository` | Repository for the database container image | `registry.redhat.io/cryostat/cryostat-db-rhel9` | +| `db.image.pullPolicy` | Image pull policy for the database container image | `IfNotPresent` | +| `db.image.tag` | Tag for the database container image | `4.0.2` | +| `db.podAnnotations` | Annotations to be applied to the Database Pods | `{}` | +| `db.service.type` | Type of Service to create for the database | `ClusterIP` | +| `db.service.port` | Port number to expose on the Service | `5432` | +| `db.resources.requests.cpu` | CPU resource request for the database container. See: [ResourceRequirements](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#resources) | `25m` | +| `db.resources.requests.memory` | Memory resource request for the database container. | `64Mi` | +| `db.pvc.enabled` | Specify whether to use persistentVolumeClaim (true) or EmptyDir storage (false). This is recommended to be enabled, but the storage size and selector should be chosen carefully first. | `false` | +| `db.pvc.annotations` | Annotations to add to the persistentVolumeClaim | `{}` | +| `db.pvc.storage` | Storage size to request for the persistentVolumeClaim | `500Mi` | +| `db.pvc.accessModes` | Access mode for the persistentVolumeClaim. See: [Access Modes](https://kubernetes.io/docs/concepts/storage/persistent-volumes/#persistentvolumeclaims) | `["ReadWriteOnce"]` | +| `db.pvc.selector` | Selector for the persistentVolumeClaim. See: [Selector](https://kubernetes.io/docs/concepts/storage/persistent-volumes/#persistentvolumeclaims) | `{}` | +| `db.pvc.storageClassName` | The name of the StorageClass for the persistentVolumeClaim. See: [Class](https://kubernetes.io/docs/concepts/storage/persistent-volumes/#persistentvolumeclaims) | `undefined` | +| `db.securityContext` | Security Context for the database container. Defaults to meet "restricted" [Pod Security Standard](https://kubernetes.io/docs/concepts/security/pod-security-standards/#restricted). See: [SecurityContext](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#security-context-1) | `{}` | +| `db.nodeSelector` | Node Selector for the Database Pod. See: [NodeSelector](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling) | `{}` | +| `db.tolerations` | Tolerations for the Database Pod. See: [Tolerations](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling) | `[]` | +| `db.affinity` | Affinity for the Database Pod. See: [Affinity](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling) | `{}` | + +### Storage Container + +| Name | Description | Value | +| ----------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------- | +| `storage` | Configuration for Cryostat's object storage provider | | +| `storage.storageSecretName` | Name of the secret containing the object storage secret access key. This secret must contain a STORAGE_ACCESS_KEY secret which is the object storage secret access key. It must not be updated across chart upgrades, or else the connection between Cryostat components and object storage will not be able to initialize. It is recommended that the secret should be marked as immutable to avoid accidental changes to secret's data. More details: https://kubernetes.io/docs/concepts/configuration/secret/#secret-immutable | `""` | +| `storage.image.repository` | Repository for the storage container image | `registry.redhat.io/cryostat/cryostat-storage-rhel9` | +| `storage.image.pullPolicy` | Image pull policy for the storage container image | `IfNotPresent` | +| `storage.image.tag` | Tag for the storage container image | `4.0.2` | +| `storage.encryption.enabled` | Enable at-rest encryption of stored objects. The storage container will generate a secret key for each stored object and use this key to encrypt and decrypt objects transparently. The key is written to the object metadata, so in the default storage container configuration this only adds a small layer of additional security. | `true` | +| `storage.podAnnotations` | Annotations to be applied to the Storage Pods | `{}` | +| `storage.service.type` | Type of Service to create for the object storage | `ClusterIP` | +| `storage.service.port` | Port number to expose on the Service | `8333` | +| `storage.resources.requests.cpu` | CPU resource request for the object storage container. See: [ResourceRequirements](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#resources) | `50m` | +| `storage.resources.requests.memory` | Memory resource request for the object storage container. | `256Mi` | +| `storage.pvc.enabled` | Specify whether to use persistentVolumeClaim (true) or EmptyDir storage (false). This is recommended to be enabled, but the storage size and selector should be chosen carefully first. | `false` | +| `storage.pvc.annotations` | Annotations to add to the persistentVolumeClaim | `{}` | +| `storage.pvc.storage` | Storage size to request for the persistentVolumeClaim | `500Mi` | +| `storage.pvc.accessModes` | Access mode for the persistentVolumeClaim. See: [Access Modes](https://kubernetes.io/docs/concepts/storage/persistent-volumes/#persistentvolumeclaims) | `["ReadWriteOnce"]` | +| `storage.pvc.selector` | Selector for the persistentVolumeClaim. See: [Selector](https://kubernetes.io/docs/concepts/storage/persistent-volumes/#persistentvolumeclaims) | `{}` | +| `storage.pvc.storageClassName` | The name of the StorageClass for the persistentVolumeClaim. See: [Class](https://kubernetes.io/docs/concepts/storage/persistent-volumes/#persistentvolumeclaims) | `undefined` | +| `storage.securityContext` | Security Context for the storage container. Defaults to meet "restricted" [Pod Security Standard](https://kubernetes.io/docs/concepts/security/pod-security-standards/#restricted). See: [SecurityContext](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#security-context-1) | `{}` | +| `storage.nodeSelector` | Node Selector for the Storage Pod. See: [NodeSelector](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling) | `{}` | +| `storage.tolerations` | Tolerations for the Storage Pod. See: [Tolerations](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling) | `[]` | +| `storage.affinity` | Affinity for the Storage Pod. See: [Affinity](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling) | `{}` | + +### Grafana Container + +| Name | Description | Value | +| ----------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------- | +| `grafana` | Configuration for the customized Grafana instance for Cryostat | | +| `grafana.image.repository` | Repository for the Grafana container image | `registry.redhat.io/cryostat/cryostat-grafana-dashboard-rhel9` | +| `grafana.image.pullPolicy` | Image pull policy for the Grafana container image | `IfNotPresent` | +| `grafana.image.tag` | Tag for the Grafana container image | `4.0.2` | +| `grafana.service.type` | Type of Service to create for Grafana | `ClusterIP` | +| `grafana.service.port` | Port number to expose on the Service for Grafana's HTTP server | `3000` | +| `grafana.resources.requests.cpu` | CPU resource request for the Grafana container. See: [ResourceRequirements](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#resources) | `25m` | +| `grafana.resources.requests.memory` | Memory resource request for the Grafana container. | `80Mi` | +| `grafana.securityContext` | Security Context for the Grafana container. Defaults to meet "restricted" [Pod Security Standard](https://kubernetes.io/docs/concepts/security/pod-security-standards/#restricted). See: [SecurityContext](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#security-context-1) | `{}` | +| `grafana.nodeSelector` | Node Selector for the Grafana Pod. See: [NodeSelector](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling) | `{}` | +| `grafana.tolerations` | Tolerations for the Grafana Pod. See: [Tolerations](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling) | `[]` | + +### JFR Data Source Container + +| Name | Description | Value | +| -------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------- | +| `datasource` | Configuration for the JFR Data Source component, which translates recording events into a format consumable by Grafana | | +| `datasource.image.repository` | Repository for the JFR Data Source container image | `registry.redhat.io/cryostat/jfr-datasource-rhel9` | +| `datasource.image.pullPolicy` | Image pull policy for the JFR Data Source container image | `IfNotPresent` | +| `datasource.image.tag` | Tag for the JFR Data Source container image | `4.0.2` | +| `datasource.resources.requests.cpu` | CPU resource request for the JFR Data Source container. See: [ResourceRequirements](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#resources) | `200m` | +| `datasource.resources.requests.memory` | Memory resource request for the JFR Data Source container. | `200Mi` | +| `datasource.securityContext` | Security Context for the JFR Data Source container. Defaults to meet "restricted" [Pod Security Standard](https://kubernetes.io/docs/concepts/security/pod-security-standards/#restricted). See: [SecurityContext](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#security-context-1) | `{}` | +| `datasource.nodeSelector` | Node Selector for the JFR Datasource Pod. See: [NodeSelector](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling) | `{}` | +| `datasource.tolerations` | Tolerations for the JFR Datasource Pod. See: [Tolerations](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling) | `[]` | + +### Authentication + +| Name | Description | Value | +| ------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------- | +| `authentication.cookieSecretName` | Name of the secret containing the authenticating proxy cookie encryption key. This secret must contain a COOKIE_SECRET secret which is the cookie encryption key. It must not be updated across chart upgrades, or else existing user login sessions will be invalidated. It is recommended that the secret should be marked as immutable to avoid accidental changes to secret's data. More details: https://kubernetes.io/docs/concepts/configuration/secret/#secret-immutable | `""` | +| `authentication.openshift.enabled` | Whether the OAuth Proxy deployed for securing Cryostat's Pods should be one that integrates with OpenShift-specific features, or a generic one. | `true` | +| `authentication.openshift.clusterRole.name` | The name of the ClusterRole to bind for the OpenShift OAuth Proxy | `system:auth-delegator` | +| `authentication.basicAuth.enabled` | Whether Cryostat should use basic authentication for users. When false, Cryostat will not perform any form of authentication | `false` | +| `authentication.basicAuth.secretName` | Name of the Secret that contains the credentials within Cryostat's namespace **(Required if basicAuth is enabled)** | `""` | +| `authentication.basicAuth.filename` | Key within Secret containing the `htpasswd` file. The file should contain one user definition entry per line, with the syntax "user:passHash", where "user" is the username and "passHash" is the `bcrypt` hash of the desired password. Such an entry can be generated with ex. `htpasswd -nbB username password` **(Required if basicAuth is enabled)** | `""` | + +### OAuth2 Proxy + +| Name | Description | Value | +| --------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- | +| `oauth2Proxy.image.repository` | Repository for the OAuth2 Proxy container image | `""` | +| `oauth2Proxy.image.pullPolicy` | Image pull policy for the OAuth2 Proxy container image | `Never` | +| `oauth2Proxy.image.tag` | Tag for the OAuth2 Proxy container image | `""` | +| `oauth2Proxy.tls.selfSigned.enabled` | Whether a self-signed TLS certificate for oauth2-proxy HTTPS is generated and used. | `false` | +| `oauth2Proxy.resources.requests.cpu` | CPU resource request for the OAuth2 Proxy container. | `25m` | +| `oauth2Proxy.resources.requests.memory` | Memory resource request for the OAuth2 Proxy container. | `64Mi` | +| `oauth2Proxy.securityContext` | Security Context for the OAuth2 Proxy container. Defaults to meet "restricted" [Pod Security Standard](https://kubernetes.io/docs/concepts/security/pod-security-standards/#restricted). See: [SecurityContext](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#security-context-1). | `{}` | + +### OpenShift OAuth Proxy + +| Name | Description | Value | +| ----------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------ | +| `openshiftOauthProxy.image.repository` | Repository for the OpenShift OAuth Proxy container image | `registry.redhat.io/cryostat/cryostat-ose-oauth-proxy-rhel9` | +| `openshiftOauthProxy.image.pullPolicy` | Image pull policy for the OpenShift OAuth Proxy container image | `IfNotPresent` | +| `openshiftOauthProxy.image.tag` | Tag for the OpenShift OAuth Proxy container image | `4.0.2` | +| `openshiftOauthProxy.resources.requests.cpu` | CPU resource request for the OpenShift OAuth Proxy container. | `25m` | +| `openshiftOauthProxy.resources.requests.memory` | Memory resource request for the OpenShift OAuth Proxy container. | `64Mi` | +| `openshiftOauthProxy.accessReview.enabled` | Whether the SubjectAccessReview/TokenAccessReview role checks for users and clients are enabled. If this is disabled then the proxy will only check that the user has valid credentials or holds a valid token. | `true` | +| `openshiftOauthProxy.accessReview.group` | The OpenShift resource group that the SubjectAccessReview/TokenAccessReview will be performed for. See https://github.com/openshift/oauth-proxy/?tab=readme-ov-file#delegate-authentication-and-authorization-to-openshift-for-infrastructure | `""` | +| `openshiftOauthProxy.accessReview.resource` | The OpenShift resource that the SubjectAccessReview/TokenAccessReview will be performed for. | `pods` | +| `openshiftOauthProxy.accessReview.subresource` | The OpenShift resource that the SubjectAccessReview/TokenAccessReview will be performed for. | `exec` | +| `openshiftOauthProxy.accessReview.name` | The OpenShift resource name that the SubjectAccessReview/TokenAccessReview will be performed for. | `""` | +| `openshiftOauthProxy.accessReview.namespace` | The OpenShift namespace that the SubjectAccessReview/TokenAccessReview will be performed for. | `{{ .Release.Namespace }}` | +| `openshiftOauthProxy.accessReview.verb` | The OpenShift resource name that the SubjectAccessReview/TokenAccessReview will be performed for. | `create` | +| `openshiftOauthProxy.accessReview.version` | The OpenShift resource version that the SubjectAccessReview/TokenAccessReview will be performed for. | `""` | +| `openshiftOauthProxy.securityContext` | Security Context for the OpenShift OAuth Proxy container. Defaults to meet "restricted" [Pod Security Standard](https://kubernetes.io/docs/concepts/security/pod-security-standards/#restricted). See: [SecurityContext](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#security-context-1) | `{}` | + +### Other Parameters + +| Name | Description | Value | +| ------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------ | +| `imagePullSecrets` | Image pull secrets to be used for the Cryostat deployment | `[]` | +| `nameOverride` | Overrides the name of this Chart | `""` | +| `fullnameOverride` | Overrides the fully qualified application name of `[release name]-[chart name]` | `""` | +| `rbac.create` | Specifies whether RBAC resources should be created | `true` | +| `serviceAccount.create` | Specifies whether a service account should be created | `true` | +| `serviceAccount.annotations` | Annotations to add to the service account | `{}` | +| `serviceAccount.name` | The name of the service account to use. If not set and create is true, a name is generated using the fullname template | `""` | +| `podAnnotations` | Annotations to be applied to the various Pods | `{}` | +| `podSecurityContext` | Security Context for the Cryostat Pod. Defaults to meet "restricted" [Pod Security Standard](https://kubernetes.io/docs/concepts/security/pod-security-standards/#restricted). See: [PodSecurityContext](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#security-context) | `{}` | +| `networkPolicy.ingress.enabled` | whether a NetworkPolicy for restricting Cryostat component Pods' traffic is installed. This prevents other Pods from sending unwanted traffic to Cryostat's Pods. Traffic should flow via the Service (or Route, or other Ingress) only, not by directly targeting Pods. | `true` | +| `nodeSelector` | default Node Selector for the various Pods. Any Pod which does not have an individual nodeSelector setting will default to this. See: [NodeSelector](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling) | `{}` | +| `tolerations` | default Tolerations for the various Pods. See: [Tolerations](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling) | `[]` | +| `affinity` | default Affinity for the various Pods. See: [Affinity](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling) | `{}` | diff --git a/charts/redhat/redhat/redhat-cryostat/2.0.2/src/TESTING.md b/charts/redhat/redhat/redhat-cryostat/2.0.2/src/TESTING.md new file mode 100644 index 000000000..ff9fb3beb --- /dev/null +++ b/charts/redhat/redhat/redhat-cryostat/2.0.2/src/TESTING.md @@ -0,0 +1,148 @@ +# Testing Guide for Cryostat Helm Chart + +This guide outlines the conventions and practices for writing and executing tests in the Cryostat Helm chart project using the Helm Unittest plugin. + +## Overview + +Helm Unittest is a Helm plugin that allows to write declarative tests for Helm charts. It enables testing the rendered templates of a Helm chart with specified values without the need for any running Kubernetes cluster. + +# Testing Guide for Cryostat Helm Chart + +## Requirements + +Before running tests, you need to have the following tools installed: + +- **Helm:** Helm is a package manager for Kubernetes needed to manage the charts. + `Required version: >= v3.14.4` +- **Helm Unittest Plugin:** This plugin enables unit testing for Helm charts. + `Required version: >= v0.5.1` + +## Installation + +##### Installing Helm + +Helm can be installed on a variety of platforms. [Official Helm installation documentation](https://helm.sh/docs/intro/install/) provides detailed instructions. + +##### Installing Helm Unittest Plugin + +Once Helm is installed, you can install the Helm Unittest plugin. +First, verify whether the Helm Unittest plugin has been successfully installed, you can use the following command to list all installed Helm plugins: +```bash +helm plugin list +``` +This command will display a list of all plugins currently installed in your Helm environment, including the Helm Unittest plugin if it's already installed. Look for an entry named unittest in the output. If it's listed, then the Helm Unittest plugin is installed correctly. For example: +``` +❯ helm plugin list + +NAME VERSION DESCRIPTION +unittest 0.5.1 Unit test for helm chart in YAML with ease +to keep your chart functional and robust. +``` +If the Helm Unittest plugin is not listed, you can install it using the following command: +```bash +$ helm plugin install https://github.com/helm-unittest/helm-unittest.git +``` +This will install the latest version of binary into helm plugin directory. + +## Writing Tests + +Each test is associated with a specific Helm template and is structured to validate specific aspects of that template. Here's a general structure for writing tests: + +1. **Test Suite:** A collection of tests related to a particular aspect of the chart, usually corresponding to a specific template file. +2. **Test Cases:** Each test case should focus on a single aspect or feature of the chart. Test cases can have different configurations set through the `set` directive to simulate different environments or scenarios. +3. **Assertions:** Test cases contain assertions that specify the expected output of the rendered templates. Assertions can check for the existence of objects, equality of values, matching patterns, and more. + +##### Naming Conventions for Test Files +The naming convention for test files typically mirrors the name of the template they are testing with a `_test` suffix. For example: + +- service.yaml ➔ service_test.yaml +- deployment.yaml ➔ deployment_test.yaml + +## Directory Structure + +Tests are organized under the `tests/` directory, with each test file corresponding to a template in the `templates/` directory: + +```plaintext +cryostat-helm/ +├── charts +│   └── cryostat +│   ├── Chart.yaml +│   ├── templates +│   │   ├── alpha_config.yaml +│   │   ├── ... +│   │   └── tests +│   │   ├── test-core-connection.yaml +│   │   └── ... +│   ├── TESTING.md +│   ├── tests +│   │   ├── alpha_config_test.yaml +│   │   ├── ... +│   │   ├── __snapshot__ +│   │   └── storage_access_secret_test.yaml +│   ├── values.schema.json +│   └── values.yaml + +``` +In addition, Cryostat Helm chart includes integration tests located in the `templates/tests` directory and are executed using `helm test`. These tests are different from unit tests in that they involve actual deployment of resources to a Kubernetes cluster to validate the integrated operation of those resources. + +## Test File Structure + +Here's an example of what a test file looks like: + +```yaml +suite: +templates: + - +tests: + - it: + set: + + asserts: + - : + path: + value: +``` +## Common Assertions +- `equal`: Checks if the actual value at path equals the expected value. +- `matchRegex`: Validates if the actual string matches the given regex pattern. +- `exists`: Checks if the specified path exists in the document. +- `notExists`: Ensures the specified path does not exist in the document. + +Visit [this document](https://github.com/helm-unittest/helm-unittest/blob/main/DOCUMENT.md#assertion-types) for more assertion types. +## Running Tests + +Once Unittest plugin has been installed, tests can be executed by running the following command: +```bash +$ helm unittest +``` +In the case of `cryostat-helm`, the command would be: + +```bash +$ helm unittest ./charts/cryostat +``` +To run test for a specific test file, use the `-f` flag with helm unittest to specify the test file to be executed. Here's the command format: + +```bash +$ helm unittest -f tests/.yaml ./charts/ +``` +This command will run the test for `service_test.yaml` file: + +```bash +$ helm unittest -f tests/service_test.yaml ./charts/cryostat +``` +## Additional Resources and Documentation + +For more infomation on Helm and writing tests for Helm charts, the following resources can be invaluable: + +### Helm Documentation + +- **Helm Official Documentation:** Provides comprehensive guides, tutorials, and reference material for working with Helm. + [Helm Documentation](https://helm.sh/docs/) + +- **Helm Chart Best Practices:** A guide by the Helm community outlining best practices for creating and managing Helm charts. + [Helm Chart Best Practices](https://helm.sh/docs/chart_best_practices/) + +### Helm Unittest Plugin + +- **Helm Unittest GitHub Repository:** Contains the source code, installation instructions, and detailed usage examples of the Helm Unittest plugin. + [Helm Unittest on GitHub](https://github.com/helm-unittest/helm-unittest) diff --git a/charts/redhat/redhat/redhat-cryostat/2.0.2/src/release-notes.md b/charts/redhat/redhat/redhat-cryostat/2.0.2/src/release-notes.md new file mode 100644 index 000000000..99ccb509e --- /dev/null +++ b/charts/redhat/redhat/redhat-cryostat/2.0.2/src/release-notes.md @@ -0,0 +1 @@ + diff --git a/charts/redhat/redhat/redhat-cryostat/2.0.2/src/templates/NOTES.txt b/charts/redhat/redhat/redhat-cryostat/2.0.2/src/templates/NOTES.txt new file mode 100644 index 000000000..595f10117 --- /dev/null +++ b/charts/redhat/redhat/redhat-cryostat/2.0.2/src/templates/NOTES.txt @@ -0,0 +1,64 @@ +{{- $envVars := list }} +{{- $portForwards := false }} +{{- $listNum := 1 }} +{{- if not .Values.core.ingress.enabled }} +{{ $listNum }}. Configure the application to serve external traffic: +{{- $listNum = add1 $listNum }} + ``` +{{- if .Values.core.route.enabled }} +{{- /* Do nothing */}} + No actions required with this configuration. +{{- else if .Values.core.ingress.enabled }} +{{- /* Do nothing */}} + No actions required with this configuration. +{{- else if contains "ClusterIP" .Values.core.service.type }} + {{- /* Do nothing */}} + No actions required with this configuration. +{{- $portForwards = true }} +{{- else if contains "NodePort" .Values.core.service.type }} + export NODE_IP=$(oc get nodes -n {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}") + export NODE_PORT=$(oc get -n {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "cryostat.fullname" . }}) +{{- $envVars = list "QUARKUS_HTTP_HOST=$NODE_IP" }} +{{- else if contains "LoadBalancer" .Values.core.service.type }} + NOTE: It may take a few minutes for the LoadBalancer IP to be available. + You can watch the status by running 'oc get -n {{ .Release.Namespace }} -w svc/{{ include "cryostat.fullname" . }}' + export SERVICE_IP=$(oc get svc -n {{ .Release.Namespace }} {{ include "cryostat.fullname" . }} --template "{{"{{ range (index .status.loadBalancer.ingress 0) }}{{.}}{{ end }}"}}") +{{- $envVars = list "QUARKUS_HTTP_HOST=$SERVICE_IP" }} +{{- end }} + +{{- if not (empty $envVars) }} + oc -n {{ .Release.Namespace }} set env deploy --containers={{ .Chart.Name }} {{ include "cryostat.deploymentName" . }} {{ join " " $envVars }} +{{- end }} + ``` +{{- end }} + +{{- if $portForwards }} + +{{ $listNum }}. Forward local port to the application's service: + ``` + oc -n {{ .Release.Namespace }} wait --for=condition=available --timeout=60s deploy/{{ include "cryostat.deploymentName" . }} + + export SVC_NAME=$(oc get services -n {{ .Release.Namespace }} -l "app.kubernetes.io/name={{ include "cryostat.name" . }},app.kubernetes.io/instance={{ .Release.Name }},app.kubernetes.io/component=cryostat" --sort-by=.metadata.creationTimestamp -o jsonpath="{.items[-1:].metadata.name}") + oc -n {{ .Release.Namespace }} port-forward svc/$SVC_NAME {{ include "cryostat.core.service.port" . }}:{{ include "cryostat.core.service.scheme" . }} + ``` + {{- $listNum = add1 $listNum }} +{{- end }} + +{{ $listNum }}. Visit the application at: + ``` +{{- if .Values.core.route.enabled }} + echo {{ ternary "https" "http" .Values.core.route.tls.enabled }}://$(oc get route -n {{ .Release.Namespace }} {{ include "cryostat.fullname" . }} -o jsonpath="{.status.ingress[0].host}") +{{- else if .Values.core.ingress.enabled }} +{{- range $host := .Values.core.ingress.hosts -}} + {{- range .paths }} + {{ ternary "http" "https" (empty $.Values.core.ingress.tls) }}://{{ $host.host }}{{ .path }} + {{- end }} +{{- end }} +{{- else if contains "NodePort" .Values.core.service.type }} + echo http://$NODE_IP:$NODE_PORT +{{- else if contains "LoadBalancer" .Values.core.service.type }} + echo http://$SERVICE_IP:{{ .Values.core.service.httpPort }} +{{- else if contains "ClusterIP" .Values.core.service.type }} + {{ include "cryostat.core.service.scheme" . }}://localhost:{{ include "cryostat.core.service.port" . }} +{{- end }} + ``` diff --git a/charts/redhat/redhat/redhat-cryostat/2.0.2/src/templates/_helpers.tpl b/charts/redhat/redhat/redhat-cryostat/2.0.2/src/templates/_helpers.tpl new file mode 100644 index 000000000..0a8e7e522 --- /dev/null +++ b/charts/redhat/redhat/redhat-cryostat/2.0.2/src/templates/_helpers.tpl @@ -0,0 +1,195 @@ +{{/* +Expand the name of the chart. +*/}} +{{- define "cryostat.name" -}} +{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }} +{{- end }} + +{{/* +Create a default fully qualified app name. +We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). +If release name contains chart name it will be used as a full name. +*/}} +{{- define "cryostat.fullname" -}} +{{- if .Values.fullnameOverride }} +{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }} +{{- else }} +{{- $name := default .Chart.Name .Values.nameOverride }} +{{- if contains $name .Release.Name }} +{{- .Release.Name | trunc 63 | trimSuffix "-" }} +{{- else }} +{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }} +{{- end }} +{{- end }} +{{- end }} + +{{/* +Create chart name and version as used by the chart label. +*/}} +{{- define "cryostat.chart" -}} +{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }} +{{- end }} + +{{/* +Common labels. +*/}} +{{- define "cryostat.labels" -}} +helm.sh/chart: {{ include "cryostat.chart" . }} +{{ include "cryostat.selectorLabels" . }} +{{- if .Chart.AppVersion }} +app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} +{{- end }} +app.kubernetes.io/managed-by: {{ .Release.Service }} +{{- end }} + +{{/* +Selector labels. +*/}} +{{- define "cryostat.selectorLabels" -}} +app.kubernetes.io/name: {{ include "cryostat.name" . }} +app.kubernetes.io/instance: {{ .Release.Name }} +app.kubernetes.io/part-of: cryostat +{{- end }} + +{{/* +Create the name of the service account to use. +*/}} +{{- define "cryostat.serviceAccountName" -}} +{{- if .Values.serviceAccount.create }} +{{- default (include "cryostat.fullname" .) .Values.serviceAccount.name }} +{{- else }} +{{- default "default" .Values.serviceAccount.name }} +{{- end }} +{{- end }} + +{{/* +Cryostat service TLS enablement. Returns the string values "true" or "false". +*/}} +{{- define "cryostat.core.service.tls" -}} +{{ or .Values.authentication.openshift.enabled .Values.oauth2Proxy.tls.selfSigned.enabled }} +{{- end }} + +{{/* +Cryostat service protocol. HTTPS if TLS is enabled, HTTP otherwise. +*/}} +{{- define "cryostat.core.service.scheme" -}} +{{ ternary "https" "http" ( include "cryostat.core.service.tls" . | eq "true" ) }} +{{- end }} + +{{/* +Cryostat service port. 8443 if TLS is enabled, 8080 otherwise. +*/}} +{{- define "cryostat.core.service.port" -}} +{{ ternary 8443 8080 ( ( include "cryostat.core.service.scheme" . ) | eq "https" ) }} +{{- end }} + +{{/* +Get or generate a default connection key for database. +*/}} +{{- define "cryostat.databaseConnectionKey" -}} +{{- $secret := (lookup "v1" "Secret" .Release.Namespace (printf "%s-db" .Release.Name)) -}} +{{- if $secret -}} +{{/* + Use current key. Do not regenerate. +*/}} +{{- $secret.data.CONNECTION_KEY -}} +{{- else -}} +{{/* + Generate new key. +*/}} +{{- (randAlphaNum 32) | b64enc | quote -}} +{{- end -}} +{{- end -}} + +{{/* +Get or generate a default encryption key for database. +*/}} +{{- define "cryostat.databaseEncryptionKey" -}} +{{- $secret := (lookup "v1" "Secret" .Release.Namespace (printf "%s-db" .Release.Name)) -}} +{{- if $secret -}} +{{/* + Use current key. Do not regenerate. +*/}} +{{- $secret.data.ENCRYPTION_KEY -}} +{{- else -}} +{{/* + Generate new key +*/}} +{{- (randAlphaNum 32) | b64enc | quote -}} +{{- end -}} +{{- end -}} + +{{/* +Get or generate a default secret key for object storage. +*/}} +{{- define "cryostat.objectStorageSecretKey" -}} +{{- $secret := (lookup "v1" "Secret" .Release.Namespace (printf "%s-storage-secret" .Release.Name)) -}} +{{- if $secret -}} +{{/* + Use current secret. Do not regenerate. +*/}} +{{- $secret.data.STORAGE_ACCESS_KEY -}} +{{- else -}} +{{/* + Generate new secret +*/}} +{{- (randAlphaNum 32) | b64enc | quote -}} +{{- end -}} +{{- end -}} + +{{/* +Get or generate a default secret password key for report generators. +*/}} +{{- define "cryostat.reportsPassSecretKey" -}} +{{- $secret := (lookup "v1" "Secret" .Release.Namespace (printf "%s-reports-secret" .Release.Name)) -}} +{{- if $secret -}} +{{/* + Use current secret. Do not regenerate. +*/}} +{{- $secret.data.REPORTS_PASS -}} +{{- else -}} +{{/* + Generate new secret +*/}} +{{- (randAlphaNum 32) -}} +{{- end -}} +{{- end -}} + +{{/* +Get or generate a default secret key for auth proxy cookies. +*/}} +{{- define "cryostat.cookieSecret" -}} +{{- $secret := (lookup "v1" "Secret" .Release.Namespace (printf "%s-cookie-secret" .Release.Name)) -}} +{{- if $secret -}} +{{/* + Use current secret. Do not regenerate. +*/}} +{{- $secret.data.COOKIE_SECRET -}} +{{- else -}} +{{/* + Generate new secret +*/}} +{{- (randAlphaNum 32) | b64enc -}} +{{- end -}} +{{- end -}} + +{{/* + Get sanitized list or defaults (if not disabled) as comma-separated list. +*/}} +{{- define "cryostat.commaSepList" -}} +{{- $l := index . 0 -}} +{{- $default := index . 1 -}} +{{- $disableDefaults := index . 2 -}} +{{- if and (not $l) (not $disableDefaults) -}} +{{- $l = list $default -}} +{{- end -}} +{{- join "," (default list $l | compact | uniq) | quote -}} +{{- end -}} + +{{/* +Get the name for managed deployments. +*/}} +{{- define "cryostat.deploymentName" -}} +{{- $version := semver .Chart.AppVersion -}} +{{- printf "%s-v%d" (include "cryostat.fullname" .) $version.Major -}} +{{- end -}} diff --git a/charts/redhat/redhat/redhat-cryostat/2.0.2/src/templates/_oauth2Proxy.tpl b/charts/redhat/redhat/redhat-cryostat/2.0.2/src/templates/_oauth2Proxy.tpl new file mode 100644 index 000000000..db3fc6b90 --- /dev/null +++ b/charts/redhat/redhat/redhat-cryostat/2.0.2/src/templates/_oauth2Proxy.tpl @@ -0,0 +1,54 @@ +{{/* +Create OAuth2 Proxy container. Configurations defined in alpha_config.yaml +*/}} +{{- define "cryostat.oauth2Proxy" -}} +- name: {{ printf "%s-%s" .Chart.Name "authproxy" }} + securityContext: + {{- toYaml (.Values.oauth2Proxy).securityContext | nindent 4 }} + image: "{{ (.Values.oauth2Proxy).image.repository }}:{{ (.Values.oauth2Proxy).image.tag }}" + args: + - "--alpha-config=/etc/oauth2_proxy/alpha_config/alpha_config.yaml" + imagePullPolicy: {{ (.Values.oauth2Proxy).image.pullPolicy }} + env: + - name: OAUTH2_PROXY_REDIRECT_URL + value: "http://localhost:4180/oauth2/callback" + - name: OAUTH2_PROXY_COOKIE_SECRET + valueFrom: + secretKeyRef: + name: {{ default (printf "%s-cookie-secret" .Release.Name) .Values.authentication.cookieSecretName }} + key: COOKIE_SECRET + optional: false + - name: OAUTH2_PROXY_EMAIL_DOMAINS + value: "*" + {{- if .Values.authentication.basicAuth.enabled }} + - name: OAUTH2_PROXY_HTPASSWD_USER_GROUP + value: write + - name: OAUTH2_PROXY_HTPASSWD_FILE + value: /etc/oauth2_proxy/basicauth/{{ .Values.authentication.basicAuth.filename }} + {{- end }} + {{- if not .Values.authentication.basicAuth.enabled }} + - name: OAUTH2_PROXY_SKIP_AUTH_ROUTES + value: ".*" + {{- else }} + - name: OAUTH2_PROXY_SKIP_AUTH_ROUTES + value: "^/health(/liveness)?$" + {{- end }} + ports: + - containerPort: 4180 + name: http + protocol: TCP + resources: + {{- toYaml .Values.oauth2Proxy.resources | nindent 4 }} + volumeMounts: + - name: alpha-config + mountPath: /etc/oauth2_proxy/alpha_config + {{- if .Values.authentication.basicAuth.enabled }} + - name: {{ .Release.Name }}-htpasswd + mountPath: /etc/oauth2_proxy/basicauth + readOnly: true + {{- end }} + {{- if .Values.oauth2Proxy.tls.selfSigned.enabled }} + - name: {{ .Release.Name }}-oauth2proxy-tls + mountPath: /etc/tls/private + {{- end }} +{{- end}} diff --git a/charts/redhat/redhat/redhat-cryostat/2.0.2/src/templates/_openshiftOauthProxy.tpl b/charts/redhat/redhat/redhat-cryostat/2.0.2/src/templates/_openshiftOauthProxy.tpl new file mode 100644 index 000000000..a4d703dc6 --- /dev/null +++ b/charts/redhat/redhat/redhat-cryostat/2.0.2/src/templates/_openshiftOauthProxy.tpl @@ -0,0 +1,59 @@ +{{/* +Create OpenShift OAuth Proxy container. +*/}} +{{- define "cryostat.openshiftOauthProxy" -}} +- name: {{ printf "%s-%s" .Chart.Name "authproxy" }} + securityContext: + {{- toYaml .Values.openshiftOauthProxy.securityContext | nindent 4 }} + image: "{{ .Values.openshiftOauthProxy.image.repository }}:{{ .Values.openshiftOauthProxy.image.tag }}" + env: + - name: COOKIE_SECRET + valueFrom: + secretKeyRef: + name: {{ default (printf "%s-cookie-secret" .Release.Name) .Values.authentication.cookieSecretName }} + key: COOKIE_SECRET + optional: false + args: + - --skip-provider-button={{ not .Values.authentication.basicAuth.enabled }} + - --pass-access-token=false + - --pass-user-bearer-token=false + - --pass-basic-auth=false + - --upstream=http://localhost:8181/ + - --upstream=http://localhost:3000/grafana/ + - --cookie-secret=$(COOKIE_SECRET) + - --openshift-service-account={{ include "cryostat.serviceAccountName" . }} + - --proxy-websockets=true + - --http-address=0.0.0.0:4180 + - --https-address=:8443 + - --tls-cert=/etc/tls/private/tls.crt + - --tls-key=/etc/tls/private/tls.key + - --proxy-prefix=/oauth2 + {{- if .Values.openshiftOauthProxy.accessReview.enabled }} + - --openshift-sar=[{{ tpl ( omit .Values.openshiftOauthProxy.accessReview "enabled" | toJson ) . }}] + - --openshift-delegate-urls={"/":{{ tpl ( omit .Values.openshiftOauthProxy.accessReview "enabled" | toJson ) . }}} + {{- end }} + - --bypass-auth-for=^/health(/liveness)?$ + {{- if .Values.authentication.basicAuth.enabled }} + - --htpasswd-file=/etc/openshift_oauth_proxy/basicauth/{{ .Values.authentication.basicAuth.filename }} + {{- end }} + imagePullPolicy: {{ .Values.openshiftOauthProxy.image.pullPolicy }} + ports: + - containerPort: 4180 + name: http + protocol: TCP + - containerPort: 8443 + name: https + protocol: TCP + resources: + {{- toYaml .Values.openshiftOauthProxy.resources | nindent 4 }} + volumeMounts: + {{- if .Values.authentication.basicAuth.enabled }} + - name: {{ .Release.Name }}-htpasswd + mountPath: /etc/openshift_oauth_proxy/basicauth + readOnly: true + {{- end }} + - name: {{ .Release.Name }}-proxy-tls + mountPath: /etc/tls/private + terminationMessagePath: /dev/termination-log + terminationMessagePolicy: File +{{- end}} diff --git a/charts/redhat/redhat/redhat-cryostat/2.0.2/src/templates/_reports_authproxy.tpl b/charts/redhat/redhat/redhat-cryostat/2.0.2/src/templates/_reports_authproxy.tpl new file mode 100644 index 000000000..90292e705 --- /dev/null +++ b/charts/redhat/redhat/redhat-cryostat/2.0.2/src/templates/_reports_authproxy.tpl @@ -0,0 +1,148 @@ +{{- define "cryostat.reportsAuthProxy" -}} +{{- if (.Values.authentication.openshift).enabled }} +- name: {{ printf "%s-reports-%s" .Chart.Name "authproxy" }} + securityContext: + {{- toYaml .Values.openshiftOauthProxy.securityContext | nindent 4 }} + image: "{{ .Values.openshiftOauthProxy.image.repository }}:{{ .Values.openshiftOauthProxy.image.tag }}" + env: + - name: COOKIE_SECRET + valueFrom: + secretKeyRef: + name: {{ default (printf "%s-cookie-secret" .Release.Name) .Values.authentication.cookieSecretName }} + key: COOKIE_SECRET + optional: false + args: + - --pass-access-token=false + - --pass-user-bearer-token=false + - --pass-basic-auth=false + - --htpasswd-file=/etc/oauth2_proxy/basicauth/htpasswd + - --upstream=http://localhost:10001/ + - --cookie-secret=$(COOKIE_SECRET) + - --request-logging=true + - --openshift-service-account={{ include "cryostat.serviceAccountName" . }} + - --proxy-websockets=true + - --http-address=0.0.0.0:4180 + - --https-address=:8443 + - --tls-cert=/etc/tls/private/tls.crt + - --tls-key=/etc/tls/private/tls.key + - --proxy-prefix=/oauth2 + - --bypass-auth-for=^/health$ + imagePullPolicy: {{ .Values.openshiftOauthProxy.image.pullPolicy }} + ports: + - containerPort: 4180 + name: http + protocol: TCP + - containerPort: 8443 + name: https + protocol: TCP + resources: + {{- toYaml .Values.openshiftOauthProxy.resources | nindent 4 }} + volumeMounts: + - name: {{ .Release.Name }}-proxy-tls + mountPath: /etc/tls/private + - name: {{ .Release.Name }}-reports-secret + mountPath: /etc/oauth2_proxy/basicauth + readOnly: true + terminationMessagePath: /dev/termination-log + terminationMessagePolicy: File +{{- else if .Values.oauth2Proxy.tls.selfSigned.enabled }} +- name: {{ printf "%s-reports-%s" .Chart.Name "authproxy" }} + securityContext: + {{- toYaml (.Values.oauth2Proxy).securityContext | nindent 4 }} + image: "{{ (.Values.oauth2Proxy).image.repository }}:{{ (.Values.oauth2Proxy).image.tag }}" + imagePullPolicy: {{ (.Values.oauth2Proxy).image.pullPolicy }} + env: + - name: OAUTH2_PROXY_CLIENT_ID + value: dummy + - name: OAUTH2_PROXY_CLIENT_SECRET + value: none + - name: OAUTH2_PROXY_HTTP_ADDRESS + value: 0.0.0.0:4180 + - name: OAUTH2_PROXY_HTTPS_ADDRESS + value: :8443 + - name: OAUTH2_PROXY_TLS_CERT_FILE + value: /etc/tls/private/cert + - name: OAUTH2_PROXY_TLS_KEY_FILE + value: /etc/tls/private/key + - name: OAUTH2_PROXY_UPSTREAMS + value: http://localhost:10001/ + - name: OAUTH2_PROXY_REDIRECT_URL + value: "http://localhost:4180/oauth2/callback" + - name: OAUTH2_PROXY_COOKIE_SECRET + valueFrom: + secretKeyRef: + name: {{ default (printf "%s-cookie-secret" .Release.Name) .Values.authentication.cookieSecretName }} + key: COOKIE_SECRET + optional: false + - name: OAUTH2_PROXY_EMAIL_DOMAINS + value: "*" + - name: OAUTH2_PROXY_HTPASSWD_USER_GROUP + value: write + - name: OAUTH2_PROXY_HTPASSWD_FILE + value: /etc/oauth2_proxy/basicauth/htpasswd + - name: OAUTH2_PROXY_SKIP_AUTH_ROUTES + value: "^/health$" + - name: OAUTH2_PROXY_PROXY_WEBSOCKETS + value: "false" + ports: + - containerPort: 4180 + name: http + protocol: TCP + - containerPort: 8443 + name: https + protocol: TCP + resources: + {{- toYaml .Values.oauth2Proxy.resources | nindent 4 }} + volumeMounts: + - name: {{ .Release.Name }}-reports-secret + mountPath: /etc/oauth2_proxy/basicauth + readOnly: true + {{- if .Values.oauth2Proxy.tls.selfSigned.enabled }} + - name: {{ .Release.Name }}-oauth2proxy-reports-tls + mountPath: /etc/tls/private + {{- end }} +{{- else }} +- name: {{ printf "%s-reports-%s" .Chart.Name "authproxy" }} + securityContext: + {{- toYaml (.Values.oauth2Proxy).securityContext | nindent 4 }} + image: "{{ (.Values.oauth2Proxy).image.repository }}:{{ (.Values.oauth2Proxy).image.tag }}" + imagePullPolicy: {{ (.Values.oauth2Proxy).image.pullPolicy }} + env: + - name: OAUTH2_PROXY_CLIENT_ID + value: dummy + - name: OAUTH2_PROXY_CLIENT_SECRET + value: none + - name: OAUTH2_PROXY_HTTP_ADDRESS + value: 0.0.0.0:4180 + - name: OAUTH2_PROXY_UPSTREAMS + value: http://localhost:10001/ + - name: OAUTH2_PROXY_REDIRECT_URL + value: "http://localhost:4180/oauth2/callback" + - name: OAUTH2_PROXY_COOKIE_SECRET + valueFrom: + secretKeyRef: + name: {{ default (printf "%s-cookie-secret" .Release.Name) .Values.authentication.cookieSecretName }} + key: COOKIE_SECRET + optional: false + - name: OAUTH2_PROXY_EMAIL_DOMAINS + value: "*" + - name: OAUTH2_PROXY_HTPASSWD_USER_GROUP + value: write + - name: OAUTH2_PROXY_HTPASSWD_FILE + value: /etc/oauth2_proxy/basicauth/htpasswd + - name: OAUTH2_PROXY_SKIP_AUTH_ROUTES + value: "^/health$" + - name: OAUTH2_PROXY_PROXY_WEBSOCKETS + value: "false" + ports: + - containerPort: 4180 + name: http + protocol: TCP + resources: + {{- toYaml .Values.oauth2Proxy.resources | nindent 4 }} + volumeMounts: + - name: {{ .Release.Name }}-reports-secret + mountPath: /etc/oauth2_proxy/basicauth + readOnly: true +{{- end }} +{{- end}} diff --git a/charts/redhat/redhat/redhat-cryostat/2.0.2/src/templates/alpha_config.yaml b/charts/redhat/redhat/redhat-cryostat/2.0.2/src/templates/alpha_config.yaml new file mode 100644 index 000000000..63094fe45 --- /dev/null +++ b/charts/redhat/redhat/redhat-cryostat/2.0.2/src/templates/alpha_config.yaml @@ -0,0 +1,38 @@ +{{/* + Alpha Configuration is not used with OpenShift OAuth Proxy +*/}} +{{- if not (.Values.authentication.openshift).enabled -}} +apiVersion: v1 +kind: ConfigMap +metadata: + name: {{ .Release.Name }}-alpha-config + labels: + {{- include "cryostat.labels" . | nindent 4 }} +data: + alpha_config.yaml: |- + server: + BindAddress: http://0.0.0.0:4180 + {{- if .Values.oauth2Proxy.tls.selfSigned.enabled }} + SecureBindAddress: https://0.0.0.0:8443 + TLS: + Key: + fromFile: /etc/tls/private/key + Cert: + fromFile: /etc/tls/private/cert + {{- end}} + upstreamConfig: + proxyRawPath: true + upstreams: + - id: cryostat + path: / + uri: http://localhost:8181 + - id: grafana + path: /grafana/ + uri: http://localhost:3000 + providers: + - id: dummy + name: Unused - Sign In Below + clientId: CLIENT_ID + clientSecret: CLIENT_SECRET + provider: google +{{- end }} diff --git a/charts/redhat/redhat/redhat-cryostat/2.0.2/src/templates/clusterrolebinding.yaml b/charts/redhat/redhat/redhat-cryostat/2.0.2/src/templates/clusterrolebinding.yaml new file mode 100644 index 000000000..4721c7c3b --- /dev/null +++ b/charts/redhat/redhat/redhat-cryostat/2.0.2/src/templates/clusterrolebinding.yaml @@ -0,0 +1,16 @@ +{{- if and (.Values.rbac.create) (.Values.authentication.openshift.enabled) -}} +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + name: {{ include "cryostat.fullname" . }} + labels: + {{- include "cryostat.labels" . | nindent 4 }} +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: {{ .Values.authentication.openshift.clusterRole.name }} +subjects: +- kind: ServiceAccount + name: {{ include "cryostat.serviceAccountName" . }} + namespace: {{ .Release.Namespace }} +{{- end }} diff --git a/charts/redhat/redhat/redhat-cryostat/2.0.2/src/templates/cookie_secret.yaml b/charts/redhat/redhat/redhat-cryostat/2.0.2/src/templates/cookie_secret.yaml new file mode 100644 index 000000000..76b44fc0e --- /dev/null +++ b/charts/redhat/redhat/redhat-cryostat/2.0.2/src/templates/cookie_secret.yaml @@ -0,0 +1,11 @@ +{{- if empty .Values.authentication.cookieSecretName -}} +apiVersion: v1 +kind: Secret +metadata: + name: {{ .Release.Name }}-cookie-secret + labels: + {{- include "cryostat.labels" $ | nindent 4 }} +type: Opaque +data: + COOKIE_SECRET: {{ include "cryostat.cookieSecret" . }} +{{- end -}} diff --git a/charts/redhat/redhat/redhat-cryostat/2.0.2/src/templates/cryostat_deployment.yaml b/charts/redhat/redhat/redhat-cryostat/2.0.2/src/templates/cryostat_deployment.yaml new file mode 100644 index 000000000..2e222b9f1 --- /dev/null +++ b/charts/redhat/redhat/redhat-cryostat/2.0.2/src/templates/cryostat_deployment.yaml @@ -0,0 +1,250 @@ +{{- $fullName := include "cryostat.fullname" . -}} +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: {{ include "cryostat.deploymentName" . }} + labels: + {{- include "cryostat.labels" . | nindent 4 }} + app.kubernetes.io/component: cryostat +spec: + replicas: 1 + strategy: + type: Recreate + selector: + matchLabels: + {{- include "cryostat.selectorLabels" . | nindent 6 }} + app.kubernetes.io/component: cryostat + template: + metadata: + annotations: + {{- with .Values.podAnnotations }} + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.core.podAnnotations }} + {{- toYaml . | nindent 8 }} + {{- end }} + labels: + {{- include "cryostat.selectorLabels" . | nindent 8 }} + app.kubernetes.io/component: cryostat + spec: + {{- with .Values.imagePullSecrets }} + imagePullSecrets: + {{- toYaml . | nindent 8 }} + {{- end }} + serviceAccountName: {{ include "cryostat.serviceAccountName" . }} + securityContext: + {{- toYaml .Values.podSecurityContext | nindent 8 }} + containers: + {{- if (.Values.authentication.openshift).enabled }} + {{- include "cryostat.openshiftOauthProxy" . | nindent 8 }} + {{- else }} + {{- include "cryostat.oauth2Proxy" . | nindent 8 }} + {{- end }} + - name: {{ .Chart.Name }} + securityContext: + {{- toYaml .Values.core.securityContext | nindent 12 }} + image: "{{ .Values.core.image.repository }}:{{ .Values.core.image.tag }}" + imagePullPolicy: {{ .Values.core.image.pullPolicy }} + env: + - name: QUARKUS_HTTP_HOST + value: localhost + - name: QUARKUS_LOG_LEVEL + value: {{ .Values.core.debug.log.level }} + - name: QUARKUS_HTTP_PORT + value: "8181" + - name: QUARKUS_HTTP_PROXY_PROXY_ADDRESS_FORWARDING + value: 'true' + - name: QUARKUS_HTTP_PROXY_ALLOW_X_FORWARDED + value: 'true' + - name: QUARKUS_HTTP_PROXY_ENABLE_FORWARDED_HOST + value: 'true' + - name: QUARKUS_HTTP_PROXY_ENABLE_FORWARDED_PREFIX + value: 'true' + - name: QUARKUS_HIBERNATE_ORM_DATABASE_GENERATION + value: none + - name: QUARKUS_HIBERNATE_ORM_SQL_LOAD_SCRIPT + value: no-file + {{- if gt (int (.Values.reports).replicas) 0 }} + - name: REPORTS_PASS_SECRET_KEY + valueFrom: + secretKeyRef: + name: {{ default (printf "%s-reports-secret" .Release.Name) .Values.reports.reportsSecretName }} + key: REPORTS_PASS + optional: false + # TODO TLS trust + - name: QUARKUS_TLS_TRUST_ALL + value: "true" + - name: QUARKUS_REST_CLIENT_EXTENSIONS_API_VERIFY_HOST + value: "false" + - name: QUARKUS_REST_CLIENT_REPORTS_URL + value: {{ printf "%s://cryostat:$(REPORTS_PASS_SECRET_KEY)@%s-reports.%s.svc:%d" (include "cryostat.core.service.scheme" .) $fullName $.Release.Namespace (int .Values.reports.service.httpPort) }} + {{- end }} + - name: QUARKUS_DATASOURCE_USERNAME + value: cryostat + - name: QUARKUS_DATASOURCE_PASSWORD + valueFrom: + secretKeyRef: + name: {{ default (printf "%s-db" .Release.Name) .Values.core.databaseSecretName }} + key: CONNECTION_KEY + optional: false + - name: QUARKUS_DATASOURCE_JDBC_URL + value: jdbc:postgresql://{{ $fullName }}-db:5432/cryostat + - name: STORAGE_BUCKETS_ARCHIVES_NAME + value: archivedrecordings + - name: QUARKUS_S3_ENDPOINT_OVERRIDE + value: http://{{ $fullName }}-storage:8333 + - name: QUARKUS_S3_PATH_STYLE_ACCESS + value: "true" + - name: QUARKUS_S3_AWS_REGION + value: us-east-1 + - name: QUARKUS_S3_AWS_CREDENTIALS_TYPE + value: static + - name: QUARKUS_S3_AWS_CREDENTIALS_STATIC_PROVIDER_ACCESS_KEY_ID + value: cryostat + - name: AWS_ACCESS_KEY_ID + value: $(QUARKUS_S3_AWS_CREDENTIALS_STATIC_PROVIDER_ACCESS_KEY_ID) + - name: QUARKUS_S3_AWS_CREDENTIALS_STATIC_PROVIDER_SECRET_ACCESS_KEY + valueFrom: + secretKeyRef: + name: {{ default (printf "%s-storage-secret" .Release.Name) .Values.storage.storageSecretName }} + key: STORAGE_ACCESS_KEY + optional: false + - name: AWS_SECRET_ACCESS_KEY + value: $(QUARKUS_S3_AWS_CREDENTIALS_STATIC_PROVIDER_SECRET_ACCESS_KEY) + - name: GRAFANA_DATASOURCE_URL + value: http://localhost:8800 + - name: GRAFANA_DASHBOARD_URL + value: http://localhost:3000 + - name: GRAFANA_DASHBOARD_EXT_URL + value: /grafana/ + {{- if .Values.core.discovery.kubernetes.enabled }} + - name: CRYOSTAT_DISCOVERY_KUBERNETES_ENABLED + value: "true" + {{- with .Values.core.discovery.kubernetes }} + - name: CRYOSTAT_DISCOVERY_KUBERNETES_NAMESPACES + value: {{ include "cryostat.commaSepList" (list .namespaces $.Release.Namespace .installNamespaceDisabled) }} + - name: CRYOSTAT_DISCOVERY_KUBERNETES_PORT_NAMES + value: {{ include "cryostat.commaSepList" (list .portNames "jfr-jmx" .builtInPortNamesDisabled) }} + - name: CRYOSTAT_DISCOVERY_KUBERNETES_PORT_NUMBERS + value: {{ include "cryostat.commaSepList" (list .portNumbers 9091 .builtInPortNumbersDisabled) }} + {{- end }} + {{- end }} + ports: + - containerPort: 8181 + protocol: TCP + livenessProbe: + exec: + command: + - curl + - --fail + - http://localhost:8181/health/liveness + startupProbe: + exec: + command: + - curl + - --fail + - http://localhost:8181/health/liveness + failureThreshold: 18 + resources: + {{- toYaml .Values.core.resources | nindent 12 }} + volumeMounts: + {{- range .Values.core.config.eventTemplates.configMapNames }} + - name: {{ . }} + mountPath: /opt/cryostat.d/templates.d/{{ . }} + readOnly: true + {{- end }} + {{- range .Values.core.config.tlsTruststore.secretNames }} + - name: {{ . }} + mountPath: /truststore/{{ . }} + readOnly: true + {{- end }} + - name: {{ printf "%s-%s" .Chart.Name "grafana" }} + securityContext: + {{- toYaml .Values.grafana.securityContext | nindent 12 }} + image: "{{ .Values.grafana.image.repository }}:{{ .Values.grafana.image.tag }}" + imagePullPolicy: {{ .Values.grafana.image.pullPolicy }} + env: + - name: GF_AUTH_ANONYMOUS_ENABLED + value: "true" + - name: GF_SERVER_DOMAIN + value: localhost + - name: GF_SERVER_ROOT_URL + value: http://localhost:4180/grafana/ + - name: GF_SERVER_SERVE_FROM_SUB_PATH + value: "true" + - name: JFR_DATASOURCE_URL + value: http://localhost:8800 + ports: + - containerPort: 3000 + protocol: TCP + livenessProbe: + httpGet: + path: /api/health + port: 3000 + resources: + {{- toYaml .Values.grafana.resources | nindent 12 }} + - name: {{ printf "%s-%s" .Chart.Name "jfr-datasource" }} + securityContext: + {{- toYaml .Values.datasource.securityContext | nindent 12 }} + image: "{{ .Values.datasource.image.repository }}:{{ .Values.datasource.image.tag }}" + imagePullPolicy: {{ .Values.datasource.image.pullPolicy }} + env: + - name: LISTEN_HOST + value: localhost + - name: QUARKUS_HTTP_PORT + value: "8800" + ports: + - containerPort: 8800 + protocol: TCP + livenessProbe: + exec: + command: + - curl + - --fail + - http://localhost:8800 + resources: + {{- toYaml .Values.datasource.resources | nindent 12 }} + {{- with (default .Values.nodeSelector .Values.core.nodeSelector) }} + nodeSelector: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with (default .Values.affinity .Values.core.affinity) }} + affinity: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with (default .Values.tolerations .Values.core.tolerations) }} + tolerations: + {{- toYaml . | nindent 8 }} + {{- end }} + volumes: + {{- if not (.Values.authentication.openshift).enabled }} + - name: alpha-config + configMap: + name: {{ .Release.Name }}-alpha-config + {{- end }} + {{- if .Values.authentication.basicAuth.enabled }} + - name: {{ .Release.Name }}-htpasswd + secret: + defaultMode: 0440 + secretName: {{ .Values.authentication.basicAuth.secretName }} + {{- end }} + {{- if (.Values.authentication.openshift).enabled }} + - name: {{ .Release.Name }}-proxy-tls + secret: + secretName: {{ .Release.Name }}-proxy-tls + {{- else if .Values.oauth2Proxy.tls.selfSigned.enabled }} + - name: {{ .Release.Name }}-oauth2proxy-tls + secret: + secretName: {{ .Release.Name }}-oauth2proxy-tls + {{- end }} + {{- range .Values.core.config.eventTemplates.configMapNames}} + - name: {{ . }} + configMap: + name: {{ . }} + {{- end }} + {{- range .Values.core.config.tlsTruststore.secretNames }} + - name: {{ . }} + secret: + secretName: {{ . }} + {{- end }} diff --git a/charts/redhat/redhat/redhat-cryostat/2.0.2/src/templates/cryostat_service.yaml b/charts/redhat/redhat/redhat-cryostat/2.0.2/src/templates/cryostat_service.yaml new file mode 100644 index 000000000..36261e437 --- /dev/null +++ b/charts/redhat/redhat/redhat-cryostat/2.0.2/src/templates/cryostat_service.yaml @@ -0,0 +1,31 @@ +{{- $fullName := include "cryostat.fullname" . -}} +--- +apiVersion: v1 +kind: Service +metadata: + name: {{ $fullName }} + labels: + {{- include "cryostat.labels" $ | nindent 4 }} + app.kubernetes.io/component: cryostat + {{- if (.Values.authentication.openshift).enabled }} + annotations: + service.alpha.openshift.io/serving-cert-secret-name: {{ .Release.Name }}-proxy-tls + {{- end }} +spec: + type: {{ .Values.core.service.type }} + ports: + - port: {{ .Values.core.service.httpPort }} + targetPort: 4180 + protocol: TCP + name: http + appProtocol: http + {{- if ( include "cryostat.core.service.tls" . | eq "true" ) }} + - port: 443 + targetPort: 8443 + protocol: TCP + name: https + appProtocol: https + {{- end }} + selector: + {{- include "cryostat.selectorLabels" $ | nindent 4 }} + app.kubernetes.io/component: cryostat diff --git a/charts/redhat/redhat/redhat-cryostat/2.0.2/src/templates/cryostat_tls_secret.yaml b/charts/redhat/redhat/redhat-cryostat/2.0.2/src/templates/cryostat_tls_secret.yaml new file mode 100644 index 000000000..0d057454a --- /dev/null +++ b/charts/redhat/redhat/redhat-cryostat/2.0.2/src/templates/cryostat_tls_secret.yaml @@ -0,0 +1,15 @@ +{{- if ( include "cryostat.core.service.tls" . | eq "true" ) }} +{{- $fullName := include "cryostat.fullname" . }} +{{- $cert := genSelfSignedCert $fullName nil nil 365 }} +apiVersion: v1 +kind: Secret +metadata: + name: {{ .Release.Name }}-oauth2proxy-tls + labels: + {{- include "cryostat.labels" $ | nindent 4 }} +type: Opaque +immutable: true +data: + cert: {{ $cert.Cert | b64enc }} + key: {{ $cert.Key | b64enc }} +{{- end -}} diff --git a/charts/redhat/redhat/redhat-cryostat/2.0.2/src/templates/db_deployment.yaml b/charts/redhat/redhat/redhat-cryostat/2.0.2/src/templates/db_deployment.yaml new file mode 100644 index 000000000..837195977 --- /dev/null +++ b/charts/redhat/redhat/redhat-cryostat/2.0.2/src/templates/db_deployment.yaml @@ -0,0 +1,98 @@ +{{- $fullName := include "cryostat.fullname" . -}} +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: {{ include "cryostat.deploymentName" . }}-db + labels: + {{- include "cryostat.labels" . | nindent 4 }} + app.kubernetes.io/component: db +spec: + replicas: 1 + strategy: + type: Recreate + selector: + matchLabels: + {{- include "cryostat.selectorLabels" . | nindent 6 }} + app.kubernetes.io/component: db + template: + metadata: + annotations: + {{- with .Values.podAnnotations }} + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.db.podAnnotations }} + {{- toYaml . | nindent 8 }} + {{- end }} + labels: + {{- include "cryostat.selectorLabels" . | nindent 8 }} + app.kubernetes.io/component: db + spec: + {{- with .Values.imagePullSecrets }} + imagePullSecrets: + {{- toYaml . | nindent 8 }} + {{- end }} + securityContext: + {{- toYaml .Values.podSecurityContext | nindent 8 }} + containers: + - name: {{ printf "%s-%s" .Chart.Name "db" }} + securityContext: + {{- toYaml (.Values.db).securityContext | nindent 12 }} + image: "{{ (.Values.db).image.repository }}:{{ (.Values.db).image.tag }}" + imagePullPolicy: {{ (.Values.db).image.pullPolicy }} + env: + - name: POSTGRESQL_USER + value: cryostat + - name: POSTGRESQL_PASSWORD + valueFrom: + secretKeyRef: + name: {{ default (printf "%s-db" .Release.Name) .Values.core.databaseSecretName }} + key: CONNECTION_KEY + optional: false + - name: POSTGRESQL_DATABASE + value: cryostat + - name: PG_ENCRYPT_KEY + valueFrom: + secretKeyRef: + name: {{ default (printf "%s-db" .Release.Name) .Values.core.databaseSecretName }} + key: ENCRYPTION_KEY + optional: false + ports: + - containerPort: 5432 + protocol: TCP + volumeMounts: + - mountPath: /var/lib/pgsql/data + name: {{ .Chart.Name }}-db + subPath: postgres + readinessProbe: + exec: + command: + - pg_isready + - -U + - cryostat + - -d + - cryostat + resources: + {{- toYaml (.Values.db).resources | nindent 12 }} + {{- with (default .Values.nodeSelector .Values.db.nodeSelector) }} + nodeSelector: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with (default .Values.affinity .Values.db.affinity) }} + affinity: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with (default .Values.tolerations .Values.db.tolerations) }} + tolerations: + {{- toYaml . | nindent 8 }} + {{- end }} + volumes: + {{- if ((.Values.db.pvc).enabled) }} + - name: {{ .Chart.Name }}-db + persistentVolumeClaim: + claimName: {{ .Release.Name }}-db + {{- end }} + {{- if not ((.Values.db.pvc).enabled) }} + - name: {{ .Chart.Name }}-db + emptyDir: {} + {{- end }} diff --git a/charts/redhat/redhat/redhat-cryostat/2.0.2/src/templates/db_pvc.yaml b/charts/redhat/redhat/redhat-cryostat/2.0.2/src/templates/db_pvc.yaml new file mode 100644 index 000000000..78c2abc34 --- /dev/null +++ b/charts/redhat/redhat/redhat-cryostat/2.0.2/src/templates/db_pvc.yaml @@ -0,0 +1,27 @@ +{{- if ((.Values.db.pvc).enabled) }} +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: {{ include "cryostat.fullname" . }}-db + {{- $labels := include "cryostat.labels" $ | nindent 4 }} + labels: {{ $labels }} + {{- with .Values.db.pvc.annotations }} + annotations: + {{- toYaml . | nindent 4 }} + {{- end }} +spec: + {{- with .Values.db.pvc.accessModes }} + accessModes: + {{- toYaml . | nindent 4 }} + {{- end }} + resources: + requests: + storage: {{ .Values.db.pvc.storage }} + {{- if kindIs "string" .Values.db.pvc.storageClassName }} + storageClassName: {{ .Values.db.pvc.storageClassName | quote }} + {{- end }} + {{- with .Values.db.pvc.selector }} + selector: + {{- toYaml . | nindent 4 }} + {{- end }} +{{- end }} diff --git a/charts/redhat/redhat/redhat-cryostat/2.0.2/src/templates/db_secret.yaml b/charts/redhat/redhat/redhat-cryostat/2.0.2/src/templates/db_secret.yaml new file mode 100644 index 000000000..798638375 --- /dev/null +++ b/charts/redhat/redhat/redhat-cryostat/2.0.2/src/templates/db_secret.yaml @@ -0,0 +1,13 @@ +{{- if empty .Values.core.databaseSecretName -}} +apiVersion: v1 +kind: Secret +metadata: + name: {{ .Release.Name }}-db + labels: + {{- include "cryostat.labels" $ | nindent 4 }} +type: Opaque +immutable: true +data: + ENCRYPTION_KEY: {{ include "cryostat.databaseEncryptionKey" . }} + CONNECTION_KEY: {{ include "cryostat.databaseConnectionKey" . }} +{{- end -}} diff --git a/charts/redhat/redhat/redhat-cryostat/2.0.2/src/templates/db_service.yaml b/charts/redhat/redhat/redhat-cryostat/2.0.2/src/templates/db_service.yaml new file mode 100644 index 000000000..402e189fb --- /dev/null +++ b/charts/redhat/redhat/redhat-cryostat/2.0.2/src/templates/db_service.yaml @@ -0,0 +1,16 @@ +{{- $fullName := include "cryostat.fullname" . -}} +--- +apiVersion: v1 +kind: Service +metadata: + name: {{ $fullName }}-db + labels: + {{- include "cryostat.labels" $ | nindent 4 }} + app.kubernetes.io/component: db +spec: + type: {{ .Values.db.service.type }} + ports: + - port: {{ .Values.db.service.port }} + selector: + {{- include "cryostat.selectorLabels" $ | nindent 4 }} + app.kubernetes.io/component: db diff --git a/charts/redhat/redhat/redhat-cryostat/2.0.2/src/templates/ingress.yaml b/charts/redhat/redhat/redhat-cryostat/2.0.2/src/templates/ingress.yaml new file mode 100644 index 000000000..4a051f66c --- /dev/null +++ b/charts/redhat/redhat/redhat-cryostat/2.0.2/src/templates/ingress.yaml @@ -0,0 +1,70 @@ +{{- define "cryostat.createIngress" }} +{{- $svcName := index . 0 }} +{{- $svcPort := index . 1 }} +{{- $ := index . 2 }} +{{- with index . 3 }} +{{- if and .ingress.className (not (semverCompare ">=1.18-0" $.Capabilities.KubeVersion.GitVersion)) }} + {{- if not (hasKey .ingress.annotations "kubernetes.io/ingress.class") }} + {{- $_ := set .ingress.annotations "kubernetes.io/ingress.class" .ingress.className}} + {{- end }} +{{- end }} +--- +{{- if semverCompare ">=1.19-0" $.Capabilities.KubeVersion.GitVersion -}} +apiVersion: networking.k8s.io/v1 +{{- else if semverCompare ">=1.14-0" $.Capabilities.KubeVersion.GitVersion -}} +apiVersion: networking.k8s.io/v1beta1 +{{- else -}} +apiVersion: extensions/v1beta1 +{{- end }} +kind: Ingress +metadata: + name: {{ $svcName }} + {{- $labels := include "cryostat.labels" $ | nindent 4 }} + labels: {{ $labels }} + {{- with .ingress.annotations }} + annotations: + {{- toYaml . | nindent 4 }} + {{- end }} +spec: + {{- if and .ingress.className (semverCompare ">=1.18-0" $.Capabilities.KubeVersion.GitVersion) }} + ingressClassName: {{ .ingress.className }} + {{- end }} + {{- if .ingress.tls }} + tls: + {{- range .ingress.tls }} + - hosts: + {{- range .hosts }} + - {{ . | quote }} + {{- end }} + secretName: {{ .secretName }} + {{- end }} + {{- end }} + rules: + {{- range .ingress.hosts }} + - host: {{ .host | quote }} + http: + paths: + {{- range .paths }} + - path: {{ .path }} + {{- if and .pathType (semverCompare ">=1.18-0" $.Capabilities.KubeVersion.GitVersion) }} + pathType: {{ .pathType }} + {{- end }} + backend: + {{- if semverCompare ">=1.19-0" $.Capabilities.KubeVersion.GitVersion }} + service: + name: {{ $svcName }} + port: + number: {{ $svcPort }} + {{- else }} + serviceName: {{ $svcName }} + servicePort: {{ $svcPort }} + {{- end }} + {{- end }} + {{- end }} +{{- end }} +{{- end }} + +{{- $fullName := include "cryostat.fullname" . -}} +{{- if .Values.core.ingress.enabled }} +{{- include "cryostat.createIngress" (list $fullName .Values.core.service.httpPort $ .Values.core)}} +{{- end }} diff --git a/charts/redhat/redhat/redhat-cryostat/2.0.2/src/templates/networkpolicy_ingress.yaml b/charts/redhat/redhat/redhat-cryostat/2.0.2/src/templates/networkpolicy_ingress.yaml new file mode 100644 index 000000000..b827a8e21 --- /dev/null +++ b/charts/redhat/redhat/redhat-cryostat/2.0.2/src/templates/networkpolicy_ingress.yaml @@ -0,0 +1,87 @@ +{{- if ((.Values.networkPolicy.ingress).enabled) }} +apiVersion: networking.k8s.io/v1 +kind: NetworkPolicy +metadata: + name: {{ .Release.Name }}-cryostat-internal-ingress +spec: + podSelector: + matchLabels: + {{- include "cryostat.selectorLabels" $ | nindent 6 }} + app.kubernetes.io/component: cryostat + ingress: + - from: + - namespaceSelector: {} + ports: + - protocol: TCP + port: 4180 + - protocol: TCP + port: 8443 +--- +apiVersion: networking.k8s.io/v1 +kind: NetworkPolicy +metadata: + name: {{ .Release.Name }}-reports-internal-ingress +spec: + podSelector: + matchLabels: + {{- include "cryostat.selectorLabels" $ | nindent 6 }} + app.kubernetes.io/component: reports + ingress: + - from: + - podSelector: + matchLabels: + {{- include "cryostat.selectorLabels" $ | nindent 12 }} + app.kubernetes.io/component: cryostat + namespaceSelector: + matchLabels: + kubernetes.io/metadata.name: {{ .Release.Namespace }} + ports: + - protocol: TCP + port: 4180 + - protocol: TCP + port: 8443 +--- +apiVersion: networking.k8s.io/v1 +kind: NetworkPolicy +metadata: + name: {{ .Release.Name }}-db-internal-ingress +spec: + podSelector: + matchLabels: + {{- include "cryostat.selectorLabels" $ | nindent 6 }} + app.kubernetes.io/component: db + ingress: + - from: + - podSelector: + matchLabels: + {{- include "cryostat.selectorLabels" $ | nindent 12 }} + app.kubernetes.io/component: cryostat + namespaceSelector: + matchLabels: + kubernetes.io/metadata.name: {{ .Release.Namespace }} + ports: + - protocol: TCP + port: 5432 +--- +apiVersion: networking.k8s.io/v1 +kind: NetworkPolicy +metadata: + name: {{ .Release.Name }}-storage-internal-ingress +spec: + podSelector: + matchLabels: + {{- include "cryostat.selectorLabels" $ | nindent 6 }} + app.kubernetes.io/component: storage + ingress: + - from: + - podSelector: + matchLabels: + {{- include "cryostat.selectorLabels" $ | nindent 12 }} + app.kubernetes.io/component: cryostat + namespaceSelector: + matchLabels: + kubernetes.io/metadata.name: {{ .Release.Namespace }} + ports: + - protocol: TCP + port: 8333 +{{- end }} diff --git a/charts/redhat/redhat/redhat-cryostat/2.0.2/src/templates/reports_deployment.yaml b/charts/redhat/redhat/redhat-cryostat/2.0.2/src/templates/reports_deployment.yaml new file mode 100644 index 000000000..b3503f00b --- /dev/null +++ b/charts/redhat/redhat/redhat-cryostat/2.0.2/src/templates/reports_deployment.yaml @@ -0,0 +1,93 @@ +{{- $fullName := include "cryostat.fullname" . -}} +--- +{{- if gt (int (.Values.reports).replicas) 0 -}} +apiVersion: apps/v1 +kind: Deployment +metadata: + name: {{ include "cryostat.deploymentName" . }}-reports + labels: + {{- include "cryostat.labels" . | nindent 4 }} + app.kubernetes.io/component: reports +spec: + replicas: {{ (.Values.reports).replicas }} + strategy: + type: RollingUpdate + selector: + matchLabels: + {{- include "cryostat.selectorLabels" . | nindent 6 }} + app.kubernetes.io/component: reports + template: + metadata: + annotations: + {{- with .Values.podAnnotations }} + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.reports.podAnnotations }} + {{- toYaml . | nindent 8 }} + {{- end }} + labels: + {{- include "cryostat.selectorLabels" . | nindent 8 }} + app.kubernetes.io/component: reports + spec: + {{- with .Values.imagePullSecrets }} + imagePullSecrets: + {{- toYaml . | nindent 8 }} + {{- end }} + securityContext: + {{- toYaml .Values.podSecurityContext | nindent 8 }} + containers: + {{- include "cryostat.reportsAuthProxy" . | nindent 8 }} + - name: {{ printf "%s-%s" .Chart.Name "reports" }} + securityContext: + {{- toYaml (.Values.reports).securityContext | nindent 12 }} + image: "{{ (.Values.reports).image.repository }}:{{ (.Values.reports).image.tag }}" + imagePullPolicy: {{ (.Values.reports).image.pullPolicy }} + env: + - name: QUARKUS_HTTP_PORT + value: "{{ .Values.reports.service.httpPort }}" + - name: QUARKUS_LOG_LEVEL + value: {{ .Values.reports.debug.log.level }} + ports: + - containerPort: {{ .Values.reports.service.httpPort }} + protocol: TCP + startupProbe: + httpGet: + path: "/health" + port: {{ .Values.reports.service.httpPort }} + periodSeconds: 10 + failureThreshold: 9 + livenessProbe: + httpGet: + path: "/health" + port: {{ .Values.reports.service.httpPort }} + periodSeconds: 10 + failureThreshold: 2 + resources: + {{- toYaml (.Values.reports).resources | nindent 12 }} + {{- with (default .Values.nodeSelector .Values.reports.nodeSelector) }} + nodeSelector: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with (default .Values.affinity .Values.reports.affinity) }} + affinity: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with (default .Values.tolerations .Values.reports.tolerations) }} + tolerations: + {{- toYaml . | nindent 8 }} + {{- end }} + volumes: + - name: {{ .Release.Name }}-reports-secret + secret: + defaultMode: 0440 + secretName: {{ .Release.Name }}-reports-secret + {{- if (.Values.authentication.openshift).enabled }} + - name: {{ .Release.Name }}-proxy-tls + secret: + secretName: {{ .Release.Name }}-proxy-tls + {{- else if .Values.oauth2Proxy.tls.selfSigned.enabled }} + - name: {{ .Release.Name }}-oauth2proxy-reports-tls + secret: + secretName: {{ .Release.Name }}-oauth2proxy-reports-tls + {{- end }} +{{- end -}} diff --git a/charts/redhat/redhat/redhat-cryostat/2.0.2/src/templates/reports_secret.yaml b/charts/redhat/redhat/redhat-cryostat/2.0.2/src/templates/reports_secret.yaml new file mode 100644 index 000000000..988de13c8 --- /dev/null +++ b/charts/redhat/redhat/redhat-cryostat/2.0.2/src/templates/reports_secret.yaml @@ -0,0 +1,13 @@ +{{- if empty .Values.reports.reportsSecretName -}} +{{- $secretKey := include "cryostat.reportsPassSecretKey" . -}} +apiVersion: v1 +kind: Secret +metadata: + name: {{ .Release.Name }}-reports-secret + labels: + {{- include "cryostat.labels" $ | nindent 4 }} +type: Opaque +data: + REPORTS_PASS: {{ $secretKey | b64enc }} + htpasswd: {{ htpasswd "cryostat" $secretKey | b64enc }} +{{- end -}} diff --git a/charts/redhat/redhat/redhat-cryostat/2.0.2/src/templates/reports_service.yaml b/charts/redhat/redhat/redhat-cryostat/2.0.2/src/templates/reports_service.yaml new file mode 100644 index 000000000..a54836a63 --- /dev/null +++ b/charts/redhat/redhat/redhat-cryostat/2.0.2/src/templates/reports_service.yaml @@ -0,0 +1,18 @@ +{{- if gt (int (.Values.reports).replicas) 0 -}} +{{- $fullName := include "cryostat.fullname" . -}} +apiVersion: v1 +kind: Service +metadata: + name: {{ $fullName }}-reports + labels: + {{- include "cryostat.labels" $ | nindent 4 }} + app.kubernetes.io/component: reports +spec: + type: {{ .Values.reports.service.type }} + ports: + - port: {{ .Values.reports.service.httpPort }} + targetPort: {{ include "cryostat.core.service.scheme" . }} + selector: + {{- include "cryostat.selectorLabels" $ | nindent 4 }} + app.kubernetes.io/component: reports +{{- end -}} diff --git a/charts/redhat/redhat/redhat-cryostat/2.0.2/src/templates/reports_tls_secret.yaml b/charts/redhat/redhat/redhat-cryostat/2.0.2/src/templates/reports_tls_secret.yaml new file mode 100644 index 000000000..79dbf2582 --- /dev/null +++ b/charts/redhat/redhat/redhat-cryostat/2.0.2/src/templates/reports_tls_secret.yaml @@ -0,0 +1,15 @@ +{{- if ( include "cryostat.core.service.tls" . | eq "true" ) }} +{{- $fullName := include "cryostat.fullname" . }} +{{- $cert := genSelfSignedCert (printf "%s-reports" $fullName) nil nil 365 }} +apiVersion: v1 +kind: Secret +metadata: + name: {{ .Release.Name }}-oauth2proxy-reports-tls + labels: + {{- include "cryostat.labels" $ | nindent 4 }} +type: Opaque +immutable: true +data: + cert: {{ $cert.Cert | b64enc }} + key: {{ $cert.Key | b64enc }} +{{- end -}} diff --git a/charts/redhat/redhat/redhat-cryostat/2.0.2/src/templates/role.yaml b/charts/redhat/redhat/redhat-cryostat/2.0.2/src/templates/role.yaml new file mode 100644 index 000000000..98f96c609 --- /dev/null +++ b/charts/redhat/redhat/redhat-cryostat/2.0.2/src/templates/role.yaml @@ -0,0 +1,61 @@ +{{- define "cryostat.createRole" -}} +{{- $ns := index . 0 -}} +{{- with index . 1 -}} +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: Role +metadata: + name: {{ include "cryostat.fullname" . }} + namespace: {{ $ns }} + labels: + {{- include "cryostat.labels" . | nindent 4 }} +rules: +- apiGroups: + - "" + resources: + - endpoints + verbs: + - get + - list + - watch +- apiGroups: + - "" + resources: + - pods + - replicationcontrollers + verbs: + - get +- apiGroups: + - apps + resources: + - replicasets + - deployments + - daemonsets + - statefulsets + verbs: + - get +- apiGroups: + - apps.openshift.io + resources: + - deploymentconfigs + verbs: + - get +- apiGroups: + - route.openshift.io + resources: + - routes + verbs: + - get + - list +{{- end -}} +{{- end -}} + +{{- if and .Values.rbac.create .Values.core.discovery.kubernetes.enabled -}} +{{- $watchNs := compact (default list .Values.core.discovery.kubernetes.namespaces) | uniq -}} +{{- if and (not $watchNs) (not .Values.core.discovery.kubernetes.installNamespaceDisabled) -}} +{{- $watchNs = list .Release.Namespace -}} +{{- end -}} +{{- range $ns := $watchNs }} +{{ include "cryostat.createRole" (list $ns $) }} +{{- end -}} +{{- end -}} diff --git a/charts/redhat/redhat/redhat-cryostat/2.0.2/src/templates/rolebinding.yaml b/charts/redhat/redhat/redhat-cryostat/2.0.2/src/templates/rolebinding.yaml new file mode 100644 index 000000000..b24049667 --- /dev/null +++ b/charts/redhat/redhat/redhat-cryostat/2.0.2/src/templates/rolebinding.yaml @@ -0,0 +1,31 @@ +{{- define "cryostat.createRolebinding" -}} +{{- $ns := index . 0 -}} +{{- with index . 1 -}} +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: RoleBinding +metadata: + name: {{ include "cryostat.fullname" . }} + namespace: {{ $ns }} + labels: + {{- include "cryostat.labels" . | nindent 4 }} +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: Role + name: {{ include "cryostat.fullname" . }} +subjects: +- kind: ServiceAccount + name: {{ include "cryostat.serviceAccountName" . }} + namespace: {{ .Release.Namespace }} +{{- end -}} +{{- end -}} + +{{- if and .Values.rbac.create .Values.core.discovery.kubernetes.enabled -}} +{{- $watchNs := compact (default list .Values.core.discovery.kubernetes.namespaces) | uniq -}} +{{- if and (not $watchNs) (not .Values.core.discovery.kubernetes.installNamespaceDisabled) -}} +{{- $watchNs = list .Release.Namespace -}} +{{- end -}} +{{- range $ns := $watchNs }} +{{ include "cryostat.createRolebinding" (list $ns $) }} +{{- end -}} +{{- end -}} diff --git a/charts/redhat/redhat/redhat-cryostat/2.0.2/src/templates/route.yaml b/charts/redhat/redhat/redhat-cryostat/2.0.2/src/templates/route.yaml new file mode 100644 index 000000000..608269c11 --- /dev/null +++ b/charts/redhat/redhat/redhat-cryostat/2.0.2/src/templates/route.yaml @@ -0,0 +1,50 @@ +{{- define "cryostat.createRoute" }} +{{- $svcName := index . 0 }} +{{- $targetPort := index . 1 }} +{{- $ := index . 2 }} +{{- with index . 3 }} +--- +apiVersion: route.openshift.io/v1 +kind: Route +metadata: + name: {{ $svcName }} + {{- $labels := include "cryostat.labels" $ | nindent 4 }} + labels: {{ $labels }} + {{- with .route.annotations }} + annotations: + {{- toYaml . | nindent 4 }} + {{- end }} +spec: + to: + kind: Service + name: {{ $svcName }} + port: + targetPort: {{ $targetPort }} +{{- if .route.tls.enabled }} + tls: + termination: {{ .route.tls.termination }} + insecureEdgeTerminationPolicy: {{ .route.tls.insecureEdgeTerminationPolicy }} + {{- if .route.tls.key }} + key: |- + {{- .route.tls.key | nindent 6 }} + {{- end }} + {{- if .route.tls.destinationCACertificate }} + destinationCACertificate: |- + {{- .route.tls.destinationCACertificate | nindent 6 }} + {{- end }} + {{- if .route.tls.caCertificate }} + caCertificate: |- + {{- .route.tls.caCertificate | nindent 6 }} + {{- end }} + {{- if .route.tls.certificate }} + certificate: |- + {{- .route.tls.certificate | nindent 6 }} + {{- end }} +{{- end }} +{{- end }} +{{- end }} + +{{- $fullName := include "cryostat.fullname" . -}} +{{- if .Values.core.route.enabled }} +{{- include "cryostat.createRoute" (list $fullName 4180 $ .Values.core)}} +{{- end }} diff --git a/charts/redhat/redhat/redhat-cryostat/2.0.2/src/templates/serviceaccount.yaml b/charts/redhat/redhat/redhat-cryostat/2.0.2/src/templates/serviceaccount.yaml new file mode 100644 index 000000000..e6da50e61 --- /dev/null +++ b/charts/redhat/redhat/redhat-cryostat/2.0.2/src/templates/serviceaccount.yaml @@ -0,0 +1,17 @@ +{{- if (.Values.authentication.openshift).enabled -}} +{{- $fullName := include "cryostat.fullname" . -}} +{{- $redirectAnnotations := dict "serviceaccounts.openshift.io/oauth-redirectreference.primary" (printf "{\"kind\":\"OAuthRedirectReference\",\"apiVersion\":\"v1\",\"reference\":{\"kind\":\"Route\",\"name\":\"%s\"}}" $fullName) -}} +{{- $_ := merge .Values.serviceAccount.annotations $redirectAnnotations -}} +{{- end -}} +{{- if .Values.serviceAccount.create -}} +apiVersion: v1 +kind: ServiceAccount +metadata: + name: {{ include "cryostat.serviceAccountName" . }} + labels: + {{- include "cryostat.labels" . | nindent 4 }} + {{- with .Values.serviceAccount.annotations }} + annotations: + {{- toYaml . | nindent 4 }} + {{- end }} +{{- end }} diff --git a/charts/redhat/redhat/redhat-cryostat/2.0.2/src/templates/storage_deployment.yaml b/charts/redhat/redhat/redhat-cryostat/2.0.2/src/templates/storage_deployment.yaml new file mode 100644 index 000000000..a7aa6084f --- /dev/null +++ b/charts/redhat/redhat/redhat-cryostat/2.0.2/src/templates/storage_deployment.yaml @@ -0,0 +1,112 @@ +{{- $fullName := include "cryostat.fullname" . -}} +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: {{ include "cryostat.deploymentName" . }}-storage + labels: + {{- include "cryostat.labels" . | nindent 4 }} + app.kubernetes.io/component: storage +spec: + replicas: 1 + strategy: + type: Recreate + selector: + matchLabels: + {{- include "cryostat.selectorLabels" . | nindent 6 }} + app.kubernetes.io/component: storage + template: + metadata: + annotations: + {{- with .Values.podAnnotations }} + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.storage.podAnnotations }} + {{- toYaml . | nindent 8 }} + {{- end }} + labels: + {{- include "cryostat.selectorLabels" . | nindent 8 }} + app.kubernetes.io/component: storage + spec: + {{- with .Values.imagePullSecrets }} + imagePullSecrets: + {{- toYaml . | nindent 8 }} + {{- end }} + securityContext: + {{- toYaml .Values.podSecurityContext | nindent 8 }} + containers: + - name: {{ printf "%s-%s" .Chart.Name "storage" }} + securityContext: + {{- toYaml (.Values.storage).securityContext | nindent 12 }} + image: "{{ (.Values.storage).image.repository }}:{{ (.Values.storage).image.tag }}" + imagePullPolicy: {{ (.Values.storage).image.pullPolicy }} + env: + - name: CRYOSTAT_BUCKETS + value: archivedrecordings,archivedreports,eventtemplates,probes + - name: CRYOSTAT_ACCESS_KEY + value: cryostat + - name: CRYOSTAT_SECRET_KEY + valueFrom: + secretKeyRef: + name: {{ default (printf "%s-storage-secret" .Release.Name) .Values.storage.storageSecretName }} + key: STORAGE_ACCESS_KEY + optional: false + - name: DATA_DIR + value: /data + - name: IP_BIND + value: 0.0.0.0 + - name: REST_ENCRYPTION_ENABLE + value: "{{ .Values.storage.encryption.enabled | ternary 1 0 }}" + ports: + - containerPort: 8333 + protocol: TCP + volumeMounts: + - mountPath: /data + name: {{ .Chart.Name }}-storage + subPath: seaweed + startupProbe: + httpGet: + path: "/status" + port: 8333 + periodSeconds: 10 + failureThreshold: 9 + livenessProbe: + httpGet: + path: "/status" + port: 8333 + periodSeconds: 10 + failureThreshold: 2 + readinessProbe: + exec: + command: + - sh + - -c + - echo s3.bucket.list | weed shell | [[ "$( + dnf install --disableplugin=subscription-manager -yq jq; + curl -sSf --retry 10 --retry-connrefused http://{{ include "cryostat.fullname" . }}:{{ .Values.core.service.httpPort }}/health | tee /tmp/out.json; + cat /tmp/out.json; + {{- if hasSuffix "-dev" .Chart.AppVersion }} + jq -e '{{ printf "(.cryostatVersion | test(\"^v%s-snapshot$\"))" (.Chart.AppVersion | trimSuffix "-dev" | squote) }}' /tmp/out.json; + {{- else }} + jq -e '{{ printf "(.cryostatVersion | test(\"^v%s\"))" (.Chart.AppVersion | replace "-" "." | squote) }}' /tmp/out.json; + {{- end }} + jq -e '.datasourceAvailable' /tmp/out.json + restartPolicy: Never diff --git a/charts/redhat/redhat/redhat-cryostat/2.0.2/src/templates/tests/test-grafana-connection.yaml b/charts/redhat/redhat/redhat-cryostat/2.0.2/src/templates/tests/test-grafana-connection.yaml new file mode 100644 index 000000000..84b3dfcea --- /dev/null +++ b/charts/redhat/redhat/redhat-cryostat/2.0.2/src/templates/tests/test-grafana-connection.yaml @@ -0,0 +1,19 @@ +apiVersion: v1 +kind: Pod +metadata: + name: "{{ include "cryostat.fullname" . }}-test-grafana-connection" + labels: + {{- include "cryostat.labels" . | nindent 4 }} + app.kubernetes.io/component: test-grafana-connection + charts.cryostat.io/role: helm-test + annotations: + "helm.sh/hook": test +spec: + containers: + - name: curl + image: registry.access.redhat.com/ubi8/ubi:latest + command: + - '/bin/bash' + - '-exc' + - curl -sSf --retry 10 --retry-connrefused http://{{ include "cryostat.fullname" . }}:{{ .Values.core.service.httpPort }}/grafana/api/health + restartPolicy: Never diff --git a/charts/redhat/redhat/redhat-cryostat/2.0.2/src/tests/alpha_config_test.yaml b/charts/redhat/redhat/redhat-cryostat/2.0.2/src/tests/alpha_config_test.yaml new file mode 100644 index 000000000..c0312ad38 --- /dev/null +++ b/charts/redhat/redhat/redhat-cryostat/2.0.2/src/tests/alpha_config_test.yaml @@ -0,0 +1,45 @@ +suite: test alpha_config.yaml +templates: + - templates/alpha_config.yaml + +tests: + - it: should create configmap with correct alpha configurations + asserts: + - matchRegex: + path: data['alpha_config.yaml'] + pattern: "server:\\s*BindAddress: http://0.0.0.0:4180" + - matchRegex: + path: data['alpha_config.yaml'] + pattern: "upstreamConfig:\\s*proxyRawPath: true\\s*upstreams:\\s*- id: cryostat\\s*path: /\\s*uri: http://localhost:8181" + - matchRegex: + path: data['alpha_config.yaml'] + pattern: "- id: grafana\\s*path: /grafana/\\s*uri: http://localhost:3000" + - matchRegex: + path: data['alpha_config.yaml'] + pattern: "providers:\\s*- id: dummy\\s*name: Unused - Sign In Below\\s*clientId: CLIENT_ID\\s*clientSecret: CLIENT_SECRET\\s*provider: google" + + - it: should create configmap with correct alpha configurations when self-signed TLS is enabled + set: + oauth2Proxy.tls.selfSigned.enabled: true + asserts: + - matchRegex: + path: data['alpha_config.yaml'] + pattern: "server:\\s*BindAddress: http://0.0.0.0:4180\\s*SecureBindAddress: https://0.0.0.0:8443" + - matchRegex: + path: data['alpha_config.yaml'] + pattern: "upstreamConfig:\\s*proxyRawPath: true\\s*upstreams:\\s*- id: cryostat\\s*path: /\\s*uri: http://localhost:8181" + - matchRegex: + path: data['alpha_config.yaml'] + pattern: "- id: grafana\\s*path: /grafana/\\s*uri: http://localhost:3000" + - matchRegex: + path: data['alpha_config.yaml'] + pattern: "providers:\\s*- id: dummy\\s*name: Unused - Sign In Below\\s*clientId: CLIENT_ID\\s*clientSecret: CLIENT_SECRET\\s*provider: google" + + - it: should not create alpha_config when openshift authentication is enabled + set: + authentication: + openshift: + enabled: true + asserts: + - hasDocuments: + count: 0 diff --git a/charts/redhat/redhat/redhat-cryostat/2.0.2/src/tests/clusterrolebinding_test.yaml b/charts/redhat/redhat/redhat-cryostat/2.0.2/src/tests/clusterrolebinding_test.yaml new file mode 100644 index 000000000..0d867408c --- /dev/null +++ b/charts/redhat/redhat/redhat-cryostat/2.0.2/src/tests/clusterrolebinding_test.yaml @@ -0,0 +1,65 @@ +suite: test clusterrolebinding.yaml +templates: + - clusterrolebinding.yaml + +tests: + - it: should create a ClusterRoleBinding when RBAC and OpenShift authentication are enabled + set: + rbac.create: true + authentication.openshift.enabled: true + authentication.openshift.clusterRole.name: system:auth-delegator + asserts: + - hasDocuments: + count: 1 + - equal: + path: metadata.name + value: RELEASE-NAME-cryostat + - equal: + path: roleRef.apiGroup + value: rbac.authorization.k8s.io + - equal: + path: roleRef.kind + value: ClusterRole + - equal: + path: roleRef.name + value: system:auth-delegator + - equal: + path: subjects[0].kind + value: ServiceAccount + - equal: + path: subjects[0].name + value: RELEASE-NAME-cryostat + - equal: + path: subjects[0].namespace + value: NAMESPACE + + - it: should create a ClusterRoleBinding with a custom OpenShift cluster role + set: + rbac.create: true + authentication.openshift.enabled: true + authentication.openshift.clusterRole.name: custom-clusterrole + asserts: + - hasDocuments: + count: 1 + - equal: + path: roleRef.name + value: custom-clusterrole + + + - it: should not create a ClusterRoleBinding when RBAC is disabled + set: + rbac.create: false + authentication.openshift.enabled: true + authentication.openshift.clusterRole.name: system:auth-delegator + asserts: + - hasDocuments: + count: 0 + + - it: should not create a ClusterRoleBinding when OpenShift authentication is disabled + set: + rbac.create: true + authentication.openshift.enabled: false + authentication.openshift.clusterRole.name: system:auth-delegator + asserts: + - hasDocuments: + count: 0 diff --git a/charts/redhat/redhat/redhat-cryostat/2.0.2/src/tests/cookie_secret_test.yaml b/charts/redhat/redhat/redhat-cryostat/2.0.2/src/tests/cookie_secret_test.yaml new file mode 100644 index 000000000..208f87b71 --- /dev/null +++ b/charts/redhat/redhat/redhat-cryostat/2.0.2/src/tests/cookie_secret_test.yaml @@ -0,0 +1,36 @@ +suite: test cookie_secret.yaml +templates: + - cookie_secret.yaml + +tests: + - it: should create a Cookie Secret with correct settings + asserts: + - hasDocuments: + count: 1 + - equal: + path: kind + value: Secret + - equal: + path: metadata.name + value: RELEASE-NAME-cookie-secret + - equal: + path: type + value: Opaque + - exists: + path: data.COOKIE_SECRET + - equal: + path: metadata.labels + value: + app.kubernetes.io/instance: RELEASE-NAME + app.kubernetes.io/part-of: cryostat + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: cryostat + app.kubernetes.io/version: 4.0.2-redhat + helm.sh/chart: cryostat-2.0.2 + + - it: should not create a cookie secret if authentication.cookieSecretName is set + set: + authentication.cookieSecretName: "custom-cookie-secret" + asserts: + - hasDocuments: + count: 0 diff --git a/charts/redhat/redhat/redhat-cryostat/2.0.2/src/tests/cryostat_deployment_test.yaml b/charts/redhat/redhat/redhat-cryostat/2.0.2/src/tests/cryostat_deployment_test.yaml new file mode 100644 index 000000000..5d9422daa --- /dev/null +++ b/charts/redhat/redhat/redhat-cryostat/2.0.2/src/tests/cryostat_deployment_test.yaml @@ -0,0 +1,737 @@ +suite: test cryostat_deployment.yaml +templates: + - cryostat_deployment.yaml + +tests: + - it: should verify general deployment settings + asserts: + - equal: + path: kind + value: Deployment + - equal: + path: metadata.name + value: RELEASE-NAME-cryostat-v4 + - equal: + path: spec.replicas + value: 1 + - equal: + path: spec.strategy.type + value: Recreate + - equal: + path: spec.selector.matchLabels + value: + app.kubernetes.io/instance: RELEASE-NAME + app.kubernetes.io/name: cryostat + app.kubernetes.io/component: cryostat + app.kubernetes.io/part-of: cryostat + - equal: + path: spec.template.metadata.labels + value: + app.kubernetes.io/instance: RELEASE-NAME + app.kubernetes.io/name: cryostat + app.kubernetes.io/component: cryostat + app.kubernetes.io/part-of: cryostat + - equal: + path: spec.template.spec.serviceAccountName + value: RELEASE-NAME-cryostat + - equal: + path: spec.template.spec.securityContext.runAsNonRoot + value: true + - equal: + path: spec.template.spec.securityContext.seccompProfile.type + value: RuntimeDefault + - equal: + path: metadata.labels + value: + helm.sh/chart: cryostat-2.0.2 + app.kubernetes.io/name: cryostat + app.kubernetes.io/instance: RELEASE-NAME + app.kubernetes.io/version: "4.0.2-redhat" + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/component: cryostat + app.kubernetes.io/part-of: cryostat + + - it: should validate all container settings including environment variables and security contexts + asserts: + - exists: + path: spec.template.spec.containers[?(@.name=='cryostat')] + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat')].image + value: "registry.redhat.io/cryostat/cryostat-rhel9:4.0.2" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-authproxy')].image + value: "registry.redhat.io/cryostat/cryostat-ose-oauth-proxy-rhel9:4.0.2" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat')].env[?(@.name=='QUARKUS_HTTP_PORT')].value + value: "8181" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat')].env[?(@.name=='QUARKUS_LOG_LEVEL')].value + value: "INFO" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat')].env[?(@.name=='QUARKUS_HTTP_HOST')].value + value: "localhost" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat')].env[?(@.name=='QUARKUS_HTTP_PROXY_PROXY_ADDRESS_FORWARDING')].value + value: "true" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat')].env[?(@.name=='QUARKUS_HTTP_PROXY_ALLOW_X_FORWARDED')].value + value: "true" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat')].env[?(@.name=='QUARKUS_HTTP_PROXY_ENABLE_FORWARDED_HOST')].value + value: "true" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat')].env[?(@.name=='QUARKUS_HTTP_PROXY_ENABLE_FORWARDED_PREFIX')].value + value: "true" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat')].env[?(@.name=='QUARKUS_HIBERNATE_ORM_DATABASE_GENERATION')].value + value: "none" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat')].env[?(@.name=='QUARKUS_HIBERNATE_ORM_SQL_LOAD_SCRIPT')].value + value: "no-file" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat')].env[?(@.name=='QUARKUS_DATASOURCE_USERNAME')].value + value: "cryostat" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat')].env[?(@.name=='QUARKUS_DATASOURCE_PASSWORD')].valueFrom.secretKeyRef + value: + key: "CONNECTION_KEY" + name: "RELEASE-NAME-db" + optional: false + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat')].env[?(@.name=='QUARKUS_DATASOURCE_JDBC_URL')].value + value: "jdbc:postgresql://RELEASE-NAME-cryostat-db:5432/cryostat" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat')].env[?(@.name=='STORAGE_BUCKETS_ARCHIVES_NAME')].value + value: "archivedrecordings" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat')].env[?(@.name=='QUARKUS_S3_ENDPOINT_OVERRIDE')].value + value: "http://RELEASE-NAME-cryostat-storage:8333" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat')].env[?(@.name=='QUARKUS_S3_PATH_STYLE_ACCESS')].value + value: "true" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat')].env[?(@.name=='QUARKUS_S3_AWS_REGION')].value + value: "us-east-1" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat')].env[?(@.name=='QUARKUS_S3_AWS_CREDENTIALS_TYPE')].value + value: "static" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat')].env[?(@.name=='QUARKUS_S3_AWS_CREDENTIALS_STATIC_PROVIDER_ACCESS_KEY_ID')].value + value: "cryostat" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat')].env[?(@.name=='AWS_ACCESS_KEY_ID')].value + value: $(QUARKUS_S3_AWS_CREDENTIALS_STATIC_PROVIDER_ACCESS_KEY_ID) + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat')].env[?(@.name=='QUARKUS_S3_AWS_CREDENTIALS_STATIC_PROVIDER_SECRET_ACCESS_KEY')].valueFrom.secretKeyRef + value: + key: "STORAGE_ACCESS_KEY" + name: "RELEASE-NAME-storage-secret" + optional: false + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat')].env[?(@.name=='AWS_SECRET_ACCESS_KEY')].value + value: $(QUARKUS_S3_AWS_CREDENTIALS_STATIC_PROVIDER_SECRET_ACCESS_KEY) + - notExists: + path: spec.template.spec.containers[?(@.name=='cryostat')].env[?(@.name=='QUARKUS_REST_CLIENT_REPORTS_URL')].value + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat')].env[?(@.name=='GRAFANA_DATASOURCE_URL')].value + value: "http://localhost:8800" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat')].env[?(@.name=='GRAFANA_DASHBOARD_URL')].value + value: "http://localhost:3000" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat')].env[?(@.name=='GRAFANA_DASHBOARD_EXT_URL')].value + value: "/grafana/" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat')].env[?(@.name=='CRYOSTAT_DISCOVERY_KUBERNETES_ENABLED')].value + value: "true" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat')].env[?(@.name=='CRYOSTAT_DISCOVERY_KUBERNETES_NAMESPACES')].value + value: "NAMESPACE" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat')].env[?(@.name=='CRYOSTAT_DISCOVERY_KUBERNETES_PORT_NAMES')].value + value: "jfr-jmx" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat')].env[?(@.name=='CRYOSTAT_DISCOVERY_KUBERNETES_PORT_NUMBERS')].value + value: "9091" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat')].ports[0].containerPort + value: 8181 + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat')].ports[0].protocol + value: "TCP" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat')].livenessProbe.exec.command + value: + - curl + - --fail + - http://localhost:8181/health/liveness + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat')].startupProbe.exec.command + value: + - curl + - --fail + - http://localhost:8181/health/liveness + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat')].startupProbe.failureThreshold + value: 18 + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat')].resources + value: + requests: + cpu: 500m + memory: 384Mi + - notExists: + path: spec.template.spec.contains[?(@.name=='cryostat')].volumeMounts + + - it: should set log level + set: + core: + debug: + log: + level: TRACE + asserts: + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat')].env[?(@.name=='QUARKUS_LOG_LEVEL')].value + value: TRACE + + - it: should set environment variable if sidecar report generator is enabled + set: + reports: + replicas: 1 + asserts: + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat')].env[?(@.name=='QUARKUS_REST_CLIENT_REPORTS_URL')].value + value: http://cryostat:$(REPORTS_PASS_SECRET_KEY)@RELEASE-NAME-cryostat-reports.NAMESPACE.svc:10001 + + - it: should set environment variable if sidecar report generator is enabled in OpenShift with HTTPS + set: + reports: + replicas: 1 + authentication: + openshift: + enabled: true + asserts: + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat')].env[?(@.name=='QUARKUS_REST_CLIENT_REPORTS_URL')].value + value: https://cryostat:$(REPORTS_PASS_SECRET_KEY)@RELEASE-NAME-cryostat-reports.NAMESPACE.svc:10001 + + - it: should set oauth2proxy resource overrides + set: + oauth2Proxy: + resources: + limits: + cpu: 4000m + memory: 1Gi + requests: + cpu: 4000m + memory: 2Gi + asserts: + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-authproxy')].resources + value: + limits: + cpu: 4000m + memory: 1Gi + requests: + cpu: 4000m + memory: 2Gi + + - it: should set openshiftOauthProxy resource overrides + set: + authentication: + openshift: + enabled: true + openshiftOauthProxy: + resources: + limits: + cpu: 4000m + memory: 1Gi + requests: + cpu: 4000m + memory: 2Gi + asserts: + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-authproxy')].resources + value: + limits: + cpu: 4000m + memory: 1Gi + requests: + cpu: 4000m + memory: 2Gi + + - it: should set cryostat resource overrides + set: + core: + resources: + limits: + cpu: 4000m + memory: 1Gi + requests: + cpu: 4000m + memory: 2Gi + asserts: + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat')].resources + value: + limits: + cpu: 4000m + memory: 1Gi + requests: + cpu: 4000m + memory: 2Gi + + - it: should set grafana resource overrides + set: + grafana: + resources: + limits: + cpu: 4000m + memory: 1Gi + requests: + cpu: 4000m + memory: 2Gi + asserts: + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-grafana')].resources + value: + limits: + cpu: 4000m + memory: 1Gi + requests: + cpu: 4000m + memory: 2Gi + + - it: should set jfr-datasource resource overrides + set: + datasource: + resources: + limits: + cpu: 4000m + memory: 1Gi + requests: + cpu: 4000m + memory: 2Gi + asserts: + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-jfr-datasource')].resources + value: + limits: + cpu: 4000m + memory: 1Gi + requests: + cpu: 4000m + memory: 2Gi + + - it: should validate cryostat-grafana settings + asserts: + - exists: + path: spec.template.spec.containers[?(@.name=='cryostat-grafana')] + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-grafana')].securityContext.allowPrivilegeEscalation + value: false + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-grafana')].securityContext.capabilities.drop + value: + - ALL + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-grafana')].image + value: "registry.redhat.io/cryostat/cryostat-grafana-dashboard-rhel9" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-grafana')].imagePullPolicy + value: "IfNotPresent" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-grafana')].env[?(@.name=='GF_AUTH_ANONYMOUS_ENABLED')].value + value: "true" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-grafana')].env[?(@.name=='GF_SERVER_DOMAIN')].value + value: "localhost" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-grafana')].env[?(@.name=='GF_SERVER_ROOT_URL')].value + value: "http://localhost:4180/grafana/" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-grafana')].env[?(@.name=='GF_SERVER_SERVE_FROM_SUB_PATH')].value + value: "true" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-grafana')].env[?(@.name=='JFR_DATASOURCE_URL')].value + value: "http://localhost:8800" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-grafana')].ports[0].containerPort + value: 3000 + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-grafana')].ports[0].protocol + value: "TCP" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-grafana')].livenessProbe.httpGet.path + value: "/api/health" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-grafana')].livenessProbe.httpGet.port + value: 3000 + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-grafana')].resources + value: + requests: + cpu: 25m + memory: 80Mi + + - it: should validate cryostat-jfr-datasource settings + asserts: + - exists: + path: spec.template.spec.containers[?(@.name=='cryostat-jfr-datasource')] + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-jfr-datasource')].securityContext.allowPrivilegeEscalation + value: false + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-jfr-datasource')].securityContext.capabilities.drop + value: + - ALL + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-jfr-datasource')].image + value: "registry.redhat.io/cryostat/jfr-datasource-rhel9" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-jfr-datasource')].imagePullPolicy + value: "IfNotPresent" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-jfr-datasource')].env[?(@.name=='LISTEN_HOST')].value + value: "localhost" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-jfr-datasource')].env[?(@.name=='QUARKUS_HTTP_PORT')].value + value: "8800" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-jfr-datasource')].ports[0].containerPort + value: 8800 + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-jfr-datasource')].ports[0].protocol + value: "TCP" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-jfr-datasource')].livenessProbe.exec.command + value: + - curl + - --fail + - http://localhost:8800 + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-jfr-datasource')].resources + value: + requests: + cpu: 200m + memory: 200Mi + + - it: should validate volumes and volume mounts + asserts: + - lengthEqual: + count: 1 + path: spec.template.spec.volumes + - exists: + path: spec.template.spec.volumes[?(@.name=='alpha-config')] + - exists: + path: spec.template.spec.containers[?(@.name=='cryostat-authproxy')].volumeMounts[?(@.mountPath=='/etc/oauth2_proxy/alpha_config')] + + - it: should validate volumes and volume mounts with oauth2-proxy self-signed TLS enabled + set: + oauth2Proxy.tls.selfSigned.enabled: true + asserts: + - lengthEqual: + count: 2 + path: spec.template.spec.volumes + - exists: + path: spec.template.spec.volumes[?(@.name=='alpha-config')] + - exists: + path: spec.template.spec.containers[?(@.name=='cryostat-authproxy')].volumeMounts[?(@.mountPath=='/etc/oauth2_proxy/alpha_config')] + - exists: + path: spec.template.spec.volumes[?(@.name=='RELEASE-NAME-oauth2proxy-tls')] + - exists: + path: spec.template.spec.containers[?(@.name=='cryostat-authproxy')].volumeMounts[?(@.mountPath=='/etc/tls/private')] + + - it: should set image pull secrets if specified + set: + imagePullSecrets: + - name: myregistrykey + asserts: + - equal: + path: spec.template.spec.imagePullSecrets[0].name + value: "myregistrykey" + + - it: should configure the OpenShift OAuth Proxy when authentication.openshift is enabled + set: + authentication.openshift.enabled: true + asserts: + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-authproxy')].image + value: "registry.redhat.io/cryostat/cryostat-ose-oauth-proxy-rhel9:4.0.2" + + - it: should configure the OAuth2 Proxy when OpenShift OAuth is disabled and OAuth2 is enabled + set: + authentication.openshift.enabled: false + authentication.oauth2.enabled: true + asserts: + - exists: + path: spec.template.spec.containers[?(@.name=='cryostat-authproxy')] + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-authproxy')].image + value: "" + + - it: should apply Kubernetes specific settings when configured + set: + nodeSelector: + disktype: ssd + affinity: + nodeAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + nodeSelectorTerms: + - matchExpressions: + - key: disktype + operator: In + values: + - ssd + tolerations: + - key: "key" + operator: "Equal" + value: "value" + effect: "NoSchedule" + asserts: + - exists: + path: spec.template.spec.nodeSelector + - exists: + path: spec.template.spec.affinity + - exists: + path: spec.template.spec.tolerations + + - it: should accept specific nodeSelector setting + set: + core.nodeSelector: + diskType: ssd + asserts: + - equal: + path: spec.template.spec.nodeSelector + value: + diskType: ssd + + - it: should prefer specific nodeSelector over general + set: + nodeSelector: + disktype: hdd + core.nodeSelector: + diskType: ssd + asserts: + - equal: + path: spec.template.spec.nodeSelector + value: + diskType: ssd + + - it: should accept specific tolerations setting + set: + core.tolerations: + - key: "key1" + operator: "Equal" + value: "value1" + effect: "NoSchedule" + asserts: + - equal: + path: spec.template.spec.tolerations + value: + - key: "key1" + operator: "Equal" + value: "value1" + effect: "NoSchedule" + + - it: should prefer specific tolerations over general + set: + tolerations: + - key: "key1" + operator: "Equal" + value: "value1" + effect: "NoSchedule" + core.tolerations: + - key: "key2" + operator: "Equal" + value: "value2" + effect: "NoSchedule" + asserts: + - equal: + path: spec.template.spec.tolerations + value: + - key: "key2" + operator: "Equal" + value: "value2" + effect: "NoSchedule" + + - it: should accept specific affinity setting + set: + core.affinity: + nodeAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + nodeSelectorTerms: + - matchExpressions: + - key: disktype + operator: In + values: + - ssd + asserts: + - equal: + path: spec.template.spec.affinity + value: + nodeAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + nodeSelectorTerms: + - matchExpressions: + - key: disktype + operator: In + values: + - ssd + + - it: should prefer specific affinity over general + set: + affinity: + nodeAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + nodeSelectorTerms: + - matchExpressions: + - key: disktype + operator: In + values: + - ssd + core.affinity: + nodeAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + nodeSelectorTerms: + - matchExpressions: + - key: disktype + operator: In + values: + - ssd + asserts: + - equal: + path: spec.template.spec.affinity + value: + nodeAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + nodeSelectorTerms: + - matchExpressions: + - key: disktype + operator: In + values: + - ssd + + - it: should verify image pull policies for development snapshots + set: + core.image.tag: "4.0.2" + asserts: + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat')].imagePullPolicy + value: IfNotPresent + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-authproxy')].imagePullPolicy + value: IfNotPresent + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-grafana')].imagePullPolicy + value: IfNotPresent + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-jfr-datasource')].imagePullPolicy + value: IfNotPresent + + - it: should verify image pull policies for release versions + set: + core.image.tag: "4.1.0" + core.image.pullPolicy: "IfNotPresent" + oauth2Proxy.image.pullPolicy: "IfNotPresent" + grafana.image.pullPolicy: "IfNotPresent" + db.image.pullPolicy: "IfNotPresent" + datasource.image.pullPolicy: "IfNotPresent" + asserts: + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat')].imagePullPolicy + value: "IfNotPresent" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-authproxy')].imagePullPolicy + value: "IfNotPresent" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-grafana')].imagePullPolicy + value: "IfNotPresent" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-jfr-datasource')].imagePullPolicy + value: "IfNotPresent" + + - it: should add volume mounts for declarative event templates + set: + core.config.eventTemplates.configMapNames: ['a', 'b'] + asserts: + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat')].volumeMounts + value: + - name: a + mountPath: /opt/cryostat.d/templates.d/a + readOnly: true + - name: b + mountPath: /opt/cryostat.d/templates.d/b + readOnly: true + - equal: + path: spec.template.spec.volumes + value: + - name: alpha-config + configMap: + name: RELEASE-NAME-alpha-config + - name: a + configMap: + name: a + - name: b + configMap: + name: b + + - it: should add volume mounts for declarative TLS truststore + set: + core.config.tlsTruststore.secretNames: ['a', 'b'] + asserts: + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat')].volumeMounts + value: + - name: a + mountPath: /truststore/a + readOnly: true + - name: b + mountPath: /truststore/b + readOnly: true + - equal: + path: spec.template.spec.volumes + value: + - name: alpha-config + configMap: + name: RELEASE-NAME-alpha-config + - name: a + secret: + secretName: a + - name: b + secret: + secretName: b + + - it: should set default podAnnotations + set: + podAnnotations: + foo: bar + asserts: + - equal: + path: spec.template.metadata.annotations + value: + foo: bar + + - it: should set pod-specific podAnnotations + set: + core.podAnnotations: + foo: bar + asserts: + - equal: + path: spec.template.metadata.annotations + value: + foo: bar + + - it: should set merge pod-specific and default podAnnotations + set: + core.podAnnotations: + foo: bar + podAnnotations: + alice: bob + asserts: + - equal: + path: spec.template.metadata.annotations + value: + alice: bob + foo: bar diff --git a/charts/redhat/redhat/redhat-cryostat/2.0.2/src/tests/cryostat_service_test.yaml b/charts/redhat/redhat/redhat-cryostat/2.0.2/src/tests/cryostat_service_test.yaml new file mode 100644 index 000000000..810a38038 --- /dev/null +++ b/charts/redhat/redhat/redhat-cryostat/2.0.2/src/tests/cryostat_service_test.yaml @@ -0,0 +1,195 @@ +suite: test cryostat_service.yaml +templates: + - cryostat_service.yaml + +tests: + - it: should create a Service with the correct settings + set: + core.service.type: ClusterIP + core.service.httpPort: 8080 + authentication.openshift.enabled: false + asserts: + - hasDocuments: + count: 1 + - equal: + path: kind + value: Service + - equal: + path: metadata.name + value: RELEASE-NAME-cryostat + - equal: + path: spec.type + value: ClusterIP + - lengthEqual: + path: spec.ports + count: 1 + - equal: + path: spec.ports[0].port + value: 8080 + - equal: + path: spec.ports[0].targetPort + value: 4180 + - equal: + path: spec.ports[0].protocol + value: TCP + - equal: + path: spec.ports[0].name + value: http + - equal: + path: spec.ports[0].appProtocol + value: http + - equal: + path: metadata.labels + value: + app.kubernetes.io/instance: RELEASE-NAME + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: cryostat + app.kubernetes.io/version: "4.0.2-redhat" + helm.sh/chart: cryostat-2.0.2 + app.kubernetes.io/component: cryostat + app.kubernetes.io/part-of: cryostat + + - it: should create a Service with the correct settings when OpenShift authentication is enabled + set: + authentication.openshift.enabled: true + asserts: + - hasDocuments: + count: 1 + - equal: + path: kind + value: Service + - equal: + path: metadata.name + value: RELEASE-NAME-cryostat + - equal: + path: spec.type + value: ClusterIP + - lengthEqual: + path: spec.ports + count: 2 + - equal: + path: spec.ports[0].port + value: 8181 + - equal: + path: spec.ports[0].targetPort + value: 4180 + - equal: + path: spec.ports[0].protocol + value: TCP + - equal: + path: spec.ports[0].name + value: http + - equal: + path: spec.ports[1].port + value: 443 + - equal: + path: spec.ports[1].targetPort + value: 8443 + - equal: + path: spec.ports[1].protocol + value: TCP + - equal: + path: spec.ports[1].name + value: https + - equal: + path: spec.ports[1].appProtocol + value: https + - equal: + path: spec.selector + value: + app.kubernetes.io/name: cryostat + app.kubernetes.io/instance: RELEASE-NAME + app.kubernetes.io/component: cryostat + app.kubernetes.io/part-of: cryostat + - equal: + path: metadata.labels + value: + app.kubernetes.io/instance: RELEASE-NAME + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: cryostat + app.kubernetes.io/version: "4.0.2-redhat" + helm.sh/chart: cryostat-2.0.2 + app.kubernetes.io/component: cryostat + app.kubernetes.io/part-of: cryostat + - equal: + path: metadata.annotations + value: + service.alpha.openshift.io/serving-cert-secret-name: RELEASE-NAME-proxy-tls + + - it: should include OpenShift specific annotations when OpenShift auth is enabled + set: + authentication.openshift.enabled: true + asserts: + - exists: + path: metadata.annotations + - equal: + path: metadata.annotations + value: + service.alpha.openshift.io/serving-cert-secret-name: RELEASE-NAME-proxy-tls + + - it: should not include OpenShift specific annotations when OpenShift auth is disabled + set: + authentication.openshift.enabled: false + asserts: + - notExists: + path: metadata.annotations.`service.alpha.openshift.io/serving-cert-secret-name` + + - it: should create a Service with the correct settings when oauth2-proxy self-signed TLS is enabled + set: + oauth2Proxy.tls.selfSigned.enabled: true + asserts: + - hasDocuments: + count: 1 + - equal: + path: kind + value: Service + - equal: + path: metadata.name + value: RELEASE-NAME-cryostat + - equal: + path: spec.type + value: ClusterIP + - lengthEqual: + path: spec.ports + count: 2 + - equal: + path: spec.ports[0].port + value: 8181 + - equal: + path: spec.ports[0].targetPort + value: 4180 + - equal: + path: spec.ports[0].protocol + value: TCP + - equal: + path: spec.ports[0].name + value: http + - equal: + path: spec.ports[1].port + value: 443 + - equal: + path: spec.ports[1].targetPort + value: 8443 + - equal: + path: spec.ports[1].protocol + value: TCP + - equal: + path: spec.ports[1].name + value: https + - equal: + path: spec.selector + value: + app.kubernetes.io/name: cryostat + app.kubernetes.io/part-of: cryostat + app.kubernetes.io/instance: RELEASE-NAME + app.kubernetes.io/component: cryostat + - equal: + path: metadata.labels + value: + app.kubernetes.io/instance: RELEASE-NAME + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: cryostat + app.kubernetes.io/part-of: cryostat + app.kubernetes.io/version: "4.0.2-redhat" + helm.sh/chart: cryostat-2.0.2 + app.kubernetes.io/component: cryostat diff --git a/charts/redhat/redhat/redhat-cryostat/2.0.2/src/tests/cryostat_tls_secret_test.yaml b/charts/redhat/redhat/redhat-cryostat/2.0.2/src/tests/cryostat_tls_secret_test.yaml new file mode 100644 index 000000000..be6a8f902 --- /dev/null +++ b/charts/redhat/redhat/redhat-cryostat/2.0.2/src/tests/cryostat_tls_secret_test.yaml @@ -0,0 +1,46 @@ +suite: test cryostat_tls_secret.yaml +templates: + - cryostat_tls_secret.yaml + +tests: + - it: should create a TLS cert secret if oauth2Proxy.tls.selfSigned.enabled is set + set: + oauth2Proxy: + tls: + selfSigned: + enabled: true + asserts: + - hasDocuments: + count: 1 + - equal: + path: kind + value: Secret + - equal: + path: metadata.name + value: RELEASE-NAME-oauth2proxy-tls + - equal: + path: type + value: Opaque + - exists: + path: data.key + - exists: + path: data.cert + - equal: + path: metadata.labels + value: + app.kubernetes.io/instance: RELEASE-NAME + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: cryostat + app.kubernetes.io/part-of: cryostat + app.kubernetes.io/version: 4.0.2-redhat + helm.sh/chart: cryostat-2.0.2 + + - it: should not create a TLS cert secret if oauth2Proxy.tls.selfSigned.enabled is not set + set: + oauth2Proxy: + tls: + selfSigned: + enabled: false + asserts: + - hasDocuments: + count: 0 diff --git a/charts/redhat/redhat/redhat-cryostat/2.0.2/src/tests/db_deployment_test.yaml b/charts/redhat/redhat/redhat-cryostat/2.0.2/src/tests/db_deployment_test.yaml new file mode 100644 index 000000000..52c4d60d7 --- /dev/null +++ b/charts/redhat/redhat/redhat-cryostat/2.0.2/src/tests/db_deployment_test.yaml @@ -0,0 +1,364 @@ +suite: test db_deployment.yaml +templates: + - db_deployment.yaml + +tests: + - it: should verify general deployment settings + asserts: + - equal: + path: kind + value: Deployment + - equal: + path: metadata.name + value: RELEASE-NAME-cryostat-v4-db + - equal: + path: spec.replicas + value: 1 + - equal: + path: spec.strategy.type + value: Recreate + - equal: + path: spec.selector.matchLabels + value: + app.kubernetes.io/instance: RELEASE-NAME + app.kubernetes.io/name: cryostat + app.kubernetes.io/component: db + app.kubernetes.io/part-of: cryostat + - equal: + path: spec.template.metadata.labels + value: + app.kubernetes.io/instance: RELEASE-NAME + app.kubernetes.io/name: cryostat + app.kubernetes.io/component: db + app.kubernetes.io/part-of: cryostat + - notExists: + path: spec.template.spec.serviceAccountName + - equal: + path: spec.template.spec.securityContext.runAsNonRoot + value: true + - equal: + path: spec.template.spec.securityContext.seccompProfile.type + value: RuntimeDefault + - equal: + path: metadata.labels + value: + helm.sh/chart: cryostat-2.0.2 + app.kubernetes.io/name: cryostat + app.kubernetes.io/instance: RELEASE-NAME + app.kubernetes.io/version: "4.0.2-redhat" + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/component: db + app.kubernetes.io/part-of: cryostat + + - it: should validate cryostat-db settings + asserts: + - exists: + path: spec.template.spec.containers[?(@.name=='cryostat-db')] + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-db')].securityContext.allowPrivilegeEscalation + value: false + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-db')].securityContext.capabilities.drop + value: + - ALL + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-db')].image + value: "registry.redhat.io/cryostat/cryostat-db-rhel9" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-db')].imagePullPolicy + value: "IfNotPresent" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-db')].env[?(@.name=='POSTGRESQL_USER')].value + value: "cryostat" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-db')].env[?(@.name=='POSTGRESQL_PASSWORD')].valueFrom.secretKeyRef + value: + name: "RELEASE-NAME-db" + key: "CONNECTION_KEY" + optional: false + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-db')].env[?(@.name=='POSTGRESQL_DATABASE')].value + value: "cryostat" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-db')].env[?(@.name=='PG_ENCRYPT_KEY')].valueFrom.secretKeyRef + value: + name: "RELEASE-NAME-db" + key: "ENCRYPTION_KEY" + optional: false + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-db')].ports[0].containerPort + value: 5432 + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-db')].ports[0].protocol + value: "TCP" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-db')].volumeMounts[0].mountPath + value: "/var/lib/pgsql/data" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-db')].volumeMounts[0].name + value: "cryostat-db" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-db')].volumeMounts[0].subPath + value: "postgres" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-db')].readinessProbe.exec.command + value: + - pg_isready + - -U + - cryostat + - -d + - cryostat + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-db')].resources + value: + requests: + cpu: 25m + memory: 64Mi + + - it: should set resource overrides + set: + db: + resources: + limits: + cpu: 2000m + memory: 1Gi + requests: + cpu: 4000m + memory: 2Gi + asserts: + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-db')].resources + value: + limits: + cpu: 2000m + memory: 1Gi + requests: + cpu: 4000m + memory: 2Gi + + - it: should set PersistentVolumeClaim (pvc) reference + set: + db: + pvc: + enabled: true + asserts: + - exists: + path: spec.template.spec.volumes[?(@.name=='cryostat-db')] + - equal: + path: spec.template.spec.volumes[?(@.name=='cryostat-db')] + value: + name: cryostat-db + persistentVolumeClaim: + claimName: RELEASE-NAME-db + + - it: should validate volumes and volume mounts + asserts: + - exists: + path: spec.template.spec.volumes[?(@.name=='cryostat-db')] + - equal: + path: spec.template.spec.volumes[?(@.name=='cryostat-db')] + value: + name: cryostat-db + emptyDir: {} + - exists: + path: spec.template.spec.containers[?(@.name=='cryostat-db')].volumeMounts[?(@.mountPath=='/var/lib/pgsql/data')] + + - it: should set image pull secrets if specified + set: + imagePullSecrets: + - name: myregistrykey + asserts: + - equal: + path: spec.template.spec.imagePullSecrets[0].name + value: "myregistrykey" + + - it: should apply Kubernetes specific settings when configured + set: + nodeSelector: + disktype: ssd + affinity: + nodeAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + nodeSelectorTerms: + - matchExpressions: + - key: disktype + operator: In + values: + - ssd + tolerations: + - key: "key" + operator: "Equal" + value: "value" + effect: "NoSchedule" + asserts: + - exists: + path: spec.template.spec.nodeSelector + - exists: + path: spec.template.spec.affinity + - exists: + path: spec.template.spec.tolerations + + - it: should accept specific nodeSelector setting + set: + db.nodeSelector: + diskType: ssd + asserts: + - equal: + path: spec.template.spec.nodeSelector + value: + diskType: ssd + + - it: should prefer specific nodeSelector over general + set: + nodeSelector: + disktype: hdd + db.nodeSelector: + diskType: ssd + asserts: + - equal: + path: spec.template.spec.nodeSelector + value: + diskType: ssd + + - it: should accept specific tolerations setting + set: + db.tolerations: + - key: "key1" + operator: "Equal" + value: "value1" + effect: "NoSchedule" + asserts: + - equal: + path: spec.template.spec.tolerations + value: + - key: "key1" + operator: "Equal" + value: "value1" + effect: "NoSchedule" + + - it: should prefer specific tolerations over general + set: + tolerations: + - key: "key1" + operator: "Equal" + value: "value1" + effect: "NoSchedule" + db.tolerations: + - key: "key2" + operator: "Equal" + value: "value2" + effect: "NoSchedule" + asserts: + - equal: + path: spec.template.spec.tolerations + value: + - key: "key2" + operator: "Equal" + value: "value2" + effect: "NoSchedule" + + - it: should accept specific affinity setting + set: + db.affinity: + nodeAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + nodeSelectorTerms: + - matchExpressions: + - key: disktype + operator: In + values: + - ssd + asserts: + - equal: + path: spec.template.spec.affinity + value: + nodeAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + nodeSelectorTerms: + - matchExpressions: + - key: disktype + operator: In + values: + - ssd + + - it: should prefer specific affinity over general + set: + affinity: + nodeAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + nodeSelectorTerms: + - matchExpressions: + - key: disktype + operator: In + values: + - ssd + db.affinity: + nodeAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + nodeSelectorTerms: + - matchExpressions: + - key: disktype + operator: In + values: + - ssd + asserts: + - equal: + path: spec.template.spec.affinity + value: + nodeAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + nodeSelectorTerms: + - matchExpressions: + - key: disktype + operator: In + values: + - ssd + + - it: should verify image pull policies for development snapshots + set: + core.image.tag: "4.0.2-snapshot" + asserts: + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-db')].imagePullPolicy + value: "Always" + + - it: should verify image pull policies for release versions + set: + db.image.pullPolicy: "IfNotPresent" + asserts: + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-db')].imagePullPolicy + value: "IfNotPresent" + + - it: should set default podAnnotations + set: + podAnnotations: + foo: bar + asserts: + - equal: + path: spec.template.metadata.annotations + value: + foo: bar + + - it: should set pod-specific podAnnotations + set: + db.podAnnotations: + foo: bar + asserts: + - equal: + path: spec.template.metadata.annotations + value: + foo: bar + + - it: should set merge pod-specific and default podAnnotations + set: + db.podAnnotations: + foo: bar + podAnnotations: + alice: bob + asserts: + - equal: + path: spec.template.metadata.annotations + value: + alice: bob + foo: bar diff --git a/charts/redhat/redhat/redhat-cryostat/2.0.2/src/tests/db_pvc_test.yaml b/charts/redhat/redhat/redhat-cryostat/2.0.2/src/tests/db_pvc_test.yaml new file mode 100644 index 000000000..e70ecd0ad --- /dev/null +++ b/charts/redhat/redhat/redhat-cryostat/2.0.2/src/tests/db_pvc_test.yaml @@ -0,0 +1,57 @@ +suite: test db_pvc.yaml +templates: + - db_pvc.yaml + +tests: + - it: should create a PersistentVolumeClaim with correct settings + set: + db.pvc: + enabled: true + storage: "10Gi" + accessModes: + - "ReadWriteOnce" + storageClassName: "standard" + annotations: + "volume.beta.kubernetes.io/storage-class": "standard" + selector: + matchLabels: + app: cryostat + asserts: + - hasDocuments: + count: 1 + - equal: + path: kind + value: PersistentVolumeClaim + - equal: + path: metadata.name + value: "RELEASE-NAME-cryostat-db" + - equal: + path: metadata.labels + value: + app.kubernetes.io/instance: RELEASE-NAME + app.kubernetes.io/part-of: cryostat + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: cryostat + app.kubernetes.io/version: "4.0.2-redhat" + helm.sh/chart: cryostat-2.0.2 + - equal: + path: spec.accessModes + value: + - "ReadWriteOnce" + - equal: + path: spec.resources.requests.storage + value: "10Gi" + - equal: + path: spec.storageClassName + value: "standard" + - equal: + path: spec.selector.matchLabels.app + value: "cryostat" + + - it: should not create a PersistentVolumeClaim when PVC is disabled + set: + db.pvc: + enabled: false + asserts: + - hasDocuments: + count: 0 diff --git a/charts/redhat/redhat/redhat-cryostat/2.0.2/src/tests/db_secret_test.yaml b/charts/redhat/redhat/redhat-cryostat/2.0.2/src/tests/db_secret_test.yaml new file mode 100644 index 000000000..1a28fdd48 --- /dev/null +++ b/charts/redhat/redhat/redhat-cryostat/2.0.2/src/tests/db_secret_test.yaml @@ -0,0 +1,40 @@ +suite: test db_secret.yaml +templates: + - db_secret.yaml + +tests: + - it: should create a database secret if core.databaseSecretName is not set + set: + core.databaseSecretName: "" + asserts: + - hasDocuments: + count: 1 + - equal: + path: kind + value: Secret + - equal: + path: metadata.name + value: RELEASE-NAME-db + - equal: + path: type + value: Opaque + - exists: + path: data.ENCRYPTION_KEY + - exists: + path: data.CONNECTION_KEY + - equal: + path: metadata.labels + value: + app.kubernetes.io/instance: RELEASE-NAME + app.kubernetes.io/part-of: cryostat + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: cryostat + app.kubernetes.io/version: 4.0.2-redhat + helm.sh/chart: cryostat-2.0.2 + + - it: should not create a database secret if core.databaseSecretName is set + set: + core.databaseSecretName: "custom-db-secret" + asserts: + - hasDocuments: + count: 0 diff --git a/charts/redhat/redhat/redhat-cryostat/2.0.2/src/tests/db_service_test.yaml b/charts/redhat/redhat/redhat-cryostat/2.0.2/src/tests/db_service_test.yaml new file mode 100644 index 000000000..78b892a2c --- /dev/null +++ b/charts/redhat/redhat/redhat-cryostat/2.0.2/src/tests/db_service_test.yaml @@ -0,0 +1,61 @@ +suite: test db_service.yaml +templates: + - db_service.yaml + +tests: + - it: should create a Service with the correct default settings + asserts: + - hasDocuments: + count: 1 + - equal: + path: kind + value: Service + - equal: + path: metadata.name + value: RELEASE-NAME-cryostat-db + - equal: + path: spec.type + value: ClusterIP + - equal: + path: spec.ports[0].port + value: 5432 + - equal: + path: metadata.labels + value: + app.kubernetes.io/instance: RELEASE-NAME + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: cryostat + app.kubernetes.io/version: "4.0.2-redhat" + helm.sh/chart: cryostat-2.0.2 + app.kubernetes.io/component: db + app.kubernetes.io/part-of: cryostat + + - it: should create a Service with the correct settings overrides + set: + db.service.type: NodeIP + db.service.port: 8080 + asserts: + - hasDocuments: + count: 1 + - equal: + path: kind + value: Service + - equal: + path: metadata.name + value: RELEASE-NAME-cryostat-db + - equal: + path: spec.type + value: NodeIP + - equal: + path: spec.ports[0].port + value: 8080 + - equal: + path: metadata.labels + value: + app.kubernetes.io/instance: RELEASE-NAME + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: cryostat + app.kubernetes.io/version: "4.0.2-redhat" + helm.sh/chart: cryostat-2.0.2 + app.kubernetes.io/component: db + app.kubernetes.io/part-of: cryostat diff --git a/charts/redhat/redhat/redhat-cryostat/2.0.2/src/tests/ingress_test.yaml b/charts/redhat/redhat/redhat-cryostat/2.0.2/src/tests/ingress_test.yaml new file mode 100644 index 000000000..f822dd159 --- /dev/null +++ b/charts/redhat/redhat/redhat-cryostat/2.0.2/src/tests/ingress_test.yaml @@ -0,0 +1,60 @@ +suite: test ingress.yaml +templates: + - ingress.yaml + +tests: + - it: should create an Ingress with default settings + set: + core.ingress.enabled: true + core.service.httpPort: 8080 + core: + ingress: + className: nginx + annotations: + nginx.ingress.kubernetes.io/rewrite-target: / + hosts: + - host: example.com + paths: + - path: / + pathType: Prefix + tls: + - hosts: + - example.com + secretName: example-tls + asserts: + - hasDocuments: + count: 1 + - equal: + path: kind + value: Ingress + - matchRegex: + path: metadata.name + pattern: "RELEASE-NAME-cryostat" + - equal: + path: metadata.annotations['nginx.ingress.kubernetes.io/rewrite-target'] + value: "/" + - equal: + path: spec.rules[0].host + value: "example.com" + - equal: + path: spec.rules[0].http.paths[0].path + value: "/" + - equal: + path: spec.rules[0].http.paths[0].backend.service.name + value: "RELEASE-NAME-cryostat" + - equal: + path: spec.rules[0].http.paths[0].backend.service.port.number + value: 8080 + - equal: + path: spec.ingressClassName + value: "nginx" + - equal: + path: spec.tls[0].secretName + value: "example-tls" + + - it: should not create an Ingress when ingress is disabled + set: + core.ingress.enabled: false + asserts: + - hasDocuments: + count: 0 diff --git a/charts/redhat/redhat/redhat-cryostat/2.0.2/src/tests/networkpolicy_ingress_test.yaml b/charts/redhat/redhat/redhat-cryostat/2.0.2/src/tests/networkpolicy_ingress_test.yaml new file mode 100644 index 000000000..22c7a2bf6 --- /dev/null +++ b/charts/redhat/redhat/redhat-cryostat/2.0.2/src/tests/networkpolicy_ingress_test.yaml @@ -0,0 +1,148 @@ +suite: test networkpolicy_ingress.yaml +templates: + - networkpolicy_ingress.yaml + +tests: + - it: should do nothing if disabled + set: + networkPolicy.ingress.enabled: false + asserts: + - hasDocuments: + count: 0 + + - it: should create policy objects + asserts: + - hasDocuments: + count: 4 + + - it: should create a Cryostat access policy + documentIndex: 0 + asserts: + - equal: + path: kind + value: NetworkPolicy + - equal: + path: metadata.name + value: RELEASE-NAME-cryostat-internal-ingress + - equal: + path: spec.podSelector + value: + matchLabels: + app.kubernetes.io/instance: RELEASE-NAME + app.kubernetes.io/name: cryostat + app.kubernetes.io/part-of: cryostat + app.kubernetes.io/component: cryostat + - equal: + path: spec.ingress + value: + - from: + - namespaceSelector: {} + ports: + - protocol: TCP + port: 4180 + - protocol: TCP + port: 8443 + + - it: should create a report generator access policy + documentIndex: 1 + asserts: + - equal: + path: kind + value: NetworkPolicy + - equal: + path: metadata.name + value: RELEASE-NAME-reports-internal-ingress + - equal: + path: spec.podSelector + value: + matchLabels: + app.kubernetes.io/instance: RELEASE-NAME + app.kubernetes.io/name: cryostat + app.kubernetes.io/part-of: cryostat + app.kubernetes.io/component: reports + - equal: + path: spec.ingress + value: + - from: + - namespaceSelector: + matchLabels: + kubernetes.io/metadata.name: NAMESPACE + podSelector: + matchLabels: + app.kubernetes.io/component: cryostat + app.kubernetes.io/instance: RELEASE-NAME + app.kubernetes.io/name: cryostat + app.kubernetes.io/part-of: cryostat + ports: + - protocol: TCP + port: 4180 + - protocol: TCP + port: 8443 + + - it: should create a database access policy + documentIndex: 2 + asserts: + - equal: + path: kind + value: NetworkPolicy + - equal: + path: metadata.name + value: RELEASE-NAME-db-internal-ingress + - equal: + path: spec.podSelector + value: + matchLabels: + app.kubernetes.io/instance: RELEASE-NAME + app.kubernetes.io/name: cryostat + app.kubernetes.io/part-of: cryostat + app.kubernetes.io/component: db + - equal: + path: spec.ingress + value: + - from: + - namespaceSelector: + matchLabels: + kubernetes.io/metadata.name: NAMESPACE + podSelector: + matchLabels: + app.kubernetes.io/component: cryostat + app.kubernetes.io/instance: RELEASE-NAME + app.kubernetes.io/name: cryostat + app.kubernetes.io/part-of: cryostat + ports: + - protocol: TCP + port: 5432 + + - it: should create a storage access policy + documentIndex: 3 + asserts: + - equal: + path: kind + value: NetworkPolicy + - equal: + path: metadata.name + value: RELEASE-NAME-storage-internal-ingress + - equal: + path: spec.podSelector + value: + matchLabels: + app.kubernetes.io/instance: RELEASE-NAME + app.kubernetes.io/name: cryostat + app.kubernetes.io/part-of: cryostat + app.kubernetes.io/component: storage + - equal: + path: spec.ingress + value: + - from: + - namespaceSelector: + matchLabels: + kubernetes.io/metadata.name: NAMESPACE + podSelector: + matchLabels: + app.kubernetes.io/component: cryostat + app.kubernetes.io/instance: RELEASE-NAME + app.kubernetes.io/name: cryostat + app.kubernetes.io/part-of: cryostat + ports: + - protocol: TCP + port: 8333 diff --git a/charts/redhat/redhat/redhat-cryostat/2.0.2/src/tests/notes_test.yaml b/charts/redhat/redhat/redhat-cryostat/2.0.2/src/tests/notes_test.yaml new file mode 100644 index 000000000..dfaf5259f --- /dev/null +++ b/charts/redhat/redhat/redhat-cryostat/2.0.2/src/tests/notes_test.yaml @@ -0,0 +1,164 @@ +suite: test NOTES.txt +templates: + - NOTES.txt + +tests: + - it: should render correct notes for enabled ingress + set: + core.ingress.enabled: true + core: + ingress: + className: nginx + hosts: + - host: example.com + paths: + - path: / + pathType: Prefix + tls: + - hosts: + - example.com + secretName: example-tls + asserts: + - equalRaw: + value: | + + + 1. Visit the application at: + ``` + https://example.com/ + ``` + + - it: should render correct notes for enabled route without TLS + set: + core.route.enabled: true + core.route.tls.enabled: false + asserts: + - equalRaw: + value: | + + 1. Configure the application to serve external traffic: + ``` + No actions required with this configuration. + ``` + + 2. Visit the application at: + ``` + echo http://$(oc get route -n NAMESPACE RELEASE-NAME-cryostat -o jsonpath="{.status.ingress[0].host}") + ``` + + - it: should render correct notes for enabled route with TLS + set: + core.route.enabled: true + core.route.tls.enabled: true + asserts: + - equalRaw: + value: | + + 1. Configure the application to serve external traffic: + ``` + No actions required with this configuration. + ``` + + 2. Visit the application at: + ``` + echo https://$(oc get route -n NAMESPACE RELEASE-NAME-cryostat -o jsonpath="{.status.ingress[0].host}") + ``` + + - it: should render correct notes for NodePort service without ingress or route + set: + core.service.type: "NodePort" + core.ingress.enabled: false + core.route.enabled: false + asserts: + - equalRaw: + value: | + + 1. Configure the application to serve external traffic: + ``` + export NODE_IP=$(kubectl get nodes -n NAMESPACE -o jsonpath="{.items[0].status.addresses[0].address}") + export NODE_PORT=$(kubectl get -n NAMESPACE -o jsonpath="{.spec.ports[0].nodePort}" services RELEASE-NAME-cryostat) + kubectl -n NAMESPACE set env deploy --containers=cryostat RELEASE-NAME-cryostat-v4 QUARKUS_HTTP_HOST=$NODE_IP + ``` + + 2. Visit the application at: + ``` + echo http://$NODE_IP:$NODE_PORT + ``` + + - it: should render correct notes for LoadBalancer service without ingress or route + set: + core.service.type: "LoadBalancer" + core.ingress.enabled: false + core.route.enabled: false + asserts: + - equalRaw: + value: | + + 1. Configure the application to serve external traffic: + ``` + NOTE: It may take a few minutes for the LoadBalancer IP to be available. + You can watch the status by running 'kubectl get -n NAMESPACE -w svc/RELEASE-NAME-cryostat' + export SERVICE_IP=$(kubectl get svc -n NAMESPACE RELEASE-NAME-cryostat --template "{{ range (index .status.loadBalancer.ingress 0) }}{{.}}{{ end }}") + kubectl -n NAMESPACE set env deploy --containers=cryostat RELEASE-NAME-cryostat-v4 QUARKUS_HTTP_HOST=$SERVICE_IP + ``` + + 2. Visit the application at: + ``` + echo http://$SERVICE_IP:8181 + ``` + + - it: should render correct notes for ClusterIP service without ingress or route and TLS enabled + set: + oauth2Proxy: + tls: + selfSigned: + enabled: true + asserts: + - equalRaw: + value: | + + 1. Configure the application to serve external traffic: + ``` + No actions required with this configuration. + ``` + + 2. Forward local port to the application's service: + ``` + kubectl -n NAMESPACE wait --for=condition=available --timeout=60s deploy/RELEASE-NAME-cryostat-v4 + + export SVC_NAME=$(kubectl get services -n NAMESPACE -l "app.kubernetes.io/name=cryostat,app.kubernetes.io/instance=RELEASE-NAME,app.kubernetes.io/component=cryostat" --sort-by=.metadata.creationTimestamp -o jsonpath="{.items[-1:].metadata.name}") + kubectl -n NAMESPACE port-forward svc/$SVC_NAME 8443:https + ``` + + 3. Visit the application at: + ``` + https://localhost:8443 + ``` + + - it: should render correct notes for ClusterIP service without ingress or route and TLS disabled + set: + oauth2Proxy: + tls: + selfSigned: + enabled: false + asserts: + - equalRaw: + value: | + + 1. Configure the application to serve external traffic: + ``` + No actions required with this configuration. + ``` + + 2. Forward local port to the application's service: + ``` + kubectl -n NAMESPACE wait --for=condition=available --timeout=60s deploy/RELEASE-NAME-cryostat-v4 + + export SVC_NAME=$(kubectl get services -n NAMESPACE -l "app.kubernetes.io/name=cryostat,app.kubernetes.io/instance=RELEASE-NAME,app.kubernetes.io/component=cryostat" --sort-by=.metadata.creationTimestamp -o jsonpath="{.items[-1:].metadata.name}") + kubectl -n NAMESPACE port-forward svc/$SVC_NAME 8080:http + ``` + + 3. Visit the application at: + ``` + http://localhost:8080 + ``` diff --git a/charts/redhat/redhat/redhat-cryostat/2.0.2/src/tests/reports_deployment_test.yaml b/charts/redhat/redhat/redhat-cryostat/2.0.2/src/tests/reports_deployment_test.yaml new file mode 100644 index 000000000..446edf756 --- /dev/null +++ b/charts/redhat/redhat/redhat-cryostat/2.0.2/src/tests/reports_deployment_test.yaml @@ -0,0 +1,316 @@ +suite: test reports_deployment.yaml +templates: + - reports_deployment.yaml + +tests: + - it: should verify general deployment settings when disabled + asserts: + - hasDocuments: + count: 0 + + - it: should verify general deployment settings when enabled + set: + reports: + replicas: 2 + asserts: + - equal: + path: kind + value: Deployment + - equal: + path: metadata.name + value: RELEASE-NAME-cryostat-v4-reports + - equal: + path: spec.replicas + value: 2 + - equal: + path: spec.strategy.type + value: RollingUpdate + - equal: + path: spec.selector.matchLabels + value: + app.kubernetes.io/instance: RELEASE-NAME + app.kubernetes.io/name: cryostat + app.kubernetes.io/component: reports + app.kubernetes.io/part-of: cryostat + - equal: + path: spec.template.metadata.labels + value: + app.kubernetes.io/instance: RELEASE-NAME + app.kubernetes.io/name: cryostat + app.kubernetes.io/part-of: cryostat + app.kubernetes.io/component: reports + - notExists: + path: spec.template.spec.serviceAccountName + - equal: + path: spec.template.spec.securityContext.runAsNonRoot + value: true + - equal: + path: spec.template.spec.securityContext.seccompProfile.type + value: RuntimeDefault + - equal: + path: metadata.labels + value: + helm.sh/chart: cryostat-2.0.2 + app.kubernetes.io/name: cryostat + app.kubernetes.io/instance: RELEASE-NAME + app.kubernetes.io/version: "4.0.2-redhat" + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/component: reports + app.kubernetes.io/part-of: cryostat + + - it: should validate all container settings including environment variables and security contexts + set: + reports: + replicas: 1 + asserts: + - exists: + path: spec.template.spec.containers[?(@.name=='cryostat-reports-authproxy')] + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-reports-authproxy')].image + value: "registry.redhat.io/cryostat/cryostat-ose-oauth-proxy-rhel9" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-reports-authproxy')].ports + value: + - containerPort: 4180 + name: http + protocol: TCP + - exists: + path: spec.template.spec.containers[?(@.name=='cryostat-reports')] + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-reports')].image + value: "registry.redhat.io/cryostat/cryostat-reports-rhel9" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-reports')].env[?(@.name=='QUARKUS_HTTP_PORT')].value + value: "10001" + + - it: should validate authproxy settings when deployed in OpenShift + set: + reports: + replicas: 1 + authentication: + openshift: + enabled: true + asserts: + - exists: + path: spec.template.spec.containers[?(@.name=='cryostat-reports-authproxy')] + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-reports-authproxy')].image + value: "registry.redhat.io/cryostat/cryostat-ose-oauth-proxy-rhel9" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-reports-authproxy')].ports + value: + - containerPort: 4180 + name: http + protocol: TCP + - containerPort: 8443 + name: https + protocol: TCP + + - it: should apply Kubernetes specific settings when configured + set: + reports: + replicas: 1 + nodeSelector: + disktype: ssd + affinity: + nodeAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + nodeSelectorTerms: + - matchExpressions: + - key: disktype + operator: In + values: + - ssd + tolerations: + - key: "key" + operator: "Equal" + value: "value" + effect: "NoSchedule" + asserts: + - exists: + path: spec.template.spec.nodeSelector + - exists: + path: spec.template.spec.affinity + - exists: + path: spec.template.spec.tolerations + + - it: should accept specific nodeSelector setting + set: + reports.replicas: 1 + reports.nodeSelector: + diskType: ssd + asserts: + - equal: + path: spec.template.spec.nodeSelector + value: + diskType: ssd + + - it: should prefer specific nodeSelector over general + set: + reports.replicas: 1 + nodeSelector: + disktype: hdd + reports.nodeSelector: + diskType: ssd + asserts: + - equal: + path: spec.template.spec.nodeSelector + value: + diskType: ssd + + - it: should accept specific tolerations setting + set: + reports.replicas: 1 + reports.tolerations: + - key: "key1" + operator: "Equal" + value: "value1" + effect: "NoSchedule" + asserts: + - equal: + path: spec.template.spec.tolerations + value: + - key: "key1" + operator: "Equal" + value: "value1" + effect: "NoSchedule" + + - it: should prefer specific tolerations over general + set: + reports.replicas: 1 + tolerations: + - key: "key1" + operator: "Equal" + value: "value1" + effect: "NoSchedule" + reports.tolerations: + - key: "key2" + operator: "Equal" + value: "value2" + effect: "NoSchedule" + asserts: + - equal: + path: spec.template.spec.tolerations + value: + - key: "key2" + operator: "Equal" + value: "value2" + effect: "NoSchedule" + + - it: should accept specific affinity setting + set: + reports.replicas: 1 + reports.affinity: + nodeAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + nodeSelectorTerms: + - matchExpressions: + - key: disktype + operator: In + values: + - ssd + asserts: + - equal: + path: spec.template.spec.affinity + value: + nodeAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + nodeSelectorTerms: + - matchExpressions: + - key: disktype + operator: In + values: + - ssd + + - it: should prefer specific affinity over general + set: + reports.replicas: 1 + affinity: + nodeAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + nodeSelectorTerms: + - matchExpressions: + - key: disktype + operator: In + values: + - ssd + reports.affinity: + nodeAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + nodeSelectorTerms: + - matchExpressions: + - key: disktype + operator: In + values: + - ssd + asserts: + - equal: + path: spec.template.spec.affinity + value: + nodeAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + nodeSelectorTerms: + - matchExpressions: + - key: disktype + operator: In + values: + - ssd + + - it: should verify image pull policies for development snapshots + set: + reports: + replicas: 1 + image: + tag: "4.0.2-snapshot" + asserts: + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-reports')].imagePullPolicy + value: "Always" + + - it: should verify image pull policies for release versions + set: + reports: + replicas: 1 + image: + tag: "4.1.0" + pullPolicy: "IfNotPresent" + asserts: + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-reports')].imagePullPolicy + value: "IfNotPresent" + + - it: should set default podAnnotations + set: + reports.replicas: 1 + podAnnotations: + foo: bar + asserts: + - equal: + path: spec.template.metadata.annotations + value: + foo: bar + + - it: should set pod-specific podAnnotations + set: + reports.replicas: 1 + reports.podAnnotations: + foo: bar + asserts: + - equal: + path: spec.template.metadata.annotations + value: + foo: bar + + - it: should set merge pod-specific and default podAnnotations + set: + reports.replicas: 1 + reports.podAnnotations: + foo: bar + podAnnotations: + alice: bob + asserts: + - equal: + path: spec.template.metadata.annotations + value: + alice: bob + foo: bar diff --git a/charts/redhat/redhat/redhat-cryostat/2.0.2/src/tests/reports_secret_test.yaml b/charts/redhat/redhat/redhat-cryostat/2.0.2/src/tests/reports_secret_test.yaml new file mode 100644 index 000000000..05e9ecf57 --- /dev/null +++ b/charts/redhat/redhat/redhat-cryostat/2.0.2/src/tests/reports_secret_test.yaml @@ -0,0 +1,40 @@ +suite: test reports_secret.yaml +templates: + - reports_secret.yaml + +tests: + - it: should create a reports secret if core.reportsSecretName is not set + set: + core.reportsSecretName: "" + asserts: + - hasDocuments: + count: 1 + - equal: + path: kind + value: Secret + - equal: + path: metadata.name + value: RELEASE-NAME-reports-secret + - equal: + path: type + value: Opaque + - exists: + path: data.htpasswd + - exists: + path: data.REPORTS_PASS + - equal: + path: metadata.labels + value: + app.kubernetes.io/instance: RELEASE-NAME + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: cryostat + app.kubernetes.io/part-of: cryostat + app.kubernetes.io/version: 4.0.2-redhat + helm.sh/chart: cryostat-2.0.2 + + - it: should not create a database secret if reports.reportsSecretName is set + set: + reports.reportsSecretName: "custom-reports-secret" + asserts: + - hasDocuments: + count: 0 diff --git a/charts/redhat/redhat/redhat-cryostat/2.0.2/src/tests/reports_service_test.yaml b/charts/redhat/redhat/redhat-cryostat/2.0.2/src/tests/reports_service_test.yaml new file mode 100644 index 000000000..1b346dbbf --- /dev/null +++ b/charts/redhat/redhat/redhat-cryostat/2.0.2/src/tests/reports_service_test.yaml @@ -0,0 +1,78 @@ +suite: test reports_service.yaml +templates: + - reports_service.yaml + +tests: + - it: should do nothing if report generators are not desired + asserts: + - hasDocuments: + count: 0 + + - it: should create a Service targeting the Pod http port + set: + reports: + replicas: 1 + asserts: + - hasDocuments: + count: 1 + - equal: + path: kind + value: Service + - equal: + path: metadata.name + value: RELEASE-NAME-cryostat-reports + - equal: + path: spec.type + value: ClusterIP + - equal: + path: spec.ports[0].port + value: 10001 + - equal: + path: spec.ports[0].targetPort + value: http + - equal: + path: metadata.labels + value: + app.kubernetes.io/instance: RELEASE-NAME + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: cryostat + app.kubernetes.io/part-of: cryostat + app.kubernetes.io/version: "4.0.2-redhat" + helm.sh/chart: cryostat-2.0.2 + app.kubernetes.io/component: reports + + - it: should create a Service targeting the Pod https port when deployed in OpenShift + set: + reports: + replicas: 1 + authentication: + openshift: + enabled: true + asserts: + - hasDocuments: + count: 1 + - equal: + path: kind + value: Service + - equal: + path: metadata.name + value: RELEASE-NAME-cryostat-reports + - equal: + path: spec.type + value: ClusterIP + - equal: + path: spec.ports[0].port + value: 10001 + - equal: + path: spec.ports[0].targetPort + value: https + - equal: + path: metadata.labels + value: + app.kubernetes.io/instance: RELEASE-NAME + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: cryostat + app.kubernetes.io/part-of: cryostat + app.kubernetes.io/version: "4.0.2-redhat" + helm.sh/chart: cryostat-2.0.2 + app.kubernetes.io/component: reports diff --git a/charts/redhat/redhat/redhat-cryostat/2.0.2/src/tests/role_test.yaml b/charts/redhat/redhat/redhat-cryostat/2.0.2/src/tests/role_test.yaml new file mode 100644 index 000000000..8336fa566 --- /dev/null +++ b/charts/redhat/redhat/redhat-cryostat/2.0.2/src/tests/role_test.yaml @@ -0,0 +1,143 @@ +suite: test role.yaml +templates: + - role.yaml + +tests: + - it: should create Roles in target namespace + set: + rbac.create: true + core.discovery.kubernetes.enabled: true + core.discovery.kubernetes.namespaces: + - "default" + - "test-ns" + asserts: + - hasDocuments: + count: 2 + - equal: + path: kind + value: Role + - equal: + path: metadata.namespace + value: "default" + documentIndex: 0 + - equal: + path: metadata.namespace + value: "test-ns" + documentIndex: 1 + - matchRegex: + path: metadata.name + pattern: "RELEASE-NAME-cryostat" + documentIndex: 0 + - matchRegex: + path: metadata.name + pattern: "RELEASE-NAME-cryostat" + documentIndex: 1 + - equal: + path: metadata.labels + value: + app.kubernetes.io/instance: RELEASE-NAME + app.kubernetes.io/part-of: cryostat + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: cryostat + app.kubernetes.io/version: "4.0.2-redhat" + helm.sh/chart: cryostat-2.0.2 + documentIndex: 0 + - equal: + path: metadata.labels + value: + app.kubernetes.io/instance: RELEASE-NAME + app.kubernetes.io/part-of: cryostat + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: cryostat + app.kubernetes.io/version: "4.0.2-redhat" + helm.sh/chart: cryostat-2.0.2 + documentIndex: 1 + + - it: should have correct permissions for endpoints, pods, and other resources + set: + rbac.create: true + core.discovery.kubernetes.enabled: true + core.discovery.kubernetes.namespaces: + - "default" + asserts: + - equal: + path: rules[0].apiGroups + value: [""] + - equal: + path: rules[0].resources + value: ["endpoints"] + - equal: + path: rules[0].verbs + value: ["get", "list", "watch"] + - equal: + path: rules[1].apiGroups + value: [""] + - equal: + path: rules[1].resources + value: ["pods", "replicationcontrollers"] + - equal: + path: rules[1].verbs + value: ["get"] + - equal: + path: rules[2].apiGroups + value: ["apps"] + - equal: + path: rules[2].resources + value: ["replicasets", "deployments", "daemonsets", "statefulsets"] + - equal: + path: rules[2].verbs + value: ["get"] + - equal: + path: rules[3].apiGroups + value: ["apps.openshift.io"] + - equal: + path: rules[3].resources + value: ["deploymentconfigs"] + - equal: + path: rules[3].verbs + value: ["get"] + - equal: + path: rules[4].apiGroups + value: ["route.openshift.io"] + - equal: + path: rules[4].verbs + value: ["get", "list"] + - equal: + path: rules[4].resources + value: ["routes"] + + - it: should not create any Role if RBAC is disabled + set: + rbac.create: false + asserts: + - hasDocuments: + count: 0 + + - it: should not create any Roles when Kubernetes discovery is disabled + set: + rbac.create: true + core.discovery.kubernetes.enabled: false + asserts: + - hasDocuments: + count: 0 + + - it: should not specify a namespace if installNamespaceDisabled is true + set: + rbac.create: true + core.discovery.kubernetes.enabled: true + core.discovery.kubernetes.installNamespaceDisabled: true + asserts: + - hasDocuments: + count: 0 + + - it: should specify the default namespace if installNamespaceDisabled is false + set: + rbac.create: true + core.discovery.kubernetes.enabled: true + core.discovery.kubernetes.installNamespaceDisabled: false + asserts: + - hasDocuments: + count: 1 + - equal: + path: metadata.namespace + value: "NAMESPACE" diff --git a/charts/redhat/redhat/redhat-cryostat/2.0.2/src/tests/rolebinding_test.yaml b/charts/redhat/redhat/redhat-cryostat/2.0.2/src/tests/rolebinding_test.yaml new file mode 100644 index 000000000..05d368453 --- /dev/null +++ b/charts/redhat/redhat/redhat-cryostat/2.0.2/src/tests/rolebinding_test.yaml @@ -0,0 +1,124 @@ +suite: test rolebinding.yaml +templates: + - rolebinding.yaml + +tests: + - it: should create a RoleBinding in the default namespace + set: + rbac.create: true + core.discovery.kubernetes.enabled: true + core.discovery.kubernetes.namespaces: + - "default" + - "test-ns" + asserts: + - hasDocuments: + count: 2 + - equal: + path: kind + value: RoleBinding + documentIndex: 0 + - equal: + path: kind + value: RoleBinding + documentIndex: 1 + - equal: + path: metadata.namespace + value: "default" + documentIndex: 0 + - equal: + path: metadata.namespace + value: "test-ns" + documentIndex: 1 + - matchRegex: + path: metadata.name + pattern: "RELEASE-NAME-cryostat" + documentIndex: 0 + - matchRegex: + path: metadata.name + pattern: "RELEASE-NAME-cryostat" + documentIndex: 1 + - equal: + path: roleRef.apiGroup + value: "rbac.authorization.k8s.io" + documentIndex: 0 + - equal: + path: roleRef.apiGroup + value: "rbac.authorization.k8s.io" + documentIndex: 1 + - equal: + path: roleRef.kind + value: "Role" + documentIndex: 0 + - equal: + path: roleRef.kind + value: "Role" + documentIndex: 1 + - matchRegex: + path: roleRef.name + pattern: "RELEASE-NAME-cryostat" + documentIndex: 0 + - matchRegex: + path: roleRef.name + pattern: "RELEASE-NAME-cryostat" + documentIndex: 1 + - equal: + path: subjects[0].kind + value: "ServiceAccount" + documentIndex: 0 + - equal: + path: subjects[0].kind + value: "ServiceAccount" + documentIndex: 1 + - matchRegex: + path: subjects[0].name + pattern: "RELEASE-NAME-cryostat" + documentIndex: 0 + - matchRegex: + path: subjects[0].name + pattern: "RELEASE-NAME-cryostat" + documentIndex: 1 + - equal: + path: subjects[0].namespace + value: "NAMESPACE" + documentIndex: 0 + - equal: + path: subjects[0].namespace + value: "NAMESPACE" + documentIndex: 1 + + - it: should not create any RoleBinding if RBAC is disabled + set: + rbac.create: false + asserts: + - hasDocuments: + count: 0 + + - it: should not create any RoleBinding when Kubernetes discovery is disabled + set: + rbac.create: true + core.discovery.kubernetes.enabled: false + asserts: + - hasDocuments: + count: 0 + + - it: should not create any RoleBinding if installNamespaceDisabled is true + set: + rbac.create: true + core.discovery.kubernetes.enabled: true + core.discovery.kubernetes.installNamespaceDisabled: true + asserts: + - hasDocuments: + count: 0 + + - it: should create a RoleBinding in the default namespace if installNamespaceDisabled is false + set: + rbac.create: true + core.discovery.kubernetes.enabled: true + core.discovery.kubernetes.namespaces: [] + core.discovery.kubernetes.installNamespaceDisabled: false + asserts: + - hasDocuments: + count: 1 + - equal: + path: metadata.namespace + value: "NAMESPACE" diff --git a/charts/redhat/redhat/redhat-cryostat/2.0.2/src/tests/route_test.yaml b/charts/redhat/redhat/redhat-cryostat/2.0.2/src/tests/route_test.yaml new file mode 100644 index 000000000..f91b1ac1d --- /dev/null +++ b/charts/redhat/redhat/redhat-cryostat/2.0.2/src/tests/route_test.yaml @@ -0,0 +1,75 @@ +suite: test route.yaml +templates: + - route.yaml + +tests: + - it: should create a Route when routing is enabled + set: + core.route.enabled: true + core: + route: + annotations: + hello: world + tls: + enabled: true + termination: edge + insecureEdgeTerminationPolicy: Redirect + key: "RSA PRIVATE KEY" + destinationCACertificate: "DESTINATION CA" + caCertificate: "CA CERT" + certificate: "CERT" + asserts: + - hasDocuments: + count: 1 + - equal: + path: kind + value: Route + - equal: + path: metadata.name + value: "RELEASE-NAME-cryostat" + - equal: + path: metadata.labels + value: + app.kubernetes.io/instance: RELEASE-NAME + app.kubernetes.io/part-of: cryostat + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: cryostat + app.kubernetes.io/version: "4.0.2-redhat" + helm.sh/chart: cryostat-2.0.2 + - equal: + path: metadata.annotations.hello + value: "world" + - equal: + path: spec.to.kind + value: "Service" + - equal: + path: spec.to.name + value: "RELEASE-NAME-cryostat" + - equal: + path: spec.port.targetPort + value: 4180 + - equal: + path: spec.tls.termination + value: "edge" + - equal: + path: spec.tls.insecureEdgeTerminationPolicy + value: "Redirect" + - matchRegex: + path: spec.tls.key + pattern: ".*RSA PRIVATE KEY.*" + - matchRegex: + path: spec.tls.destinationCACertificate + pattern: ".*DESTINATION CA.*" + - matchRegex: + path: spec.tls.caCertificate + pattern: ".*CA CERT.*" + - matchRegex: + path: spec.tls.certificate + pattern: ".*CERT.*" + + - it: should not create a Route when routing is disabled + set: + core.route.enabled: false + asserts: + - hasDocuments: + count: 0 diff --git a/charts/redhat/redhat/redhat-cryostat/2.0.2/src/tests/serviceaccount_test.yaml b/charts/redhat/redhat/redhat-cryostat/2.0.2/src/tests/serviceaccount_test.yaml new file mode 100644 index 000000000..211aa9b37 --- /dev/null +++ b/charts/redhat/redhat/redhat-cryostat/2.0.2/src/tests/serviceaccount_test.yaml @@ -0,0 +1,37 @@ +suite: test serviceaccount.yaml +templates: + - serviceaccount.yaml + +tests: + - it: should create a ServiceAccount with OpenShift redirect annotations when OpenShift auth is enabled + set: + authentication.openshift.enabled: true + serviceAccount.create: true + asserts: + - hasDocuments: + count: 1 + - equal: + path: kind + value: ServiceAccount + - equal: + path: metadata.name + value: "RELEASE-NAME-cryostat" + - equal: + path: metadata.annotations + value: + serviceaccounts.openshift.io/oauth-redirectreference.primary: '{"kind":"OAuthRedirectReference","apiVersion":"v1","reference":{"kind":"Route","name":"RELEASE-NAME-cryostat"}}' + + - it: should not include OpenShift specific annotations when OpenShift auth is disabled + set: + authentication.openshift.enabled: false + serviceAccount.create: true + asserts: + - notExists: + path: metadata.annotations + + - it: should not create a ServiceAccount when serviceAccount.create is disabled + set: + serviceAccount.create: false + asserts: + - hasDocuments: + count: 0 diff --git a/charts/redhat/redhat/redhat-cryostat/2.0.2/src/tests/storage_deployment_test.yaml b/charts/redhat/redhat/redhat-cryostat/2.0.2/src/tests/storage_deployment_test.yaml new file mode 100644 index 000000000..3c92f208c --- /dev/null +++ b/charts/redhat/redhat/redhat-cryostat/2.0.2/src/tests/storage_deployment_test.yaml @@ -0,0 +1,393 @@ +suite: test storage_deployment.yaml +templates: + - storage_deployment.yaml + +tests: + - it: should verify general deployment settings + asserts: + - equal: + path: kind + value: Deployment + - equal: + path: metadata.name + value: RELEASE-NAME-cryostat-v4-storage + - equal: + path: spec.replicas + value: 1 + - equal: + path: spec.strategy.type + value: Recreate + - equal: + path: spec.selector.matchLabels + value: + app.kubernetes.io/instance: RELEASE-NAME + app.kubernetes.io/name: cryostat + app.kubernetes.io/component: storage + app.kubernetes.io/part-of: cryostat + - equal: + path: spec.template.metadata.labels + value: + app.kubernetes.io/instance: RELEASE-NAME + app.kubernetes.io/name: cryostat + app.kubernetes.io/component: storage + app.kubernetes.io/part-of: cryostat + - notExists: + path: spec.template.spec.serviceAccountName + - equal: + path: spec.template.spec.securityContext.runAsNonRoot + value: true + - equal: + path: spec.template.spec.securityContext.seccompProfile.type + value: RuntimeDefault + - equal: + path: metadata.labels + value: + helm.sh/chart: cryostat-2.0.2 + app.kubernetes.io/name: cryostat + app.kubernetes.io/instance: RELEASE-NAME + app.kubernetes.io/version: "4.0.2-redhat" + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/component: storage + app.kubernetes.io/part-of: cryostat + + - it: should validate cryostat-storage settings + asserts: + - exists: + path: spec.template.spec.containers[?(@.name=='cryostat-storage')] + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-storage')].securityContext.allowPrivilegeEscalation + value: false + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-storage')].securityContext.capabilities.drop + value: + - ALL + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-storage')].image + value: "registry.redhat.io/cryostat/cryostat-storage-rhel9" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-storage')].imagePullPolicy + value: "IfNotPresent" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-storage')].env[?(@.name=='CRYOSTAT_BUCKETS')].value + value: "archivedrecordings,archivedreports,eventtemplates,probes" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-storage')].env[?(@.name=='CRYOSTAT_ACCESS_KEY')].value + value: "cryostat" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-storage')].env[?(@.name=='CRYOSTAT_SECRET_KEY')].valueFrom.secretKeyRef + value: + name: "RELEASE-NAME-storage-secret" + key: "STORAGE_ACCESS_KEY" + optional: false + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-storage')].env[?(@.name=='DATA_DIR')].value + value: "/data" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-storage')].env[?(@.name=='IP_BIND')].value + value: 0.0.0.0 + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-storage')].env[?(@.name=='REST_ENCRYPTION_ENABLE')].value + value: "1" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-storage')].ports[0].containerPort + value: 8333 + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-storage')].ports[0].protocol + value: "TCP" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-storage')].volumeMounts[0].mountPath + value: "/data" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-storage')].volumeMounts[0].name + value: "cryostat-storage" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-storage')].volumeMounts[0].subPath + value: "seaweed" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-storage')].livenessProbe.httpGet.path + value: "/status" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-storage')].livenessProbe.httpGet.port + value: 8333 + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-storage')].livenessProbe.periodSeconds + value: 10 + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-storage')].livenessProbe.failureThreshold + value: 2 + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-storage')].startupProbe.httpGet.path + value: "/status" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-storage')].startupProbe.httpGet.port + value: 8333 + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-storage')].startupProbe.periodSeconds + value: 10 + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-storage')].startupProbe.failureThreshold + value: 9 + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-storage')].resources + value: + requests: + cpu: 50m + memory: 256Mi + + - it: should allow disabling at-rest encryption + set: + storage: + encryption: + enabled: false + asserts: + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-storage')].env[?(@.name=='REST_ENCRYPTION_ENABLE')].value + value: "0" + + - it: should set resource overrides + set: + storage: + resources: + limits: + cpu: 2000m + memory: 1Gi + requests: + cpu: 4000m + memory: 2Gi + asserts: + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-storage')].resources + value: + limits: + cpu: 2000m + memory: 1Gi + requests: + cpu: 4000m + memory: 2Gi + + - it: should set PersistentVolumeClaim (pvc) reference + set: + storage: + pvc: + enabled: true + asserts: + - exists: + path: spec.template.spec.volumes[?(@.name=='cryostat-storage')] + - equal: + path: spec.template.spec.volumes[?(@.name=='cryostat-storage')] + value: + name: cryostat-storage + persistentVolumeClaim: + claimName: RELEASE-NAME-storage + + - it: should validate volumes and volume mounts + asserts: + - exists: + path: spec.template.spec.volumes[?(@.name=='cryostat-storage')] + - equal: + path: spec.template.spec.volumes[?(@.name=='cryostat-storage')] + value: + name: cryostat-storage + emptyDir: {} + - exists: + path: spec.template.spec.containers[?(@.name=='cryostat-storage')].volumeMounts[?(@.mountPath=='/data')] + + - it: should set image pull secrets if specified + set: + imagePullSecrets: + - name: myregistrykey + asserts: + - equal: + path: spec.template.spec.imagePullSecrets[0].name + value: "myregistrykey" + + - it: should apply Kubernetes specific settings when configured + set: + nodeSelector: + disktype: ssd + affinity: + nodeAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + nodeSelectorTerms: + - matchExpressions: + - key: disktype + operator: In + values: + - ssd + tolerations: + - key: "key" + operator: "Equal" + value: "value" + effect: "NoSchedule" + asserts: + - exists: + path: spec.template.spec.nodeSelector + - exists: + path: spec.template.spec.affinity + - exists: + path: spec.template.spec.tolerations + + - it: should accept specific nodeSelector setting + set: + storage.nodeSelector: + diskType: ssd + asserts: + - equal: + path: spec.template.spec.nodeSelector + value: + diskType: ssd + + - it: should prefer specific nodeSelector over general + set: + nodeSelector: + disktype: hdd + storage.nodeSelector: + diskType: ssd + asserts: + - equal: + path: spec.template.spec.nodeSelector + value: + diskType: ssd + + - it: should accept specific tolerations setting + set: + storage.tolerations: + - key: "key1" + operator: "Equal" + value: "value1" + effect: "NoSchedule" + asserts: + - equal: + path: spec.template.spec.tolerations + value: + - key: "key1" + operator: "Equal" + value: "value1" + effect: "NoSchedule" + + - it: should prefer specific tolerations over general + set: + tolerations: + - key: "key1" + operator: "Equal" + value: "value1" + effect: "NoSchedule" + storage.tolerations: + - key: "key2" + operator: "Equal" + value: "value2" + effect: "NoSchedule" + asserts: + - equal: + path: spec.template.spec.tolerations + value: + - key: "key2" + operator: "Equal" + value: "value2" + effect: "NoSchedule" + + - it: should accept specific affinity setting + set: + storage.affinity: + nodeAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + nodeSelectorTerms: + - matchExpressions: + - key: disktype + operator: In + values: + - ssd + asserts: + - equal: + path: spec.template.spec.affinity + value: + nodeAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + nodeSelectorTerms: + - matchExpressions: + - key: disktype + operator: In + values: + - ssd + + - it: should prefer specific affinity over general + set: + affinity: + nodeAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + nodeSelectorTerms: + - matchExpressions: + - key: disktype + operator: In + values: + - ssd + storage.affinity: + nodeAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + nodeSelectorTerms: + - matchExpressions: + - key: disktype + operator: In + values: + - ssd + asserts: + - equal: + path: spec.template.spec.affinity + value: + nodeAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + nodeSelectorTerms: + - matchExpressions: + - key: disktype + operator: In + values: + - ssd + + - it: should verify image pull policies for development snapshots + set: + core.image.tag: "4.0.2-snapshot" + asserts: + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-storage')].imagePullPolicy + value: "Always" + + - it: should verify image pull policies for release versions + set: + storage.image.pullPolicy: "IfNotPresent" + asserts: + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-storage')].imagePullPolicy + value: "IfNotPresent" + + - it: should set default podAnnotations + set: + podAnnotations: + foo: bar + asserts: + - equal: + path: spec.template.metadata.annotations + value: + foo: bar + + - it: should set pod-specific podAnnotations + set: + storage.podAnnotations: + foo: bar + asserts: + - equal: + path: spec.template.metadata.annotations + value: + foo: bar + + - it: should set merge pod-specific and default podAnnotations + set: + storage.podAnnotations: + foo: bar + podAnnotations: + alice: bob + asserts: + - equal: + path: spec.template.metadata.annotations + value: + alice: bob + foo: bar diff --git a/charts/redhat/redhat/redhat-cryostat/2.0.2/src/tests/storage_pvc_test.yaml b/charts/redhat/redhat/redhat-cryostat/2.0.2/src/tests/storage_pvc_test.yaml new file mode 100644 index 000000000..9448cac7e --- /dev/null +++ b/charts/redhat/redhat/redhat-cryostat/2.0.2/src/tests/storage_pvc_test.yaml @@ -0,0 +1,57 @@ +suite: test storage_pvc.yaml +templates: + - storage_pvc.yaml + +tests: + - it: should create a PersistentVolumeClaim with correct settings + set: + storage.pvc: + enabled: true + storage: "10Gi" + accessModes: + - "ReadWriteOnce" + storageClassName: "standard" + annotations: + "volume.beta.kubernetes.io/storage-class": "standard" + selector: + matchLabels: + app: cryostat + asserts: + - hasDocuments: + count: 1 + - equal: + path: kind + value: PersistentVolumeClaim + - equal: + path: metadata.name + value: "RELEASE-NAME-cryostat-storage" + - equal: + path: metadata.labels + value: + app.kubernetes.io/instance: RELEASE-NAME + app.kubernetes.io/part-of: cryostat + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: cryostat + app.kubernetes.io/version: "4.0.2-redhat" + helm.sh/chart: cryostat-2.0.2 + - equal: + path: spec.accessModes + value: + - "ReadWriteOnce" + - equal: + path: spec.resources.requests.storage + value: "10Gi" + - equal: + path: spec.storageClassName + value: "standard" + - equal: + path: spec.selector.matchLabels.app + value: "cryostat" + + - it: should not create a PersistentVolumeClaim when PVC is disabled + set: + storage.pvc: + enabled: false + asserts: + - hasDocuments: + count: 0 diff --git a/charts/redhat/redhat/redhat-cryostat/2.0.2/src/tests/storage_secret_test.yaml b/charts/redhat/redhat/redhat-cryostat/2.0.2/src/tests/storage_secret_test.yaml new file mode 100644 index 000000000..d5ebc6c81 --- /dev/null +++ b/charts/redhat/redhat/redhat-cryostat/2.0.2/src/tests/storage_secret_test.yaml @@ -0,0 +1,36 @@ +suite: test storage_secret.yaml +templates: + - storage_secret.yaml + +tests: + - it: should create a Storage Access Secret with correct settings + asserts: + - hasDocuments: + count: 1 + - equal: + path: kind + value: Secret + - equal: + path: metadata.name + value: RELEASE-NAME-storage-secret + - equal: + path: type + value: Opaque + - exists: + path: data.STORAGE_ACCESS_KEY + - equal: + path: metadata.labels + value: + app.kubernetes.io/instance: RELEASE-NAME + app.kubernetes.io/part-of: cryostat + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: cryostat + app.kubernetes.io/version: 4.0.2-redhat + helm.sh/chart: cryostat-2.0.2 + + - it: should not create a storage secret if storage.storageSecretName is set + set: + storage.storageSecretName: "custom-storage-secret" + asserts: + - hasDocuments: + count: 0 diff --git a/charts/redhat/redhat/redhat-cryostat/2.0.2/src/tests/storage_service_test.yaml b/charts/redhat/redhat/redhat-cryostat/2.0.2/src/tests/storage_service_test.yaml new file mode 100644 index 000000000..8a5d04332 --- /dev/null +++ b/charts/redhat/redhat/redhat-cryostat/2.0.2/src/tests/storage_service_test.yaml @@ -0,0 +1,62 @@ +suite: test storage_service.yaml +templates: + - storage_service.yaml + +tests: + - it: should create a Service with the correct default settings + asserts: + - hasDocuments: + count: 1 + - equal: + path: kind + value: Service + - equal: + path: metadata.name + value: RELEASE-NAME-cryostat-storage + - equal: + path: spec.type + value: ClusterIP + - equal: + path: spec.ports[0].port + value: 8333 + - equal: + path: metadata.labels + value: + app.kubernetes.io/instance: RELEASE-NAME + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: cryostat + app.kubernetes.io/version: "4.0.2-redhat" + helm.sh/chart: cryostat-2.0.2 + app.kubernetes.io/component: storage + app.kubernetes.io/part-of: cryostat + + - it: should create a Service with the correct settings overrides + set: + storage.service.type: NodeIP + storage.service.port: 8080 + authentication.openshift.enabled: false + asserts: + - hasDocuments: + count: 1 + - equal: + path: kind + value: Service + - equal: + path: metadata.name + value: RELEASE-NAME-cryostat-storage + - equal: + path: spec.type + value: NodeIP + - equal: + path: spec.ports[0].port + value: 8080 + - equal: + path: metadata.labels + value: + app.kubernetes.io/instance: RELEASE-NAME + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: cryostat + app.kubernetes.io/version: "4.0.2-redhat" + helm.sh/chart: cryostat-2.0.2 + app.kubernetes.io/component: storage + app.kubernetes.io/part-of: cryostat diff --git a/charts/redhat/redhat/redhat-cryostat/2.0.2/src/values.schema.json b/charts/redhat/redhat/redhat-cryostat/2.0.2/src/values.schema.json new file mode 100644 index 000000000..39dfa6859 --- /dev/null +++ b/charts/redhat/redhat/redhat-cryostat/2.0.2/src/values.schema.json @@ -0,0 +1,1160 @@ +{ + "title": "Chart Values", + "type": "object", + "properties": { + "core": { + "type": "object", + "properties": { + "image": { + "type": "object", + "properties": { + "repository": { + "type": "string", + "description": "Repository for the main Cryostat container image", + "default": "registry.redhat.io/cryostat/cryostat-rhel9" + }, + "pullPolicy": { + "type": "string", + "description": "Image pull policy for the main Cryostat container image", + "default": "IfNotPresent" + }, + "tag": { + "type": "string", + "description": "Tag for the main Cryostat container image", + "default": "4.0.2" + } + } + }, + "service": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Type of Service to create for the Cryostat application", + "default": "ClusterIP" + }, + "httpPort": { + "type": "number", + "description": "Port number to expose on the Service for Cryostat's HTTP server", + "default": 8181 + } + } + }, + "debug": { + "type": "object", + "properties": { + "log": { + "type": "object", + "properties": { + "level": { + "type": "string", + "description": "Log level for troubleshooting and debugging", + "default": "INFO" + } + } + } + } + }, + "sslProxied": { + "type": "boolean", + "description": "Enables SSL Proxied Environment Variables, useful when you are offloading SSL/TLS at External Loadbalancer instead of Ingress", + "default": false + }, + "ingress": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether to create an Ingress object for the Cryostat service", + "default": false + }, + "className": { + "type": "string", + "description": "Ingress class name for the Cryostat application Ingress", + "default": "" + }, + "hosts": { + "type": "array", + "description": "", + "items": { + "type": "object", + "properties": { + "host": { + "type": "string", + "description": "" + }, + "paths": { + "type": "array", + "description": "", + "items": { + "type": "object", + "properties": { + "path": { + "type": "string", + "description": "" + }, + "pathType": { + "type": "string", + "description": "" + } + } + } + } + } + } + }, + "tls": { + "type": "array", + "description": "TLS configuration for the Cryostat application Ingress. See: [IngressSpec](https://kubernetes.io/docs/reference/kubernetes-api/service-resources/ingress-v1/#IngressSpec)", + "default": [], + "items": {} + } + } + }, + "route": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether to create a Route object for the Cryostat service. Available only on OpenShift", + "default": true + }, + "tls": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether to secure the Cryostat application Route with TLS. See: [TLSConfig](https://docs.openshift.com/container-platform/4.10/rest_api/network_apis/route-route-openshift-io-v1.html#spec-tls)", + "default": true + }, + "termination": { + "type": "string", + "description": "Type of TLS termination to use for the Cryostat application Route. One of: `edge`, `passthrough`, `reencrypt`", + "default": "edge" + }, + "insecureEdgeTerminationPolicy": { + "type": "string", + "description": "Specify how to handle insecure traffic for the Cryostat application Route. One of: `Allow`, `Disable`, `Redirect`", + "default": "Redirect" + }, + "key": { + "type": "string", + "description": "Custom private key to use when securing the Cryostat application Route", + "default": "" + }, + "certificate": { + "type": "string", + "description": "Custom certificate to use when securing the Cryostat application Route", + "default": "" + }, + "caCertificate": { + "type": "string", + "description": "Custom CA certificate to use, if needed to complete the certificate chain, when securing the Cryostat application Route", + "default": "" + }, + "destinationCACertificate": { + "type": "string", + "description": "Provides the contents of the CA certificate of the final destination when using reencrypt termination for the Cryostat application Route", + "default": "" + } + } + } + } + }, + "resources": { + "type": "object", + "properties": { + "requests": { + "type": "object", + "properties": { + "cpu": { + "type": "string", + "description": "CPU resource request for the Cryostat container. See: [ResourceRequirements](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#resources)", + "default": "500m" + }, + "memory": { + "type": "string", + "description": "Memory resource request for the Cryostat container.", + "default": "384Mi" + } + } + } + } + }, + "securityContext": { + "type": "object", + "properties": { + "capabilities": { + "type": "object", + "properties": { + "drop": { + "type": "array", + "description": "", + "default": [ + "ALL" + ], + "items": { + "type": "string" + } + } + } + }, + "allowPrivilegeEscalation": { + "type": "boolean", + "description": "", + "default": false + } + } + }, + "databaseSecretName": { + "type": "string", + "description": "Name of the secret containing database keys. This secret must contain a CONNECTION_KEY secret which is the database connection password, and an ENCRYPTION_KEY secret which is the key used to encrypt sensitive data stored within the database, such as the target credentials keyring. It must not be updated across chart upgrades. It is recommended that the secret should be marked as immutable to avoid accidental changes to secret's data. More details: https://kubernetes.io/docs/concepts/configuration/secret/#secret-immutable", + "default": "" + }, + "discovery": { + "type": "object", + "properties": { + "kubernetes": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "Enables Kubernetes API discovery mechanism", + "default": true + }, + "installNamespaceDisabled": { + "type": "boolean", + "description": "When false and `namespaces` is empty, the Cryostat application will default to discovery targets in the install namespace (i.e. `{{ .Release.Namespace }}`)", + "default": false + }, + "namespaces": { + "type": "array", + "description": "List of namespaces whose workloads the Cryostat application should be permitted to access and profile", + "default": [], + "items": {} + }, + "builtInPortNamesDisabled": { + "type": "boolean", + "description": "When false and `portNames` is empty, the Cryostat application will use the default port name `jfr-jmx` to look for JMX connectable targets.", + "default": false + }, + "portNames": { + "type": "array", + "description": "List of port names that the Cryostat application should look for in order to consider a target as JMX connectable", + "default": [], + "items": {} + }, + "builtInPortNumbersDisabled": { + "type": "boolean", + "description": "When false and `portNumbers` is empty, the Cryostat application will use the default port number `9091` to look for JMX connectable targets.", + "default": false + }, + "portNumbers": { + "type": "array", + "description": "List of port numbers that the Cryostat application should look for in order to consider a target as JMX connectable", + "default": [], + "items": {} + } + } + } + } + }, + "config": { + "type": "object", + "properties": { + "eventTemplates": { + "type": "object", + "properties": { + "configMapNames": { + "type": "array", + "description": "List of ConfigMap names. Each ConfigMap is expected to contain one or more files, which are .jfc (XML) JFR Event Templates, to be mounted to the Cryostat container.", + "default": [], + "items": {} + } + } + }, + "tlsTruststore": { + "type": "object", + "properties": { + "secretNames": { + "type": "array", + "description": "List of Secret names. Each Secret is expected to contain one or more files, which are TLS certificates which target applications may use for their JMX servers, to be mounted to the Cryostat container for its TLS truststore.", + "default": [], + "items": {} + } + } + } + } + }, + "tolerations": { + "type": "array", + "description": "Tolerations for the Cryostat Pod. See: [Tolerations](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling)", + "default": [], + "items": {} + } + } + }, + "reports": { + "type": "object", + "properties": { + "image": { + "type": "object", + "properties": { + "repository": { + "type": "string", + "description": "Repository for the Report Generator container image", + "default": "registry.redhat.io/cryostat/cryostat-reports-rhel9" + }, + "pullPolicy": { + "type": "string", + "description": "Image pull policy for the Report Generator container image", + "default": "IfNotPresent" + }, + "tag": { + "type": "string", + "description": "Tag for the Report Generator image", + "default": "4.0.2" + } + } + }, + "service": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Type of Service to create for the Report Generator Deployment", + "default": "ClusterIP" + }, + "httpPort": { + "type": "number", + "description": "Port number to expose on the Service for the Report Generator Deployment", + "default": 10001 + } + } + }, + "reportsSecretName": { + "type": "string", + "description": "Name of the secret containing the report generator access keys. This secret must contain a REPORTS_PASS secret which is the secret credential for the report generators. It must not be updated across chart upgrades, or else the connection between Cryostat and report generators will not be able to initialize. It is recommended that the secret should be marked as immutable to avoid accidental changes to secret's data. More details: https://kubernetes.io/docs/concepts/configuration/secret/#secret-immutable", + "default": "" + }, + "securityContext": { + "type": "object", + "properties": { + "capabilities": { + "type": "object", + "properties": { + "drop": { + "type": "array", + "description": "", + "default": [ + "ALL" + ], + "items": { + "type": "string" + } + } + } + }, + "allowPrivilegeEscalation": { + "type": "boolean", + "description": "", + "default": false + } + } + }, + "debug": { + "type": "object", + "properties": { + "log": { + "type": "object", + "properties": { + "level": { + "type": "string", + "description": "Log level for troubleshooting and debugging", + "default": "INFO" + } + } + } + } + }, + "replicas": { + "type": "number", + "description": "Number of Report Generator replicas to deploy. If zero, the Deployment and Service will not be created and the main Cryostat container will handle all report generations on its own.", + "default": 0 + }, + "resources": { + "type": "object", + "properties": { + "requests": { + "type": "object", + "properties": { + "cpu": { + "type": "string", + "description": "CPU resource request for each Pod in the Report Generator Deployment.", + "default": "500m" + }, + "memory": { + "type": "string", + "description": "Memory resource request for each Pod in the Report Generator Deployment.", + "default": "512Mi" + } + } + } + } + }, + "tolerations": { + "type": "array", + "description": "Tolerations for the Report Generator Pods. See: [Tolerations](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling)", + "default": [], + "items": {} + } + } + }, + "db": { + "type": "object", + "properties": { + "image": { + "type": "object", + "properties": { + "repository": { + "type": "string", + "description": "Repository for the database container image", + "default": "registry.redhat.io/cryostat/cryostat-db-rhel9" + }, + "pullPolicy": { + "type": "string", + "description": "Image pull policy for the database container image", + "default": "IfNotPresent" + }, + "tag": { + "type": "string", + "description": "Tag for the database container image", + "default": "4.0.2" + } + } + }, + "service": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Type of Service to create for the database", + "default": "ClusterIP" + }, + "port": { + "type": "number", + "description": "Port number to expose on the Service", + "default": 5432 + } + } + }, + "securityContext": { + "type": "object", + "properties": { + "capabilities": { + "type": "object", + "properties": { + "drop": { + "type": "array", + "description": "", + "default": [ + "ALL" + ], + "items": { + "type": "string" + } + } + } + }, + "allowPrivilegeEscalation": { + "type": "boolean", + "description": "", + "default": false + } + } + }, + "resources": { + "type": "object", + "properties": { + "requests": { + "type": "object", + "properties": { + "cpu": { + "type": "string", + "description": "CPU resource request for the database container. See: [ResourceRequirements](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#resources)", + "default": "25m" + }, + "memory": { + "type": "string", + "description": "Memory resource request for the database container.", + "default": "64Mi" + } + } + } + } + }, + "pvc": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "Specify whether to use persistentVolumeClaim (true) or EmptyDir storage (false). This is recommended to be enabled, but the storage size and selector should be chosen carefully first.", + "default": false + }, + "storage": { + "type": "string", + "description": "Storage size to request for the persistentVolumeClaim", + "default": "500Mi" + }, + "accessModes": { + "type": "array", + "description": "Access mode for the persistentVolumeClaim. See: [Access Modes](https://kubernetes.io/docs/concepts/storage/persistent-volumes/#persistentvolumeclaims)", + "default": [ + "ReadWriteOnce" + ], + "items": { + "type": "string" + } + } + } + }, + "tolerations": { + "type": "array", + "description": "Tolerations for the Database Pod. See: [Tolerations](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling)", + "default": [], + "items": {} + } + } + }, + "storage": { + "type": "object", + "properties": { + "storageSecretName": { + "type": "string", + "description": "Name of the secret containing the object storage secret access key. This secret must contain a STORAGE_ACCESS_KEY secret which is the object storage secret access key. It must not be updated across chart upgrades, or else the connection between Cryostat components and object storage will not be able to initialize. It is recommended that the secret should be marked as immutable to avoid accidental changes to secret's data. More details: https://kubernetes.io/docs/concepts/configuration/secret/#secret-immutable", + "default": "" + }, + "image": { + "type": "object", + "properties": { + "repository": { + "type": "string", + "description": "Repository for the storage container image", + "default": "registry.redhat.io/cryostat/cryostat-storage-rhel9" + }, + "pullPolicy": { + "type": "string", + "description": "Image pull policy for the storage container image", + "default": "IfNotPresent" + }, + "tag": { + "type": "string", + "description": "Tag for the storage container image", + "default": "4.0.2" + } + } + }, + "securityContext": { + "type": "object", + "properties": { + "capabilities": { + "type": "object", + "properties": { + "drop": { + "type": "array", + "description": "", + "default": [ + "ALL" + ], + "items": { + "type": "string" + } + } + } + }, + "allowPrivilegeEscalation": { + "type": "boolean", + "description": "", + "default": false + } + } + }, + "encryption": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "Enable at-rest encryption of stored objects. The storage container will generate a secret key for each stored object and use this key to encrypt and decrypt objects transparently. The key is written to the object metadata, so in the default storage container configuration this only adds a small layer of additional security.", + "default": true + } + } + }, + "service": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Type of Service to create for the object storage", + "default": "ClusterIP" + }, + "port": { + "type": "number", + "description": "Port number to expose on the Service", + "default": 8333 + } + } + }, + "resources": { + "type": "object", + "properties": { + "requests": { + "type": "object", + "properties": { + "cpu": { + "type": "string", + "description": "CPU resource request for the object storage container. See: [ResourceRequirements](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#resources)", + "default": "50m" + }, + "memory": { + "type": "string", + "description": "Memory resource request for the object storage container.", + "default": "256Mi" + } + } + } + } + }, + "pvc": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "Specify whether to use persistentVolumeClaim (true) or EmptyDir storage (false). This is recommended to be enabled, but the storage size and selector should be chosen carefully first.", + "default": false + }, + "storage": { + "type": "string", + "description": "Storage size to request for the persistentVolumeClaim", + "default": "500Mi" + }, + "accessModes": { + "type": "array", + "description": "Access mode for the persistentVolumeClaim. See: [Access Modes](https://kubernetes.io/docs/concepts/storage/persistent-volumes/#persistentvolumeclaims)", + "default": [ + "ReadWriteOnce" + ], + "items": { + "type": "string" + } + } + } + }, + "tolerations": { + "type": "array", + "description": "Tolerations for the Storage Pod. See: [Tolerations](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling)", + "default": [], + "items": {} + } + } + }, + "grafana": { + "type": "object", + "properties": { + "securityContext": { + "type": "object", + "properties": { + "capabilities": { + "type": "object", + "properties": { + "drop": { + "type": "array", + "description": "", + "default": [ + "ALL" + ], + "items": { + "type": "string" + } + } + } + }, + "allowPrivilegeEscalation": { + "type": "boolean", + "description": "", + "default": false + } + } + }, + "image": { + "type": "object", + "properties": { + "repository": { + "type": "string", + "description": "Repository for the Grafana container image", + "default": "registry.redhat.io/cryostat/cryostat-grafana-dashboard-rhel9" + }, + "pullPolicy": { + "type": "string", + "description": "Image pull policy for the Grafana container image", + "default": "IfNotPresent" + }, + "tag": { + "type": "string", + "description": "Tag for the Grafana container image", + "default": "4.0.2" + } + } + }, + "service": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Type of Service to create for Grafana", + "default": "ClusterIP" + }, + "port": { + "type": "number", + "description": "Port number to expose on the Service for Grafana's HTTP server", + "default": 3000 + } + } + }, + "resources": { + "type": "object", + "properties": { + "requests": { + "type": "object", + "properties": { + "cpu": { + "type": "string", + "description": "CPU resource request for the Grafana container. See: [ResourceRequirements](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#resources)", + "default": "25m" + }, + "memory": { + "type": "string", + "description": "Memory resource request for the Grafana container.", + "default": "80Mi" + } + } + } + } + }, + "tolerations": { + "type": "array", + "description": "Tolerations for the Grafana Pod. See: [Tolerations](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling)", + "default": [], + "items": {} + } + } + }, + "datasource": { + "type": "object", + "properties": { + "securityContext": { + "type": "object", + "properties": { + "capabilities": { + "type": "object", + "properties": { + "drop": { + "type": "array", + "description": "", + "default": [ + "ALL" + ], + "items": { + "type": "string" + } + } + } + }, + "allowPrivilegeEscalation": { + "type": "boolean", + "description": "", + "default": false + } + } + }, + "image": { + "type": "object", + "properties": { + "repository": { + "type": "string", + "description": "Repository for the JFR Data Source container image", + "default": "registry.redhat.io/cryostat/jfr-datasource-rhel9" + }, + "pullPolicy": { + "type": "string", + "description": "Image pull policy for the JFR Data Source container image", + "default": "IfNotPresent" + }, + "tag": { + "type": "string", + "description": "Tag for the JFR Data Source container image", + "default": "4.0.2" + } + } + }, + "resources": { + "type": "object", + "properties": { + "requests": { + "type": "object", + "properties": { + "cpu": { + "type": "string", + "description": "CPU resource request for the JFR Data Source container. See: [ResourceRequirements](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#resources)", + "default": "200m" + }, + "memory": { + "type": "string", + "description": "Memory resource request for the JFR Data Source container.", + "default": "200Mi" + } + } + } + } + }, + "tolerations": { + "type": "array", + "description": "Tolerations for the JFR Datasource Pod. See: [Tolerations](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling)", + "default": [], + "items": {} + } + } + }, + "oauth2Proxy": { + "type": "object", + "properties": { + "securityContext": { + "type": "object", + "properties": { + "capabilities": { + "type": "object", + "properties": { + "drop": { + "type": "array", + "description": "", + "default": [ + "ALL" + ], + "items": { + "type": "string" + } + } + } + }, + "allowPrivilegeEscalation": { + "type": "boolean", + "description": "", + "default": false + } + } + }, + "image": { + "type": "object", + "properties": { + "repository": { + "type": "string", + "description": "Repository for the OAuth2 Proxy container image", + "default": "" + }, + "pullPolicy": { + "type": "string", + "description": "Image pull policy for the OAuth2 Proxy container image", + "default": "Never" + }, + "tag": { + "type": "string", + "description": "Tag for the OAuth2 Proxy container image", + "default": "" + } + } + }, + "tls": { + "type": "object", + "properties": { + "selfSigned": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether a self-signed TLS certificate for oauth2-proxy HTTPS is generated and used.", + "default": false + } + } + } + } + }, + "resources": { + "type": "object", + "properties": { + "requests": { + "type": "object", + "properties": { + "cpu": { + "type": "string", + "description": "CPU resource request for the OAuth2 Proxy container.", + "default": "25m" + }, + "memory": { + "type": "string", + "description": "Memory resource request for the OAuth2 Proxy container.", + "default": "64Mi" + } + } + } + } + } + } + }, + "authentication": { + "type": "object", + "properties": { + "cookieSecretName": { + "type": "string", + "description": "Name of the secret containing the authenticating proxy cookie encryption key. This secret must contain a COOKIE_SECRET secret which is the cookie encryption key. It must not be updated across chart upgrades, or else existing user login sessions will be invalidated. It is recommended that the secret should be marked as immutable to avoid accidental changes to secret's data. More details: https://kubernetes.io/docs/concepts/configuration/secret/#secret-immutable", + "default": "" + }, + "openshift": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether the OAuth Proxy deployed for securing Cryostat's Pods should be one that integrates with OpenShift-specific features, or a generic one.", + "default": true + }, + "clusterRole": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the ClusterRole to bind for the OpenShift OAuth Proxy", + "default": "system:auth-delegator" + } + } + } + } + }, + "basicAuth": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether Cryostat should use basic authentication for users. When false, Cryostat will not perform any form of authentication", + "default": false + }, + "secretName": { + "type": "string", + "description": "Name of the Secret that contains the credentials within Cryostat's namespace **(Required if basicAuth is enabled)**", + "default": "" + }, + "filename": { + "type": "string", + "description": "Key within Secret containing the `htpasswd` file. The file should contain one user definition entry per line, with the syntax \"user:passHash\", where \"user\" is the username and \"passHash\" is the `bcrypt` hash of the desired password. Such an entry can be generated with ex. `htpasswd -nbB username password` **(Required if basicAuth is enabled)**", + "default": "" + } + } + } + } + }, + "openshiftOauthProxy": { + "type": "object", + "properties": { + "securityContext": { + "type": "object", + "properties": { + "capabilities": { + "type": "object", + "properties": { + "drop": { + "type": "array", + "description": "", + "default": [ + "ALL" + ], + "items": { + "type": "string" + } + } + } + }, + "allowPrivilegeEscalation": { + "type": "boolean", + "description": "", + "default": false + } + } + }, + "image": { + "type": "object", + "properties": { + "repository": { + "type": "string", + "description": "Repository for the OpenShift OAuth Proxy container image", + "default": "registry.redhat.io/cryostat/cryostat-ose-oauth-proxy-rhel9" + }, + "pullPolicy": { + "type": "string", + "description": "Image pull policy for the OpenShift OAuth Proxy container image", + "default": "IfNotPresent" + }, + "tag": { + "type": "string", + "description": "Tag for the OpenShift OAuth Proxy container image", + "default": "4.0.2" + } + } + }, + "resources": { + "type": "object", + "properties": { + "requests": { + "type": "object", + "properties": { + "cpu": { + "type": "string", + "description": "CPU resource request for the OpenShift OAuth Proxy container.", + "default": "25m" + }, + "memory": { + "type": "string", + "description": "Memory resource request for the OpenShift OAuth Proxy container.", + "default": "64Mi" + } + } + } + } + }, + "accessReview": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether the SubjectAccessReview/TokenAccessReview role checks for users and clients are enabled. If this is disabled then the proxy will only check that the user has valid credentials or holds a valid token.", + "default": true + }, + "group": { + "type": "string", + "description": "The OpenShift resource group that the SubjectAccessReview/TokenAccessReview will be performed for. See https://github.com/openshift/oauth-proxy/?tab=readme-ov-file#delegate-authentication-and-authorization-to-openshift-for-infrastructure", + "default": "" + }, + "resource": { + "type": "string", + "description": "The OpenShift resource that the SubjectAccessReview/TokenAccessReview will be performed for.", + "default": "pods" + }, + "subresource": { + "type": "string", + "description": "The OpenShift resource that the SubjectAccessReview/TokenAccessReview will be performed for.", + "default": "exec" + }, + "name": { + "type": "string", + "description": "The OpenShift resource name that the SubjectAccessReview/TokenAccessReview will be performed for.", + "default": "" + }, + "namespace": { + "type": "string", + "description": "The OpenShift namespace that the SubjectAccessReview/TokenAccessReview will be performed for.", + "default": "{{ .Release.Namespace }}" + }, + "verb": { + "type": "string", + "description": "The OpenShift resource name that the SubjectAccessReview/TokenAccessReview will be performed for.", + "default": "create" + }, + "version": { + "type": "string", + "description": "The OpenShift resource version that the SubjectAccessReview/TokenAccessReview will be performed for.", + "default": "" + } + } + } + } + }, + "podSecurityContext": { + "type": "object", + "properties": { + "seccompProfile": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "", + "default": "RuntimeDefault" + } + } + }, + "runAsNonRoot": { + "type": "boolean", + "description": "", + "default": true + } + } + }, + "imagePullSecrets": { + "type": "array", + "description": "Image pull secrets to be used for the Cryostat deployment", + "default": [], + "items": {} + }, + "nameOverride": { + "type": "string", + "description": "Overrides the name of this Chart", + "default": "" + }, + "fullnameOverride": { + "type": "string", + "description": "Overrides the fully qualified application name of `[release name]-[chart name]`", + "default": "" + }, + "rbac": { + "type": "object", + "properties": { + "create": { + "type": "boolean", + "description": "Specifies whether RBAC resources should be created", + "default": true + } + } + }, + "serviceAccount": { + "type": "object", + "properties": { + "create": { + "type": "boolean", + "description": "Specifies whether a service account should be created", + "default": true + }, + "name": { + "type": "string", + "description": "The name of the service account to use. If not set and create is true, a name is generated using the fullname template", + "default": "" + } + } + }, + "networkPolicy": { + "type": "object", + "properties": { + "ingress": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "whether a NetworkPolicy for restricting Cryostat component Pods' traffic is installed. This prevents other Pods from sending unwanted traffic to Cryostat's Pods. Traffic should flow via the Service (or Route, or other Ingress) only, not by directly targeting Pods.", + "default": true + } + } + } + } + }, + "tolerations": { + "type": "array", + "description": "default Tolerations for the various Pods. See: [Tolerations](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling)", + "default": [], + "items": {} + } + } +} \ No newline at end of file diff --git a/charts/redhat/redhat/redhat-cryostat/2.0.2/src/values.yaml b/charts/redhat/redhat/redhat-cryostat/2.0.2/src/values.yaml new file mode 100644 index 000000000..9e584c8e3 --- /dev/null +++ b/charts/redhat/redhat/redhat-cryostat/2.0.2/src/values.yaml @@ -0,0 +1,456 @@ +## @section Cryostat Container +## @extra core Configuration for the core Cryostat application +core: + image: + ## @param core.image.repository Repository for the main Cryostat container image + repository: "registry.redhat.io/cryostat/cryostat-rhel9" + ## @param core.image.pullPolicy Image pull policy for the main Cryostat container image + pullPolicy: IfNotPresent + ## @param core.image.tag Tag for the main Cryostat container image + tag: "4.0.2" + ## @param core.podAnnotations [object] Annotations to be applied to the Cryostat Pods + podAnnotations: {} + service: + ## @param core.service.type Type of Service to create for the Cryostat application + type: ClusterIP + ## @param core.service.httpPort Port number to expose on the Service for Cryostat's HTTP server + httpPort: 8181 + debug: + log: + ## @param core.debug.log.level Log level for troubleshooting and debugging + level: INFO + ## @param core.sslProxied Enables SSL Proxied Environment Variables, useful when you are offloading SSL/TLS at External Loadbalancer instead of Ingress + sslProxied: false + ingress: + ## @param core.ingress.enabled Whether to create an Ingress object for the Cryostat service + enabled: false + ## @param core.ingress.className Ingress class name for the Cryostat application Ingress + className: "" + ## @param core.ingress.annotations [object] Annotations to apply to the Cryostat application Ingress + annotations: {} + ## @param core.ingress.hosts [array] Hosts to create rules for in the Cryostat application Ingress. See: [IngressSpec](https://kubernetes.io/docs/reference/kubernetes-api/service-resources/ingress-v1/#IngressSpec) + hosts: + - host: cryostat.local + paths: + - path: / + pathType: ImplementationSpecific + ## @param core.ingress.tls [array] TLS configuration for the Cryostat application Ingress. See: [IngressSpec](https://kubernetes.io/docs/reference/kubernetes-api/service-resources/ingress-v1/#IngressSpec) + tls: [] + route: + ## @param core.route.enabled Whether to create a Route object for the Cryostat service. Available only on OpenShift + enabled: true + tls: + ## @param core.route.tls.enabled Whether to secure the Cryostat application Route with TLS. See: [TLSConfig](https://docs.openshift.com/container-platform/4.10/rest_api/network_apis/route-route-openshift-io-v1.html#spec-tls) + enabled: true + ## @param core.route.tls.termination Type of TLS termination to use for the Cryostat application Route. One of: `edge`, `passthrough`, `reencrypt` + termination: edge + ## @param core.route.tls.insecureEdgeTerminationPolicy Specify how to handle insecure traffic for the Cryostat application Route. One of: `Allow`, `Disable`, `Redirect` + insecureEdgeTerminationPolicy: Redirect + ## @param core.route.tls.key Custom private key to use when securing the Cryostat application Route + key: "" + ## @param core.route.tls.certificate Custom certificate to use when securing the Cryostat application Route + certificate: "" + ## @param core.route.tls.caCertificate Custom CA certificate to use, if needed to complete the certificate chain, when securing the Cryostat application Route + caCertificate: "" + ## @param core.route.tls.destinationCACertificate Provides the contents of the CA certificate of the final destination when using reencrypt termination for the Cryostat application Route + destinationCACertificate: "" + resources: + requests: + ## @param core.resources.requests.cpu CPU resource request for the Cryostat container. See: [ResourceRequirements](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#resources) + cpu: 500m + ## @param core.resources.requests.memory Memory resource request for the Cryostat container. + memory: 384Mi + ## @param core.securityContext [object] Security Context for the Cryostat container. Defaults to meet "restricted" [Pod Security Standard](https://kubernetes.io/docs/concepts/security/pod-security-standards/#restricted). See: [SecurityContext](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#security-context-1) + securityContext: + ## @skip core.securityContext.allowPrivilegeEscalation + allowPrivilegeEscalation: false + ## @skip core.securityContext.capabilities + capabilities: + drop: + - ALL + ## @param core.databaseSecretName Name of the secret containing database keys. This secret must contain a CONNECTION_KEY secret which is the database connection password, and an ENCRYPTION_KEY secret which is the key used to encrypt sensitive data stored within the database, such as the target credentials keyring. It must not be updated across chart upgrades. It is recommended that the secret should be marked as immutable to avoid accidental changes to secret's data. More details: https://kubernetes.io/docs/concepts/configuration/secret/#secret-immutable + databaseSecretName: "" + ## @extra core.discovery Configuration options to the Cryostat application's target discovery mechanisms + discovery: + kubernetes: + ## @param core.discovery.kubernetes.enabled Enables Kubernetes API discovery mechanism + enabled: true + ## @param core.discovery.kubernetes.installNamespaceDisabled When false and `namespaces` is empty, the Cryostat application will default to discovery targets in the install namespace (i.e. `{{ .Release.Namespace }}`) + installNamespaceDisabled: false + ## @param core.discovery.kubernetes.namespaces [array] List of namespaces whose workloads the Cryostat application should be permitted to access and profile + namespaces: [] + ## @param core.discovery.kubernetes.builtInPortNamesDisabled When false and `portNames` is empty, the Cryostat application will use the default port name `jfr-jmx` to look for JMX connectable targets. + builtInPortNamesDisabled: false + ## @param core.discovery.kubernetes.portNames [array] List of port names that the Cryostat application should look for in order to consider a target as JMX connectable + portNames: [] + ## @param core.discovery.kubernetes.builtInPortNumbersDisabled When false and `portNumbers` is empty, the Cryostat application will use the default port number `9091` to look for JMX connectable targets. + builtInPortNumbersDisabled: false + ## @param core.discovery.kubernetes.portNumbers [array] List of port numbers that the Cryostat application should look for in order to consider a target as JMX connectable + portNumbers: [] + config: + eventTemplates: + ## @param core.config.eventTemplates.configMapNames [array] List of ConfigMap names. Each ConfigMap is expected to contain one or more files, which are .jfc (XML) JFR Event Templates, to be mounted to the Cryostat container. + configMapNames: [] + tlsTruststore: + ## @param core.config.tlsTruststore.secretNames [array] List of Secret names. Each Secret is expected to contain one or more files, which are TLS certificates which target applications may use for their JMX servers, to be mounted to the Cryostat container for its TLS truststore. + secretNames: [] + ## @param core.nodeSelector [object] Node Selector for the Cryostat Pod. See: [NodeSelector](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling) + nodeSelector: {} + ## @param core.tolerations [array] Tolerations for the Cryostat Pod. See: [Tolerations](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling) + tolerations: [] + ## @param core.affinity [object] Affinity for the Cryostat Pod. See: [Affinity](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling) + affinity: {} + +## @section Report Generator Deployment +## @extra reports Configuration for the Reports Generator deployment +reports: + image: + ## @param reports.image.repository Repository for the Report Generator container image + repository: "registry.redhat.io/cryostat/cryostat-reports-rhel9" + ## @param reports.image.pullPolicy Image pull policy for the Report Generator container image + pullPolicy: IfNotPresent + ## @param reports.image.tag Tag for the Report Generator image + tag: "4.0.2" + ## @param reports.podAnnotations [object] Annotations to be applied to the Report Generator Pods + podAnnotations: {} + service: + ## @param reports.service.type Type of Service to create for the Report Generator Deployment + type: ClusterIP + ## @param reports.service.httpPort Port number to expose on the Service for the Report Generator Deployment + httpPort: 10001 + ## @param reports.reportsSecretName Name of the secret containing the report generator access keys. This secret must contain a REPORTS_PASS secret which is the secret credential for the report generators. It must not be updated across chart upgrades, or else the connection between Cryostat and report generators will not be able to initialize. It is recommended that the secret should be marked as immutable to avoid accidental changes to secret's data. More details: https://kubernetes.io/docs/concepts/configuration/secret/#secret-immutable + reportsSecretName: "" + debug: + log: + ## @param reports.debug.log.level Log level for troubleshooting and debugging + level: INFO + ## @param reports.replicas Number of Report Generator replicas to deploy. If zero, the Deployment and Service will not be created and the main Cryostat container will handle all report generations on its own. + replicas: 0 + resources: + requests: + ## @param reports.resources.requests.cpu CPU resource request for each Pod in the Report Generator Deployment. + cpu: 500m + ## @param reports.resources.requests.memory Memory resource request for each Pod in the Report Generator Deployment. + memory: 512Mi + ## @param reports.securityContext [object] Security Context for the Report Generator containers. Defaults to meet "restricted" [Pod Security Standard](https://kubernetes.io/docs/concepts/security/pod-security-standards/#restricted). See: [SecurityContext](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#security-context-1) + securityContext: + ## @skip reports.securityContext.allowPrivilegeEscalation + allowPrivilegeEscalation: false + ## @skip reports.securityContext.capabilities + capabilities: + drop: + - ALL + ## @param reports.nodeSelector [object] Node Selector for the Report Generator Pods. See: [NodeSelector](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling) + nodeSelector: {} + ## @param reports.tolerations [array] Tolerations for the Report Generator Pods. See: [Tolerations](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling) + tolerations: [] + ## @param reports.affinity [object] Affinity for the Report Generator Pods. See: [Affinity](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling) + affinity: {} + +## @section Database Container +## @extra db Configuration for Cryostat's database +db: + image: + ## @param db.image.repository Repository for the database container image + repository: "registry.redhat.io/cryostat/cryostat-db-rhel9" + ## @param db.image.pullPolicy Image pull policy for the database container image + pullPolicy: IfNotPresent + ## @param db.image.tag Tag for the database container image + tag: "4.0.2" + ## @param db.podAnnotations [object] Annotations to be applied to the Database Pods + podAnnotations: {} + service: + ## @param db.service.type Type of Service to create for the database + type: ClusterIP + ## @param db.service.port Port number to expose on the Service + port: 5432 + resources: + requests: + ## @param db.resources.requests.cpu CPU resource request for the database container. See: [ResourceRequirements](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#resources) + cpu: 25m + ## @param db.resources.requests.memory Memory resource request for the database container. + memory: 64Mi + pvc: + ## @param db.pvc.enabled Specify whether to use persistentVolumeClaim (true) or EmptyDir storage (false). This is recommended to be enabled, but the storage size and selector should be chosen carefully first. + enabled: false + ## @param db.pvc.annotations [object] Annotations to add to the persistentVolumeClaim + annotations: {} + ## @param db.pvc.storage Storage size to request for the persistentVolumeClaim + storage: 500Mi + ## @param db.pvc.accessModes Access mode for the persistentVolumeClaim. See: [Access Modes](https://kubernetes.io/docs/concepts/storage/persistent-volumes/#persistentvolumeclaims) + accessModes: + - ReadWriteOnce + ## @param db.pvc.selector [object] Selector for the persistentVolumeClaim. See: [Selector](https://kubernetes.io/docs/concepts/storage/persistent-volumes/#persistentvolumeclaims) + selector: {} + ## @param db.pvc.storageClassName [string, nullable] The name of the StorageClass for the persistentVolumeClaim. See: [Class](https://kubernetes.io/docs/concepts/storage/persistent-volumes/#persistentvolumeclaims) + # storageClassName: "" + ## @param db.securityContext [object] Security Context for the database container. Defaults to meet "restricted" [Pod Security Standard](https://kubernetes.io/docs/concepts/security/pod-security-standards/#restricted). See: [SecurityContext](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#security-context-1) + securityContext: + ## @skip db.securityContext.allowPrivilegeEscalation + allowPrivilegeEscalation: false + ## @skip db.securityContext.capabilities + capabilities: + drop: + - ALL + ## @param db.nodeSelector [object] Node Selector for the Database Pod. See: [NodeSelector](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling) + nodeSelector: {} + ## @param db.tolerations [array] Tolerations for the Database Pod. See: [Tolerations](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling) + tolerations: [] + ## @param db.affinity [object] Affinity for the Database Pod. See: [Affinity](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling) + affinity: {} + +## @section Storage Container +## @extra storage Configuration for Cryostat's object storage provider +storage: + ## @param storage.storageSecretName Name of the secret containing the object storage secret access key. This secret must contain a STORAGE_ACCESS_KEY secret which is the object storage secret access key. It must not be updated across chart upgrades, or else the connection between Cryostat components and object storage will not be able to initialize. It is recommended that the secret should be marked as immutable to avoid accidental changes to secret's data. More details: https://kubernetes.io/docs/concepts/configuration/secret/#secret-immutable + storageSecretName: "" + image: + ## @param storage.image.repository Repository for the storage container image + repository: "registry.redhat.io/cryostat/cryostat-storage-rhel9" + ## @param storage.image.pullPolicy Image pull policy for the storage container image + pullPolicy: IfNotPresent + ## @param storage.image.tag Tag for the storage container image + tag: "4.0.2" + encryption: + ## @param storage.encryption.enabled Enable at-rest encryption of stored objects. The storage container will generate a secret key for each stored object and use this key to encrypt and decrypt objects transparently. The key is written to the object metadata, so in the default storage container configuration this only adds a small layer of additional security. + enabled: true + ## @param storage.podAnnotations [object] Annotations to be applied to the Storage Pods + podAnnotations: {} + service: + ## @param storage.service.type Type of Service to create for the object storage + type: ClusterIP + ## @param storage.service.port Port number to expose on the Service + port: 8333 + resources: + requests: + ## @param storage.resources.requests.cpu CPU resource request for the object storage container. See: [ResourceRequirements](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#resources) + cpu: 50m + ## @param storage.resources.requests.memory Memory resource request for the object storage container. + memory: 256Mi + pvc: + ## @param storage.pvc.enabled Specify whether to use persistentVolumeClaim (true) or EmptyDir storage (false). This is recommended to be enabled, but the storage size and selector should be chosen carefully first. + enabled: false + ## @param storage.pvc.annotations [object] Annotations to add to the persistentVolumeClaim + annotations: {} + ## @param storage.pvc.storage Storage size to request for the persistentVolumeClaim + storage: 500Mi + ## @param storage.pvc.accessModes Access mode for the persistentVolumeClaim. See: [Access Modes](https://kubernetes.io/docs/concepts/storage/persistent-volumes/#persistentvolumeclaims) + accessModes: + - ReadWriteOnce + ## @param storage.pvc.selector [object] Selector for the persistentVolumeClaim. See: [Selector](https://kubernetes.io/docs/concepts/storage/persistent-volumes/#persistentvolumeclaims) + selector: {} + ## @param storage.pvc.storageClassName [string, nullable] The name of the StorageClass for the persistentVolumeClaim. See: [Class](https://kubernetes.io/docs/concepts/storage/persistent-volumes/#persistentvolumeclaims) + # storageClassName: "" + ## @param storage.securityContext [object] Security Context for the storage container. Defaults to meet "restricted" [Pod Security Standard](https://kubernetes.io/docs/concepts/security/pod-security-standards/#restricted). See: [SecurityContext](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#security-context-1) + securityContext: + ## @skip storage.securityContext.allowPrivilegeEscalation + allowPrivilegeEscalation: false + ## @skip storage.securityContext.capabilities + capabilities: + drop: + - ALL + ## @param storage.nodeSelector [object] Node Selector for the Storage Pod. See: [NodeSelector](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling) + nodeSelector: {} + ## @param storage.tolerations [array] Tolerations for the Storage Pod. See: [Tolerations](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling) + tolerations: [] + ## @param storage.affinity [object] Affinity for the Storage Pod. See: [Affinity](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling) + affinity: {} + +## @section Grafana Container +## @extra grafana Configuration for the customized Grafana instance for Cryostat +grafana: + image: + ## @param grafana.image.repository Repository for the Grafana container image + repository: "registry.redhat.io/cryostat/cryostat-grafana-dashboard-rhel9" + ## @param grafana.image.pullPolicy Image pull policy for the Grafana container image + pullPolicy: IfNotPresent + ## @param grafana.image.tag Tag for the Grafana container image + tag: "4.0.2" + service: + ## @param grafana.service.type Type of Service to create for Grafana + type: ClusterIP + ## @param grafana.service.port Port number to expose on the Service for Grafana's HTTP server + port: 3000 + resources: + requests: + ## @param grafana.resources.requests.cpu CPU resource request for the Grafana container. See: [ResourceRequirements](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#resources) + cpu: 25m + ## @param grafana.resources.requests.memory Memory resource request for the Grafana container. + memory: 80Mi + ## @param grafana.securityContext [object] Security Context for the Grafana container. Defaults to meet "restricted" [Pod Security Standard](https://kubernetes.io/docs/concepts/security/pod-security-standards/#restricted). See: [SecurityContext](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#security-context-1) + securityContext: + ## @skip grafana.securityContext.allowPrivilegeEscalation + allowPrivilegeEscalation: false + ## @skip grafana.securityContext.capabilities + capabilities: + drop: + - ALL + ## @param grafana.nodeSelector [object] Node Selector for the Grafana Pod. See: [NodeSelector](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling) + nodeSelector: {} + ## @param grafana.tolerations [array] Tolerations for the Grafana Pod. See: [Tolerations](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling) + tolerations: [] + +## @section JFR Data Source Container +## @extra datasource Configuration for the JFR Data Source component, which translates recording events into a format consumable by Grafana +datasource: + image: + ## @param datasource.image.repository Repository for the JFR Data Source container image + repository: "registry.redhat.io/cryostat/jfr-datasource-rhel9" + ## @param datasource.image.pullPolicy Image pull policy for the JFR Data Source container image + pullPolicy: IfNotPresent + ## @param datasource.image.tag Tag for the JFR Data Source container image + tag: "4.0.2" + resources: + requests: + ## @param datasource.resources.requests.cpu CPU resource request for the JFR Data Source container. See: [ResourceRequirements](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#resources) + cpu: 200m + ## @param datasource.resources.requests.memory Memory resource request for the JFR Data Source container. + memory: 200Mi + ## @param datasource.securityContext [object] Security Context for the JFR Data Source container. Defaults to meet "restricted" [Pod Security Standard](https://kubernetes.io/docs/concepts/security/pod-security-standards/#restricted). See: [SecurityContext](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#security-context-1) + securityContext: + ## @skip datasource.securityContext.allowPrivilegeEscalation + allowPrivilegeEscalation: false + ## @skip datasource.securityContext.capabilities + capabilities: + drop: + - ALL + ## @param datasource.nodeSelector [object] Node Selector for the JFR Datasource Pod. See: [NodeSelector](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling) + nodeSelector: {} + ## @param datasource.tolerations [array] Tolerations for the JFR Datasource Pod. See: [Tolerations](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling) + tolerations: [] + +## @section Authentication + +authentication: + ## @param authentication.cookieSecretName Name of the secret containing the authenticating proxy cookie encryption key. This secret must contain a COOKIE_SECRET secret which is the cookie encryption key. It must not be updated across chart upgrades, or else existing user login sessions will be invalidated. It is recommended that the secret should be marked as immutable to avoid accidental changes to secret's data. More details: https://kubernetes.io/docs/concepts/configuration/secret/#secret-immutable + cookieSecretName: "" + openshift: + ## @param authentication.openshift.enabled Whether the OAuth Proxy deployed for securing Cryostat's Pods should be one that integrates with OpenShift-specific features, or a generic one. + enabled: true + clusterRole: + ## @param authentication.openshift.clusterRole.name The name of the ClusterRole to bind for the OpenShift OAuth Proxy + name: system:auth-delegator + basicAuth: + ## @param authentication.basicAuth.enabled Whether Cryostat should use basic authentication for users. When false, Cryostat will not perform any form of authentication + enabled: false + ## @param authentication.basicAuth.secretName Name of the Secret that contains the credentials within Cryostat's namespace **(Required if basicAuth is enabled)** + secretName: "" + ## @param authentication.basicAuth.filename Key within Secret containing the `htpasswd` file. The file should contain one user definition entry per line, with the syntax "user:passHash", where "user" is the username and "passHash" is the `bcrypt` hash of the desired password. Such an entry can be generated with ex. `htpasswd -nbB username password` **(Required if basicAuth is enabled)** + filename: "" + +## @section OAuth2 Proxy + +oauth2Proxy: + image: + ## @param oauth2Proxy.image.repository Repository for the OAuth2 Proxy container image + repository: "" + ## @param oauth2Proxy.image.pullPolicy Image pull policy for the OAuth2 Proxy container image + pullPolicy: Never + ## @param oauth2Proxy.image.tag Tag for the OAuth2 Proxy container image + tag: "" + tls: + selfSigned: + ## @param oauth2Proxy.tls.selfSigned.enabled Whether a self-signed TLS certificate for oauth2-proxy HTTPS is generated and used. + enabled: false + resources: + requests: + ## @param oauth2Proxy.resources.requests.cpu CPU resource request for the OAuth2 Proxy container. + cpu: 25m + ## @param oauth2Proxy.resources.requests.memory Memory resource request for the OAuth2 Proxy container. + memory: 64Mi + ## @param oauth2Proxy.securityContext [object] Security Context for the OAuth2 Proxy container. Defaults to meet "restricted" [Pod Security Standard](https://kubernetes.io/docs/concepts/security/pod-security-standards/#restricted). See: [SecurityContext](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#security-context-1). + securityContext: + ## @skip oauth2Proxy.securityContext.allowPrivilegeEscalation + allowPrivilegeEscalation: false + ## @skip oauth2Proxy.securityContext.capabilities + capabilities: + drop: + - ALL + +## @section OpenShift OAuth Proxy + +openshiftOauthProxy: + image: + ## @param openshiftOauthProxy.image.repository Repository for the OpenShift OAuth Proxy container image + repository: "registry.redhat.io/cryostat/cryostat-ose-oauth-proxy-rhel9" + ## @param openshiftOauthProxy.image.pullPolicy Image pull policy for the OpenShift OAuth Proxy container image + pullPolicy: IfNotPresent + ## @param openshiftOauthProxy.image.tag Tag for the OpenShift OAuth Proxy container image + tag: "4.0.2" + resources: + requests: + ## @param openshiftOauthProxy.resources.requests.cpu CPU resource request for the OpenShift OAuth Proxy container. + cpu: 25m + ## @param openshiftOauthProxy.resources.requests.memory Memory resource request for the OpenShift OAuth Proxy container. + memory: 64Mi + accessReview: + ## @param openshiftOauthProxy.accessReview.enabled Whether the SubjectAccessReview/TokenAccessReview role checks for users and clients are enabled. If this is disabled then the proxy will only check that the user has valid credentials or holds a valid token. + enabled: true + ## @param openshiftOauthProxy.accessReview.group The OpenShift resource group that the SubjectAccessReview/TokenAccessReview will be performed for. See https://github.com/openshift/oauth-proxy/?tab=readme-ov-file#delegate-authentication-and-authorization-to-openshift-for-infrastructure + group: "" + ## @param openshiftOauthProxy.accessReview.resource The OpenShift resource that the SubjectAccessReview/TokenAccessReview will be performed for. + resource: "pods" + ## @param openshiftOauthProxy.accessReview.subresource The OpenShift resource that the SubjectAccessReview/TokenAccessReview will be performed for. + subresource: "exec" + ## @param openshiftOauthProxy.accessReview.name The OpenShift resource name that the SubjectAccessReview/TokenAccessReview will be performed for. + name: "" + ## @param openshiftOauthProxy.accessReview.namespace The OpenShift namespace that the SubjectAccessReview/TokenAccessReview will be performed for. + namespace: "{{ .Release.Namespace }}" + ## @param openshiftOauthProxy.accessReview.verb The OpenShift resource name that the SubjectAccessReview/TokenAccessReview will be performed for. + verb: "create" + ## @param openshiftOauthProxy.accessReview.version The OpenShift resource version that the SubjectAccessReview/TokenAccessReview will be performed for. + version: "" + ## @param openshiftOauthProxy.securityContext [object] Security Context for the OpenShift OAuth Proxy container. Defaults to meet "restricted" [Pod Security Standard](https://kubernetes.io/docs/concepts/security/pod-security-standards/#restricted). See: [SecurityContext](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#security-context-1) + securityContext: + ## @skip openshiftOauthProxy.securityContext.allowPrivilegeEscalation + allowPrivilegeEscalation: false + ## @skip openshiftOauthProxy.securityContext.capabilities + capabilities: + drop: + - ALL + +## @section Other Parameters + +## @param imagePullSecrets [array] Image pull secrets to be used for the Cryostat deployment +imagePullSecrets: [] +## @param nameOverride Overrides the name of this Chart +nameOverride: "" +## @param fullnameOverride Overrides the fully qualified application name of `[release name]-[chart name]` +fullnameOverride: "" + +rbac: + ## @param rbac.create Specifies whether RBAC resources should be created + create: true + +serviceAccount: + ## @param serviceAccount.create Specifies whether a service account should be created + create: true + ## @param serviceAccount.annotations [object] Annotations to add to the service account + annotations: {} + ## @param serviceAccount.name The name of the service account to use. If not set and create is true, a name is generated using the fullname template + name: "" + +## @param podAnnotations [object] Annotations to be applied to the various Pods +podAnnotations: {} + +## @param podSecurityContext [object] Security Context for the Cryostat Pod. Defaults to meet "restricted" [Pod Security Standard](https://kubernetes.io/docs/concepts/security/pod-security-standards/#restricted). See: [PodSecurityContext](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#security-context) +podSecurityContext: + ## @skip podSecurityContext.runAsNonRoot + runAsNonRoot: true + ## @skip podSecurityContext.seccompProfile + seccompProfile: + type: RuntimeDefault + +networkPolicy: + ingress: + ## @param networkPolicy.ingress.enabled whether a NetworkPolicy for restricting Cryostat component Pods' traffic is installed. This prevents other Pods from sending unwanted traffic to Cryostat's Pods. Traffic should flow via the Service (or Route, or other Ingress) only, not by directly targeting Pods. + enabled: true + +## @param nodeSelector [object] default Node Selector for the various Pods. Any Pod which does not have an individual nodeSelector setting will default to this. See: [NodeSelector](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling) +nodeSelector: {} + +## @param tolerations [array] default Tolerations for the various Pods. See: [Tolerations](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling) +tolerations: [] + +## @param affinity [object] default Affinity for the various Pods. See: [Affinity](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling) +affinity: {} diff --git a/charts/redhat/redhat/redhat-cryostat/2.0.3/src/.helmignore b/charts/redhat/redhat/redhat-cryostat/2.0.3/src/.helmignore new file mode 100644 index 000000000..0e8a0eb36 --- /dev/null +++ b/charts/redhat/redhat/redhat-cryostat/2.0.3/src/.helmignore @@ -0,0 +1,23 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*.orig +*~ +# Various IDEs +.project +.idea/ +*.tmproj +.vscode/ diff --git a/charts/redhat/redhat/redhat-cryostat/2.0.3/src/Chart.yaml b/charts/redhat/redhat/redhat-cryostat/2.0.3/src/Chart.yaml new file mode 100644 index 000000000..038c4bc34 --- /dev/null +++ b/charts/redhat/redhat/redhat-cryostat/2.0.3/src/Chart.yaml @@ -0,0 +1,46 @@ +apiVersion: v2 +name: redhat-cryostat +description: Securely manage JFR recordings for your containerized Java workloads + +type: application + +version: "2.0.3" + +kubeVersion: ">= 1.25.0-0" + +appVersion: "4.0.3-redhat" + +home: "https://cryostat.io" + +icon: "https://raw.githubusercontent.com/cryostatio/cryostat-helm/main/docs/images/cryostat-icon.svg" + +annotations: + charts.openshift.io/archs: x86_64, aarch64 + charts.openshift.io/name: Red Hat build of Cryostat + charts.openshift.io/provider: Red Hat + charts.openshift.io/supportURL: https://github.com/cryostatio/cryostat-helm + +keywords: +- flightrecorder +- java +- jdk +- jfr +- jmc +- missioncontrol +- monitoring +- profiling +- diagnostic + +sources: +- https://github.com/cryostatio/cryostat +- https://github.com/cryostatio/cryostat-core +- https://github.com/cryostatio/cryostat-web +- https://github.com/cryostatio/jfr-datasource +- https://github.com/cryostatio/cryostat-grafana-dashboard +- https://github.com/cryostatio/cryostat-db +- https://github.com/cryostatio/cryostat-storage +- https://github.com/cryostatio/openshift-oauth-proxy + +maintainers: +- name: The Cryostat Community + url: https://groups.google.com/g/cryostat-development diff --git a/charts/redhat/redhat/redhat-cryostat/2.0.3/src/LICENSE b/charts/redhat/redhat/redhat-cryostat/2.0.3/src/LICENSE new file mode 100644 index 000000000..57bc88a15 --- /dev/null +++ b/charts/redhat/redhat/redhat-cryostat/2.0.3/src/LICENSE @@ -0,0 +1,202 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + diff --git a/charts/redhat/redhat/redhat-cryostat/2.0.3/src/README.md b/charts/redhat/redhat/redhat-cryostat/2.0.3/src/README.md new file mode 100644 index 000000000..ada5b0b31 --- /dev/null +++ b/charts/redhat/redhat/redhat-cryostat/2.0.3/src/README.md @@ -0,0 +1,274 @@ +# Cryostat Helm Chart + +![Version: 2.0.0-dev](https://img.shields.io/badge/Version-2.0.0--dev-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 4.0.0-dev](https://img.shields.io/badge/AppVersion-4.0.0--dev-informational?style=flat-square) + +A Helm chart for deploying [Cryostat](https://cryostat.io/) on Kubernetes and OpenShift. + +## Requirements + +Kubernetes: `>= 1.25.0-0` + +## Installation + +### From Helm repository + +The chart is available at the following repositories: + +- https://cryostat.io/helm-charts +- https://charts.openshift.io + +To install the chart, add the repository and install, for example: + +```bash +helm repo add cryostat-charts https://cryostat.io/helm-charts +helm repo update +helm install cryostat cryostat-charts/cryostat +``` + +### From OCI container registry + +The chart is also available as an OCI image on GitHub Container Registry (`ghcr.io`). + +To install the chart, run: + +```bash +helm install cryostat oci://ghcr.io/cryostatio/cryostat-helm --version $VERSION +``` + +### From source code + +To install the chart from source code, run: + +```bash +git clone https://github.com/cryostatio/cryostat-helm +cd cryostat-helm +helm install cryostat ./charts/cryostat +``` + +## Configuration + +See the sections below for Helm chart values which can be used for configuring various aspects of the Cryostat installation. + +If there are further customizations required to suit your deployment environment, choose the settings values that get +you closest to what you need, then manually edit the resulting Kubernetes objects to suit your requirements. You may +also consider using `helm install --dry-run` to render the Kubernetes YAML manifests without installing them, so that +you can apply your own customization patches as needed. + +### TLS + +When installed on OpenShift with `authentication.openshift.enabled=true`, the cluster's +["service serving certificates"](https://docs.openshift.com/container-platform/4.17/security/certificates/service-serving-certificate.html) +feature is used to enable managed TLS configuration on the exposed HTTP(S) ports. + +When installed with `authentication.openshift.enabled=false` but `oauth2Proxy.tls.selfSigned.enabled=true` then a +self-signed TLS certificate will be generated at installation time to serve similar purposes. These TLS certificates +are not managed, will not automatically rotate, and will expire after 365 days. You will need to manually rotate the +certificates, or reinstall the chart, or else apply your own customizations to the Kubernetes manifests to automate TLS +certificate issuance and rotation. + +## Parameters + +### Cryostat Container + +| Name | Description | Value | +| ------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------- | +| `core` | Configuration for the core Cryostat application | | +| `core.image.repository` | Repository for the main Cryostat container image | `registry.redhat.io/cryostat/cryostat-rhel9` | +| `core.image.pullPolicy` | Image pull policy for the main Cryostat container image | `IfNotPresent` | +| `core.image.tag` | Tag for the main Cryostat container image | `4.0.3` | +| `core.podAnnotations` | Annotations to be applied to the Cryostat Pods | `{}` | +| `core.service.type` | Type of Service to create for the Cryostat application | `ClusterIP` | +| `core.service.httpPort` | Port number to expose on the Service for Cryostat's HTTP server | `8181` | +| `core.debug.log.level` | Log level for troubleshooting and debugging | `INFO` | +| `core.sslProxied` | Enables SSL Proxied Environment Variables, useful when you are offloading SSL/TLS at External Loadbalancer instead of Ingress | `false` | +| `core.ingress.enabled` | Whether to create an Ingress object for the Cryostat service | `false` | +| `core.ingress.className` | Ingress class name for the Cryostat application Ingress | `""` | +| `core.ingress.annotations` | Annotations to apply to the Cryostat application Ingress | `{}` | +| `core.ingress.hosts` | Hosts to create rules for in the Cryostat application Ingress. See: [IngressSpec](https://kubernetes.io/docs/reference/kubernetes-api/service-resources/ingress-v1/#IngressSpec) | `[]` | +| `core.ingress.tls` | TLS configuration for the Cryostat application Ingress. See: [IngressSpec](https://kubernetes.io/docs/reference/kubernetes-api/service-resources/ingress-v1/#IngressSpec) | `[]` | +| `core.route.enabled` | Whether to create a Route object for the Cryostat service. Available only on OpenShift | `true` | +| `core.route.tls.enabled` | Whether to secure the Cryostat application Route with TLS. See: [TLSConfig](https://docs.openshift.com/container-platform/4.10/rest_api/network_apis/route-route-openshift-io-v1.html#spec-tls) | `true` | +| `core.route.tls.termination` | Type of TLS termination to use for the Cryostat application Route. One of: `edge`, `passthrough`, `reencrypt` | `edge` | +| `core.route.tls.insecureEdgeTerminationPolicy` | Specify how to handle insecure traffic for the Cryostat application Route. One of: `Allow`, `Disable`, `Redirect` | `Redirect` | +| `core.route.tls.key` | Custom private key to use when securing the Cryostat application Route | `""` | +| `core.route.tls.certificate` | Custom certificate to use when securing the Cryostat application Route | `""` | +| `core.route.tls.caCertificate` | Custom CA certificate to use, if needed to complete the certificate chain, when securing the Cryostat application Route | `""` | +| `core.route.tls.destinationCACertificate` | Provides the contents of the CA certificate of the final destination when using reencrypt termination for the Cryostat application Route | `""` | +| `core.resources.requests.cpu` | CPU resource request for the Cryostat container. See: [ResourceRequirements](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#resources) | `500m` | +| `core.resources.requests.memory` | Memory resource request for the Cryostat container. | `384Mi` | +| `core.securityContext` | Security Context for the Cryostat container. Defaults to meet "restricted" [Pod Security Standard](https://kubernetes.io/docs/concepts/security/pod-security-standards/#restricted). See: [SecurityContext](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#security-context-1) | `{}` | +| `core.databaseSecretName` | Name of the secret containing database keys. This secret must contain a CONNECTION_KEY secret which is the database connection password, and an ENCRYPTION_KEY secret which is the key used to encrypt sensitive data stored within the database, such as the target credentials keyring. It must not be updated across chart upgrades. It is recommended that the secret should be marked as immutable to avoid accidental changes to secret's data. More details: https://kubernetes.io/docs/concepts/configuration/secret/#secret-immutable | `""` | +| `core.discovery` | Configuration options to the Cryostat application's target discovery mechanisms | | +| `core.discovery.kubernetes.enabled` | Enables Kubernetes API discovery mechanism | `true` | +| `core.discovery.kubernetes.installNamespaceDisabled` | When false and `namespaces` is empty, the Cryostat application will default to discovery targets in the install namespace (i.e. `{{ .Release.Namespace }}`) | `false` | +| `core.discovery.kubernetes.namespaces` | List of namespaces whose workloads the Cryostat application should be permitted to access and profile | `[]` | +| `core.discovery.kubernetes.builtInPortNamesDisabled` | When false and `portNames` is empty, the Cryostat application will use the default port name `jfr-jmx` to look for JMX connectable targets. | `false` | +| `core.discovery.kubernetes.portNames` | List of port names that the Cryostat application should look for in order to consider a target as JMX connectable | `[]` | +| `core.discovery.kubernetes.builtInPortNumbersDisabled` | When false and `portNumbers` is empty, the Cryostat application will use the default port number `9091` to look for JMX connectable targets. | `false` | +| `core.discovery.kubernetes.portNumbers` | List of port numbers that the Cryostat application should look for in order to consider a target as JMX connectable | `[]` | +| `core.config.eventTemplates.configMapNames` | List of ConfigMap names. Each ConfigMap is expected to contain one or more files, which are .jfc (XML) JFR Event Templates, to be mounted to the Cryostat container. | `[]` | +| `core.config.tlsTruststore.secretNames` | List of Secret names. Each Secret is expected to contain one or more files, which are TLS certificates which target applications may use for their JMX servers, to be mounted to the Cryostat container for its TLS truststore. | `[]` | +| `core.nodeSelector` | Node Selector for the Cryostat Pod. See: [NodeSelector](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling) | `{}` | +| `core.tolerations` | Tolerations for the Cryostat Pod. See: [Tolerations](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling) | `[]` | +| `core.affinity` | Affinity for the Cryostat Pod. See: [Affinity](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling) | `{}` | + +### Report Generator Deployment + +| Name | Description | Value | +| ----------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------- | +| `reports` | Configuration for the Reports Generator deployment | | +| `reports.image.repository` | Repository for the Report Generator container image | `registry.redhat.io/cryostat/cryostat-reports-rhel9` | +| `reports.image.pullPolicy` | Image pull policy for the Report Generator container image | `IfNotPresent` | +| `reports.image.tag` | Tag for the Report Generator image | `4.0.3` | +| `reports.podAnnotations` | Annotations to be applied to the Report Generator Pods | `{}` | +| `reports.service.type` | Type of Service to create for the Report Generator Deployment | `ClusterIP` | +| `reports.service.httpPort` | Port number to expose on the Service for the Report Generator Deployment | `10001` | +| `reports.reportsSecretName` | Name of the secret containing the report generator access keys. This secret must contain a REPORTS_PASS secret which is the secret credential for the report generators. It must not be updated across chart upgrades, or else the connection between Cryostat and report generators will not be able to initialize. It is recommended that the secret should be marked as immutable to avoid accidental changes to secret's data. More details: https://kubernetes.io/docs/concepts/configuration/secret/#secret-immutable | `""` | +| `reports.debug.log.level` | Log level for troubleshooting and debugging | `INFO` | +| `reports.replicas` | Number of Report Generator replicas to deploy. If zero, the Deployment and Service will not be created and the main Cryostat container will handle all report generations on its own. | `0` | +| `reports.resources.requests.cpu` | CPU resource request for each Pod in the Report Generator Deployment. | `500m` | +| `reports.resources.requests.memory` | Memory resource request for each Pod in the Report Generator Deployment. | `512Mi` | +| `reports.securityContext` | Security Context for the Report Generator containers. Defaults to meet "restricted" [Pod Security Standard](https://kubernetes.io/docs/concepts/security/pod-security-standards/#restricted). See: [SecurityContext](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#security-context-1) | `{}` | +| `reports.nodeSelector` | Node Selector for the Report Generator Pods. See: [NodeSelector](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling) | `{}` | +| `reports.tolerations` | Tolerations for the Report Generator Pods. See: [Tolerations](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling) | `[]` | +| `reports.affinity` | Affinity for the Report Generator Pods. See: [Affinity](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling) | `{}` | + +### Database Container + +| Name | Description | Value | +| ------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------- | +| `db` | Configuration for Cryostat's database | | +| `db.image.repository` | Repository for the database container image | `registry.redhat.io/cryostat/cryostat-db-rhel9` | +| `db.image.pullPolicy` | Image pull policy for the database container image | `IfNotPresent` | +| `db.image.tag` | Tag for the database container image | `4.0.3` | +| `db.podAnnotations` | Annotations to be applied to the Database Pods | `{}` | +| `db.service.type` | Type of Service to create for the database | `ClusterIP` | +| `db.service.port` | Port number to expose on the Service | `5432` | +| `db.resources.requests.cpu` | CPU resource request for the database container. See: [ResourceRequirements](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#resources) | `25m` | +| `db.resources.requests.memory` | Memory resource request for the database container. | `64Mi` | +| `db.pvc.enabled` | Specify whether to use persistentVolumeClaim (true) or EmptyDir storage (false). This is recommended to be enabled, but the storage size and selector should be chosen carefully first. | `false` | +| `db.pvc.annotations` | Annotations to add to the persistentVolumeClaim | `{}` | +| `db.pvc.storage` | Storage size to request for the persistentVolumeClaim | `500Mi` | +| `db.pvc.accessModes` | Access mode for the persistentVolumeClaim. See: [Access Modes](https://kubernetes.io/docs/concepts/storage/persistent-volumes/#persistentvolumeclaims) | `["ReadWriteOnce"]` | +| `db.pvc.selector` | Selector for the persistentVolumeClaim. See: [Selector](https://kubernetes.io/docs/concepts/storage/persistent-volumes/#persistentvolumeclaims) | `{}` | +| `db.pvc.storageClassName` | The name of the StorageClass for the persistentVolumeClaim. See: [Class](https://kubernetes.io/docs/concepts/storage/persistent-volumes/#persistentvolumeclaims) | `undefined` | +| `db.securityContext` | Security Context for the database container. Defaults to meet "restricted" [Pod Security Standard](https://kubernetes.io/docs/concepts/security/pod-security-standards/#restricted). See: [SecurityContext](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#security-context-1) | `{}` | +| `db.nodeSelector` | Node Selector for the Database Pod. See: [NodeSelector](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling) | `{}` | +| `db.tolerations` | Tolerations for the Database Pod. See: [Tolerations](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling) | `[]` | +| `db.affinity` | Affinity for the Database Pod. See: [Affinity](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling) | `{}` | + +### Storage Container + +| Name | Description | Value | +| ----------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------- | +| `storage` | Configuration for Cryostat's object storage provider | | +| `storage.storageSecretName` | Name of the secret containing the object storage secret access key. This secret must contain a STORAGE_ACCESS_KEY secret which is the object storage secret access key. It must not be updated across chart upgrades, or else the connection between Cryostat components and object storage will not be able to initialize. It is recommended that the secret should be marked as immutable to avoid accidental changes to secret's data. More details: https://kubernetes.io/docs/concepts/configuration/secret/#secret-immutable | `""` | +| `storage.image.repository` | Repository for the storage container image | `registry.redhat.io/cryostat/cryostat-storage-rhel9` | +| `storage.image.pullPolicy` | Image pull policy for the storage container image | `IfNotPresent` | +| `storage.image.tag` | Tag for the storage container image | `4.0.3` | +| `storage.encryption.enabled` | Enable at-rest encryption of stored objects. The storage container will generate a secret key for each stored object and use this key to encrypt and decrypt objects transparently. The key is written to the object metadata, so in the default storage container configuration this only adds a small layer of additional security. | `true` | +| `storage.podAnnotations` | Annotations to be applied to the Storage Pods | `{}` | +| `storage.service.type` | Type of Service to create for the object storage | `ClusterIP` | +| `storage.service.port` | Port number to expose on the Service | `8333` | +| `storage.resources.requests.cpu` | CPU resource request for the object storage container. See: [ResourceRequirements](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#resources) | `50m` | +| `storage.resources.requests.memory` | Memory resource request for the object storage container. | `256Mi` | +| `storage.pvc.enabled` | Specify whether to use persistentVolumeClaim (true) or EmptyDir storage (false). This is recommended to be enabled, but the storage size and selector should be chosen carefully first. | `false` | +| `storage.pvc.annotations` | Annotations to add to the persistentVolumeClaim | `{}` | +| `storage.pvc.storage` | Storage size to request for the persistentVolumeClaim | `500Mi` | +| `storage.pvc.accessModes` | Access mode for the persistentVolumeClaim. See: [Access Modes](https://kubernetes.io/docs/concepts/storage/persistent-volumes/#persistentvolumeclaims) | `["ReadWriteOnce"]` | +| `storage.pvc.selector` | Selector for the persistentVolumeClaim. See: [Selector](https://kubernetes.io/docs/concepts/storage/persistent-volumes/#persistentvolumeclaims) | `{}` | +| `storage.pvc.storageClassName` | The name of the StorageClass for the persistentVolumeClaim. See: [Class](https://kubernetes.io/docs/concepts/storage/persistent-volumes/#persistentvolumeclaims) | `undefined` | +| `storage.securityContext` | Security Context for the storage container. Defaults to meet "restricted" [Pod Security Standard](https://kubernetes.io/docs/concepts/security/pod-security-standards/#restricted). See: [SecurityContext](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#security-context-1) | `{}` | +| `storage.nodeSelector` | Node Selector for the Storage Pod. See: [NodeSelector](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling) | `{}` | +| `storage.tolerations` | Tolerations for the Storage Pod. See: [Tolerations](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling) | `[]` | +| `storage.affinity` | Affinity for the Storage Pod. See: [Affinity](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling) | `{}` | + +### Grafana Container + +| Name | Description | Value | +| ----------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------- | +| `grafana` | Configuration for the customized Grafana instance for Cryostat | | +| `grafana.image.repository` | Repository for the Grafana container image | `registry.redhat.io/cryostat/cryostat-grafana-dashboard-rhel9` | +| `grafana.image.pullPolicy` | Image pull policy for the Grafana container image | `IfNotPresent` | +| `grafana.image.tag` | Tag for the Grafana container image | `4.0.3` | +| `grafana.service.type` | Type of Service to create for Grafana | `ClusterIP` | +| `grafana.service.port` | Port number to expose on the Service for Grafana's HTTP server | `3000` | +| `grafana.resources.requests.cpu` | CPU resource request for the Grafana container. See: [ResourceRequirements](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#resources) | `25m` | +| `grafana.resources.requests.memory` | Memory resource request for the Grafana container. | `80Mi` | +| `grafana.securityContext` | Security Context for the Grafana container. Defaults to meet "restricted" [Pod Security Standard](https://kubernetes.io/docs/concepts/security/pod-security-standards/#restricted). See: [SecurityContext](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#security-context-1) | `{}` | +| `grafana.nodeSelector` | Node Selector for the Grafana Pod. See: [NodeSelector](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling) | `{}` | +| `grafana.tolerations` | Tolerations for the Grafana Pod. See: [Tolerations](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling) | `[]` | + +### JFR Data Source Container + +| Name | Description | Value | +| -------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------- | +| `datasource` | Configuration for the JFR Data Source component, which translates recording events into a format consumable by Grafana | | +| `datasource.image.repository` | Repository for the JFR Data Source container image | `registry.redhat.io/cryostat/jfr-datasource-rhel9` | +| `datasource.image.pullPolicy` | Image pull policy for the JFR Data Source container image | `IfNotPresent` | +| `datasource.image.tag` | Tag for the JFR Data Source container image | `4.0.3` | +| `datasource.resources.requests.cpu` | CPU resource request for the JFR Data Source container. See: [ResourceRequirements](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#resources) | `200m` | +| `datasource.resources.requests.memory` | Memory resource request for the JFR Data Source container. | `200Mi` | +| `datasource.securityContext` | Security Context for the JFR Data Source container. Defaults to meet "restricted" [Pod Security Standard](https://kubernetes.io/docs/concepts/security/pod-security-standards/#restricted). See: [SecurityContext](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#security-context-1) | `{}` | +| `datasource.nodeSelector` | Node Selector for the JFR Datasource Pod. See: [NodeSelector](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling) | `{}` | +| `datasource.tolerations` | Tolerations for the JFR Datasource Pod. See: [Tolerations](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling) | `[]` | + +### Authentication + +| Name | Description | Value | +| ------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------- | +| `authentication.cookieSecretName` | Name of the secret containing the authenticating proxy cookie encryption key. This secret must contain a COOKIE_SECRET secret which is the cookie encryption key. It must not be updated across chart upgrades, or else existing user login sessions will be invalidated. It is recommended that the secret should be marked as immutable to avoid accidental changes to secret's data. More details: https://kubernetes.io/docs/concepts/configuration/secret/#secret-immutable | `""` | +| `authentication.openshift.enabled` | Whether the OAuth Proxy deployed for securing Cryostat's Pods should be one that integrates with OpenShift-specific features, or a generic one. | `true` | +| `authentication.openshift.clusterRole.name` | The name of the ClusterRole to bind for the OpenShift OAuth Proxy | `system:auth-delegator` | +| `authentication.basicAuth.enabled` | Whether Cryostat should use basic authentication for users. When false, Cryostat will not perform any form of authentication | `false` | +| `authentication.basicAuth.secretName` | Name of the Secret that contains the credentials within Cryostat's namespace **(Required if basicAuth is enabled)** | `""` | +| `authentication.basicAuth.filename` | Key within Secret containing the `htpasswd` file. The file should contain one user definition entry per line, with the syntax "user:passHash", where "user" is the username and "passHash" is the `bcrypt` hash of the desired password. Such an entry can be generated with ex. `htpasswd -nbB username password` **(Required if basicAuth is enabled)** | `""` | + +### OAuth2 Proxy + +| Name | Description | Value | +| --------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- | +| `oauth2Proxy.image.repository` | Repository for the OAuth2 Proxy container image | `""` | +| `oauth2Proxy.image.pullPolicy` | Image pull policy for the OAuth2 Proxy container image | `Never` | +| `oauth2Proxy.image.tag` | Tag for the OAuth2 Proxy container image | `""` | +| `oauth2Proxy.tls.selfSigned.enabled` | Whether a self-signed TLS certificate for oauth2-proxy HTTPS is generated and used. | `false` | +| `oauth2Proxy.resources.requests.cpu` | CPU resource request for the OAuth2 Proxy container. | `25m` | +| `oauth2Proxy.resources.requests.memory` | Memory resource request for the OAuth2 Proxy container. | `64Mi` | +| `oauth2Proxy.securityContext` | Security Context for the OAuth2 Proxy container. Defaults to meet "restricted" [Pod Security Standard](https://kubernetes.io/docs/concepts/security/pod-security-standards/#restricted). See: [SecurityContext](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#security-context-1). | `{}` | + +### OpenShift OAuth Proxy + +| Name | Description | Value | +| ----------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------ | +| `openshiftOauthProxy.image.repository` | Repository for the OpenShift OAuth Proxy container image | `registry.redhat.io/cryostat/cryostat-ose-oauth-proxy-rhel9` | +| `openshiftOauthProxy.image.pullPolicy` | Image pull policy for the OpenShift OAuth Proxy container image | `IfNotPresent` | +| `openshiftOauthProxy.image.tag` | Tag for the OpenShift OAuth Proxy container image | `4.0.3` | +| `openshiftOauthProxy.resources.requests.cpu` | CPU resource request for the OpenShift OAuth Proxy container. | `25m` | +| `openshiftOauthProxy.resources.requests.memory` | Memory resource request for the OpenShift OAuth Proxy container. | `64Mi` | +| `openshiftOauthProxy.accessReview.enabled` | Whether the SubjectAccessReview/TokenAccessReview role checks for users and clients are enabled. If this is disabled then the proxy will only check that the user has valid credentials or holds a valid token. | `true` | +| `openshiftOauthProxy.accessReview.group` | The OpenShift resource group that the SubjectAccessReview/TokenAccessReview will be performed for. See https://github.com/openshift/oauth-proxy/?tab=readme-ov-file#delegate-authentication-and-authorization-to-openshift-for-infrastructure | `""` | +| `openshiftOauthProxy.accessReview.resource` | The OpenShift resource that the SubjectAccessReview/TokenAccessReview will be performed for. | `pods` | +| `openshiftOauthProxy.accessReview.subresource` | The OpenShift resource that the SubjectAccessReview/TokenAccessReview will be performed for. | `exec` | +| `openshiftOauthProxy.accessReview.name` | The OpenShift resource name that the SubjectAccessReview/TokenAccessReview will be performed for. | `""` | +| `openshiftOauthProxy.accessReview.namespace` | The OpenShift namespace that the SubjectAccessReview/TokenAccessReview will be performed for. | `{{ .Release.Namespace }}` | +| `openshiftOauthProxy.accessReview.verb` | The OpenShift resource name that the SubjectAccessReview/TokenAccessReview will be performed for. | `create` | +| `openshiftOauthProxy.accessReview.version` | The OpenShift resource version that the SubjectAccessReview/TokenAccessReview will be performed for. | `""` | +| `openshiftOauthProxy.securityContext` | Security Context for the OpenShift OAuth Proxy container. Defaults to meet "restricted" [Pod Security Standard](https://kubernetes.io/docs/concepts/security/pod-security-standards/#restricted). See: [SecurityContext](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#security-context-1) | `{}` | + +### Other Parameters + +| Name | Description | Value | +| ------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------ | +| `imagePullSecrets` | Image pull secrets to be used for the Cryostat deployment | `[]` | +| `nameOverride` | Overrides the name of this Chart | `""` | +| `fullnameOverride` | Overrides the fully qualified application name of `[release name]-[chart name]` | `""` | +| `rbac.create` | Specifies whether RBAC resources should be created | `true` | +| `serviceAccount.create` | Specifies whether a service account should be created | `true` | +| `serviceAccount.annotations` | Annotations to add to the service account | `{}` | +| `serviceAccount.name` | The name of the service account to use. If not set and create is true, a name is generated using the fullname template | `""` | +| `podAnnotations` | Annotations to be applied to the various Pods | `{}` | +| `podSecurityContext` | Security Context for the Cryostat Pod. Defaults to meet "restricted" [Pod Security Standard](https://kubernetes.io/docs/concepts/security/pod-security-standards/#restricted). See: [PodSecurityContext](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#security-context) | `{}` | +| `networkPolicy.ingress.enabled` | whether a NetworkPolicy for restricting Cryostat component Pods' traffic is installed. This prevents other Pods from sending unwanted traffic to Cryostat's Pods. Traffic should flow via the Service (or Route, or other Ingress) only, not by directly targeting Pods. | `true` | +| `nodeSelector` | default Node Selector for the various Pods. Any Pod which does not have an individual nodeSelector setting will default to this. See: [NodeSelector](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling) | `{}` | +| `tolerations` | default Tolerations for the various Pods. See: [Tolerations](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling) | `[]` | +| `affinity` | default Affinity for the various Pods. See: [Affinity](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling) | `{}` | diff --git a/charts/redhat/redhat/redhat-cryostat/2.0.3/src/TESTING.md b/charts/redhat/redhat/redhat-cryostat/2.0.3/src/TESTING.md new file mode 100644 index 000000000..ff9fb3beb --- /dev/null +++ b/charts/redhat/redhat/redhat-cryostat/2.0.3/src/TESTING.md @@ -0,0 +1,148 @@ +# Testing Guide for Cryostat Helm Chart + +This guide outlines the conventions and practices for writing and executing tests in the Cryostat Helm chart project using the Helm Unittest plugin. + +## Overview + +Helm Unittest is a Helm plugin that allows to write declarative tests for Helm charts. It enables testing the rendered templates of a Helm chart with specified values without the need for any running Kubernetes cluster. + +# Testing Guide for Cryostat Helm Chart + +## Requirements + +Before running tests, you need to have the following tools installed: + +- **Helm:** Helm is a package manager for Kubernetes needed to manage the charts. + `Required version: >= v3.14.4` +- **Helm Unittest Plugin:** This plugin enables unit testing for Helm charts. + `Required version: >= v0.5.1` + +## Installation + +##### Installing Helm + +Helm can be installed on a variety of platforms. [Official Helm installation documentation](https://helm.sh/docs/intro/install/) provides detailed instructions. + +##### Installing Helm Unittest Plugin + +Once Helm is installed, you can install the Helm Unittest plugin. +First, verify whether the Helm Unittest plugin has been successfully installed, you can use the following command to list all installed Helm plugins: +```bash +helm plugin list +``` +This command will display a list of all plugins currently installed in your Helm environment, including the Helm Unittest plugin if it's already installed. Look for an entry named unittest in the output. If it's listed, then the Helm Unittest plugin is installed correctly. For example: +``` +❯ helm plugin list + +NAME VERSION DESCRIPTION +unittest 0.5.1 Unit test for helm chart in YAML with ease +to keep your chart functional and robust. +``` +If the Helm Unittest plugin is not listed, you can install it using the following command: +```bash +$ helm plugin install https://github.com/helm-unittest/helm-unittest.git +``` +This will install the latest version of binary into helm plugin directory. + +## Writing Tests + +Each test is associated with a specific Helm template and is structured to validate specific aspects of that template. Here's a general structure for writing tests: + +1. **Test Suite:** A collection of tests related to a particular aspect of the chart, usually corresponding to a specific template file. +2. **Test Cases:** Each test case should focus on a single aspect or feature of the chart. Test cases can have different configurations set through the `set` directive to simulate different environments or scenarios. +3. **Assertions:** Test cases contain assertions that specify the expected output of the rendered templates. Assertions can check for the existence of objects, equality of values, matching patterns, and more. + +##### Naming Conventions for Test Files +The naming convention for test files typically mirrors the name of the template they are testing with a `_test` suffix. For example: + +- service.yaml ➔ service_test.yaml +- deployment.yaml ➔ deployment_test.yaml + +## Directory Structure + +Tests are organized under the `tests/` directory, with each test file corresponding to a template in the `templates/` directory: + +```plaintext +cryostat-helm/ +├── charts +│   └── cryostat +│   ├── Chart.yaml +│   ├── templates +│   │   ├── alpha_config.yaml +│   │   ├── ... +│   │   └── tests +│   │   ├── test-core-connection.yaml +│   │   └── ... +│   ├── TESTING.md +│   ├── tests +│   │   ├── alpha_config_test.yaml +│   │   ├── ... +│   │   ├── __snapshot__ +│   │   └── storage_access_secret_test.yaml +│   ├── values.schema.json +│   └── values.yaml + +``` +In addition, Cryostat Helm chart includes integration tests located in the `templates/tests` directory and are executed using `helm test`. These tests are different from unit tests in that they involve actual deployment of resources to a Kubernetes cluster to validate the integrated operation of those resources. + +## Test File Structure + +Here's an example of what a test file looks like: + +```yaml +suite: +templates: + - +tests: + - it: + set: + + asserts: + - : + path: + value: +``` +## Common Assertions +- `equal`: Checks if the actual value at path equals the expected value. +- `matchRegex`: Validates if the actual string matches the given regex pattern. +- `exists`: Checks if the specified path exists in the document. +- `notExists`: Ensures the specified path does not exist in the document. + +Visit [this document](https://github.com/helm-unittest/helm-unittest/blob/main/DOCUMENT.md#assertion-types) for more assertion types. +## Running Tests + +Once Unittest plugin has been installed, tests can be executed by running the following command: +```bash +$ helm unittest +``` +In the case of `cryostat-helm`, the command would be: + +```bash +$ helm unittest ./charts/cryostat +``` +To run test for a specific test file, use the `-f` flag with helm unittest to specify the test file to be executed. Here's the command format: + +```bash +$ helm unittest -f tests/.yaml ./charts/ +``` +This command will run the test for `service_test.yaml` file: + +```bash +$ helm unittest -f tests/service_test.yaml ./charts/cryostat +``` +## Additional Resources and Documentation + +For more infomation on Helm and writing tests for Helm charts, the following resources can be invaluable: + +### Helm Documentation + +- **Helm Official Documentation:** Provides comprehensive guides, tutorials, and reference material for working with Helm. + [Helm Documentation](https://helm.sh/docs/) + +- **Helm Chart Best Practices:** A guide by the Helm community outlining best practices for creating and managing Helm charts. + [Helm Chart Best Practices](https://helm.sh/docs/chart_best_practices/) + +### Helm Unittest Plugin + +- **Helm Unittest GitHub Repository:** Contains the source code, installation instructions, and detailed usage examples of the Helm Unittest plugin. + [Helm Unittest on GitHub](https://github.com/helm-unittest/helm-unittest) diff --git a/charts/redhat/redhat/redhat-cryostat/2.0.3/src/release-notes.md b/charts/redhat/redhat/redhat-cryostat/2.0.3/src/release-notes.md new file mode 100644 index 000000000..99ccb509e --- /dev/null +++ b/charts/redhat/redhat/redhat-cryostat/2.0.3/src/release-notes.md @@ -0,0 +1 @@ + diff --git a/charts/redhat/redhat/redhat-cryostat/2.0.3/src/templates/NOTES.txt b/charts/redhat/redhat/redhat-cryostat/2.0.3/src/templates/NOTES.txt new file mode 100644 index 000000000..595f10117 --- /dev/null +++ b/charts/redhat/redhat/redhat-cryostat/2.0.3/src/templates/NOTES.txt @@ -0,0 +1,64 @@ +{{- $envVars := list }} +{{- $portForwards := false }} +{{- $listNum := 1 }} +{{- if not .Values.core.ingress.enabled }} +{{ $listNum }}. Configure the application to serve external traffic: +{{- $listNum = add1 $listNum }} + ``` +{{- if .Values.core.route.enabled }} +{{- /* Do nothing */}} + No actions required with this configuration. +{{- else if .Values.core.ingress.enabled }} +{{- /* Do nothing */}} + No actions required with this configuration. +{{- else if contains "ClusterIP" .Values.core.service.type }} + {{- /* Do nothing */}} + No actions required with this configuration. +{{- $portForwards = true }} +{{- else if contains "NodePort" .Values.core.service.type }} + export NODE_IP=$(oc get nodes -n {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}") + export NODE_PORT=$(oc get -n {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "cryostat.fullname" . }}) +{{- $envVars = list "QUARKUS_HTTP_HOST=$NODE_IP" }} +{{- else if contains "LoadBalancer" .Values.core.service.type }} + NOTE: It may take a few minutes for the LoadBalancer IP to be available. + You can watch the status by running 'oc get -n {{ .Release.Namespace }} -w svc/{{ include "cryostat.fullname" . }}' + export SERVICE_IP=$(oc get svc -n {{ .Release.Namespace }} {{ include "cryostat.fullname" . }} --template "{{"{{ range (index .status.loadBalancer.ingress 0) }}{{.}}{{ end }}"}}") +{{- $envVars = list "QUARKUS_HTTP_HOST=$SERVICE_IP" }} +{{- end }} + +{{- if not (empty $envVars) }} + oc -n {{ .Release.Namespace }} set env deploy --containers={{ .Chart.Name }} {{ include "cryostat.deploymentName" . }} {{ join " " $envVars }} +{{- end }} + ``` +{{- end }} + +{{- if $portForwards }} + +{{ $listNum }}. Forward local port to the application's service: + ``` + oc -n {{ .Release.Namespace }} wait --for=condition=available --timeout=60s deploy/{{ include "cryostat.deploymentName" . }} + + export SVC_NAME=$(oc get services -n {{ .Release.Namespace }} -l "app.kubernetes.io/name={{ include "cryostat.name" . }},app.kubernetes.io/instance={{ .Release.Name }},app.kubernetes.io/component=cryostat" --sort-by=.metadata.creationTimestamp -o jsonpath="{.items[-1:].metadata.name}") + oc -n {{ .Release.Namespace }} port-forward svc/$SVC_NAME {{ include "cryostat.core.service.port" . }}:{{ include "cryostat.core.service.scheme" . }} + ``` + {{- $listNum = add1 $listNum }} +{{- end }} + +{{ $listNum }}. Visit the application at: + ``` +{{- if .Values.core.route.enabled }} + echo {{ ternary "https" "http" .Values.core.route.tls.enabled }}://$(oc get route -n {{ .Release.Namespace }} {{ include "cryostat.fullname" . }} -o jsonpath="{.status.ingress[0].host}") +{{- else if .Values.core.ingress.enabled }} +{{- range $host := .Values.core.ingress.hosts -}} + {{- range .paths }} + {{ ternary "http" "https" (empty $.Values.core.ingress.tls) }}://{{ $host.host }}{{ .path }} + {{- end }} +{{- end }} +{{- else if contains "NodePort" .Values.core.service.type }} + echo http://$NODE_IP:$NODE_PORT +{{- else if contains "LoadBalancer" .Values.core.service.type }} + echo http://$SERVICE_IP:{{ .Values.core.service.httpPort }} +{{- else if contains "ClusterIP" .Values.core.service.type }} + {{ include "cryostat.core.service.scheme" . }}://localhost:{{ include "cryostat.core.service.port" . }} +{{- end }} + ``` diff --git a/charts/redhat/redhat/redhat-cryostat/2.0.3/src/templates/_helpers.tpl b/charts/redhat/redhat/redhat-cryostat/2.0.3/src/templates/_helpers.tpl new file mode 100644 index 000000000..0a8e7e522 --- /dev/null +++ b/charts/redhat/redhat/redhat-cryostat/2.0.3/src/templates/_helpers.tpl @@ -0,0 +1,195 @@ +{{/* +Expand the name of the chart. +*/}} +{{- define "cryostat.name" -}} +{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }} +{{- end }} + +{{/* +Create a default fully qualified app name. +We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). +If release name contains chart name it will be used as a full name. +*/}} +{{- define "cryostat.fullname" -}} +{{- if .Values.fullnameOverride }} +{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }} +{{- else }} +{{- $name := default .Chart.Name .Values.nameOverride }} +{{- if contains $name .Release.Name }} +{{- .Release.Name | trunc 63 | trimSuffix "-" }} +{{- else }} +{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }} +{{- end }} +{{- end }} +{{- end }} + +{{/* +Create chart name and version as used by the chart label. +*/}} +{{- define "cryostat.chart" -}} +{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }} +{{- end }} + +{{/* +Common labels. +*/}} +{{- define "cryostat.labels" -}} +helm.sh/chart: {{ include "cryostat.chart" . }} +{{ include "cryostat.selectorLabels" . }} +{{- if .Chart.AppVersion }} +app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} +{{- end }} +app.kubernetes.io/managed-by: {{ .Release.Service }} +{{- end }} + +{{/* +Selector labels. +*/}} +{{- define "cryostat.selectorLabels" -}} +app.kubernetes.io/name: {{ include "cryostat.name" . }} +app.kubernetes.io/instance: {{ .Release.Name }} +app.kubernetes.io/part-of: cryostat +{{- end }} + +{{/* +Create the name of the service account to use. +*/}} +{{- define "cryostat.serviceAccountName" -}} +{{- if .Values.serviceAccount.create }} +{{- default (include "cryostat.fullname" .) .Values.serviceAccount.name }} +{{- else }} +{{- default "default" .Values.serviceAccount.name }} +{{- end }} +{{- end }} + +{{/* +Cryostat service TLS enablement. Returns the string values "true" or "false". +*/}} +{{- define "cryostat.core.service.tls" -}} +{{ or .Values.authentication.openshift.enabled .Values.oauth2Proxy.tls.selfSigned.enabled }} +{{- end }} + +{{/* +Cryostat service protocol. HTTPS if TLS is enabled, HTTP otherwise. +*/}} +{{- define "cryostat.core.service.scheme" -}} +{{ ternary "https" "http" ( include "cryostat.core.service.tls" . | eq "true" ) }} +{{- end }} + +{{/* +Cryostat service port. 8443 if TLS is enabled, 8080 otherwise. +*/}} +{{- define "cryostat.core.service.port" -}} +{{ ternary 8443 8080 ( ( include "cryostat.core.service.scheme" . ) | eq "https" ) }} +{{- end }} + +{{/* +Get or generate a default connection key for database. +*/}} +{{- define "cryostat.databaseConnectionKey" -}} +{{- $secret := (lookup "v1" "Secret" .Release.Namespace (printf "%s-db" .Release.Name)) -}} +{{- if $secret -}} +{{/* + Use current key. Do not regenerate. +*/}} +{{- $secret.data.CONNECTION_KEY -}} +{{- else -}} +{{/* + Generate new key. +*/}} +{{- (randAlphaNum 32) | b64enc | quote -}} +{{- end -}} +{{- end -}} + +{{/* +Get or generate a default encryption key for database. +*/}} +{{- define "cryostat.databaseEncryptionKey" -}} +{{- $secret := (lookup "v1" "Secret" .Release.Namespace (printf "%s-db" .Release.Name)) -}} +{{- if $secret -}} +{{/* + Use current key. Do not regenerate. +*/}} +{{- $secret.data.ENCRYPTION_KEY -}} +{{- else -}} +{{/* + Generate new key +*/}} +{{- (randAlphaNum 32) | b64enc | quote -}} +{{- end -}} +{{- end -}} + +{{/* +Get or generate a default secret key for object storage. +*/}} +{{- define "cryostat.objectStorageSecretKey" -}} +{{- $secret := (lookup "v1" "Secret" .Release.Namespace (printf "%s-storage-secret" .Release.Name)) -}} +{{- if $secret -}} +{{/* + Use current secret. Do not regenerate. +*/}} +{{- $secret.data.STORAGE_ACCESS_KEY -}} +{{- else -}} +{{/* + Generate new secret +*/}} +{{- (randAlphaNum 32) | b64enc | quote -}} +{{- end -}} +{{- end -}} + +{{/* +Get or generate a default secret password key for report generators. +*/}} +{{- define "cryostat.reportsPassSecretKey" -}} +{{- $secret := (lookup "v1" "Secret" .Release.Namespace (printf "%s-reports-secret" .Release.Name)) -}} +{{- if $secret -}} +{{/* + Use current secret. Do not regenerate. +*/}} +{{- $secret.data.REPORTS_PASS -}} +{{- else -}} +{{/* + Generate new secret +*/}} +{{- (randAlphaNum 32) -}} +{{- end -}} +{{- end -}} + +{{/* +Get or generate a default secret key for auth proxy cookies. +*/}} +{{- define "cryostat.cookieSecret" -}} +{{- $secret := (lookup "v1" "Secret" .Release.Namespace (printf "%s-cookie-secret" .Release.Name)) -}} +{{- if $secret -}} +{{/* + Use current secret. Do not regenerate. +*/}} +{{- $secret.data.COOKIE_SECRET -}} +{{- else -}} +{{/* + Generate new secret +*/}} +{{- (randAlphaNum 32) | b64enc -}} +{{- end -}} +{{- end -}} + +{{/* + Get sanitized list or defaults (if not disabled) as comma-separated list. +*/}} +{{- define "cryostat.commaSepList" -}} +{{- $l := index . 0 -}} +{{- $default := index . 1 -}} +{{- $disableDefaults := index . 2 -}} +{{- if and (not $l) (not $disableDefaults) -}} +{{- $l = list $default -}} +{{- end -}} +{{- join "," (default list $l | compact | uniq) | quote -}} +{{- end -}} + +{{/* +Get the name for managed deployments. +*/}} +{{- define "cryostat.deploymentName" -}} +{{- $version := semver .Chart.AppVersion -}} +{{- printf "%s-v%d" (include "cryostat.fullname" .) $version.Major -}} +{{- end -}} diff --git a/charts/redhat/redhat/redhat-cryostat/2.0.3/src/templates/_oauth2Proxy.tpl b/charts/redhat/redhat/redhat-cryostat/2.0.3/src/templates/_oauth2Proxy.tpl new file mode 100644 index 000000000..db3fc6b90 --- /dev/null +++ b/charts/redhat/redhat/redhat-cryostat/2.0.3/src/templates/_oauth2Proxy.tpl @@ -0,0 +1,54 @@ +{{/* +Create OAuth2 Proxy container. Configurations defined in alpha_config.yaml +*/}} +{{- define "cryostat.oauth2Proxy" -}} +- name: {{ printf "%s-%s" .Chart.Name "authproxy" }} + securityContext: + {{- toYaml (.Values.oauth2Proxy).securityContext | nindent 4 }} + image: "{{ (.Values.oauth2Proxy).image.repository }}:{{ (.Values.oauth2Proxy).image.tag }}" + args: + - "--alpha-config=/etc/oauth2_proxy/alpha_config/alpha_config.yaml" + imagePullPolicy: {{ (.Values.oauth2Proxy).image.pullPolicy }} + env: + - name: OAUTH2_PROXY_REDIRECT_URL + value: "http://localhost:4180/oauth2/callback" + - name: OAUTH2_PROXY_COOKIE_SECRET + valueFrom: + secretKeyRef: + name: {{ default (printf "%s-cookie-secret" .Release.Name) .Values.authentication.cookieSecretName }} + key: COOKIE_SECRET + optional: false + - name: OAUTH2_PROXY_EMAIL_DOMAINS + value: "*" + {{- if .Values.authentication.basicAuth.enabled }} + - name: OAUTH2_PROXY_HTPASSWD_USER_GROUP + value: write + - name: OAUTH2_PROXY_HTPASSWD_FILE + value: /etc/oauth2_proxy/basicauth/{{ .Values.authentication.basicAuth.filename }} + {{- end }} + {{- if not .Values.authentication.basicAuth.enabled }} + - name: OAUTH2_PROXY_SKIP_AUTH_ROUTES + value: ".*" + {{- else }} + - name: OAUTH2_PROXY_SKIP_AUTH_ROUTES + value: "^/health(/liveness)?$" + {{- end }} + ports: + - containerPort: 4180 + name: http + protocol: TCP + resources: + {{- toYaml .Values.oauth2Proxy.resources | nindent 4 }} + volumeMounts: + - name: alpha-config + mountPath: /etc/oauth2_proxy/alpha_config + {{- if .Values.authentication.basicAuth.enabled }} + - name: {{ .Release.Name }}-htpasswd + mountPath: /etc/oauth2_proxy/basicauth + readOnly: true + {{- end }} + {{- if .Values.oauth2Proxy.tls.selfSigned.enabled }} + - name: {{ .Release.Name }}-oauth2proxy-tls + mountPath: /etc/tls/private + {{- end }} +{{- end}} diff --git a/charts/redhat/redhat/redhat-cryostat/2.0.3/src/templates/_openshiftOauthProxy.tpl b/charts/redhat/redhat/redhat-cryostat/2.0.3/src/templates/_openshiftOauthProxy.tpl new file mode 100644 index 000000000..a4d703dc6 --- /dev/null +++ b/charts/redhat/redhat/redhat-cryostat/2.0.3/src/templates/_openshiftOauthProxy.tpl @@ -0,0 +1,59 @@ +{{/* +Create OpenShift OAuth Proxy container. +*/}} +{{- define "cryostat.openshiftOauthProxy" -}} +- name: {{ printf "%s-%s" .Chart.Name "authproxy" }} + securityContext: + {{- toYaml .Values.openshiftOauthProxy.securityContext | nindent 4 }} + image: "{{ .Values.openshiftOauthProxy.image.repository }}:{{ .Values.openshiftOauthProxy.image.tag }}" + env: + - name: COOKIE_SECRET + valueFrom: + secretKeyRef: + name: {{ default (printf "%s-cookie-secret" .Release.Name) .Values.authentication.cookieSecretName }} + key: COOKIE_SECRET + optional: false + args: + - --skip-provider-button={{ not .Values.authentication.basicAuth.enabled }} + - --pass-access-token=false + - --pass-user-bearer-token=false + - --pass-basic-auth=false + - --upstream=http://localhost:8181/ + - --upstream=http://localhost:3000/grafana/ + - --cookie-secret=$(COOKIE_SECRET) + - --openshift-service-account={{ include "cryostat.serviceAccountName" . }} + - --proxy-websockets=true + - --http-address=0.0.0.0:4180 + - --https-address=:8443 + - --tls-cert=/etc/tls/private/tls.crt + - --tls-key=/etc/tls/private/tls.key + - --proxy-prefix=/oauth2 + {{- if .Values.openshiftOauthProxy.accessReview.enabled }} + - --openshift-sar=[{{ tpl ( omit .Values.openshiftOauthProxy.accessReview "enabled" | toJson ) . }}] + - --openshift-delegate-urls={"/":{{ tpl ( omit .Values.openshiftOauthProxy.accessReview "enabled" | toJson ) . }}} + {{- end }} + - --bypass-auth-for=^/health(/liveness)?$ + {{- if .Values.authentication.basicAuth.enabled }} + - --htpasswd-file=/etc/openshift_oauth_proxy/basicauth/{{ .Values.authentication.basicAuth.filename }} + {{- end }} + imagePullPolicy: {{ .Values.openshiftOauthProxy.image.pullPolicy }} + ports: + - containerPort: 4180 + name: http + protocol: TCP + - containerPort: 8443 + name: https + protocol: TCP + resources: + {{- toYaml .Values.openshiftOauthProxy.resources | nindent 4 }} + volumeMounts: + {{- if .Values.authentication.basicAuth.enabled }} + - name: {{ .Release.Name }}-htpasswd + mountPath: /etc/openshift_oauth_proxy/basicauth + readOnly: true + {{- end }} + - name: {{ .Release.Name }}-proxy-tls + mountPath: /etc/tls/private + terminationMessagePath: /dev/termination-log + terminationMessagePolicy: File +{{- end}} diff --git a/charts/redhat/redhat/redhat-cryostat/2.0.3/src/templates/_reports_authproxy.tpl b/charts/redhat/redhat/redhat-cryostat/2.0.3/src/templates/_reports_authproxy.tpl new file mode 100644 index 000000000..90292e705 --- /dev/null +++ b/charts/redhat/redhat/redhat-cryostat/2.0.3/src/templates/_reports_authproxy.tpl @@ -0,0 +1,148 @@ +{{- define "cryostat.reportsAuthProxy" -}} +{{- if (.Values.authentication.openshift).enabled }} +- name: {{ printf "%s-reports-%s" .Chart.Name "authproxy" }} + securityContext: + {{- toYaml .Values.openshiftOauthProxy.securityContext | nindent 4 }} + image: "{{ .Values.openshiftOauthProxy.image.repository }}:{{ .Values.openshiftOauthProxy.image.tag }}" + env: + - name: COOKIE_SECRET + valueFrom: + secretKeyRef: + name: {{ default (printf "%s-cookie-secret" .Release.Name) .Values.authentication.cookieSecretName }} + key: COOKIE_SECRET + optional: false + args: + - --pass-access-token=false + - --pass-user-bearer-token=false + - --pass-basic-auth=false + - --htpasswd-file=/etc/oauth2_proxy/basicauth/htpasswd + - --upstream=http://localhost:10001/ + - --cookie-secret=$(COOKIE_SECRET) + - --request-logging=true + - --openshift-service-account={{ include "cryostat.serviceAccountName" . }} + - --proxy-websockets=true + - --http-address=0.0.0.0:4180 + - --https-address=:8443 + - --tls-cert=/etc/tls/private/tls.crt + - --tls-key=/etc/tls/private/tls.key + - --proxy-prefix=/oauth2 + - --bypass-auth-for=^/health$ + imagePullPolicy: {{ .Values.openshiftOauthProxy.image.pullPolicy }} + ports: + - containerPort: 4180 + name: http + protocol: TCP + - containerPort: 8443 + name: https + protocol: TCP + resources: + {{- toYaml .Values.openshiftOauthProxy.resources | nindent 4 }} + volumeMounts: + - name: {{ .Release.Name }}-proxy-tls + mountPath: /etc/tls/private + - name: {{ .Release.Name }}-reports-secret + mountPath: /etc/oauth2_proxy/basicauth + readOnly: true + terminationMessagePath: /dev/termination-log + terminationMessagePolicy: File +{{- else if .Values.oauth2Proxy.tls.selfSigned.enabled }} +- name: {{ printf "%s-reports-%s" .Chart.Name "authproxy" }} + securityContext: + {{- toYaml (.Values.oauth2Proxy).securityContext | nindent 4 }} + image: "{{ (.Values.oauth2Proxy).image.repository }}:{{ (.Values.oauth2Proxy).image.tag }}" + imagePullPolicy: {{ (.Values.oauth2Proxy).image.pullPolicy }} + env: + - name: OAUTH2_PROXY_CLIENT_ID + value: dummy + - name: OAUTH2_PROXY_CLIENT_SECRET + value: none + - name: OAUTH2_PROXY_HTTP_ADDRESS + value: 0.0.0.0:4180 + - name: OAUTH2_PROXY_HTTPS_ADDRESS + value: :8443 + - name: OAUTH2_PROXY_TLS_CERT_FILE + value: /etc/tls/private/cert + - name: OAUTH2_PROXY_TLS_KEY_FILE + value: /etc/tls/private/key + - name: OAUTH2_PROXY_UPSTREAMS + value: http://localhost:10001/ + - name: OAUTH2_PROXY_REDIRECT_URL + value: "http://localhost:4180/oauth2/callback" + - name: OAUTH2_PROXY_COOKIE_SECRET + valueFrom: + secretKeyRef: + name: {{ default (printf "%s-cookie-secret" .Release.Name) .Values.authentication.cookieSecretName }} + key: COOKIE_SECRET + optional: false + - name: OAUTH2_PROXY_EMAIL_DOMAINS + value: "*" + - name: OAUTH2_PROXY_HTPASSWD_USER_GROUP + value: write + - name: OAUTH2_PROXY_HTPASSWD_FILE + value: /etc/oauth2_proxy/basicauth/htpasswd + - name: OAUTH2_PROXY_SKIP_AUTH_ROUTES + value: "^/health$" + - name: OAUTH2_PROXY_PROXY_WEBSOCKETS + value: "false" + ports: + - containerPort: 4180 + name: http + protocol: TCP + - containerPort: 8443 + name: https + protocol: TCP + resources: + {{- toYaml .Values.oauth2Proxy.resources | nindent 4 }} + volumeMounts: + - name: {{ .Release.Name }}-reports-secret + mountPath: /etc/oauth2_proxy/basicauth + readOnly: true + {{- if .Values.oauth2Proxy.tls.selfSigned.enabled }} + - name: {{ .Release.Name }}-oauth2proxy-reports-tls + mountPath: /etc/tls/private + {{- end }} +{{- else }} +- name: {{ printf "%s-reports-%s" .Chart.Name "authproxy" }} + securityContext: + {{- toYaml (.Values.oauth2Proxy).securityContext | nindent 4 }} + image: "{{ (.Values.oauth2Proxy).image.repository }}:{{ (.Values.oauth2Proxy).image.tag }}" + imagePullPolicy: {{ (.Values.oauth2Proxy).image.pullPolicy }} + env: + - name: OAUTH2_PROXY_CLIENT_ID + value: dummy + - name: OAUTH2_PROXY_CLIENT_SECRET + value: none + - name: OAUTH2_PROXY_HTTP_ADDRESS + value: 0.0.0.0:4180 + - name: OAUTH2_PROXY_UPSTREAMS + value: http://localhost:10001/ + - name: OAUTH2_PROXY_REDIRECT_URL + value: "http://localhost:4180/oauth2/callback" + - name: OAUTH2_PROXY_COOKIE_SECRET + valueFrom: + secretKeyRef: + name: {{ default (printf "%s-cookie-secret" .Release.Name) .Values.authentication.cookieSecretName }} + key: COOKIE_SECRET + optional: false + - name: OAUTH2_PROXY_EMAIL_DOMAINS + value: "*" + - name: OAUTH2_PROXY_HTPASSWD_USER_GROUP + value: write + - name: OAUTH2_PROXY_HTPASSWD_FILE + value: /etc/oauth2_proxy/basicauth/htpasswd + - name: OAUTH2_PROXY_SKIP_AUTH_ROUTES + value: "^/health$" + - name: OAUTH2_PROXY_PROXY_WEBSOCKETS + value: "false" + ports: + - containerPort: 4180 + name: http + protocol: TCP + resources: + {{- toYaml .Values.oauth2Proxy.resources | nindent 4 }} + volumeMounts: + - name: {{ .Release.Name }}-reports-secret + mountPath: /etc/oauth2_proxy/basicauth + readOnly: true +{{- end }} +{{- end}} diff --git a/charts/redhat/redhat/redhat-cryostat/2.0.3/src/templates/alpha_config.yaml b/charts/redhat/redhat/redhat-cryostat/2.0.3/src/templates/alpha_config.yaml new file mode 100644 index 000000000..63094fe45 --- /dev/null +++ b/charts/redhat/redhat/redhat-cryostat/2.0.3/src/templates/alpha_config.yaml @@ -0,0 +1,38 @@ +{{/* + Alpha Configuration is not used with OpenShift OAuth Proxy +*/}} +{{- if not (.Values.authentication.openshift).enabled -}} +apiVersion: v1 +kind: ConfigMap +metadata: + name: {{ .Release.Name }}-alpha-config + labels: + {{- include "cryostat.labels" . | nindent 4 }} +data: + alpha_config.yaml: |- + server: + BindAddress: http://0.0.0.0:4180 + {{- if .Values.oauth2Proxy.tls.selfSigned.enabled }} + SecureBindAddress: https://0.0.0.0:8443 + TLS: + Key: + fromFile: /etc/tls/private/key + Cert: + fromFile: /etc/tls/private/cert + {{- end}} + upstreamConfig: + proxyRawPath: true + upstreams: + - id: cryostat + path: / + uri: http://localhost:8181 + - id: grafana + path: /grafana/ + uri: http://localhost:3000 + providers: + - id: dummy + name: Unused - Sign In Below + clientId: CLIENT_ID + clientSecret: CLIENT_SECRET + provider: google +{{- end }} diff --git a/charts/redhat/redhat/redhat-cryostat/2.0.3/src/templates/clusterrolebinding.yaml b/charts/redhat/redhat/redhat-cryostat/2.0.3/src/templates/clusterrolebinding.yaml new file mode 100644 index 000000000..4721c7c3b --- /dev/null +++ b/charts/redhat/redhat/redhat-cryostat/2.0.3/src/templates/clusterrolebinding.yaml @@ -0,0 +1,16 @@ +{{- if and (.Values.rbac.create) (.Values.authentication.openshift.enabled) -}} +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + name: {{ include "cryostat.fullname" . }} + labels: + {{- include "cryostat.labels" . | nindent 4 }} +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: {{ .Values.authentication.openshift.clusterRole.name }} +subjects: +- kind: ServiceAccount + name: {{ include "cryostat.serviceAccountName" . }} + namespace: {{ .Release.Namespace }} +{{- end }} diff --git a/charts/redhat/redhat/redhat-cryostat/2.0.3/src/templates/cookie_secret.yaml b/charts/redhat/redhat/redhat-cryostat/2.0.3/src/templates/cookie_secret.yaml new file mode 100644 index 000000000..76b44fc0e --- /dev/null +++ b/charts/redhat/redhat/redhat-cryostat/2.0.3/src/templates/cookie_secret.yaml @@ -0,0 +1,11 @@ +{{- if empty .Values.authentication.cookieSecretName -}} +apiVersion: v1 +kind: Secret +metadata: + name: {{ .Release.Name }}-cookie-secret + labels: + {{- include "cryostat.labels" $ | nindent 4 }} +type: Opaque +data: + COOKIE_SECRET: {{ include "cryostat.cookieSecret" . }} +{{- end -}} diff --git a/charts/redhat/redhat/redhat-cryostat/2.0.3/src/templates/cryostat_deployment.yaml b/charts/redhat/redhat/redhat-cryostat/2.0.3/src/templates/cryostat_deployment.yaml new file mode 100644 index 000000000..2e222b9f1 --- /dev/null +++ b/charts/redhat/redhat/redhat-cryostat/2.0.3/src/templates/cryostat_deployment.yaml @@ -0,0 +1,250 @@ +{{- $fullName := include "cryostat.fullname" . -}} +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: {{ include "cryostat.deploymentName" . }} + labels: + {{- include "cryostat.labels" . | nindent 4 }} + app.kubernetes.io/component: cryostat +spec: + replicas: 1 + strategy: + type: Recreate + selector: + matchLabels: + {{- include "cryostat.selectorLabels" . | nindent 6 }} + app.kubernetes.io/component: cryostat + template: + metadata: + annotations: + {{- with .Values.podAnnotations }} + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.core.podAnnotations }} + {{- toYaml . | nindent 8 }} + {{- end }} + labels: + {{- include "cryostat.selectorLabels" . | nindent 8 }} + app.kubernetes.io/component: cryostat + spec: + {{- with .Values.imagePullSecrets }} + imagePullSecrets: + {{- toYaml . | nindent 8 }} + {{- end }} + serviceAccountName: {{ include "cryostat.serviceAccountName" . }} + securityContext: + {{- toYaml .Values.podSecurityContext | nindent 8 }} + containers: + {{- if (.Values.authentication.openshift).enabled }} + {{- include "cryostat.openshiftOauthProxy" . | nindent 8 }} + {{- else }} + {{- include "cryostat.oauth2Proxy" . | nindent 8 }} + {{- end }} + - name: {{ .Chart.Name }} + securityContext: + {{- toYaml .Values.core.securityContext | nindent 12 }} + image: "{{ .Values.core.image.repository }}:{{ .Values.core.image.tag }}" + imagePullPolicy: {{ .Values.core.image.pullPolicy }} + env: + - name: QUARKUS_HTTP_HOST + value: localhost + - name: QUARKUS_LOG_LEVEL + value: {{ .Values.core.debug.log.level }} + - name: QUARKUS_HTTP_PORT + value: "8181" + - name: QUARKUS_HTTP_PROXY_PROXY_ADDRESS_FORWARDING + value: 'true' + - name: QUARKUS_HTTP_PROXY_ALLOW_X_FORWARDED + value: 'true' + - name: QUARKUS_HTTP_PROXY_ENABLE_FORWARDED_HOST + value: 'true' + - name: QUARKUS_HTTP_PROXY_ENABLE_FORWARDED_PREFIX + value: 'true' + - name: QUARKUS_HIBERNATE_ORM_DATABASE_GENERATION + value: none + - name: QUARKUS_HIBERNATE_ORM_SQL_LOAD_SCRIPT + value: no-file + {{- if gt (int (.Values.reports).replicas) 0 }} + - name: REPORTS_PASS_SECRET_KEY + valueFrom: + secretKeyRef: + name: {{ default (printf "%s-reports-secret" .Release.Name) .Values.reports.reportsSecretName }} + key: REPORTS_PASS + optional: false + # TODO TLS trust + - name: QUARKUS_TLS_TRUST_ALL + value: "true" + - name: QUARKUS_REST_CLIENT_EXTENSIONS_API_VERIFY_HOST + value: "false" + - name: QUARKUS_REST_CLIENT_REPORTS_URL + value: {{ printf "%s://cryostat:$(REPORTS_PASS_SECRET_KEY)@%s-reports.%s.svc:%d" (include "cryostat.core.service.scheme" .) $fullName $.Release.Namespace (int .Values.reports.service.httpPort) }} + {{- end }} + - name: QUARKUS_DATASOURCE_USERNAME + value: cryostat + - name: QUARKUS_DATASOURCE_PASSWORD + valueFrom: + secretKeyRef: + name: {{ default (printf "%s-db" .Release.Name) .Values.core.databaseSecretName }} + key: CONNECTION_KEY + optional: false + - name: QUARKUS_DATASOURCE_JDBC_URL + value: jdbc:postgresql://{{ $fullName }}-db:5432/cryostat + - name: STORAGE_BUCKETS_ARCHIVES_NAME + value: archivedrecordings + - name: QUARKUS_S3_ENDPOINT_OVERRIDE + value: http://{{ $fullName }}-storage:8333 + - name: QUARKUS_S3_PATH_STYLE_ACCESS + value: "true" + - name: QUARKUS_S3_AWS_REGION + value: us-east-1 + - name: QUARKUS_S3_AWS_CREDENTIALS_TYPE + value: static + - name: QUARKUS_S3_AWS_CREDENTIALS_STATIC_PROVIDER_ACCESS_KEY_ID + value: cryostat + - name: AWS_ACCESS_KEY_ID + value: $(QUARKUS_S3_AWS_CREDENTIALS_STATIC_PROVIDER_ACCESS_KEY_ID) + - name: QUARKUS_S3_AWS_CREDENTIALS_STATIC_PROVIDER_SECRET_ACCESS_KEY + valueFrom: + secretKeyRef: + name: {{ default (printf "%s-storage-secret" .Release.Name) .Values.storage.storageSecretName }} + key: STORAGE_ACCESS_KEY + optional: false + - name: AWS_SECRET_ACCESS_KEY + value: $(QUARKUS_S3_AWS_CREDENTIALS_STATIC_PROVIDER_SECRET_ACCESS_KEY) + - name: GRAFANA_DATASOURCE_URL + value: http://localhost:8800 + - name: GRAFANA_DASHBOARD_URL + value: http://localhost:3000 + - name: GRAFANA_DASHBOARD_EXT_URL + value: /grafana/ + {{- if .Values.core.discovery.kubernetes.enabled }} + - name: CRYOSTAT_DISCOVERY_KUBERNETES_ENABLED + value: "true" + {{- with .Values.core.discovery.kubernetes }} + - name: CRYOSTAT_DISCOVERY_KUBERNETES_NAMESPACES + value: {{ include "cryostat.commaSepList" (list .namespaces $.Release.Namespace .installNamespaceDisabled) }} + - name: CRYOSTAT_DISCOVERY_KUBERNETES_PORT_NAMES + value: {{ include "cryostat.commaSepList" (list .portNames "jfr-jmx" .builtInPortNamesDisabled) }} + - name: CRYOSTAT_DISCOVERY_KUBERNETES_PORT_NUMBERS + value: {{ include "cryostat.commaSepList" (list .portNumbers 9091 .builtInPortNumbersDisabled) }} + {{- end }} + {{- end }} + ports: + - containerPort: 8181 + protocol: TCP + livenessProbe: + exec: + command: + - curl + - --fail + - http://localhost:8181/health/liveness + startupProbe: + exec: + command: + - curl + - --fail + - http://localhost:8181/health/liveness + failureThreshold: 18 + resources: + {{- toYaml .Values.core.resources | nindent 12 }} + volumeMounts: + {{- range .Values.core.config.eventTemplates.configMapNames }} + - name: {{ . }} + mountPath: /opt/cryostat.d/templates.d/{{ . }} + readOnly: true + {{- end }} + {{- range .Values.core.config.tlsTruststore.secretNames }} + - name: {{ . }} + mountPath: /truststore/{{ . }} + readOnly: true + {{- end }} + - name: {{ printf "%s-%s" .Chart.Name "grafana" }} + securityContext: + {{- toYaml .Values.grafana.securityContext | nindent 12 }} + image: "{{ .Values.grafana.image.repository }}:{{ .Values.grafana.image.tag }}" + imagePullPolicy: {{ .Values.grafana.image.pullPolicy }} + env: + - name: GF_AUTH_ANONYMOUS_ENABLED + value: "true" + - name: GF_SERVER_DOMAIN + value: localhost + - name: GF_SERVER_ROOT_URL + value: http://localhost:4180/grafana/ + - name: GF_SERVER_SERVE_FROM_SUB_PATH + value: "true" + - name: JFR_DATASOURCE_URL + value: http://localhost:8800 + ports: + - containerPort: 3000 + protocol: TCP + livenessProbe: + httpGet: + path: /api/health + port: 3000 + resources: + {{- toYaml .Values.grafana.resources | nindent 12 }} + - name: {{ printf "%s-%s" .Chart.Name "jfr-datasource" }} + securityContext: + {{- toYaml .Values.datasource.securityContext | nindent 12 }} + image: "{{ .Values.datasource.image.repository }}:{{ .Values.datasource.image.tag }}" + imagePullPolicy: {{ .Values.datasource.image.pullPolicy }} + env: + - name: LISTEN_HOST + value: localhost + - name: QUARKUS_HTTP_PORT + value: "8800" + ports: + - containerPort: 8800 + protocol: TCP + livenessProbe: + exec: + command: + - curl + - --fail + - http://localhost:8800 + resources: + {{- toYaml .Values.datasource.resources | nindent 12 }} + {{- with (default .Values.nodeSelector .Values.core.nodeSelector) }} + nodeSelector: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with (default .Values.affinity .Values.core.affinity) }} + affinity: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with (default .Values.tolerations .Values.core.tolerations) }} + tolerations: + {{- toYaml . | nindent 8 }} + {{- end }} + volumes: + {{- if not (.Values.authentication.openshift).enabled }} + - name: alpha-config + configMap: + name: {{ .Release.Name }}-alpha-config + {{- end }} + {{- if .Values.authentication.basicAuth.enabled }} + - name: {{ .Release.Name }}-htpasswd + secret: + defaultMode: 0440 + secretName: {{ .Values.authentication.basicAuth.secretName }} + {{- end }} + {{- if (.Values.authentication.openshift).enabled }} + - name: {{ .Release.Name }}-proxy-tls + secret: + secretName: {{ .Release.Name }}-proxy-tls + {{- else if .Values.oauth2Proxy.tls.selfSigned.enabled }} + - name: {{ .Release.Name }}-oauth2proxy-tls + secret: + secretName: {{ .Release.Name }}-oauth2proxy-tls + {{- end }} + {{- range .Values.core.config.eventTemplates.configMapNames}} + - name: {{ . }} + configMap: + name: {{ . }} + {{- end }} + {{- range .Values.core.config.tlsTruststore.secretNames }} + - name: {{ . }} + secret: + secretName: {{ . }} + {{- end }} diff --git a/charts/redhat/redhat/redhat-cryostat/2.0.3/src/templates/cryostat_service.yaml b/charts/redhat/redhat/redhat-cryostat/2.0.3/src/templates/cryostat_service.yaml new file mode 100644 index 000000000..36261e437 --- /dev/null +++ b/charts/redhat/redhat/redhat-cryostat/2.0.3/src/templates/cryostat_service.yaml @@ -0,0 +1,31 @@ +{{- $fullName := include "cryostat.fullname" . -}} +--- +apiVersion: v1 +kind: Service +metadata: + name: {{ $fullName }} + labels: + {{- include "cryostat.labels" $ | nindent 4 }} + app.kubernetes.io/component: cryostat + {{- if (.Values.authentication.openshift).enabled }} + annotations: + service.alpha.openshift.io/serving-cert-secret-name: {{ .Release.Name }}-proxy-tls + {{- end }} +spec: + type: {{ .Values.core.service.type }} + ports: + - port: {{ .Values.core.service.httpPort }} + targetPort: 4180 + protocol: TCP + name: http + appProtocol: http + {{- if ( include "cryostat.core.service.tls" . | eq "true" ) }} + - port: 443 + targetPort: 8443 + protocol: TCP + name: https + appProtocol: https + {{- end }} + selector: + {{- include "cryostat.selectorLabels" $ | nindent 4 }} + app.kubernetes.io/component: cryostat diff --git a/charts/redhat/redhat/redhat-cryostat/2.0.3/src/templates/cryostat_tls_secret.yaml b/charts/redhat/redhat/redhat-cryostat/2.0.3/src/templates/cryostat_tls_secret.yaml new file mode 100644 index 000000000..0d057454a --- /dev/null +++ b/charts/redhat/redhat/redhat-cryostat/2.0.3/src/templates/cryostat_tls_secret.yaml @@ -0,0 +1,15 @@ +{{- if ( include "cryostat.core.service.tls" . | eq "true" ) }} +{{- $fullName := include "cryostat.fullname" . }} +{{- $cert := genSelfSignedCert $fullName nil nil 365 }} +apiVersion: v1 +kind: Secret +metadata: + name: {{ .Release.Name }}-oauth2proxy-tls + labels: + {{- include "cryostat.labels" $ | nindent 4 }} +type: Opaque +immutable: true +data: + cert: {{ $cert.Cert | b64enc }} + key: {{ $cert.Key | b64enc }} +{{- end -}} diff --git a/charts/redhat/redhat/redhat-cryostat/2.0.3/src/templates/db_deployment.yaml b/charts/redhat/redhat/redhat-cryostat/2.0.3/src/templates/db_deployment.yaml new file mode 100644 index 000000000..837195977 --- /dev/null +++ b/charts/redhat/redhat/redhat-cryostat/2.0.3/src/templates/db_deployment.yaml @@ -0,0 +1,98 @@ +{{- $fullName := include "cryostat.fullname" . -}} +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: {{ include "cryostat.deploymentName" . }}-db + labels: + {{- include "cryostat.labels" . | nindent 4 }} + app.kubernetes.io/component: db +spec: + replicas: 1 + strategy: + type: Recreate + selector: + matchLabels: + {{- include "cryostat.selectorLabels" . | nindent 6 }} + app.kubernetes.io/component: db + template: + metadata: + annotations: + {{- with .Values.podAnnotations }} + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.db.podAnnotations }} + {{- toYaml . | nindent 8 }} + {{- end }} + labels: + {{- include "cryostat.selectorLabels" . | nindent 8 }} + app.kubernetes.io/component: db + spec: + {{- with .Values.imagePullSecrets }} + imagePullSecrets: + {{- toYaml . | nindent 8 }} + {{- end }} + securityContext: + {{- toYaml .Values.podSecurityContext | nindent 8 }} + containers: + - name: {{ printf "%s-%s" .Chart.Name "db" }} + securityContext: + {{- toYaml (.Values.db).securityContext | nindent 12 }} + image: "{{ (.Values.db).image.repository }}:{{ (.Values.db).image.tag }}" + imagePullPolicy: {{ (.Values.db).image.pullPolicy }} + env: + - name: POSTGRESQL_USER + value: cryostat + - name: POSTGRESQL_PASSWORD + valueFrom: + secretKeyRef: + name: {{ default (printf "%s-db" .Release.Name) .Values.core.databaseSecretName }} + key: CONNECTION_KEY + optional: false + - name: POSTGRESQL_DATABASE + value: cryostat + - name: PG_ENCRYPT_KEY + valueFrom: + secretKeyRef: + name: {{ default (printf "%s-db" .Release.Name) .Values.core.databaseSecretName }} + key: ENCRYPTION_KEY + optional: false + ports: + - containerPort: 5432 + protocol: TCP + volumeMounts: + - mountPath: /var/lib/pgsql/data + name: {{ .Chart.Name }}-db + subPath: postgres + readinessProbe: + exec: + command: + - pg_isready + - -U + - cryostat + - -d + - cryostat + resources: + {{- toYaml (.Values.db).resources | nindent 12 }} + {{- with (default .Values.nodeSelector .Values.db.nodeSelector) }} + nodeSelector: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with (default .Values.affinity .Values.db.affinity) }} + affinity: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with (default .Values.tolerations .Values.db.tolerations) }} + tolerations: + {{- toYaml . | nindent 8 }} + {{- end }} + volumes: + {{- if ((.Values.db.pvc).enabled) }} + - name: {{ .Chart.Name }}-db + persistentVolumeClaim: + claimName: {{ .Release.Name }}-db + {{- end }} + {{- if not ((.Values.db.pvc).enabled) }} + - name: {{ .Chart.Name }}-db + emptyDir: {} + {{- end }} diff --git a/charts/redhat/redhat/redhat-cryostat/2.0.3/src/templates/db_pvc.yaml b/charts/redhat/redhat/redhat-cryostat/2.0.3/src/templates/db_pvc.yaml new file mode 100644 index 000000000..78c2abc34 --- /dev/null +++ b/charts/redhat/redhat/redhat-cryostat/2.0.3/src/templates/db_pvc.yaml @@ -0,0 +1,27 @@ +{{- if ((.Values.db.pvc).enabled) }} +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: {{ include "cryostat.fullname" . }}-db + {{- $labels := include "cryostat.labels" $ | nindent 4 }} + labels: {{ $labels }} + {{- with .Values.db.pvc.annotations }} + annotations: + {{- toYaml . | nindent 4 }} + {{- end }} +spec: + {{- with .Values.db.pvc.accessModes }} + accessModes: + {{- toYaml . | nindent 4 }} + {{- end }} + resources: + requests: + storage: {{ .Values.db.pvc.storage }} + {{- if kindIs "string" .Values.db.pvc.storageClassName }} + storageClassName: {{ .Values.db.pvc.storageClassName | quote }} + {{- end }} + {{- with .Values.db.pvc.selector }} + selector: + {{- toYaml . | nindent 4 }} + {{- end }} +{{- end }} diff --git a/charts/redhat/redhat/redhat-cryostat/2.0.3/src/templates/db_secret.yaml b/charts/redhat/redhat/redhat-cryostat/2.0.3/src/templates/db_secret.yaml new file mode 100644 index 000000000..798638375 --- /dev/null +++ b/charts/redhat/redhat/redhat-cryostat/2.0.3/src/templates/db_secret.yaml @@ -0,0 +1,13 @@ +{{- if empty .Values.core.databaseSecretName -}} +apiVersion: v1 +kind: Secret +metadata: + name: {{ .Release.Name }}-db + labels: + {{- include "cryostat.labels" $ | nindent 4 }} +type: Opaque +immutable: true +data: + ENCRYPTION_KEY: {{ include "cryostat.databaseEncryptionKey" . }} + CONNECTION_KEY: {{ include "cryostat.databaseConnectionKey" . }} +{{- end -}} diff --git a/charts/redhat/redhat/redhat-cryostat/2.0.3/src/templates/db_service.yaml b/charts/redhat/redhat/redhat-cryostat/2.0.3/src/templates/db_service.yaml new file mode 100644 index 000000000..402e189fb --- /dev/null +++ b/charts/redhat/redhat/redhat-cryostat/2.0.3/src/templates/db_service.yaml @@ -0,0 +1,16 @@ +{{- $fullName := include "cryostat.fullname" . -}} +--- +apiVersion: v1 +kind: Service +metadata: + name: {{ $fullName }}-db + labels: + {{- include "cryostat.labels" $ | nindent 4 }} + app.kubernetes.io/component: db +spec: + type: {{ .Values.db.service.type }} + ports: + - port: {{ .Values.db.service.port }} + selector: + {{- include "cryostat.selectorLabels" $ | nindent 4 }} + app.kubernetes.io/component: db diff --git a/charts/redhat/redhat/redhat-cryostat/2.0.3/src/templates/ingress.yaml b/charts/redhat/redhat/redhat-cryostat/2.0.3/src/templates/ingress.yaml new file mode 100644 index 000000000..4a051f66c --- /dev/null +++ b/charts/redhat/redhat/redhat-cryostat/2.0.3/src/templates/ingress.yaml @@ -0,0 +1,70 @@ +{{- define "cryostat.createIngress" }} +{{- $svcName := index . 0 }} +{{- $svcPort := index . 1 }} +{{- $ := index . 2 }} +{{- with index . 3 }} +{{- if and .ingress.className (not (semverCompare ">=1.18-0" $.Capabilities.KubeVersion.GitVersion)) }} + {{- if not (hasKey .ingress.annotations "kubernetes.io/ingress.class") }} + {{- $_ := set .ingress.annotations "kubernetes.io/ingress.class" .ingress.className}} + {{- end }} +{{- end }} +--- +{{- if semverCompare ">=1.19-0" $.Capabilities.KubeVersion.GitVersion -}} +apiVersion: networking.k8s.io/v1 +{{- else if semverCompare ">=1.14-0" $.Capabilities.KubeVersion.GitVersion -}} +apiVersion: networking.k8s.io/v1beta1 +{{- else -}} +apiVersion: extensions/v1beta1 +{{- end }} +kind: Ingress +metadata: + name: {{ $svcName }} + {{- $labels := include "cryostat.labels" $ | nindent 4 }} + labels: {{ $labels }} + {{- with .ingress.annotations }} + annotations: + {{- toYaml . | nindent 4 }} + {{- end }} +spec: + {{- if and .ingress.className (semverCompare ">=1.18-0" $.Capabilities.KubeVersion.GitVersion) }} + ingressClassName: {{ .ingress.className }} + {{- end }} + {{- if .ingress.tls }} + tls: + {{- range .ingress.tls }} + - hosts: + {{- range .hosts }} + - {{ . | quote }} + {{- end }} + secretName: {{ .secretName }} + {{- end }} + {{- end }} + rules: + {{- range .ingress.hosts }} + - host: {{ .host | quote }} + http: + paths: + {{- range .paths }} + - path: {{ .path }} + {{- if and .pathType (semverCompare ">=1.18-0" $.Capabilities.KubeVersion.GitVersion) }} + pathType: {{ .pathType }} + {{- end }} + backend: + {{- if semverCompare ">=1.19-0" $.Capabilities.KubeVersion.GitVersion }} + service: + name: {{ $svcName }} + port: + number: {{ $svcPort }} + {{- else }} + serviceName: {{ $svcName }} + servicePort: {{ $svcPort }} + {{- end }} + {{- end }} + {{- end }} +{{- end }} +{{- end }} + +{{- $fullName := include "cryostat.fullname" . -}} +{{- if .Values.core.ingress.enabled }} +{{- include "cryostat.createIngress" (list $fullName .Values.core.service.httpPort $ .Values.core)}} +{{- end }} diff --git a/charts/redhat/redhat/redhat-cryostat/2.0.3/src/templates/networkpolicy_ingress.yaml b/charts/redhat/redhat/redhat-cryostat/2.0.3/src/templates/networkpolicy_ingress.yaml new file mode 100644 index 000000000..b827a8e21 --- /dev/null +++ b/charts/redhat/redhat/redhat-cryostat/2.0.3/src/templates/networkpolicy_ingress.yaml @@ -0,0 +1,87 @@ +{{- if ((.Values.networkPolicy.ingress).enabled) }} +apiVersion: networking.k8s.io/v1 +kind: NetworkPolicy +metadata: + name: {{ .Release.Name }}-cryostat-internal-ingress +spec: + podSelector: + matchLabels: + {{- include "cryostat.selectorLabels" $ | nindent 6 }} + app.kubernetes.io/component: cryostat + ingress: + - from: + - namespaceSelector: {} + ports: + - protocol: TCP + port: 4180 + - protocol: TCP + port: 8443 +--- +apiVersion: networking.k8s.io/v1 +kind: NetworkPolicy +metadata: + name: {{ .Release.Name }}-reports-internal-ingress +spec: + podSelector: + matchLabels: + {{- include "cryostat.selectorLabels" $ | nindent 6 }} + app.kubernetes.io/component: reports + ingress: + - from: + - podSelector: + matchLabels: + {{- include "cryostat.selectorLabels" $ | nindent 12 }} + app.kubernetes.io/component: cryostat + namespaceSelector: + matchLabels: + kubernetes.io/metadata.name: {{ .Release.Namespace }} + ports: + - protocol: TCP + port: 4180 + - protocol: TCP + port: 8443 +--- +apiVersion: networking.k8s.io/v1 +kind: NetworkPolicy +metadata: + name: {{ .Release.Name }}-db-internal-ingress +spec: + podSelector: + matchLabels: + {{- include "cryostat.selectorLabels" $ | nindent 6 }} + app.kubernetes.io/component: db + ingress: + - from: + - podSelector: + matchLabels: + {{- include "cryostat.selectorLabels" $ | nindent 12 }} + app.kubernetes.io/component: cryostat + namespaceSelector: + matchLabels: + kubernetes.io/metadata.name: {{ .Release.Namespace }} + ports: + - protocol: TCP + port: 5432 +--- +apiVersion: networking.k8s.io/v1 +kind: NetworkPolicy +metadata: + name: {{ .Release.Name }}-storage-internal-ingress +spec: + podSelector: + matchLabels: + {{- include "cryostat.selectorLabels" $ | nindent 6 }} + app.kubernetes.io/component: storage + ingress: + - from: + - podSelector: + matchLabels: + {{- include "cryostat.selectorLabels" $ | nindent 12 }} + app.kubernetes.io/component: cryostat + namespaceSelector: + matchLabels: + kubernetes.io/metadata.name: {{ .Release.Namespace }} + ports: + - protocol: TCP + port: 8333 +{{- end }} diff --git a/charts/redhat/redhat/redhat-cryostat/2.0.3/src/templates/reports_deployment.yaml b/charts/redhat/redhat/redhat-cryostat/2.0.3/src/templates/reports_deployment.yaml new file mode 100644 index 000000000..b3503f00b --- /dev/null +++ b/charts/redhat/redhat/redhat-cryostat/2.0.3/src/templates/reports_deployment.yaml @@ -0,0 +1,93 @@ +{{- $fullName := include "cryostat.fullname" . -}} +--- +{{- if gt (int (.Values.reports).replicas) 0 -}} +apiVersion: apps/v1 +kind: Deployment +metadata: + name: {{ include "cryostat.deploymentName" . }}-reports + labels: + {{- include "cryostat.labels" . | nindent 4 }} + app.kubernetes.io/component: reports +spec: + replicas: {{ (.Values.reports).replicas }} + strategy: + type: RollingUpdate + selector: + matchLabels: + {{- include "cryostat.selectorLabels" . | nindent 6 }} + app.kubernetes.io/component: reports + template: + metadata: + annotations: + {{- with .Values.podAnnotations }} + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.reports.podAnnotations }} + {{- toYaml . | nindent 8 }} + {{- end }} + labels: + {{- include "cryostat.selectorLabels" . | nindent 8 }} + app.kubernetes.io/component: reports + spec: + {{- with .Values.imagePullSecrets }} + imagePullSecrets: + {{- toYaml . | nindent 8 }} + {{- end }} + securityContext: + {{- toYaml .Values.podSecurityContext | nindent 8 }} + containers: + {{- include "cryostat.reportsAuthProxy" . | nindent 8 }} + - name: {{ printf "%s-%s" .Chart.Name "reports" }} + securityContext: + {{- toYaml (.Values.reports).securityContext | nindent 12 }} + image: "{{ (.Values.reports).image.repository }}:{{ (.Values.reports).image.tag }}" + imagePullPolicy: {{ (.Values.reports).image.pullPolicy }} + env: + - name: QUARKUS_HTTP_PORT + value: "{{ .Values.reports.service.httpPort }}" + - name: QUARKUS_LOG_LEVEL + value: {{ .Values.reports.debug.log.level }} + ports: + - containerPort: {{ .Values.reports.service.httpPort }} + protocol: TCP + startupProbe: + httpGet: + path: "/health" + port: {{ .Values.reports.service.httpPort }} + periodSeconds: 10 + failureThreshold: 9 + livenessProbe: + httpGet: + path: "/health" + port: {{ .Values.reports.service.httpPort }} + periodSeconds: 10 + failureThreshold: 2 + resources: + {{- toYaml (.Values.reports).resources | nindent 12 }} + {{- with (default .Values.nodeSelector .Values.reports.nodeSelector) }} + nodeSelector: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with (default .Values.affinity .Values.reports.affinity) }} + affinity: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with (default .Values.tolerations .Values.reports.tolerations) }} + tolerations: + {{- toYaml . | nindent 8 }} + {{- end }} + volumes: + - name: {{ .Release.Name }}-reports-secret + secret: + defaultMode: 0440 + secretName: {{ .Release.Name }}-reports-secret + {{- if (.Values.authentication.openshift).enabled }} + - name: {{ .Release.Name }}-proxy-tls + secret: + secretName: {{ .Release.Name }}-proxy-tls + {{- else if .Values.oauth2Proxy.tls.selfSigned.enabled }} + - name: {{ .Release.Name }}-oauth2proxy-reports-tls + secret: + secretName: {{ .Release.Name }}-oauth2proxy-reports-tls + {{- end }} +{{- end -}} diff --git a/charts/redhat/redhat/redhat-cryostat/2.0.3/src/templates/reports_secret.yaml b/charts/redhat/redhat/redhat-cryostat/2.0.3/src/templates/reports_secret.yaml new file mode 100644 index 000000000..988de13c8 --- /dev/null +++ b/charts/redhat/redhat/redhat-cryostat/2.0.3/src/templates/reports_secret.yaml @@ -0,0 +1,13 @@ +{{- if empty .Values.reports.reportsSecretName -}} +{{- $secretKey := include "cryostat.reportsPassSecretKey" . -}} +apiVersion: v1 +kind: Secret +metadata: + name: {{ .Release.Name }}-reports-secret + labels: + {{- include "cryostat.labels" $ | nindent 4 }} +type: Opaque +data: + REPORTS_PASS: {{ $secretKey | b64enc }} + htpasswd: {{ htpasswd "cryostat" $secretKey | b64enc }} +{{- end -}} diff --git a/charts/redhat/redhat/redhat-cryostat/2.0.3/src/templates/reports_service.yaml b/charts/redhat/redhat/redhat-cryostat/2.0.3/src/templates/reports_service.yaml new file mode 100644 index 000000000..a54836a63 --- /dev/null +++ b/charts/redhat/redhat/redhat-cryostat/2.0.3/src/templates/reports_service.yaml @@ -0,0 +1,18 @@ +{{- if gt (int (.Values.reports).replicas) 0 -}} +{{- $fullName := include "cryostat.fullname" . -}} +apiVersion: v1 +kind: Service +metadata: + name: {{ $fullName }}-reports + labels: + {{- include "cryostat.labels" $ | nindent 4 }} + app.kubernetes.io/component: reports +spec: + type: {{ .Values.reports.service.type }} + ports: + - port: {{ .Values.reports.service.httpPort }} + targetPort: {{ include "cryostat.core.service.scheme" . }} + selector: + {{- include "cryostat.selectorLabels" $ | nindent 4 }} + app.kubernetes.io/component: reports +{{- end -}} diff --git a/charts/redhat/redhat/redhat-cryostat/2.0.3/src/templates/reports_tls_secret.yaml b/charts/redhat/redhat/redhat-cryostat/2.0.3/src/templates/reports_tls_secret.yaml new file mode 100644 index 000000000..79dbf2582 --- /dev/null +++ b/charts/redhat/redhat/redhat-cryostat/2.0.3/src/templates/reports_tls_secret.yaml @@ -0,0 +1,15 @@ +{{- if ( include "cryostat.core.service.tls" . | eq "true" ) }} +{{- $fullName := include "cryostat.fullname" . }} +{{- $cert := genSelfSignedCert (printf "%s-reports" $fullName) nil nil 365 }} +apiVersion: v1 +kind: Secret +metadata: + name: {{ .Release.Name }}-oauth2proxy-reports-tls + labels: + {{- include "cryostat.labels" $ | nindent 4 }} +type: Opaque +immutable: true +data: + cert: {{ $cert.Cert | b64enc }} + key: {{ $cert.Key | b64enc }} +{{- end -}} diff --git a/charts/redhat/redhat/redhat-cryostat/2.0.3/src/templates/role.yaml b/charts/redhat/redhat/redhat-cryostat/2.0.3/src/templates/role.yaml new file mode 100644 index 000000000..98f96c609 --- /dev/null +++ b/charts/redhat/redhat/redhat-cryostat/2.0.3/src/templates/role.yaml @@ -0,0 +1,61 @@ +{{- define "cryostat.createRole" -}} +{{- $ns := index . 0 -}} +{{- with index . 1 -}} +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: Role +metadata: + name: {{ include "cryostat.fullname" . }} + namespace: {{ $ns }} + labels: + {{- include "cryostat.labels" . | nindent 4 }} +rules: +- apiGroups: + - "" + resources: + - endpoints + verbs: + - get + - list + - watch +- apiGroups: + - "" + resources: + - pods + - replicationcontrollers + verbs: + - get +- apiGroups: + - apps + resources: + - replicasets + - deployments + - daemonsets + - statefulsets + verbs: + - get +- apiGroups: + - apps.openshift.io + resources: + - deploymentconfigs + verbs: + - get +- apiGroups: + - route.openshift.io + resources: + - routes + verbs: + - get + - list +{{- end -}} +{{- end -}} + +{{- if and .Values.rbac.create .Values.core.discovery.kubernetes.enabled -}} +{{- $watchNs := compact (default list .Values.core.discovery.kubernetes.namespaces) | uniq -}} +{{- if and (not $watchNs) (not .Values.core.discovery.kubernetes.installNamespaceDisabled) -}} +{{- $watchNs = list .Release.Namespace -}} +{{- end -}} +{{- range $ns := $watchNs }} +{{ include "cryostat.createRole" (list $ns $) }} +{{- end -}} +{{- end -}} diff --git a/charts/redhat/redhat/redhat-cryostat/2.0.3/src/templates/rolebinding.yaml b/charts/redhat/redhat/redhat-cryostat/2.0.3/src/templates/rolebinding.yaml new file mode 100644 index 000000000..b24049667 --- /dev/null +++ b/charts/redhat/redhat/redhat-cryostat/2.0.3/src/templates/rolebinding.yaml @@ -0,0 +1,31 @@ +{{- define "cryostat.createRolebinding" -}} +{{- $ns := index . 0 -}} +{{- with index . 1 -}} +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: RoleBinding +metadata: + name: {{ include "cryostat.fullname" . }} + namespace: {{ $ns }} + labels: + {{- include "cryostat.labels" . | nindent 4 }} +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: Role + name: {{ include "cryostat.fullname" . }} +subjects: +- kind: ServiceAccount + name: {{ include "cryostat.serviceAccountName" . }} + namespace: {{ .Release.Namespace }} +{{- end -}} +{{- end -}} + +{{- if and .Values.rbac.create .Values.core.discovery.kubernetes.enabled -}} +{{- $watchNs := compact (default list .Values.core.discovery.kubernetes.namespaces) | uniq -}} +{{- if and (not $watchNs) (not .Values.core.discovery.kubernetes.installNamespaceDisabled) -}} +{{- $watchNs = list .Release.Namespace -}} +{{- end -}} +{{- range $ns := $watchNs }} +{{ include "cryostat.createRolebinding" (list $ns $) }} +{{- end -}} +{{- end -}} diff --git a/charts/redhat/redhat/redhat-cryostat/2.0.3/src/templates/route.yaml b/charts/redhat/redhat/redhat-cryostat/2.0.3/src/templates/route.yaml new file mode 100644 index 000000000..608269c11 --- /dev/null +++ b/charts/redhat/redhat/redhat-cryostat/2.0.3/src/templates/route.yaml @@ -0,0 +1,50 @@ +{{- define "cryostat.createRoute" }} +{{- $svcName := index . 0 }} +{{- $targetPort := index . 1 }} +{{- $ := index . 2 }} +{{- with index . 3 }} +--- +apiVersion: route.openshift.io/v1 +kind: Route +metadata: + name: {{ $svcName }} + {{- $labels := include "cryostat.labels" $ | nindent 4 }} + labels: {{ $labels }} + {{- with .route.annotations }} + annotations: + {{- toYaml . | nindent 4 }} + {{- end }} +spec: + to: + kind: Service + name: {{ $svcName }} + port: + targetPort: {{ $targetPort }} +{{- if .route.tls.enabled }} + tls: + termination: {{ .route.tls.termination }} + insecureEdgeTerminationPolicy: {{ .route.tls.insecureEdgeTerminationPolicy }} + {{- if .route.tls.key }} + key: |- + {{- .route.tls.key | nindent 6 }} + {{- end }} + {{- if .route.tls.destinationCACertificate }} + destinationCACertificate: |- + {{- .route.tls.destinationCACertificate | nindent 6 }} + {{- end }} + {{- if .route.tls.caCertificate }} + caCertificate: |- + {{- .route.tls.caCertificate | nindent 6 }} + {{- end }} + {{- if .route.tls.certificate }} + certificate: |- + {{- .route.tls.certificate | nindent 6 }} + {{- end }} +{{- end }} +{{- end }} +{{- end }} + +{{- $fullName := include "cryostat.fullname" . -}} +{{- if .Values.core.route.enabled }} +{{- include "cryostat.createRoute" (list $fullName 4180 $ .Values.core)}} +{{- end }} diff --git a/charts/redhat/redhat/redhat-cryostat/2.0.3/src/templates/serviceaccount.yaml b/charts/redhat/redhat/redhat-cryostat/2.0.3/src/templates/serviceaccount.yaml new file mode 100644 index 000000000..e6da50e61 --- /dev/null +++ b/charts/redhat/redhat/redhat-cryostat/2.0.3/src/templates/serviceaccount.yaml @@ -0,0 +1,17 @@ +{{- if (.Values.authentication.openshift).enabled -}} +{{- $fullName := include "cryostat.fullname" . -}} +{{- $redirectAnnotations := dict "serviceaccounts.openshift.io/oauth-redirectreference.primary" (printf "{\"kind\":\"OAuthRedirectReference\",\"apiVersion\":\"v1\",\"reference\":{\"kind\":\"Route\",\"name\":\"%s\"}}" $fullName) -}} +{{- $_ := merge .Values.serviceAccount.annotations $redirectAnnotations -}} +{{- end -}} +{{- if .Values.serviceAccount.create -}} +apiVersion: v1 +kind: ServiceAccount +metadata: + name: {{ include "cryostat.serviceAccountName" . }} + labels: + {{- include "cryostat.labels" . | nindent 4 }} + {{- with .Values.serviceAccount.annotations }} + annotations: + {{- toYaml . | nindent 4 }} + {{- end }} +{{- end }} diff --git a/charts/redhat/redhat/redhat-cryostat/2.0.3/src/templates/storage_deployment.yaml b/charts/redhat/redhat/redhat-cryostat/2.0.3/src/templates/storage_deployment.yaml new file mode 100644 index 000000000..a7aa6084f --- /dev/null +++ b/charts/redhat/redhat/redhat-cryostat/2.0.3/src/templates/storage_deployment.yaml @@ -0,0 +1,112 @@ +{{- $fullName := include "cryostat.fullname" . -}} +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: {{ include "cryostat.deploymentName" . }}-storage + labels: + {{- include "cryostat.labels" . | nindent 4 }} + app.kubernetes.io/component: storage +spec: + replicas: 1 + strategy: + type: Recreate + selector: + matchLabels: + {{- include "cryostat.selectorLabels" . | nindent 6 }} + app.kubernetes.io/component: storage + template: + metadata: + annotations: + {{- with .Values.podAnnotations }} + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.storage.podAnnotations }} + {{- toYaml . | nindent 8 }} + {{- end }} + labels: + {{- include "cryostat.selectorLabels" . | nindent 8 }} + app.kubernetes.io/component: storage + spec: + {{- with .Values.imagePullSecrets }} + imagePullSecrets: + {{- toYaml . | nindent 8 }} + {{- end }} + securityContext: + {{- toYaml .Values.podSecurityContext | nindent 8 }} + containers: + - name: {{ printf "%s-%s" .Chart.Name "storage" }} + securityContext: + {{- toYaml (.Values.storage).securityContext | nindent 12 }} + image: "{{ (.Values.storage).image.repository }}:{{ (.Values.storage).image.tag }}" + imagePullPolicy: {{ (.Values.storage).image.pullPolicy }} + env: + - name: CRYOSTAT_BUCKETS + value: archivedrecordings,archivedreports,eventtemplates,probes + - name: CRYOSTAT_ACCESS_KEY + value: cryostat + - name: CRYOSTAT_SECRET_KEY + valueFrom: + secretKeyRef: + name: {{ default (printf "%s-storage-secret" .Release.Name) .Values.storage.storageSecretName }} + key: STORAGE_ACCESS_KEY + optional: false + - name: DATA_DIR + value: /data + - name: IP_BIND + value: 0.0.0.0 + - name: REST_ENCRYPTION_ENABLE + value: "{{ .Values.storage.encryption.enabled | ternary 1 0 }}" + ports: + - containerPort: 8333 + protocol: TCP + volumeMounts: + - mountPath: /data + name: {{ .Chart.Name }}-storage + subPath: seaweed + startupProbe: + httpGet: + path: "/status" + port: 8333 + periodSeconds: 10 + failureThreshold: 9 + livenessProbe: + httpGet: + path: "/status" + port: 8333 + periodSeconds: 10 + failureThreshold: 2 + readinessProbe: + exec: + command: + - sh + - -c + - echo s3.bucket.list | weed shell | [[ "$( + dnf install --disableplugin=subscription-manager -yq jq; + curl -sSf --retry 10 --retry-connrefused http://{{ include "cryostat.fullname" . }}:{{ .Values.core.service.httpPort }}/health | tee /tmp/out.json; + cat /tmp/out.json; + {{- if hasSuffix "-dev" .Chart.AppVersion }} + jq -e '{{ printf "(.cryostatVersion | test(\"^v%s-snapshot$\"))" (.Chart.AppVersion | trimSuffix "-dev" | squote) }}' /tmp/out.json; + {{- else }} + jq -e '{{ printf "(.cryostatVersion | test(\"^v%s\"))" (.Chart.AppVersion | replace "-" "." | squote) }}' /tmp/out.json; + {{- end }} + jq -e '.datasourceAvailable' /tmp/out.json + restartPolicy: Never diff --git a/charts/redhat/redhat/redhat-cryostat/2.0.3/src/templates/tests/test-grafana-connection.yaml b/charts/redhat/redhat/redhat-cryostat/2.0.3/src/templates/tests/test-grafana-connection.yaml new file mode 100644 index 000000000..84b3dfcea --- /dev/null +++ b/charts/redhat/redhat/redhat-cryostat/2.0.3/src/templates/tests/test-grafana-connection.yaml @@ -0,0 +1,19 @@ +apiVersion: v1 +kind: Pod +metadata: + name: "{{ include "cryostat.fullname" . }}-test-grafana-connection" + labels: + {{- include "cryostat.labels" . | nindent 4 }} + app.kubernetes.io/component: test-grafana-connection + charts.cryostat.io/role: helm-test + annotations: + "helm.sh/hook": test +spec: + containers: + - name: curl + image: registry.access.redhat.com/ubi8/ubi:latest + command: + - '/bin/bash' + - '-exc' + - curl -sSf --retry 10 --retry-connrefused http://{{ include "cryostat.fullname" . }}:{{ .Values.core.service.httpPort }}/grafana/api/health + restartPolicy: Never diff --git a/charts/redhat/redhat/redhat-cryostat/2.0.3/src/tests/alpha_config_test.yaml b/charts/redhat/redhat/redhat-cryostat/2.0.3/src/tests/alpha_config_test.yaml new file mode 100644 index 000000000..c0312ad38 --- /dev/null +++ b/charts/redhat/redhat/redhat-cryostat/2.0.3/src/tests/alpha_config_test.yaml @@ -0,0 +1,45 @@ +suite: test alpha_config.yaml +templates: + - templates/alpha_config.yaml + +tests: + - it: should create configmap with correct alpha configurations + asserts: + - matchRegex: + path: data['alpha_config.yaml'] + pattern: "server:\\s*BindAddress: http://0.0.0.0:4180" + - matchRegex: + path: data['alpha_config.yaml'] + pattern: "upstreamConfig:\\s*proxyRawPath: true\\s*upstreams:\\s*- id: cryostat\\s*path: /\\s*uri: http://localhost:8181" + - matchRegex: + path: data['alpha_config.yaml'] + pattern: "- id: grafana\\s*path: /grafana/\\s*uri: http://localhost:3000" + - matchRegex: + path: data['alpha_config.yaml'] + pattern: "providers:\\s*- id: dummy\\s*name: Unused - Sign In Below\\s*clientId: CLIENT_ID\\s*clientSecret: CLIENT_SECRET\\s*provider: google" + + - it: should create configmap with correct alpha configurations when self-signed TLS is enabled + set: + oauth2Proxy.tls.selfSigned.enabled: true + asserts: + - matchRegex: + path: data['alpha_config.yaml'] + pattern: "server:\\s*BindAddress: http://0.0.0.0:4180\\s*SecureBindAddress: https://0.0.0.0:8443" + - matchRegex: + path: data['alpha_config.yaml'] + pattern: "upstreamConfig:\\s*proxyRawPath: true\\s*upstreams:\\s*- id: cryostat\\s*path: /\\s*uri: http://localhost:8181" + - matchRegex: + path: data['alpha_config.yaml'] + pattern: "- id: grafana\\s*path: /grafana/\\s*uri: http://localhost:3000" + - matchRegex: + path: data['alpha_config.yaml'] + pattern: "providers:\\s*- id: dummy\\s*name: Unused - Sign In Below\\s*clientId: CLIENT_ID\\s*clientSecret: CLIENT_SECRET\\s*provider: google" + + - it: should not create alpha_config when openshift authentication is enabled + set: + authentication: + openshift: + enabled: true + asserts: + - hasDocuments: + count: 0 diff --git a/charts/redhat/redhat/redhat-cryostat/2.0.3/src/tests/clusterrolebinding_test.yaml b/charts/redhat/redhat/redhat-cryostat/2.0.3/src/tests/clusterrolebinding_test.yaml new file mode 100644 index 000000000..0d867408c --- /dev/null +++ b/charts/redhat/redhat/redhat-cryostat/2.0.3/src/tests/clusterrolebinding_test.yaml @@ -0,0 +1,65 @@ +suite: test clusterrolebinding.yaml +templates: + - clusterrolebinding.yaml + +tests: + - it: should create a ClusterRoleBinding when RBAC and OpenShift authentication are enabled + set: + rbac.create: true + authentication.openshift.enabled: true + authentication.openshift.clusterRole.name: system:auth-delegator + asserts: + - hasDocuments: + count: 1 + - equal: + path: metadata.name + value: RELEASE-NAME-cryostat + - equal: + path: roleRef.apiGroup + value: rbac.authorization.k8s.io + - equal: + path: roleRef.kind + value: ClusterRole + - equal: + path: roleRef.name + value: system:auth-delegator + - equal: + path: subjects[0].kind + value: ServiceAccount + - equal: + path: subjects[0].name + value: RELEASE-NAME-cryostat + - equal: + path: subjects[0].namespace + value: NAMESPACE + + - it: should create a ClusterRoleBinding with a custom OpenShift cluster role + set: + rbac.create: true + authentication.openshift.enabled: true + authentication.openshift.clusterRole.name: custom-clusterrole + asserts: + - hasDocuments: + count: 1 + - equal: + path: roleRef.name + value: custom-clusterrole + + + - it: should not create a ClusterRoleBinding when RBAC is disabled + set: + rbac.create: false + authentication.openshift.enabled: true + authentication.openshift.clusterRole.name: system:auth-delegator + asserts: + - hasDocuments: + count: 0 + + - it: should not create a ClusterRoleBinding when OpenShift authentication is disabled + set: + rbac.create: true + authentication.openshift.enabled: false + authentication.openshift.clusterRole.name: system:auth-delegator + asserts: + - hasDocuments: + count: 0 diff --git a/charts/redhat/redhat/redhat-cryostat/2.0.3/src/tests/cookie_secret_test.yaml b/charts/redhat/redhat/redhat-cryostat/2.0.3/src/tests/cookie_secret_test.yaml new file mode 100644 index 000000000..302e69316 --- /dev/null +++ b/charts/redhat/redhat/redhat-cryostat/2.0.3/src/tests/cookie_secret_test.yaml @@ -0,0 +1,36 @@ +suite: test cookie_secret.yaml +templates: + - cookie_secret.yaml + +tests: + - it: should create a Cookie Secret with correct settings + asserts: + - hasDocuments: + count: 1 + - equal: + path: kind + value: Secret + - equal: + path: metadata.name + value: RELEASE-NAME-cookie-secret + - equal: + path: type + value: Opaque + - exists: + path: data.COOKIE_SECRET + - equal: + path: metadata.labels + value: + app.kubernetes.io/instance: RELEASE-NAME + app.kubernetes.io/part-of: cryostat + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: cryostat + app.kubernetes.io/version: 4.0.3-redhat + helm.sh/chart: cryostat-2.0.3 + + - it: should not create a cookie secret if authentication.cookieSecretName is set + set: + authentication.cookieSecretName: "custom-cookie-secret" + asserts: + - hasDocuments: + count: 0 diff --git a/charts/redhat/redhat/redhat-cryostat/2.0.3/src/tests/cryostat_deployment_test.yaml b/charts/redhat/redhat/redhat-cryostat/2.0.3/src/tests/cryostat_deployment_test.yaml new file mode 100644 index 000000000..5bce3bc6f --- /dev/null +++ b/charts/redhat/redhat/redhat-cryostat/2.0.3/src/tests/cryostat_deployment_test.yaml @@ -0,0 +1,737 @@ +suite: test cryostat_deployment.yaml +templates: + - cryostat_deployment.yaml + +tests: + - it: should verify general deployment settings + asserts: + - equal: + path: kind + value: Deployment + - equal: + path: metadata.name + value: RELEASE-NAME-cryostat-v4 + - equal: + path: spec.replicas + value: 1 + - equal: + path: spec.strategy.type + value: Recreate + - equal: + path: spec.selector.matchLabels + value: + app.kubernetes.io/instance: RELEASE-NAME + app.kubernetes.io/name: cryostat + app.kubernetes.io/component: cryostat + app.kubernetes.io/part-of: cryostat + - equal: + path: spec.template.metadata.labels + value: + app.kubernetes.io/instance: RELEASE-NAME + app.kubernetes.io/name: cryostat + app.kubernetes.io/component: cryostat + app.kubernetes.io/part-of: cryostat + - equal: + path: spec.template.spec.serviceAccountName + value: RELEASE-NAME-cryostat + - equal: + path: spec.template.spec.securityContext.runAsNonRoot + value: true + - equal: + path: spec.template.spec.securityContext.seccompProfile.type + value: RuntimeDefault + - equal: + path: metadata.labels + value: + helm.sh/chart: cryostat-2.0.3 + app.kubernetes.io/name: cryostat + app.kubernetes.io/instance: RELEASE-NAME + app.kubernetes.io/version: "4.0.3-redhat" + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/component: cryostat + app.kubernetes.io/part-of: cryostat + + - it: should validate all container settings including environment variables and security contexts + asserts: + - exists: + path: spec.template.spec.containers[?(@.name=='cryostat')] + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat')].image + value: "registry.redhat.io/cryostat/cryostat-rhel9:4.0.3" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-authproxy')].image + value: "registry.redhat.io/cryostat/cryostat-ose-oauth-proxy-rhel9:4.0.3" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat')].env[?(@.name=='QUARKUS_HTTP_PORT')].value + value: "8181" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat')].env[?(@.name=='QUARKUS_LOG_LEVEL')].value + value: "INFO" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat')].env[?(@.name=='QUARKUS_HTTP_HOST')].value + value: "localhost" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat')].env[?(@.name=='QUARKUS_HTTP_PROXY_PROXY_ADDRESS_FORWARDING')].value + value: "true" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat')].env[?(@.name=='QUARKUS_HTTP_PROXY_ALLOW_X_FORWARDED')].value + value: "true" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat')].env[?(@.name=='QUARKUS_HTTP_PROXY_ENABLE_FORWARDED_HOST')].value + value: "true" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat')].env[?(@.name=='QUARKUS_HTTP_PROXY_ENABLE_FORWARDED_PREFIX')].value + value: "true" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat')].env[?(@.name=='QUARKUS_HIBERNATE_ORM_DATABASE_GENERATION')].value + value: "none" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat')].env[?(@.name=='QUARKUS_HIBERNATE_ORM_SQL_LOAD_SCRIPT')].value + value: "no-file" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat')].env[?(@.name=='QUARKUS_DATASOURCE_USERNAME')].value + value: "cryostat" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat')].env[?(@.name=='QUARKUS_DATASOURCE_PASSWORD')].valueFrom.secretKeyRef + value: + key: "CONNECTION_KEY" + name: "RELEASE-NAME-db" + optional: false + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat')].env[?(@.name=='QUARKUS_DATASOURCE_JDBC_URL')].value + value: "jdbc:postgresql://RELEASE-NAME-cryostat-db:5432/cryostat" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat')].env[?(@.name=='STORAGE_BUCKETS_ARCHIVES_NAME')].value + value: "archivedrecordings" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat')].env[?(@.name=='QUARKUS_S3_ENDPOINT_OVERRIDE')].value + value: "http://RELEASE-NAME-cryostat-storage:8333" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat')].env[?(@.name=='QUARKUS_S3_PATH_STYLE_ACCESS')].value + value: "true" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat')].env[?(@.name=='QUARKUS_S3_AWS_REGION')].value + value: "us-east-1" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat')].env[?(@.name=='QUARKUS_S3_AWS_CREDENTIALS_TYPE')].value + value: "static" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat')].env[?(@.name=='QUARKUS_S3_AWS_CREDENTIALS_STATIC_PROVIDER_ACCESS_KEY_ID')].value + value: "cryostat" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat')].env[?(@.name=='AWS_ACCESS_KEY_ID')].value + value: $(QUARKUS_S3_AWS_CREDENTIALS_STATIC_PROVIDER_ACCESS_KEY_ID) + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat')].env[?(@.name=='QUARKUS_S3_AWS_CREDENTIALS_STATIC_PROVIDER_SECRET_ACCESS_KEY')].valueFrom.secretKeyRef + value: + key: "STORAGE_ACCESS_KEY" + name: "RELEASE-NAME-storage-secret" + optional: false + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat')].env[?(@.name=='AWS_SECRET_ACCESS_KEY')].value + value: $(QUARKUS_S3_AWS_CREDENTIALS_STATIC_PROVIDER_SECRET_ACCESS_KEY) + - notExists: + path: spec.template.spec.containers[?(@.name=='cryostat')].env[?(@.name=='QUARKUS_REST_CLIENT_REPORTS_URL')].value + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat')].env[?(@.name=='GRAFANA_DATASOURCE_URL')].value + value: "http://localhost:8800" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat')].env[?(@.name=='GRAFANA_DASHBOARD_URL')].value + value: "http://localhost:3000" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat')].env[?(@.name=='GRAFANA_DASHBOARD_EXT_URL')].value + value: "/grafana/" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat')].env[?(@.name=='CRYOSTAT_DISCOVERY_KUBERNETES_ENABLED')].value + value: "true" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat')].env[?(@.name=='CRYOSTAT_DISCOVERY_KUBERNETES_NAMESPACES')].value + value: "NAMESPACE" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat')].env[?(@.name=='CRYOSTAT_DISCOVERY_KUBERNETES_PORT_NAMES')].value + value: "jfr-jmx" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat')].env[?(@.name=='CRYOSTAT_DISCOVERY_KUBERNETES_PORT_NUMBERS')].value + value: "9091" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat')].ports[0].containerPort + value: 8181 + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat')].ports[0].protocol + value: "TCP" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat')].livenessProbe.exec.command + value: + - curl + - --fail + - http://localhost:8181/health/liveness + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat')].startupProbe.exec.command + value: + - curl + - --fail + - http://localhost:8181/health/liveness + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat')].startupProbe.failureThreshold + value: 18 + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat')].resources + value: + requests: + cpu: 500m + memory: 384Mi + - notExists: + path: spec.template.spec.contains[?(@.name=='cryostat')].volumeMounts + + - it: should set log level + set: + core: + debug: + log: + level: TRACE + asserts: + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat')].env[?(@.name=='QUARKUS_LOG_LEVEL')].value + value: TRACE + + - it: should set environment variable if sidecar report generator is enabled + set: + reports: + replicas: 1 + asserts: + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat')].env[?(@.name=='QUARKUS_REST_CLIENT_REPORTS_URL')].value + value: http://cryostat:$(REPORTS_PASS_SECRET_KEY)@RELEASE-NAME-cryostat-reports.NAMESPACE.svc:10001 + + - it: should set environment variable if sidecar report generator is enabled in OpenShift with HTTPS + set: + reports: + replicas: 1 + authentication: + openshift: + enabled: true + asserts: + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat')].env[?(@.name=='QUARKUS_REST_CLIENT_REPORTS_URL')].value + value: https://cryostat:$(REPORTS_PASS_SECRET_KEY)@RELEASE-NAME-cryostat-reports.NAMESPACE.svc:10001 + + - it: should set oauth2proxy resource overrides + set: + oauth2Proxy: + resources: + limits: + cpu: 4000m + memory: 1Gi + requests: + cpu: 4000m + memory: 2Gi + asserts: + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-authproxy')].resources + value: + limits: + cpu: 4000m + memory: 1Gi + requests: + cpu: 4000m + memory: 2Gi + + - it: should set openshiftOauthProxy resource overrides + set: + authentication: + openshift: + enabled: true + openshiftOauthProxy: + resources: + limits: + cpu: 4000m + memory: 1Gi + requests: + cpu: 4000m + memory: 2Gi + asserts: + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-authproxy')].resources + value: + limits: + cpu: 4000m + memory: 1Gi + requests: + cpu: 4000m + memory: 2Gi + + - it: should set cryostat resource overrides + set: + core: + resources: + limits: + cpu: 4000m + memory: 1Gi + requests: + cpu: 4000m + memory: 2Gi + asserts: + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat')].resources + value: + limits: + cpu: 4000m + memory: 1Gi + requests: + cpu: 4000m + memory: 2Gi + + - it: should set grafana resource overrides + set: + grafana: + resources: + limits: + cpu: 4000m + memory: 1Gi + requests: + cpu: 4000m + memory: 2Gi + asserts: + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-grafana')].resources + value: + limits: + cpu: 4000m + memory: 1Gi + requests: + cpu: 4000m + memory: 2Gi + + - it: should set jfr-datasource resource overrides + set: + datasource: + resources: + limits: + cpu: 4000m + memory: 1Gi + requests: + cpu: 4000m + memory: 2Gi + asserts: + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-jfr-datasource')].resources + value: + limits: + cpu: 4000m + memory: 1Gi + requests: + cpu: 4000m + memory: 2Gi + + - it: should validate cryostat-grafana settings + asserts: + - exists: + path: spec.template.spec.containers[?(@.name=='cryostat-grafana')] + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-grafana')].securityContext.allowPrivilegeEscalation + value: false + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-grafana')].securityContext.capabilities.drop + value: + - ALL + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-grafana')].image + value: "registry.redhat.io/cryostat/cryostat-grafana-dashboard-rhel9" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-grafana')].imagePullPolicy + value: "IfNotPresent" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-grafana')].env[?(@.name=='GF_AUTH_ANONYMOUS_ENABLED')].value + value: "true" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-grafana')].env[?(@.name=='GF_SERVER_DOMAIN')].value + value: "localhost" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-grafana')].env[?(@.name=='GF_SERVER_ROOT_URL')].value + value: "http://localhost:4180/grafana/" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-grafana')].env[?(@.name=='GF_SERVER_SERVE_FROM_SUB_PATH')].value + value: "true" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-grafana')].env[?(@.name=='JFR_DATASOURCE_URL')].value + value: "http://localhost:8800" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-grafana')].ports[0].containerPort + value: 3000 + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-grafana')].ports[0].protocol + value: "TCP" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-grafana')].livenessProbe.httpGet.path + value: "/api/health" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-grafana')].livenessProbe.httpGet.port + value: 3000 + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-grafana')].resources + value: + requests: + cpu: 25m + memory: 80Mi + + - it: should validate cryostat-jfr-datasource settings + asserts: + - exists: + path: spec.template.spec.containers[?(@.name=='cryostat-jfr-datasource')] + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-jfr-datasource')].securityContext.allowPrivilegeEscalation + value: false + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-jfr-datasource')].securityContext.capabilities.drop + value: + - ALL + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-jfr-datasource')].image + value: "registry.redhat.io/cryostat/jfr-datasource-rhel9" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-jfr-datasource')].imagePullPolicy + value: "IfNotPresent" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-jfr-datasource')].env[?(@.name=='LISTEN_HOST')].value + value: "localhost" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-jfr-datasource')].env[?(@.name=='QUARKUS_HTTP_PORT')].value + value: "8800" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-jfr-datasource')].ports[0].containerPort + value: 8800 + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-jfr-datasource')].ports[0].protocol + value: "TCP" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-jfr-datasource')].livenessProbe.exec.command + value: + - curl + - --fail + - http://localhost:8800 + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-jfr-datasource')].resources + value: + requests: + cpu: 200m + memory: 200Mi + + - it: should validate volumes and volume mounts + asserts: + - lengthEqual: + count: 1 + path: spec.template.spec.volumes + - exists: + path: spec.template.spec.volumes[?(@.name=='alpha-config')] + - exists: + path: spec.template.spec.containers[?(@.name=='cryostat-authproxy')].volumeMounts[?(@.mountPath=='/etc/oauth2_proxy/alpha_config')] + + - it: should validate volumes and volume mounts with oauth2-proxy self-signed TLS enabled + set: + oauth2Proxy.tls.selfSigned.enabled: true + asserts: + - lengthEqual: + count: 2 + path: spec.template.spec.volumes + - exists: + path: spec.template.spec.volumes[?(@.name=='alpha-config')] + - exists: + path: spec.template.spec.containers[?(@.name=='cryostat-authproxy')].volumeMounts[?(@.mountPath=='/etc/oauth2_proxy/alpha_config')] + - exists: + path: spec.template.spec.volumes[?(@.name=='RELEASE-NAME-oauth2proxy-tls')] + - exists: + path: spec.template.spec.containers[?(@.name=='cryostat-authproxy')].volumeMounts[?(@.mountPath=='/etc/tls/private')] + + - it: should set image pull secrets if specified + set: + imagePullSecrets: + - name: myregistrykey + asserts: + - equal: + path: spec.template.spec.imagePullSecrets[0].name + value: "myregistrykey" + + - it: should configure the OpenShift OAuth Proxy when authentication.openshift is enabled + set: + authentication.openshift.enabled: true + asserts: + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-authproxy')].image + value: "registry.redhat.io/cryostat/cryostat-ose-oauth-proxy-rhel9:4.0.3" + + - it: should configure the OAuth2 Proxy when OpenShift OAuth is disabled and OAuth2 is enabled + set: + authentication.openshift.enabled: false + authentication.oauth2.enabled: true + asserts: + - exists: + path: spec.template.spec.containers[?(@.name=='cryostat-authproxy')] + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-authproxy')].image + value: "" + + - it: should apply Kubernetes specific settings when configured + set: + nodeSelector: + disktype: ssd + affinity: + nodeAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + nodeSelectorTerms: + - matchExpressions: + - key: disktype + operator: In + values: + - ssd + tolerations: + - key: "key" + operator: "Equal" + value: "value" + effect: "NoSchedule" + asserts: + - exists: + path: spec.template.spec.nodeSelector + - exists: + path: spec.template.spec.affinity + - exists: + path: spec.template.spec.tolerations + + - it: should accept specific nodeSelector setting + set: + core.nodeSelector: + diskType: ssd + asserts: + - equal: + path: spec.template.spec.nodeSelector + value: + diskType: ssd + + - it: should prefer specific nodeSelector over general + set: + nodeSelector: + disktype: hdd + core.nodeSelector: + diskType: ssd + asserts: + - equal: + path: spec.template.spec.nodeSelector + value: + diskType: ssd + + - it: should accept specific tolerations setting + set: + core.tolerations: + - key: "key1" + operator: "Equal" + value: "value1" + effect: "NoSchedule" + asserts: + - equal: + path: spec.template.spec.tolerations + value: + - key: "key1" + operator: "Equal" + value: "value1" + effect: "NoSchedule" + + - it: should prefer specific tolerations over general + set: + tolerations: + - key: "key1" + operator: "Equal" + value: "value1" + effect: "NoSchedule" + core.tolerations: + - key: "key2" + operator: "Equal" + value: "value2" + effect: "NoSchedule" + asserts: + - equal: + path: spec.template.spec.tolerations + value: + - key: "key2" + operator: "Equal" + value: "value2" + effect: "NoSchedule" + + - it: should accept specific affinity setting + set: + core.affinity: + nodeAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + nodeSelectorTerms: + - matchExpressions: + - key: disktype + operator: In + values: + - ssd + asserts: + - equal: + path: spec.template.spec.affinity + value: + nodeAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + nodeSelectorTerms: + - matchExpressions: + - key: disktype + operator: In + values: + - ssd + + - it: should prefer specific affinity over general + set: + affinity: + nodeAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + nodeSelectorTerms: + - matchExpressions: + - key: disktype + operator: In + values: + - ssd + core.affinity: + nodeAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + nodeSelectorTerms: + - matchExpressions: + - key: disktype + operator: In + values: + - ssd + asserts: + - equal: + path: spec.template.spec.affinity + value: + nodeAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + nodeSelectorTerms: + - matchExpressions: + - key: disktype + operator: In + values: + - ssd + + - it: should verify image pull policies for development snapshots + set: + core.image.tag: "4.0.3" + asserts: + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat')].imagePullPolicy + value: IfNotPresent + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-authproxy')].imagePullPolicy + value: IfNotPresent + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-grafana')].imagePullPolicy + value: IfNotPresent + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-jfr-datasource')].imagePullPolicy + value: IfNotPresent + + - it: should verify image pull policies for release versions + set: + core.image.tag: "4.1.0" + core.image.pullPolicy: "IfNotPresent" + oauth2Proxy.image.pullPolicy: "IfNotPresent" + grafana.image.pullPolicy: "IfNotPresent" + db.image.pullPolicy: "IfNotPresent" + datasource.image.pullPolicy: "IfNotPresent" + asserts: + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat')].imagePullPolicy + value: "IfNotPresent" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-authproxy')].imagePullPolicy + value: "IfNotPresent" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-grafana')].imagePullPolicy + value: "IfNotPresent" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-jfr-datasource')].imagePullPolicy + value: "IfNotPresent" + + - it: should add volume mounts for declarative event templates + set: + core.config.eventTemplates.configMapNames: ['a', 'b'] + asserts: + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat')].volumeMounts + value: + - name: a + mountPath: /opt/cryostat.d/templates.d/a + readOnly: true + - name: b + mountPath: /opt/cryostat.d/templates.d/b + readOnly: true + - equal: + path: spec.template.spec.volumes + value: + - name: alpha-config + configMap: + name: RELEASE-NAME-alpha-config + - name: a + configMap: + name: a + - name: b + configMap: + name: b + + - it: should add volume mounts for declarative TLS truststore + set: + core.config.tlsTruststore.secretNames: ['a', 'b'] + asserts: + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat')].volumeMounts + value: + - name: a + mountPath: /truststore/a + readOnly: true + - name: b + mountPath: /truststore/b + readOnly: true + - equal: + path: spec.template.spec.volumes + value: + - name: alpha-config + configMap: + name: RELEASE-NAME-alpha-config + - name: a + secret: + secretName: a + - name: b + secret: + secretName: b + + - it: should set default podAnnotations + set: + podAnnotations: + foo: bar + asserts: + - equal: + path: spec.template.metadata.annotations + value: + foo: bar + + - it: should set pod-specific podAnnotations + set: + core.podAnnotations: + foo: bar + asserts: + - equal: + path: spec.template.metadata.annotations + value: + foo: bar + + - it: should set merge pod-specific and default podAnnotations + set: + core.podAnnotations: + foo: bar + podAnnotations: + alice: bob + asserts: + - equal: + path: spec.template.metadata.annotations + value: + alice: bob + foo: bar diff --git a/charts/redhat/redhat/redhat-cryostat/2.0.3/src/tests/cryostat_service_test.yaml b/charts/redhat/redhat/redhat-cryostat/2.0.3/src/tests/cryostat_service_test.yaml new file mode 100644 index 000000000..665a2dc84 --- /dev/null +++ b/charts/redhat/redhat/redhat-cryostat/2.0.3/src/tests/cryostat_service_test.yaml @@ -0,0 +1,195 @@ +suite: test cryostat_service.yaml +templates: + - cryostat_service.yaml + +tests: + - it: should create a Service with the correct settings + set: + core.service.type: ClusterIP + core.service.httpPort: 8080 + authentication.openshift.enabled: false + asserts: + - hasDocuments: + count: 1 + - equal: + path: kind + value: Service + - equal: + path: metadata.name + value: RELEASE-NAME-cryostat + - equal: + path: spec.type + value: ClusterIP + - lengthEqual: + path: spec.ports + count: 1 + - equal: + path: spec.ports[0].port + value: 8080 + - equal: + path: spec.ports[0].targetPort + value: 4180 + - equal: + path: spec.ports[0].protocol + value: TCP + - equal: + path: spec.ports[0].name + value: http + - equal: + path: spec.ports[0].appProtocol + value: http + - equal: + path: metadata.labels + value: + app.kubernetes.io/instance: RELEASE-NAME + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: cryostat + app.kubernetes.io/version: "4.0.3-redhat" + helm.sh/chart: cryostat-2.0.3 + app.kubernetes.io/component: cryostat + app.kubernetes.io/part-of: cryostat + + - it: should create a Service with the correct settings when OpenShift authentication is enabled + set: + authentication.openshift.enabled: true + asserts: + - hasDocuments: + count: 1 + - equal: + path: kind + value: Service + - equal: + path: metadata.name + value: RELEASE-NAME-cryostat + - equal: + path: spec.type + value: ClusterIP + - lengthEqual: + path: spec.ports + count: 2 + - equal: + path: spec.ports[0].port + value: 8181 + - equal: + path: spec.ports[0].targetPort + value: 4180 + - equal: + path: spec.ports[0].protocol + value: TCP + - equal: + path: spec.ports[0].name + value: http + - equal: + path: spec.ports[1].port + value: 443 + - equal: + path: spec.ports[1].targetPort + value: 8443 + - equal: + path: spec.ports[1].protocol + value: TCP + - equal: + path: spec.ports[1].name + value: https + - equal: + path: spec.ports[1].appProtocol + value: https + - equal: + path: spec.selector + value: + app.kubernetes.io/name: cryostat + app.kubernetes.io/instance: RELEASE-NAME + app.kubernetes.io/component: cryostat + app.kubernetes.io/part-of: cryostat + - equal: + path: metadata.labels + value: + app.kubernetes.io/instance: RELEASE-NAME + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: cryostat + app.kubernetes.io/version: "4.0.3-redhat" + helm.sh/chart: cryostat-2.0.3 + app.kubernetes.io/component: cryostat + app.kubernetes.io/part-of: cryostat + - equal: + path: metadata.annotations + value: + service.alpha.openshift.io/serving-cert-secret-name: RELEASE-NAME-proxy-tls + + - it: should include OpenShift specific annotations when OpenShift auth is enabled + set: + authentication.openshift.enabled: true + asserts: + - exists: + path: metadata.annotations + - equal: + path: metadata.annotations + value: + service.alpha.openshift.io/serving-cert-secret-name: RELEASE-NAME-proxy-tls + + - it: should not include OpenShift specific annotations when OpenShift auth is disabled + set: + authentication.openshift.enabled: false + asserts: + - notExists: + path: metadata.annotations.`service.alpha.openshift.io/serving-cert-secret-name` + + - it: should create a Service with the correct settings when oauth2-proxy self-signed TLS is enabled + set: + oauth2Proxy.tls.selfSigned.enabled: true + asserts: + - hasDocuments: + count: 1 + - equal: + path: kind + value: Service + - equal: + path: metadata.name + value: RELEASE-NAME-cryostat + - equal: + path: spec.type + value: ClusterIP + - lengthEqual: + path: spec.ports + count: 2 + - equal: + path: spec.ports[0].port + value: 8181 + - equal: + path: spec.ports[0].targetPort + value: 4180 + - equal: + path: spec.ports[0].protocol + value: TCP + - equal: + path: spec.ports[0].name + value: http + - equal: + path: spec.ports[1].port + value: 443 + - equal: + path: spec.ports[1].targetPort + value: 8443 + - equal: + path: spec.ports[1].protocol + value: TCP + - equal: + path: spec.ports[1].name + value: https + - equal: + path: spec.selector + value: + app.kubernetes.io/name: cryostat + app.kubernetes.io/part-of: cryostat + app.kubernetes.io/instance: RELEASE-NAME + app.kubernetes.io/component: cryostat + - equal: + path: metadata.labels + value: + app.kubernetes.io/instance: RELEASE-NAME + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: cryostat + app.kubernetes.io/part-of: cryostat + app.kubernetes.io/version: "4.0.3-redhat" + helm.sh/chart: cryostat-2.0.3 + app.kubernetes.io/component: cryostat diff --git a/charts/redhat/redhat/redhat-cryostat/2.0.3/src/tests/cryostat_tls_secret_test.yaml b/charts/redhat/redhat/redhat-cryostat/2.0.3/src/tests/cryostat_tls_secret_test.yaml new file mode 100644 index 000000000..f1bd2bdad --- /dev/null +++ b/charts/redhat/redhat/redhat-cryostat/2.0.3/src/tests/cryostat_tls_secret_test.yaml @@ -0,0 +1,46 @@ +suite: test cryostat_tls_secret.yaml +templates: + - cryostat_tls_secret.yaml + +tests: + - it: should create a TLS cert secret if oauth2Proxy.tls.selfSigned.enabled is set + set: + oauth2Proxy: + tls: + selfSigned: + enabled: true + asserts: + - hasDocuments: + count: 1 + - equal: + path: kind + value: Secret + - equal: + path: metadata.name + value: RELEASE-NAME-oauth2proxy-tls + - equal: + path: type + value: Opaque + - exists: + path: data.key + - exists: + path: data.cert + - equal: + path: metadata.labels + value: + app.kubernetes.io/instance: RELEASE-NAME + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: cryostat + app.kubernetes.io/part-of: cryostat + app.kubernetes.io/version: 4.0.3-redhat + helm.sh/chart: cryostat-2.0.3 + + - it: should not create a TLS cert secret if oauth2Proxy.tls.selfSigned.enabled is not set + set: + oauth2Proxy: + tls: + selfSigned: + enabled: false + asserts: + - hasDocuments: + count: 0 diff --git a/charts/redhat/redhat/redhat-cryostat/2.0.3/src/tests/db_deployment_test.yaml b/charts/redhat/redhat/redhat-cryostat/2.0.3/src/tests/db_deployment_test.yaml new file mode 100644 index 000000000..6962f3110 --- /dev/null +++ b/charts/redhat/redhat/redhat-cryostat/2.0.3/src/tests/db_deployment_test.yaml @@ -0,0 +1,364 @@ +suite: test db_deployment.yaml +templates: + - db_deployment.yaml + +tests: + - it: should verify general deployment settings + asserts: + - equal: + path: kind + value: Deployment + - equal: + path: metadata.name + value: RELEASE-NAME-cryostat-v4-db + - equal: + path: spec.replicas + value: 1 + - equal: + path: spec.strategy.type + value: Recreate + - equal: + path: spec.selector.matchLabels + value: + app.kubernetes.io/instance: RELEASE-NAME + app.kubernetes.io/name: cryostat + app.kubernetes.io/component: db + app.kubernetes.io/part-of: cryostat + - equal: + path: spec.template.metadata.labels + value: + app.kubernetes.io/instance: RELEASE-NAME + app.kubernetes.io/name: cryostat + app.kubernetes.io/component: db + app.kubernetes.io/part-of: cryostat + - notExists: + path: spec.template.spec.serviceAccountName + - equal: + path: spec.template.spec.securityContext.runAsNonRoot + value: true + - equal: + path: spec.template.spec.securityContext.seccompProfile.type + value: RuntimeDefault + - equal: + path: metadata.labels + value: + helm.sh/chart: cryostat-2.0.3 + app.kubernetes.io/name: cryostat + app.kubernetes.io/instance: RELEASE-NAME + app.kubernetes.io/version: "4.0.3-redhat" + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/component: db + app.kubernetes.io/part-of: cryostat + + - it: should validate cryostat-db settings + asserts: + - exists: + path: spec.template.spec.containers[?(@.name=='cryostat-db')] + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-db')].securityContext.allowPrivilegeEscalation + value: false + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-db')].securityContext.capabilities.drop + value: + - ALL + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-db')].image + value: "registry.redhat.io/cryostat/cryostat-db-rhel9" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-db')].imagePullPolicy + value: "IfNotPresent" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-db')].env[?(@.name=='POSTGRESQL_USER')].value + value: "cryostat" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-db')].env[?(@.name=='POSTGRESQL_PASSWORD')].valueFrom.secretKeyRef + value: + name: "RELEASE-NAME-db" + key: "CONNECTION_KEY" + optional: false + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-db')].env[?(@.name=='POSTGRESQL_DATABASE')].value + value: "cryostat" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-db')].env[?(@.name=='PG_ENCRYPT_KEY')].valueFrom.secretKeyRef + value: + name: "RELEASE-NAME-db" + key: "ENCRYPTION_KEY" + optional: false + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-db')].ports[0].containerPort + value: 5432 + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-db')].ports[0].protocol + value: "TCP" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-db')].volumeMounts[0].mountPath + value: "/var/lib/pgsql/data" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-db')].volumeMounts[0].name + value: "cryostat-db" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-db')].volumeMounts[0].subPath + value: "postgres" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-db')].readinessProbe.exec.command + value: + - pg_isready + - -U + - cryostat + - -d + - cryostat + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-db')].resources + value: + requests: + cpu: 25m + memory: 64Mi + + - it: should set resource overrides + set: + db: + resources: + limits: + cpu: 2000m + memory: 1Gi + requests: + cpu: 4000m + memory: 2Gi + asserts: + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-db')].resources + value: + limits: + cpu: 2000m + memory: 1Gi + requests: + cpu: 4000m + memory: 2Gi + + - it: should set PersistentVolumeClaim (pvc) reference + set: + db: + pvc: + enabled: true + asserts: + - exists: + path: spec.template.spec.volumes[?(@.name=='cryostat-db')] + - equal: + path: spec.template.spec.volumes[?(@.name=='cryostat-db')] + value: + name: cryostat-db + persistentVolumeClaim: + claimName: RELEASE-NAME-db + + - it: should validate volumes and volume mounts + asserts: + - exists: + path: spec.template.spec.volumes[?(@.name=='cryostat-db')] + - equal: + path: spec.template.spec.volumes[?(@.name=='cryostat-db')] + value: + name: cryostat-db + emptyDir: {} + - exists: + path: spec.template.spec.containers[?(@.name=='cryostat-db')].volumeMounts[?(@.mountPath=='/var/lib/pgsql/data')] + + - it: should set image pull secrets if specified + set: + imagePullSecrets: + - name: myregistrykey + asserts: + - equal: + path: spec.template.spec.imagePullSecrets[0].name + value: "myregistrykey" + + - it: should apply Kubernetes specific settings when configured + set: + nodeSelector: + disktype: ssd + affinity: + nodeAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + nodeSelectorTerms: + - matchExpressions: + - key: disktype + operator: In + values: + - ssd + tolerations: + - key: "key" + operator: "Equal" + value: "value" + effect: "NoSchedule" + asserts: + - exists: + path: spec.template.spec.nodeSelector + - exists: + path: spec.template.spec.affinity + - exists: + path: spec.template.spec.tolerations + + - it: should accept specific nodeSelector setting + set: + db.nodeSelector: + diskType: ssd + asserts: + - equal: + path: spec.template.spec.nodeSelector + value: + diskType: ssd + + - it: should prefer specific nodeSelector over general + set: + nodeSelector: + disktype: hdd + db.nodeSelector: + diskType: ssd + asserts: + - equal: + path: spec.template.spec.nodeSelector + value: + diskType: ssd + + - it: should accept specific tolerations setting + set: + db.tolerations: + - key: "key1" + operator: "Equal" + value: "value1" + effect: "NoSchedule" + asserts: + - equal: + path: spec.template.spec.tolerations + value: + - key: "key1" + operator: "Equal" + value: "value1" + effect: "NoSchedule" + + - it: should prefer specific tolerations over general + set: + tolerations: + - key: "key1" + operator: "Equal" + value: "value1" + effect: "NoSchedule" + db.tolerations: + - key: "key2" + operator: "Equal" + value: "value2" + effect: "NoSchedule" + asserts: + - equal: + path: spec.template.spec.tolerations + value: + - key: "key2" + operator: "Equal" + value: "value2" + effect: "NoSchedule" + + - it: should accept specific affinity setting + set: + db.affinity: + nodeAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + nodeSelectorTerms: + - matchExpressions: + - key: disktype + operator: In + values: + - ssd + asserts: + - equal: + path: spec.template.spec.affinity + value: + nodeAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + nodeSelectorTerms: + - matchExpressions: + - key: disktype + operator: In + values: + - ssd + + - it: should prefer specific affinity over general + set: + affinity: + nodeAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + nodeSelectorTerms: + - matchExpressions: + - key: disktype + operator: In + values: + - ssd + db.affinity: + nodeAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + nodeSelectorTerms: + - matchExpressions: + - key: disktype + operator: In + values: + - ssd + asserts: + - equal: + path: spec.template.spec.affinity + value: + nodeAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + nodeSelectorTerms: + - matchExpressions: + - key: disktype + operator: In + values: + - ssd + + - it: should verify image pull policies for development snapshots + set: + core.image.tag: "4.0.3-snapshot" + asserts: + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-db')].imagePullPolicy + value: "Always" + + - it: should verify image pull policies for release versions + set: + db.image.pullPolicy: "IfNotPresent" + asserts: + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-db')].imagePullPolicy + value: "IfNotPresent" + + - it: should set default podAnnotations + set: + podAnnotations: + foo: bar + asserts: + - equal: + path: spec.template.metadata.annotations + value: + foo: bar + + - it: should set pod-specific podAnnotations + set: + db.podAnnotations: + foo: bar + asserts: + - equal: + path: spec.template.metadata.annotations + value: + foo: bar + + - it: should set merge pod-specific and default podAnnotations + set: + db.podAnnotations: + foo: bar + podAnnotations: + alice: bob + asserts: + - equal: + path: spec.template.metadata.annotations + value: + alice: bob + foo: bar diff --git a/charts/redhat/redhat/redhat-cryostat/2.0.3/src/tests/db_pvc_test.yaml b/charts/redhat/redhat/redhat-cryostat/2.0.3/src/tests/db_pvc_test.yaml new file mode 100644 index 000000000..c4353a25f --- /dev/null +++ b/charts/redhat/redhat/redhat-cryostat/2.0.3/src/tests/db_pvc_test.yaml @@ -0,0 +1,57 @@ +suite: test db_pvc.yaml +templates: + - db_pvc.yaml + +tests: + - it: should create a PersistentVolumeClaim with correct settings + set: + db.pvc: + enabled: true + storage: "10Gi" + accessModes: + - "ReadWriteOnce" + storageClassName: "standard" + annotations: + "volume.beta.kubernetes.io/storage-class": "standard" + selector: + matchLabels: + app: cryostat + asserts: + - hasDocuments: + count: 1 + - equal: + path: kind + value: PersistentVolumeClaim + - equal: + path: metadata.name + value: "RELEASE-NAME-cryostat-db" + - equal: + path: metadata.labels + value: + app.kubernetes.io/instance: RELEASE-NAME + app.kubernetes.io/part-of: cryostat + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: cryostat + app.kubernetes.io/version: "4.0.3-redhat" + helm.sh/chart: cryostat-2.0.3 + - equal: + path: spec.accessModes + value: + - "ReadWriteOnce" + - equal: + path: spec.resources.requests.storage + value: "10Gi" + - equal: + path: spec.storageClassName + value: "standard" + - equal: + path: spec.selector.matchLabels.app + value: "cryostat" + + - it: should not create a PersistentVolumeClaim when PVC is disabled + set: + db.pvc: + enabled: false + asserts: + - hasDocuments: + count: 0 diff --git a/charts/redhat/redhat/redhat-cryostat/2.0.3/src/tests/db_secret_test.yaml b/charts/redhat/redhat/redhat-cryostat/2.0.3/src/tests/db_secret_test.yaml new file mode 100644 index 000000000..694dfd1a9 --- /dev/null +++ b/charts/redhat/redhat/redhat-cryostat/2.0.3/src/tests/db_secret_test.yaml @@ -0,0 +1,40 @@ +suite: test db_secret.yaml +templates: + - db_secret.yaml + +tests: + - it: should create a database secret if core.databaseSecretName is not set + set: + core.databaseSecretName: "" + asserts: + - hasDocuments: + count: 1 + - equal: + path: kind + value: Secret + - equal: + path: metadata.name + value: RELEASE-NAME-db + - equal: + path: type + value: Opaque + - exists: + path: data.ENCRYPTION_KEY + - exists: + path: data.CONNECTION_KEY + - equal: + path: metadata.labels + value: + app.kubernetes.io/instance: RELEASE-NAME + app.kubernetes.io/part-of: cryostat + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: cryostat + app.kubernetes.io/version: 4.0.3-redhat + helm.sh/chart: cryostat-2.0.3 + + - it: should not create a database secret if core.databaseSecretName is set + set: + core.databaseSecretName: "custom-db-secret" + asserts: + - hasDocuments: + count: 0 diff --git a/charts/redhat/redhat/redhat-cryostat/2.0.3/src/tests/db_service_test.yaml b/charts/redhat/redhat/redhat-cryostat/2.0.3/src/tests/db_service_test.yaml new file mode 100644 index 000000000..d7c359753 --- /dev/null +++ b/charts/redhat/redhat/redhat-cryostat/2.0.3/src/tests/db_service_test.yaml @@ -0,0 +1,61 @@ +suite: test db_service.yaml +templates: + - db_service.yaml + +tests: + - it: should create a Service with the correct default settings + asserts: + - hasDocuments: + count: 1 + - equal: + path: kind + value: Service + - equal: + path: metadata.name + value: RELEASE-NAME-cryostat-db + - equal: + path: spec.type + value: ClusterIP + - equal: + path: spec.ports[0].port + value: 5432 + - equal: + path: metadata.labels + value: + app.kubernetes.io/instance: RELEASE-NAME + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: cryostat + app.kubernetes.io/version: "4.0.3-redhat" + helm.sh/chart: cryostat-2.0.3 + app.kubernetes.io/component: db + app.kubernetes.io/part-of: cryostat + + - it: should create a Service with the correct settings overrides + set: + db.service.type: NodeIP + db.service.port: 8080 + asserts: + - hasDocuments: + count: 1 + - equal: + path: kind + value: Service + - equal: + path: metadata.name + value: RELEASE-NAME-cryostat-db + - equal: + path: spec.type + value: NodeIP + - equal: + path: spec.ports[0].port + value: 8080 + - equal: + path: metadata.labels + value: + app.kubernetes.io/instance: RELEASE-NAME + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: cryostat + app.kubernetes.io/version: "4.0.3-redhat" + helm.sh/chart: cryostat-2.0.3 + app.kubernetes.io/component: db + app.kubernetes.io/part-of: cryostat diff --git a/charts/redhat/redhat/redhat-cryostat/2.0.3/src/tests/ingress_test.yaml b/charts/redhat/redhat/redhat-cryostat/2.0.3/src/tests/ingress_test.yaml new file mode 100644 index 000000000..f822dd159 --- /dev/null +++ b/charts/redhat/redhat/redhat-cryostat/2.0.3/src/tests/ingress_test.yaml @@ -0,0 +1,60 @@ +suite: test ingress.yaml +templates: + - ingress.yaml + +tests: + - it: should create an Ingress with default settings + set: + core.ingress.enabled: true + core.service.httpPort: 8080 + core: + ingress: + className: nginx + annotations: + nginx.ingress.kubernetes.io/rewrite-target: / + hosts: + - host: example.com + paths: + - path: / + pathType: Prefix + tls: + - hosts: + - example.com + secretName: example-tls + asserts: + - hasDocuments: + count: 1 + - equal: + path: kind + value: Ingress + - matchRegex: + path: metadata.name + pattern: "RELEASE-NAME-cryostat" + - equal: + path: metadata.annotations['nginx.ingress.kubernetes.io/rewrite-target'] + value: "/" + - equal: + path: spec.rules[0].host + value: "example.com" + - equal: + path: spec.rules[0].http.paths[0].path + value: "/" + - equal: + path: spec.rules[0].http.paths[0].backend.service.name + value: "RELEASE-NAME-cryostat" + - equal: + path: spec.rules[0].http.paths[0].backend.service.port.number + value: 8080 + - equal: + path: spec.ingressClassName + value: "nginx" + - equal: + path: spec.tls[0].secretName + value: "example-tls" + + - it: should not create an Ingress when ingress is disabled + set: + core.ingress.enabled: false + asserts: + - hasDocuments: + count: 0 diff --git a/charts/redhat/redhat/redhat-cryostat/2.0.3/src/tests/networkpolicy_ingress_test.yaml b/charts/redhat/redhat/redhat-cryostat/2.0.3/src/tests/networkpolicy_ingress_test.yaml new file mode 100644 index 000000000..22c7a2bf6 --- /dev/null +++ b/charts/redhat/redhat/redhat-cryostat/2.0.3/src/tests/networkpolicy_ingress_test.yaml @@ -0,0 +1,148 @@ +suite: test networkpolicy_ingress.yaml +templates: + - networkpolicy_ingress.yaml + +tests: + - it: should do nothing if disabled + set: + networkPolicy.ingress.enabled: false + asserts: + - hasDocuments: + count: 0 + + - it: should create policy objects + asserts: + - hasDocuments: + count: 4 + + - it: should create a Cryostat access policy + documentIndex: 0 + asserts: + - equal: + path: kind + value: NetworkPolicy + - equal: + path: metadata.name + value: RELEASE-NAME-cryostat-internal-ingress + - equal: + path: spec.podSelector + value: + matchLabels: + app.kubernetes.io/instance: RELEASE-NAME + app.kubernetes.io/name: cryostat + app.kubernetes.io/part-of: cryostat + app.kubernetes.io/component: cryostat + - equal: + path: spec.ingress + value: + - from: + - namespaceSelector: {} + ports: + - protocol: TCP + port: 4180 + - protocol: TCP + port: 8443 + + - it: should create a report generator access policy + documentIndex: 1 + asserts: + - equal: + path: kind + value: NetworkPolicy + - equal: + path: metadata.name + value: RELEASE-NAME-reports-internal-ingress + - equal: + path: spec.podSelector + value: + matchLabels: + app.kubernetes.io/instance: RELEASE-NAME + app.kubernetes.io/name: cryostat + app.kubernetes.io/part-of: cryostat + app.kubernetes.io/component: reports + - equal: + path: spec.ingress + value: + - from: + - namespaceSelector: + matchLabels: + kubernetes.io/metadata.name: NAMESPACE + podSelector: + matchLabels: + app.kubernetes.io/component: cryostat + app.kubernetes.io/instance: RELEASE-NAME + app.kubernetes.io/name: cryostat + app.kubernetes.io/part-of: cryostat + ports: + - protocol: TCP + port: 4180 + - protocol: TCP + port: 8443 + + - it: should create a database access policy + documentIndex: 2 + asserts: + - equal: + path: kind + value: NetworkPolicy + - equal: + path: metadata.name + value: RELEASE-NAME-db-internal-ingress + - equal: + path: spec.podSelector + value: + matchLabels: + app.kubernetes.io/instance: RELEASE-NAME + app.kubernetes.io/name: cryostat + app.kubernetes.io/part-of: cryostat + app.kubernetes.io/component: db + - equal: + path: spec.ingress + value: + - from: + - namespaceSelector: + matchLabels: + kubernetes.io/metadata.name: NAMESPACE + podSelector: + matchLabels: + app.kubernetes.io/component: cryostat + app.kubernetes.io/instance: RELEASE-NAME + app.kubernetes.io/name: cryostat + app.kubernetes.io/part-of: cryostat + ports: + - protocol: TCP + port: 5432 + + - it: should create a storage access policy + documentIndex: 3 + asserts: + - equal: + path: kind + value: NetworkPolicy + - equal: + path: metadata.name + value: RELEASE-NAME-storage-internal-ingress + - equal: + path: spec.podSelector + value: + matchLabels: + app.kubernetes.io/instance: RELEASE-NAME + app.kubernetes.io/name: cryostat + app.kubernetes.io/part-of: cryostat + app.kubernetes.io/component: storage + - equal: + path: spec.ingress + value: + - from: + - namespaceSelector: + matchLabels: + kubernetes.io/metadata.name: NAMESPACE + podSelector: + matchLabels: + app.kubernetes.io/component: cryostat + app.kubernetes.io/instance: RELEASE-NAME + app.kubernetes.io/name: cryostat + app.kubernetes.io/part-of: cryostat + ports: + - protocol: TCP + port: 8333 diff --git a/charts/redhat/redhat/redhat-cryostat/2.0.3/src/tests/notes_test.yaml b/charts/redhat/redhat/redhat-cryostat/2.0.3/src/tests/notes_test.yaml new file mode 100644 index 000000000..dfaf5259f --- /dev/null +++ b/charts/redhat/redhat/redhat-cryostat/2.0.3/src/tests/notes_test.yaml @@ -0,0 +1,164 @@ +suite: test NOTES.txt +templates: + - NOTES.txt + +tests: + - it: should render correct notes for enabled ingress + set: + core.ingress.enabled: true + core: + ingress: + className: nginx + hosts: + - host: example.com + paths: + - path: / + pathType: Prefix + tls: + - hosts: + - example.com + secretName: example-tls + asserts: + - equalRaw: + value: | + + + 1. Visit the application at: + ``` + https://example.com/ + ``` + + - it: should render correct notes for enabled route without TLS + set: + core.route.enabled: true + core.route.tls.enabled: false + asserts: + - equalRaw: + value: | + + 1. Configure the application to serve external traffic: + ``` + No actions required with this configuration. + ``` + + 2. Visit the application at: + ``` + echo http://$(oc get route -n NAMESPACE RELEASE-NAME-cryostat -o jsonpath="{.status.ingress[0].host}") + ``` + + - it: should render correct notes for enabled route with TLS + set: + core.route.enabled: true + core.route.tls.enabled: true + asserts: + - equalRaw: + value: | + + 1. Configure the application to serve external traffic: + ``` + No actions required with this configuration. + ``` + + 2. Visit the application at: + ``` + echo https://$(oc get route -n NAMESPACE RELEASE-NAME-cryostat -o jsonpath="{.status.ingress[0].host}") + ``` + + - it: should render correct notes for NodePort service without ingress or route + set: + core.service.type: "NodePort" + core.ingress.enabled: false + core.route.enabled: false + asserts: + - equalRaw: + value: | + + 1. Configure the application to serve external traffic: + ``` + export NODE_IP=$(kubectl get nodes -n NAMESPACE -o jsonpath="{.items[0].status.addresses[0].address}") + export NODE_PORT=$(kubectl get -n NAMESPACE -o jsonpath="{.spec.ports[0].nodePort}" services RELEASE-NAME-cryostat) + kubectl -n NAMESPACE set env deploy --containers=cryostat RELEASE-NAME-cryostat-v4 QUARKUS_HTTP_HOST=$NODE_IP + ``` + + 2. Visit the application at: + ``` + echo http://$NODE_IP:$NODE_PORT + ``` + + - it: should render correct notes for LoadBalancer service without ingress or route + set: + core.service.type: "LoadBalancer" + core.ingress.enabled: false + core.route.enabled: false + asserts: + - equalRaw: + value: | + + 1. Configure the application to serve external traffic: + ``` + NOTE: It may take a few minutes for the LoadBalancer IP to be available. + You can watch the status by running 'kubectl get -n NAMESPACE -w svc/RELEASE-NAME-cryostat' + export SERVICE_IP=$(kubectl get svc -n NAMESPACE RELEASE-NAME-cryostat --template "{{ range (index .status.loadBalancer.ingress 0) }}{{.}}{{ end }}") + kubectl -n NAMESPACE set env deploy --containers=cryostat RELEASE-NAME-cryostat-v4 QUARKUS_HTTP_HOST=$SERVICE_IP + ``` + + 2. Visit the application at: + ``` + echo http://$SERVICE_IP:8181 + ``` + + - it: should render correct notes for ClusterIP service without ingress or route and TLS enabled + set: + oauth2Proxy: + tls: + selfSigned: + enabled: true + asserts: + - equalRaw: + value: | + + 1. Configure the application to serve external traffic: + ``` + No actions required with this configuration. + ``` + + 2. Forward local port to the application's service: + ``` + kubectl -n NAMESPACE wait --for=condition=available --timeout=60s deploy/RELEASE-NAME-cryostat-v4 + + export SVC_NAME=$(kubectl get services -n NAMESPACE -l "app.kubernetes.io/name=cryostat,app.kubernetes.io/instance=RELEASE-NAME,app.kubernetes.io/component=cryostat" --sort-by=.metadata.creationTimestamp -o jsonpath="{.items[-1:].metadata.name}") + kubectl -n NAMESPACE port-forward svc/$SVC_NAME 8443:https + ``` + + 3. Visit the application at: + ``` + https://localhost:8443 + ``` + + - it: should render correct notes for ClusterIP service without ingress or route and TLS disabled + set: + oauth2Proxy: + tls: + selfSigned: + enabled: false + asserts: + - equalRaw: + value: | + + 1. Configure the application to serve external traffic: + ``` + No actions required with this configuration. + ``` + + 2. Forward local port to the application's service: + ``` + kubectl -n NAMESPACE wait --for=condition=available --timeout=60s deploy/RELEASE-NAME-cryostat-v4 + + export SVC_NAME=$(kubectl get services -n NAMESPACE -l "app.kubernetes.io/name=cryostat,app.kubernetes.io/instance=RELEASE-NAME,app.kubernetes.io/component=cryostat" --sort-by=.metadata.creationTimestamp -o jsonpath="{.items[-1:].metadata.name}") + kubectl -n NAMESPACE port-forward svc/$SVC_NAME 8080:http + ``` + + 3. Visit the application at: + ``` + http://localhost:8080 + ``` diff --git a/charts/redhat/redhat/redhat-cryostat/2.0.3/src/tests/reports_deployment_test.yaml b/charts/redhat/redhat/redhat-cryostat/2.0.3/src/tests/reports_deployment_test.yaml new file mode 100644 index 000000000..d88ff8ac9 --- /dev/null +++ b/charts/redhat/redhat/redhat-cryostat/2.0.3/src/tests/reports_deployment_test.yaml @@ -0,0 +1,316 @@ +suite: test reports_deployment.yaml +templates: + - reports_deployment.yaml + +tests: + - it: should verify general deployment settings when disabled + asserts: + - hasDocuments: + count: 0 + + - it: should verify general deployment settings when enabled + set: + reports: + replicas: 2 + asserts: + - equal: + path: kind + value: Deployment + - equal: + path: metadata.name + value: RELEASE-NAME-cryostat-v4-reports + - equal: + path: spec.replicas + value: 2 + - equal: + path: spec.strategy.type + value: RollingUpdate + - equal: + path: spec.selector.matchLabels + value: + app.kubernetes.io/instance: RELEASE-NAME + app.kubernetes.io/name: cryostat + app.kubernetes.io/component: reports + app.kubernetes.io/part-of: cryostat + - equal: + path: spec.template.metadata.labels + value: + app.kubernetes.io/instance: RELEASE-NAME + app.kubernetes.io/name: cryostat + app.kubernetes.io/part-of: cryostat + app.kubernetes.io/component: reports + - notExists: + path: spec.template.spec.serviceAccountName + - equal: + path: spec.template.spec.securityContext.runAsNonRoot + value: true + - equal: + path: spec.template.spec.securityContext.seccompProfile.type + value: RuntimeDefault + - equal: + path: metadata.labels + value: + helm.sh/chart: cryostat-2.0.3 + app.kubernetes.io/name: cryostat + app.kubernetes.io/instance: RELEASE-NAME + app.kubernetes.io/version: "4.0.3-redhat" + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/component: reports + app.kubernetes.io/part-of: cryostat + + - it: should validate all container settings including environment variables and security contexts + set: + reports: + replicas: 1 + asserts: + - exists: + path: spec.template.spec.containers[?(@.name=='cryostat-reports-authproxy')] + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-reports-authproxy')].image + value: "registry.redhat.io/cryostat/cryostat-ose-oauth-proxy-rhel9" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-reports-authproxy')].ports + value: + - containerPort: 4180 + name: http + protocol: TCP + - exists: + path: spec.template.spec.containers[?(@.name=='cryostat-reports')] + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-reports')].image + value: "registry.redhat.io/cryostat/cryostat-reports-rhel9" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-reports')].env[?(@.name=='QUARKUS_HTTP_PORT')].value + value: "10001" + + - it: should validate authproxy settings when deployed in OpenShift + set: + reports: + replicas: 1 + authentication: + openshift: + enabled: true + asserts: + - exists: + path: spec.template.spec.containers[?(@.name=='cryostat-reports-authproxy')] + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-reports-authproxy')].image + value: "registry.redhat.io/cryostat/cryostat-ose-oauth-proxy-rhel9" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-reports-authproxy')].ports + value: + - containerPort: 4180 + name: http + protocol: TCP + - containerPort: 8443 + name: https + protocol: TCP + + - it: should apply Kubernetes specific settings when configured + set: + reports: + replicas: 1 + nodeSelector: + disktype: ssd + affinity: + nodeAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + nodeSelectorTerms: + - matchExpressions: + - key: disktype + operator: In + values: + - ssd + tolerations: + - key: "key" + operator: "Equal" + value: "value" + effect: "NoSchedule" + asserts: + - exists: + path: spec.template.spec.nodeSelector + - exists: + path: spec.template.spec.affinity + - exists: + path: spec.template.spec.tolerations + + - it: should accept specific nodeSelector setting + set: + reports.replicas: 1 + reports.nodeSelector: + diskType: ssd + asserts: + - equal: + path: spec.template.spec.nodeSelector + value: + diskType: ssd + + - it: should prefer specific nodeSelector over general + set: + reports.replicas: 1 + nodeSelector: + disktype: hdd + reports.nodeSelector: + diskType: ssd + asserts: + - equal: + path: spec.template.spec.nodeSelector + value: + diskType: ssd + + - it: should accept specific tolerations setting + set: + reports.replicas: 1 + reports.tolerations: + - key: "key1" + operator: "Equal" + value: "value1" + effect: "NoSchedule" + asserts: + - equal: + path: spec.template.spec.tolerations + value: + - key: "key1" + operator: "Equal" + value: "value1" + effect: "NoSchedule" + + - it: should prefer specific tolerations over general + set: + reports.replicas: 1 + tolerations: + - key: "key1" + operator: "Equal" + value: "value1" + effect: "NoSchedule" + reports.tolerations: + - key: "key2" + operator: "Equal" + value: "value2" + effect: "NoSchedule" + asserts: + - equal: + path: spec.template.spec.tolerations + value: + - key: "key2" + operator: "Equal" + value: "value2" + effect: "NoSchedule" + + - it: should accept specific affinity setting + set: + reports.replicas: 1 + reports.affinity: + nodeAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + nodeSelectorTerms: + - matchExpressions: + - key: disktype + operator: In + values: + - ssd + asserts: + - equal: + path: spec.template.spec.affinity + value: + nodeAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + nodeSelectorTerms: + - matchExpressions: + - key: disktype + operator: In + values: + - ssd + + - it: should prefer specific affinity over general + set: + reports.replicas: 1 + affinity: + nodeAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + nodeSelectorTerms: + - matchExpressions: + - key: disktype + operator: In + values: + - ssd + reports.affinity: + nodeAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + nodeSelectorTerms: + - matchExpressions: + - key: disktype + operator: In + values: + - ssd + asserts: + - equal: + path: spec.template.spec.affinity + value: + nodeAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + nodeSelectorTerms: + - matchExpressions: + - key: disktype + operator: In + values: + - ssd + + - it: should verify image pull policies for development snapshots + set: + reports: + replicas: 1 + image: + tag: "4.0.3-snapshot" + asserts: + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-reports')].imagePullPolicy + value: "Always" + + - it: should verify image pull policies for release versions + set: + reports: + replicas: 1 + image: + tag: "4.1.0" + pullPolicy: "IfNotPresent" + asserts: + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-reports')].imagePullPolicy + value: "IfNotPresent" + + - it: should set default podAnnotations + set: + reports.replicas: 1 + podAnnotations: + foo: bar + asserts: + - equal: + path: spec.template.metadata.annotations + value: + foo: bar + + - it: should set pod-specific podAnnotations + set: + reports.replicas: 1 + reports.podAnnotations: + foo: bar + asserts: + - equal: + path: spec.template.metadata.annotations + value: + foo: bar + + - it: should set merge pod-specific and default podAnnotations + set: + reports.replicas: 1 + reports.podAnnotations: + foo: bar + podAnnotations: + alice: bob + asserts: + - equal: + path: spec.template.metadata.annotations + value: + alice: bob + foo: bar diff --git a/charts/redhat/redhat/redhat-cryostat/2.0.3/src/tests/reports_secret_test.yaml b/charts/redhat/redhat/redhat-cryostat/2.0.3/src/tests/reports_secret_test.yaml new file mode 100644 index 000000000..e9c1a3f09 --- /dev/null +++ b/charts/redhat/redhat/redhat-cryostat/2.0.3/src/tests/reports_secret_test.yaml @@ -0,0 +1,40 @@ +suite: test reports_secret.yaml +templates: + - reports_secret.yaml + +tests: + - it: should create a reports secret if core.reportsSecretName is not set + set: + core.reportsSecretName: "" + asserts: + - hasDocuments: + count: 1 + - equal: + path: kind + value: Secret + - equal: + path: metadata.name + value: RELEASE-NAME-reports-secret + - equal: + path: type + value: Opaque + - exists: + path: data.htpasswd + - exists: + path: data.REPORTS_PASS + - equal: + path: metadata.labels + value: + app.kubernetes.io/instance: RELEASE-NAME + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: cryostat + app.kubernetes.io/part-of: cryostat + app.kubernetes.io/version: 4.0.3-redhat + helm.sh/chart: cryostat-2.0.3 + + - it: should not create a database secret if reports.reportsSecretName is set + set: + reports.reportsSecretName: "custom-reports-secret" + asserts: + - hasDocuments: + count: 0 diff --git a/charts/redhat/redhat/redhat-cryostat/2.0.3/src/tests/reports_service_test.yaml b/charts/redhat/redhat/redhat-cryostat/2.0.3/src/tests/reports_service_test.yaml new file mode 100644 index 000000000..f2feba1b0 --- /dev/null +++ b/charts/redhat/redhat/redhat-cryostat/2.0.3/src/tests/reports_service_test.yaml @@ -0,0 +1,78 @@ +suite: test reports_service.yaml +templates: + - reports_service.yaml + +tests: + - it: should do nothing if report generators are not desired + asserts: + - hasDocuments: + count: 0 + + - it: should create a Service targeting the Pod http port + set: + reports: + replicas: 1 + asserts: + - hasDocuments: + count: 1 + - equal: + path: kind + value: Service + - equal: + path: metadata.name + value: RELEASE-NAME-cryostat-reports + - equal: + path: spec.type + value: ClusterIP + - equal: + path: spec.ports[0].port + value: 10001 + - equal: + path: spec.ports[0].targetPort + value: http + - equal: + path: metadata.labels + value: + app.kubernetes.io/instance: RELEASE-NAME + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: cryostat + app.kubernetes.io/part-of: cryostat + app.kubernetes.io/version: "4.0.3-redhat" + helm.sh/chart: cryostat-2.0.3 + app.kubernetes.io/component: reports + + - it: should create a Service targeting the Pod https port when deployed in OpenShift + set: + reports: + replicas: 1 + authentication: + openshift: + enabled: true + asserts: + - hasDocuments: + count: 1 + - equal: + path: kind + value: Service + - equal: + path: metadata.name + value: RELEASE-NAME-cryostat-reports + - equal: + path: spec.type + value: ClusterIP + - equal: + path: spec.ports[0].port + value: 10001 + - equal: + path: spec.ports[0].targetPort + value: https + - equal: + path: metadata.labels + value: + app.kubernetes.io/instance: RELEASE-NAME + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: cryostat + app.kubernetes.io/part-of: cryostat + app.kubernetes.io/version: "4.0.3-redhat" + helm.sh/chart: cryostat-2.0.3 + app.kubernetes.io/component: reports diff --git a/charts/redhat/redhat/redhat-cryostat/2.0.3/src/tests/role_test.yaml b/charts/redhat/redhat/redhat-cryostat/2.0.3/src/tests/role_test.yaml new file mode 100644 index 000000000..ebf14d081 --- /dev/null +++ b/charts/redhat/redhat/redhat-cryostat/2.0.3/src/tests/role_test.yaml @@ -0,0 +1,143 @@ +suite: test role.yaml +templates: + - role.yaml + +tests: + - it: should create Roles in target namespace + set: + rbac.create: true + core.discovery.kubernetes.enabled: true + core.discovery.kubernetes.namespaces: + - "default" + - "test-ns" + asserts: + - hasDocuments: + count: 2 + - equal: + path: kind + value: Role + - equal: + path: metadata.namespace + value: "default" + documentIndex: 0 + - equal: + path: metadata.namespace + value: "test-ns" + documentIndex: 1 + - matchRegex: + path: metadata.name + pattern: "RELEASE-NAME-cryostat" + documentIndex: 0 + - matchRegex: + path: metadata.name + pattern: "RELEASE-NAME-cryostat" + documentIndex: 1 + - equal: + path: metadata.labels + value: + app.kubernetes.io/instance: RELEASE-NAME + app.kubernetes.io/part-of: cryostat + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: cryostat + app.kubernetes.io/version: "4.0.3-redhat" + helm.sh/chart: cryostat-2.0.3 + documentIndex: 0 + - equal: + path: metadata.labels + value: + app.kubernetes.io/instance: RELEASE-NAME + app.kubernetes.io/part-of: cryostat + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: cryostat + app.kubernetes.io/version: "4.0.3-redhat" + helm.sh/chart: cryostat-2.0.3 + documentIndex: 1 + + - it: should have correct permissions for endpoints, pods, and other resources + set: + rbac.create: true + core.discovery.kubernetes.enabled: true + core.discovery.kubernetes.namespaces: + - "default" + asserts: + - equal: + path: rules[0].apiGroups + value: [""] + - equal: + path: rules[0].resources + value: ["endpoints"] + - equal: + path: rules[0].verbs + value: ["get", "list", "watch"] + - equal: + path: rules[1].apiGroups + value: [""] + - equal: + path: rules[1].resources + value: ["pods", "replicationcontrollers"] + - equal: + path: rules[1].verbs + value: ["get"] + - equal: + path: rules[2].apiGroups + value: ["apps"] + - equal: + path: rules[2].resources + value: ["replicasets", "deployments", "daemonsets", "statefulsets"] + - equal: + path: rules[2].verbs + value: ["get"] + - equal: + path: rules[3].apiGroups + value: ["apps.openshift.io"] + - equal: + path: rules[3].resources + value: ["deploymentconfigs"] + - equal: + path: rules[3].verbs + value: ["get"] + - equal: + path: rules[4].apiGroups + value: ["route.openshift.io"] + - equal: + path: rules[4].verbs + value: ["get", "list"] + - equal: + path: rules[4].resources + value: ["routes"] + + - it: should not create any Role if RBAC is disabled + set: + rbac.create: false + asserts: + - hasDocuments: + count: 0 + + - it: should not create any Roles when Kubernetes discovery is disabled + set: + rbac.create: true + core.discovery.kubernetes.enabled: false + asserts: + - hasDocuments: + count: 0 + + - it: should not specify a namespace if installNamespaceDisabled is true + set: + rbac.create: true + core.discovery.kubernetes.enabled: true + core.discovery.kubernetes.installNamespaceDisabled: true + asserts: + - hasDocuments: + count: 0 + + - it: should specify the default namespace if installNamespaceDisabled is false + set: + rbac.create: true + core.discovery.kubernetes.enabled: true + core.discovery.kubernetes.installNamespaceDisabled: false + asserts: + - hasDocuments: + count: 1 + - equal: + path: metadata.namespace + value: "NAMESPACE" diff --git a/charts/redhat/redhat/redhat-cryostat/2.0.3/src/tests/rolebinding_test.yaml b/charts/redhat/redhat/redhat-cryostat/2.0.3/src/tests/rolebinding_test.yaml new file mode 100644 index 000000000..05d368453 --- /dev/null +++ b/charts/redhat/redhat/redhat-cryostat/2.0.3/src/tests/rolebinding_test.yaml @@ -0,0 +1,124 @@ +suite: test rolebinding.yaml +templates: + - rolebinding.yaml + +tests: + - it: should create a RoleBinding in the default namespace + set: + rbac.create: true + core.discovery.kubernetes.enabled: true + core.discovery.kubernetes.namespaces: + - "default" + - "test-ns" + asserts: + - hasDocuments: + count: 2 + - equal: + path: kind + value: RoleBinding + documentIndex: 0 + - equal: + path: kind + value: RoleBinding + documentIndex: 1 + - equal: + path: metadata.namespace + value: "default" + documentIndex: 0 + - equal: + path: metadata.namespace + value: "test-ns" + documentIndex: 1 + - matchRegex: + path: metadata.name + pattern: "RELEASE-NAME-cryostat" + documentIndex: 0 + - matchRegex: + path: metadata.name + pattern: "RELEASE-NAME-cryostat" + documentIndex: 1 + - equal: + path: roleRef.apiGroup + value: "rbac.authorization.k8s.io" + documentIndex: 0 + - equal: + path: roleRef.apiGroup + value: "rbac.authorization.k8s.io" + documentIndex: 1 + - equal: + path: roleRef.kind + value: "Role" + documentIndex: 0 + - equal: + path: roleRef.kind + value: "Role" + documentIndex: 1 + - matchRegex: + path: roleRef.name + pattern: "RELEASE-NAME-cryostat" + documentIndex: 0 + - matchRegex: + path: roleRef.name + pattern: "RELEASE-NAME-cryostat" + documentIndex: 1 + - equal: + path: subjects[0].kind + value: "ServiceAccount" + documentIndex: 0 + - equal: + path: subjects[0].kind + value: "ServiceAccount" + documentIndex: 1 + - matchRegex: + path: subjects[0].name + pattern: "RELEASE-NAME-cryostat" + documentIndex: 0 + - matchRegex: + path: subjects[0].name + pattern: "RELEASE-NAME-cryostat" + documentIndex: 1 + - equal: + path: subjects[0].namespace + value: "NAMESPACE" + documentIndex: 0 + - equal: + path: subjects[0].namespace + value: "NAMESPACE" + documentIndex: 1 + + - it: should not create any RoleBinding if RBAC is disabled + set: + rbac.create: false + asserts: + - hasDocuments: + count: 0 + + - it: should not create any RoleBinding when Kubernetes discovery is disabled + set: + rbac.create: true + core.discovery.kubernetes.enabled: false + asserts: + - hasDocuments: + count: 0 + + - it: should not create any RoleBinding if installNamespaceDisabled is true + set: + rbac.create: true + core.discovery.kubernetes.enabled: true + core.discovery.kubernetes.installNamespaceDisabled: true + asserts: + - hasDocuments: + count: 0 + + - it: should create a RoleBinding in the default namespace if installNamespaceDisabled is false + set: + rbac.create: true + core.discovery.kubernetes.enabled: true + core.discovery.kubernetes.namespaces: [] + core.discovery.kubernetes.installNamespaceDisabled: false + asserts: + - hasDocuments: + count: 1 + - equal: + path: metadata.namespace + value: "NAMESPACE" diff --git a/charts/redhat/redhat/redhat-cryostat/2.0.3/src/tests/route_test.yaml b/charts/redhat/redhat/redhat-cryostat/2.0.3/src/tests/route_test.yaml new file mode 100644 index 000000000..f13e92a1f --- /dev/null +++ b/charts/redhat/redhat/redhat-cryostat/2.0.3/src/tests/route_test.yaml @@ -0,0 +1,75 @@ +suite: test route.yaml +templates: + - route.yaml + +tests: + - it: should create a Route when routing is enabled + set: + core.route.enabled: true + core: + route: + annotations: + hello: world + tls: + enabled: true + termination: edge + insecureEdgeTerminationPolicy: Redirect + key: "RSA PRIVATE KEY" + destinationCACertificate: "DESTINATION CA" + caCertificate: "CA CERT" + certificate: "CERT" + asserts: + - hasDocuments: + count: 1 + - equal: + path: kind + value: Route + - equal: + path: metadata.name + value: "RELEASE-NAME-cryostat" + - equal: + path: metadata.labels + value: + app.kubernetes.io/instance: RELEASE-NAME + app.kubernetes.io/part-of: cryostat + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: cryostat + app.kubernetes.io/version: "4.0.3-redhat" + helm.sh/chart: cryostat-2.0.3 + - equal: + path: metadata.annotations.hello + value: "world" + - equal: + path: spec.to.kind + value: "Service" + - equal: + path: spec.to.name + value: "RELEASE-NAME-cryostat" + - equal: + path: spec.port.targetPort + value: 4180 + - equal: + path: spec.tls.termination + value: "edge" + - equal: + path: spec.tls.insecureEdgeTerminationPolicy + value: "Redirect" + - matchRegex: + path: spec.tls.key + pattern: ".*RSA PRIVATE KEY.*" + - matchRegex: + path: spec.tls.destinationCACertificate + pattern: ".*DESTINATION CA.*" + - matchRegex: + path: spec.tls.caCertificate + pattern: ".*CA CERT.*" + - matchRegex: + path: spec.tls.certificate + pattern: ".*CERT.*" + + - it: should not create a Route when routing is disabled + set: + core.route.enabled: false + asserts: + - hasDocuments: + count: 0 diff --git a/charts/redhat/redhat/redhat-cryostat/2.0.3/src/tests/serviceaccount_test.yaml b/charts/redhat/redhat/redhat-cryostat/2.0.3/src/tests/serviceaccount_test.yaml new file mode 100644 index 000000000..211aa9b37 --- /dev/null +++ b/charts/redhat/redhat/redhat-cryostat/2.0.3/src/tests/serviceaccount_test.yaml @@ -0,0 +1,37 @@ +suite: test serviceaccount.yaml +templates: + - serviceaccount.yaml + +tests: + - it: should create a ServiceAccount with OpenShift redirect annotations when OpenShift auth is enabled + set: + authentication.openshift.enabled: true + serviceAccount.create: true + asserts: + - hasDocuments: + count: 1 + - equal: + path: kind + value: ServiceAccount + - equal: + path: metadata.name + value: "RELEASE-NAME-cryostat" + - equal: + path: metadata.annotations + value: + serviceaccounts.openshift.io/oauth-redirectreference.primary: '{"kind":"OAuthRedirectReference","apiVersion":"v1","reference":{"kind":"Route","name":"RELEASE-NAME-cryostat"}}' + + - it: should not include OpenShift specific annotations when OpenShift auth is disabled + set: + authentication.openshift.enabled: false + serviceAccount.create: true + asserts: + - notExists: + path: metadata.annotations + + - it: should not create a ServiceAccount when serviceAccount.create is disabled + set: + serviceAccount.create: false + asserts: + - hasDocuments: + count: 0 diff --git a/charts/redhat/redhat/redhat-cryostat/2.0.3/src/tests/storage_deployment_test.yaml b/charts/redhat/redhat/redhat-cryostat/2.0.3/src/tests/storage_deployment_test.yaml new file mode 100644 index 000000000..02c0d52e3 --- /dev/null +++ b/charts/redhat/redhat/redhat-cryostat/2.0.3/src/tests/storage_deployment_test.yaml @@ -0,0 +1,393 @@ +suite: test storage_deployment.yaml +templates: + - storage_deployment.yaml + +tests: + - it: should verify general deployment settings + asserts: + - equal: + path: kind + value: Deployment + - equal: + path: metadata.name + value: RELEASE-NAME-cryostat-v4-storage + - equal: + path: spec.replicas + value: 1 + - equal: + path: spec.strategy.type + value: Recreate + - equal: + path: spec.selector.matchLabels + value: + app.kubernetes.io/instance: RELEASE-NAME + app.kubernetes.io/name: cryostat + app.kubernetes.io/component: storage + app.kubernetes.io/part-of: cryostat + - equal: + path: spec.template.metadata.labels + value: + app.kubernetes.io/instance: RELEASE-NAME + app.kubernetes.io/name: cryostat + app.kubernetes.io/component: storage + app.kubernetes.io/part-of: cryostat + - notExists: + path: spec.template.spec.serviceAccountName + - equal: + path: spec.template.spec.securityContext.runAsNonRoot + value: true + - equal: + path: spec.template.spec.securityContext.seccompProfile.type + value: RuntimeDefault + - equal: + path: metadata.labels + value: + helm.sh/chart: cryostat-2.0.3 + app.kubernetes.io/name: cryostat + app.kubernetes.io/instance: RELEASE-NAME + app.kubernetes.io/version: "4.0.3-redhat" + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/component: storage + app.kubernetes.io/part-of: cryostat + + - it: should validate cryostat-storage settings + asserts: + - exists: + path: spec.template.spec.containers[?(@.name=='cryostat-storage')] + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-storage')].securityContext.allowPrivilegeEscalation + value: false + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-storage')].securityContext.capabilities.drop + value: + - ALL + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-storage')].image + value: "registry.redhat.io/cryostat/cryostat-storage-rhel9" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-storage')].imagePullPolicy + value: "IfNotPresent" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-storage')].env[?(@.name=='CRYOSTAT_BUCKETS')].value + value: "archivedrecordings,archivedreports,eventtemplates,probes" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-storage')].env[?(@.name=='CRYOSTAT_ACCESS_KEY')].value + value: "cryostat" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-storage')].env[?(@.name=='CRYOSTAT_SECRET_KEY')].valueFrom.secretKeyRef + value: + name: "RELEASE-NAME-storage-secret" + key: "STORAGE_ACCESS_KEY" + optional: false + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-storage')].env[?(@.name=='DATA_DIR')].value + value: "/data" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-storage')].env[?(@.name=='IP_BIND')].value + value: 0.0.0.0 + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-storage')].env[?(@.name=='REST_ENCRYPTION_ENABLE')].value + value: "1" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-storage')].ports[0].containerPort + value: 8333 + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-storage')].ports[0].protocol + value: "TCP" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-storage')].volumeMounts[0].mountPath + value: "/data" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-storage')].volumeMounts[0].name + value: "cryostat-storage" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-storage')].volumeMounts[0].subPath + value: "seaweed" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-storage')].livenessProbe.httpGet.path + value: "/status" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-storage')].livenessProbe.httpGet.port + value: 8333 + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-storage')].livenessProbe.periodSeconds + value: 10 + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-storage')].livenessProbe.failureThreshold + value: 2 + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-storage')].startupProbe.httpGet.path + value: "/status" + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-storage')].startupProbe.httpGet.port + value: 8333 + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-storage')].startupProbe.periodSeconds + value: 10 + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-storage')].startupProbe.failureThreshold + value: 9 + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-storage')].resources + value: + requests: + cpu: 50m + memory: 256Mi + + - it: should allow disabling at-rest encryption + set: + storage: + encryption: + enabled: false + asserts: + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-storage')].env[?(@.name=='REST_ENCRYPTION_ENABLE')].value + value: "0" + + - it: should set resource overrides + set: + storage: + resources: + limits: + cpu: 2000m + memory: 1Gi + requests: + cpu: 4000m + memory: 2Gi + asserts: + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-storage')].resources + value: + limits: + cpu: 2000m + memory: 1Gi + requests: + cpu: 4000m + memory: 2Gi + + - it: should set PersistentVolumeClaim (pvc) reference + set: + storage: + pvc: + enabled: true + asserts: + - exists: + path: spec.template.spec.volumes[?(@.name=='cryostat-storage')] + - equal: + path: spec.template.spec.volumes[?(@.name=='cryostat-storage')] + value: + name: cryostat-storage + persistentVolumeClaim: + claimName: RELEASE-NAME-storage + + - it: should validate volumes and volume mounts + asserts: + - exists: + path: spec.template.spec.volumes[?(@.name=='cryostat-storage')] + - equal: + path: spec.template.spec.volumes[?(@.name=='cryostat-storage')] + value: + name: cryostat-storage + emptyDir: {} + - exists: + path: spec.template.spec.containers[?(@.name=='cryostat-storage')].volumeMounts[?(@.mountPath=='/data')] + + - it: should set image pull secrets if specified + set: + imagePullSecrets: + - name: myregistrykey + asserts: + - equal: + path: spec.template.spec.imagePullSecrets[0].name + value: "myregistrykey" + + - it: should apply Kubernetes specific settings when configured + set: + nodeSelector: + disktype: ssd + affinity: + nodeAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + nodeSelectorTerms: + - matchExpressions: + - key: disktype + operator: In + values: + - ssd + tolerations: + - key: "key" + operator: "Equal" + value: "value" + effect: "NoSchedule" + asserts: + - exists: + path: spec.template.spec.nodeSelector + - exists: + path: spec.template.spec.affinity + - exists: + path: spec.template.spec.tolerations + + - it: should accept specific nodeSelector setting + set: + storage.nodeSelector: + diskType: ssd + asserts: + - equal: + path: spec.template.spec.nodeSelector + value: + diskType: ssd + + - it: should prefer specific nodeSelector over general + set: + nodeSelector: + disktype: hdd + storage.nodeSelector: + diskType: ssd + asserts: + - equal: + path: spec.template.spec.nodeSelector + value: + diskType: ssd + + - it: should accept specific tolerations setting + set: + storage.tolerations: + - key: "key1" + operator: "Equal" + value: "value1" + effect: "NoSchedule" + asserts: + - equal: + path: spec.template.spec.tolerations + value: + - key: "key1" + operator: "Equal" + value: "value1" + effect: "NoSchedule" + + - it: should prefer specific tolerations over general + set: + tolerations: + - key: "key1" + operator: "Equal" + value: "value1" + effect: "NoSchedule" + storage.tolerations: + - key: "key2" + operator: "Equal" + value: "value2" + effect: "NoSchedule" + asserts: + - equal: + path: spec.template.spec.tolerations + value: + - key: "key2" + operator: "Equal" + value: "value2" + effect: "NoSchedule" + + - it: should accept specific affinity setting + set: + storage.affinity: + nodeAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + nodeSelectorTerms: + - matchExpressions: + - key: disktype + operator: In + values: + - ssd + asserts: + - equal: + path: spec.template.spec.affinity + value: + nodeAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + nodeSelectorTerms: + - matchExpressions: + - key: disktype + operator: In + values: + - ssd + + - it: should prefer specific affinity over general + set: + affinity: + nodeAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + nodeSelectorTerms: + - matchExpressions: + - key: disktype + operator: In + values: + - ssd + storage.affinity: + nodeAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + nodeSelectorTerms: + - matchExpressions: + - key: disktype + operator: In + values: + - ssd + asserts: + - equal: + path: spec.template.spec.affinity + value: + nodeAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + nodeSelectorTerms: + - matchExpressions: + - key: disktype + operator: In + values: + - ssd + + - it: should verify image pull policies for development snapshots + set: + core.image.tag: "4.0.3-snapshot" + asserts: + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-storage')].imagePullPolicy + value: "Always" + + - it: should verify image pull policies for release versions + set: + storage.image.pullPolicy: "IfNotPresent" + asserts: + - equal: + path: spec.template.spec.containers[?(@.name=='cryostat-storage')].imagePullPolicy + value: "IfNotPresent" + + - it: should set default podAnnotations + set: + podAnnotations: + foo: bar + asserts: + - equal: + path: spec.template.metadata.annotations + value: + foo: bar + + - it: should set pod-specific podAnnotations + set: + storage.podAnnotations: + foo: bar + asserts: + - equal: + path: spec.template.metadata.annotations + value: + foo: bar + + - it: should set merge pod-specific and default podAnnotations + set: + storage.podAnnotations: + foo: bar + podAnnotations: + alice: bob + asserts: + - equal: + path: spec.template.metadata.annotations + value: + alice: bob + foo: bar diff --git a/charts/redhat/redhat/redhat-cryostat/2.0.3/src/tests/storage_pvc_test.yaml b/charts/redhat/redhat/redhat-cryostat/2.0.3/src/tests/storage_pvc_test.yaml new file mode 100644 index 000000000..b662f1662 --- /dev/null +++ b/charts/redhat/redhat/redhat-cryostat/2.0.3/src/tests/storage_pvc_test.yaml @@ -0,0 +1,57 @@ +suite: test storage_pvc.yaml +templates: + - storage_pvc.yaml + +tests: + - it: should create a PersistentVolumeClaim with correct settings + set: + storage.pvc: + enabled: true + storage: "10Gi" + accessModes: + - "ReadWriteOnce" + storageClassName: "standard" + annotations: + "volume.beta.kubernetes.io/storage-class": "standard" + selector: + matchLabels: + app: cryostat + asserts: + - hasDocuments: + count: 1 + - equal: + path: kind + value: PersistentVolumeClaim + - equal: + path: metadata.name + value: "RELEASE-NAME-cryostat-storage" + - equal: + path: metadata.labels + value: + app.kubernetes.io/instance: RELEASE-NAME + app.kubernetes.io/part-of: cryostat + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: cryostat + app.kubernetes.io/version: "4.0.3-redhat" + helm.sh/chart: cryostat-2.0.3 + - equal: + path: spec.accessModes + value: + - "ReadWriteOnce" + - equal: + path: spec.resources.requests.storage + value: "10Gi" + - equal: + path: spec.storageClassName + value: "standard" + - equal: + path: spec.selector.matchLabels.app + value: "cryostat" + + - it: should not create a PersistentVolumeClaim when PVC is disabled + set: + storage.pvc: + enabled: false + asserts: + - hasDocuments: + count: 0 diff --git a/charts/redhat/redhat/redhat-cryostat/2.0.3/src/tests/storage_secret_test.yaml b/charts/redhat/redhat/redhat-cryostat/2.0.3/src/tests/storage_secret_test.yaml new file mode 100644 index 000000000..692291892 --- /dev/null +++ b/charts/redhat/redhat/redhat-cryostat/2.0.3/src/tests/storage_secret_test.yaml @@ -0,0 +1,36 @@ +suite: test storage_secret.yaml +templates: + - storage_secret.yaml + +tests: + - it: should create a Storage Access Secret with correct settings + asserts: + - hasDocuments: + count: 1 + - equal: + path: kind + value: Secret + - equal: + path: metadata.name + value: RELEASE-NAME-storage-secret + - equal: + path: type + value: Opaque + - exists: + path: data.STORAGE_ACCESS_KEY + - equal: + path: metadata.labels + value: + app.kubernetes.io/instance: RELEASE-NAME + app.kubernetes.io/part-of: cryostat + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: cryostat + app.kubernetes.io/version: 4.0.3-redhat + helm.sh/chart: cryostat-2.0.3 + + - it: should not create a storage secret if storage.storageSecretName is set + set: + storage.storageSecretName: "custom-storage-secret" + asserts: + - hasDocuments: + count: 0 diff --git a/charts/redhat/redhat/redhat-cryostat/2.0.3/src/tests/storage_service_test.yaml b/charts/redhat/redhat/redhat-cryostat/2.0.3/src/tests/storage_service_test.yaml new file mode 100644 index 000000000..714e0c3c1 --- /dev/null +++ b/charts/redhat/redhat/redhat-cryostat/2.0.3/src/tests/storage_service_test.yaml @@ -0,0 +1,62 @@ +suite: test storage_service.yaml +templates: + - storage_service.yaml + +tests: + - it: should create a Service with the correct default settings + asserts: + - hasDocuments: + count: 1 + - equal: + path: kind + value: Service + - equal: + path: metadata.name + value: RELEASE-NAME-cryostat-storage + - equal: + path: spec.type + value: ClusterIP + - equal: + path: spec.ports[0].port + value: 8333 + - equal: + path: metadata.labels + value: + app.kubernetes.io/instance: RELEASE-NAME + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: cryostat + app.kubernetes.io/version: "4.0.3-redhat" + helm.sh/chart: cryostat-2.0.3 + app.kubernetes.io/component: storage + app.kubernetes.io/part-of: cryostat + + - it: should create a Service with the correct settings overrides + set: + storage.service.type: NodeIP + storage.service.port: 8080 + authentication.openshift.enabled: false + asserts: + - hasDocuments: + count: 1 + - equal: + path: kind + value: Service + - equal: + path: metadata.name + value: RELEASE-NAME-cryostat-storage + - equal: + path: spec.type + value: NodeIP + - equal: + path: spec.ports[0].port + value: 8080 + - equal: + path: metadata.labels + value: + app.kubernetes.io/instance: RELEASE-NAME + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: cryostat + app.kubernetes.io/version: "4.0.3-redhat" + helm.sh/chart: cryostat-2.0.3 + app.kubernetes.io/component: storage + app.kubernetes.io/part-of: cryostat diff --git a/charts/redhat/redhat/redhat-cryostat/2.0.3/src/values.schema.json b/charts/redhat/redhat/redhat-cryostat/2.0.3/src/values.schema.json new file mode 100644 index 000000000..f6912d9b1 --- /dev/null +++ b/charts/redhat/redhat/redhat-cryostat/2.0.3/src/values.schema.json @@ -0,0 +1,1160 @@ +{ + "title": "Chart Values", + "type": "object", + "properties": { + "core": { + "type": "object", + "properties": { + "image": { + "type": "object", + "properties": { + "repository": { + "type": "string", + "description": "Repository for the main Cryostat container image", + "default": "registry.redhat.io/cryostat/cryostat-rhel9" + }, + "pullPolicy": { + "type": "string", + "description": "Image pull policy for the main Cryostat container image", + "default": "IfNotPresent" + }, + "tag": { + "type": "string", + "description": "Tag for the main Cryostat container image", + "default": "4.0.3" + } + } + }, + "service": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Type of Service to create for the Cryostat application", + "default": "ClusterIP" + }, + "httpPort": { + "type": "number", + "description": "Port number to expose on the Service for Cryostat's HTTP server", + "default": 8181 + } + } + }, + "debug": { + "type": "object", + "properties": { + "log": { + "type": "object", + "properties": { + "level": { + "type": "string", + "description": "Log level for troubleshooting and debugging", + "default": "INFO" + } + } + } + } + }, + "sslProxied": { + "type": "boolean", + "description": "Enables SSL Proxied Environment Variables, useful when you are offloading SSL/TLS at External Loadbalancer instead of Ingress", + "default": false + }, + "ingress": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether to create an Ingress object for the Cryostat service", + "default": false + }, + "className": { + "type": "string", + "description": "Ingress class name for the Cryostat application Ingress", + "default": "" + }, + "hosts": { + "type": "array", + "description": "", + "items": { + "type": "object", + "properties": { + "host": { + "type": "string", + "description": "" + }, + "paths": { + "type": "array", + "description": "", + "items": { + "type": "object", + "properties": { + "path": { + "type": "string", + "description": "" + }, + "pathType": { + "type": "string", + "description": "" + } + } + } + } + } + } + }, + "tls": { + "type": "array", + "description": "TLS configuration for the Cryostat application Ingress. See: [IngressSpec](https://kubernetes.io/docs/reference/kubernetes-api/service-resources/ingress-v1/#IngressSpec)", + "default": [], + "items": {} + } + } + }, + "route": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether to create a Route object for the Cryostat service. Available only on OpenShift", + "default": true + }, + "tls": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether to secure the Cryostat application Route with TLS. See: [TLSConfig](https://docs.openshift.com/container-platform/4.10/rest_api/network_apis/route-route-openshift-io-v1.html#spec-tls)", + "default": true + }, + "termination": { + "type": "string", + "description": "Type of TLS termination to use for the Cryostat application Route. One of: `edge`, `passthrough`, `reencrypt`", + "default": "edge" + }, + "insecureEdgeTerminationPolicy": { + "type": "string", + "description": "Specify how to handle insecure traffic for the Cryostat application Route. One of: `Allow`, `Disable`, `Redirect`", + "default": "Redirect" + }, + "key": { + "type": "string", + "description": "Custom private key to use when securing the Cryostat application Route", + "default": "" + }, + "certificate": { + "type": "string", + "description": "Custom certificate to use when securing the Cryostat application Route", + "default": "" + }, + "caCertificate": { + "type": "string", + "description": "Custom CA certificate to use, if needed to complete the certificate chain, when securing the Cryostat application Route", + "default": "" + }, + "destinationCACertificate": { + "type": "string", + "description": "Provides the contents of the CA certificate of the final destination when using reencrypt termination for the Cryostat application Route", + "default": "" + } + } + } + } + }, + "resources": { + "type": "object", + "properties": { + "requests": { + "type": "object", + "properties": { + "cpu": { + "type": "string", + "description": "CPU resource request for the Cryostat container. See: [ResourceRequirements](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#resources)", + "default": "500m" + }, + "memory": { + "type": "string", + "description": "Memory resource request for the Cryostat container.", + "default": "384Mi" + } + } + } + } + }, + "securityContext": { + "type": "object", + "properties": { + "capabilities": { + "type": "object", + "properties": { + "drop": { + "type": "array", + "description": "", + "default": [ + "ALL" + ], + "items": { + "type": "string" + } + } + } + }, + "allowPrivilegeEscalation": { + "type": "boolean", + "description": "", + "default": false + } + } + }, + "databaseSecretName": { + "type": "string", + "description": "Name of the secret containing database keys. This secret must contain a CONNECTION_KEY secret which is the database connection password, and an ENCRYPTION_KEY secret which is the key used to encrypt sensitive data stored within the database, such as the target credentials keyring. It must not be updated across chart upgrades. It is recommended that the secret should be marked as immutable to avoid accidental changes to secret's data. More details: https://kubernetes.io/docs/concepts/configuration/secret/#secret-immutable", + "default": "" + }, + "discovery": { + "type": "object", + "properties": { + "kubernetes": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "Enables Kubernetes API discovery mechanism", + "default": true + }, + "installNamespaceDisabled": { + "type": "boolean", + "description": "When false and `namespaces` is empty, the Cryostat application will default to discovery targets in the install namespace (i.e. `{{ .Release.Namespace }}`)", + "default": false + }, + "namespaces": { + "type": "array", + "description": "List of namespaces whose workloads the Cryostat application should be permitted to access and profile", + "default": [], + "items": {} + }, + "builtInPortNamesDisabled": { + "type": "boolean", + "description": "When false and `portNames` is empty, the Cryostat application will use the default port name `jfr-jmx` to look for JMX connectable targets.", + "default": false + }, + "portNames": { + "type": "array", + "description": "List of port names that the Cryostat application should look for in order to consider a target as JMX connectable", + "default": [], + "items": {} + }, + "builtInPortNumbersDisabled": { + "type": "boolean", + "description": "When false and `portNumbers` is empty, the Cryostat application will use the default port number `9091` to look for JMX connectable targets.", + "default": false + }, + "portNumbers": { + "type": "array", + "description": "List of port numbers that the Cryostat application should look for in order to consider a target as JMX connectable", + "default": [], + "items": {} + } + } + } + } + }, + "config": { + "type": "object", + "properties": { + "eventTemplates": { + "type": "object", + "properties": { + "configMapNames": { + "type": "array", + "description": "List of ConfigMap names. Each ConfigMap is expected to contain one or more files, which are .jfc (XML) JFR Event Templates, to be mounted to the Cryostat container.", + "default": [], + "items": {} + } + } + }, + "tlsTruststore": { + "type": "object", + "properties": { + "secretNames": { + "type": "array", + "description": "List of Secret names. Each Secret is expected to contain one or more files, which are TLS certificates which target applications may use for their JMX servers, to be mounted to the Cryostat container for its TLS truststore.", + "default": [], + "items": {} + } + } + } + } + }, + "tolerations": { + "type": "array", + "description": "Tolerations for the Cryostat Pod. See: [Tolerations](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling)", + "default": [], + "items": {} + } + } + }, + "reports": { + "type": "object", + "properties": { + "image": { + "type": "object", + "properties": { + "repository": { + "type": "string", + "description": "Repository for the Report Generator container image", + "default": "registry.redhat.io/cryostat/cryostat-reports-rhel9" + }, + "pullPolicy": { + "type": "string", + "description": "Image pull policy for the Report Generator container image", + "default": "IfNotPresent" + }, + "tag": { + "type": "string", + "description": "Tag for the Report Generator image", + "default": "4.0.3" + } + } + }, + "service": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Type of Service to create for the Report Generator Deployment", + "default": "ClusterIP" + }, + "httpPort": { + "type": "number", + "description": "Port number to expose on the Service for the Report Generator Deployment", + "default": 10001 + } + } + }, + "reportsSecretName": { + "type": "string", + "description": "Name of the secret containing the report generator access keys. This secret must contain a REPORTS_PASS secret which is the secret credential for the report generators. It must not be updated across chart upgrades, or else the connection between Cryostat and report generators will not be able to initialize. It is recommended that the secret should be marked as immutable to avoid accidental changes to secret's data. More details: https://kubernetes.io/docs/concepts/configuration/secret/#secret-immutable", + "default": "" + }, + "securityContext": { + "type": "object", + "properties": { + "capabilities": { + "type": "object", + "properties": { + "drop": { + "type": "array", + "description": "", + "default": [ + "ALL" + ], + "items": { + "type": "string" + } + } + } + }, + "allowPrivilegeEscalation": { + "type": "boolean", + "description": "", + "default": false + } + } + }, + "debug": { + "type": "object", + "properties": { + "log": { + "type": "object", + "properties": { + "level": { + "type": "string", + "description": "Log level for troubleshooting and debugging", + "default": "INFO" + } + } + } + } + }, + "replicas": { + "type": "number", + "description": "Number of Report Generator replicas to deploy. If zero, the Deployment and Service will not be created and the main Cryostat container will handle all report generations on its own.", + "default": 0 + }, + "resources": { + "type": "object", + "properties": { + "requests": { + "type": "object", + "properties": { + "cpu": { + "type": "string", + "description": "CPU resource request for each Pod in the Report Generator Deployment.", + "default": "500m" + }, + "memory": { + "type": "string", + "description": "Memory resource request for each Pod in the Report Generator Deployment.", + "default": "512Mi" + } + } + } + } + }, + "tolerations": { + "type": "array", + "description": "Tolerations for the Report Generator Pods. See: [Tolerations](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling)", + "default": [], + "items": {} + } + } + }, + "db": { + "type": "object", + "properties": { + "image": { + "type": "object", + "properties": { + "repository": { + "type": "string", + "description": "Repository for the database container image", + "default": "registry.redhat.io/cryostat/cryostat-db-rhel9" + }, + "pullPolicy": { + "type": "string", + "description": "Image pull policy for the database container image", + "default": "IfNotPresent" + }, + "tag": { + "type": "string", + "description": "Tag for the database container image", + "default": "4.0.3" + } + } + }, + "service": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Type of Service to create for the database", + "default": "ClusterIP" + }, + "port": { + "type": "number", + "description": "Port number to expose on the Service", + "default": 5432 + } + } + }, + "securityContext": { + "type": "object", + "properties": { + "capabilities": { + "type": "object", + "properties": { + "drop": { + "type": "array", + "description": "", + "default": [ + "ALL" + ], + "items": { + "type": "string" + } + } + } + }, + "allowPrivilegeEscalation": { + "type": "boolean", + "description": "", + "default": false + } + } + }, + "resources": { + "type": "object", + "properties": { + "requests": { + "type": "object", + "properties": { + "cpu": { + "type": "string", + "description": "CPU resource request for the database container. See: [ResourceRequirements](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#resources)", + "default": "25m" + }, + "memory": { + "type": "string", + "description": "Memory resource request for the database container.", + "default": "64Mi" + } + } + } + } + }, + "pvc": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "Specify whether to use persistentVolumeClaim (true) or EmptyDir storage (false). This is recommended to be enabled, but the storage size and selector should be chosen carefully first.", + "default": false + }, + "storage": { + "type": "string", + "description": "Storage size to request for the persistentVolumeClaim", + "default": "500Mi" + }, + "accessModes": { + "type": "array", + "description": "Access mode for the persistentVolumeClaim. See: [Access Modes](https://kubernetes.io/docs/concepts/storage/persistent-volumes/#persistentvolumeclaims)", + "default": [ + "ReadWriteOnce" + ], + "items": { + "type": "string" + } + } + } + }, + "tolerations": { + "type": "array", + "description": "Tolerations for the Database Pod. See: [Tolerations](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling)", + "default": [], + "items": {} + } + } + }, + "storage": { + "type": "object", + "properties": { + "storageSecretName": { + "type": "string", + "description": "Name of the secret containing the object storage secret access key. This secret must contain a STORAGE_ACCESS_KEY secret which is the object storage secret access key. It must not be updated across chart upgrades, or else the connection between Cryostat components and object storage will not be able to initialize. It is recommended that the secret should be marked as immutable to avoid accidental changes to secret's data. More details: https://kubernetes.io/docs/concepts/configuration/secret/#secret-immutable", + "default": "" + }, + "image": { + "type": "object", + "properties": { + "repository": { + "type": "string", + "description": "Repository for the storage container image", + "default": "registry.redhat.io/cryostat/cryostat-storage-rhel9" + }, + "pullPolicy": { + "type": "string", + "description": "Image pull policy for the storage container image", + "default": "IfNotPresent" + }, + "tag": { + "type": "string", + "description": "Tag for the storage container image", + "default": "4.0.3" + } + } + }, + "securityContext": { + "type": "object", + "properties": { + "capabilities": { + "type": "object", + "properties": { + "drop": { + "type": "array", + "description": "", + "default": [ + "ALL" + ], + "items": { + "type": "string" + } + } + } + }, + "allowPrivilegeEscalation": { + "type": "boolean", + "description": "", + "default": false + } + } + }, + "encryption": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "Enable at-rest encryption of stored objects. The storage container will generate a secret key for each stored object and use this key to encrypt and decrypt objects transparently. The key is written to the object metadata, so in the default storage container configuration this only adds a small layer of additional security.", + "default": true + } + } + }, + "service": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Type of Service to create for the object storage", + "default": "ClusterIP" + }, + "port": { + "type": "number", + "description": "Port number to expose on the Service", + "default": 8333 + } + } + }, + "resources": { + "type": "object", + "properties": { + "requests": { + "type": "object", + "properties": { + "cpu": { + "type": "string", + "description": "CPU resource request for the object storage container. See: [ResourceRequirements](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#resources)", + "default": "50m" + }, + "memory": { + "type": "string", + "description": "Memory resource request for the object storage container.", + "default": "256Mi" + } + } + } + } + }, + "pvc": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "Specify whether to use persistentVolumeClaim (true) or EmptyDir storage (false). This is recommended to be enabled, but the storage size and selector should be chosen carefully first.", + "default": false + }, + "storage": { + "type": "string", + "description": "Storage size to request for the persistentVolumeClaim", + "default": "500Mi" + }, + "accessModes": { + "type": "array", + "description": "Access mode for the persistentVolumeClaim. See: [Access Modes](https://kubernetes.io/docs/concepts/storage/persistent-volumes/#persistentvolumeclaims)", + "default": [ + "ReadWriteOnce" + ], + "items": { + "type": "string" + } + } + } + }, + "tolerations": { + "type": "array", + "description": "Tolerations for the Storage Pod. See: [Tolerations](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling)", + "default": [], + "items": {} + } + } + }, + "grafana": { + "type": "object", + "properties": { + "securityContext": { + "type": "object", + "properties": { + "capabilities": { + "type": "object", + "properties": { + "drop": { + "type": "array", + "description": "", + "default": [ + "ALL" + ], + "items": { + "type": "string" + } + } + } + }, + "allowPrivilegeEscalation": { + "type": "boolean", + "description": "", + "default": false + } + } + }, + "image": { + "type": "object", + "properties": { + "repository": { + "type": "string", + "description": "Repository for the Grafana container image", + "default": "registry.redhat.io/cryostat/cryostat-grafana-dashboard-rhel9" + }, + "pullPolicy": { + "type": "string", + "description": "Image pull policy for the Grafana container image", + "default": "IfNotPresent" + }, + "tag": { + "type": "string", + "description": "Tag for the Grafana container image", + "default": "4.0.3" + } + } + }, + "service": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Type of Service to create for Grafana", + "default": "ClusterIP" + }, + "port": { + "type": "number", + "description": "Port number to expose on the Service for Grafana's HTTP server", + "default": 3000 + } + } + }, + "resources": { + "type": "object", + "properties": { + "requests": { + "type": "object", + "properties": { + "cpu": { + "type": "string", + "description": "CPU resource request for the Grafana container. See: [ResourceRequirements](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#resources)", + "default": "25m" + }, + "memory": { + "type": "string", + "description": "Memory resource request for the Grafana container.", + "default": "80Mi" + } + } + } + } + }, + "tolerations": { + "type": "array", + "description": "Tolerations for the Grafana Pod. See: [Tolerations](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling)", + "default": [], + "items": {} + } + } + }, + "datasource": { + "type": "object", + "properties": { + "securityContext": { + "type": "object", + "properties": { + "capabilities": { + "type": "object", + "properties": { + "drop": { + "type": "array", + "description": "", + "default": [ + "ALL" + ], + "items": { + "type": "string" + } + } + } + }, + "allowPrivilegeEscalation": { + "type": "boolean", + "description": "", + "default": false + } + } + }, + "image": { + "type": "object", + "properties": { + "repository": { + "type": "string", + "description": "Repository for the JFR Data Source container image", + "default": "registry.redhat.io/cryostat/jfr-datasource-rhel9" + }, + "pullPolicy": { + "type": "string", + "description": "Image pull policy for the JFR Data Source container image", + "default": "IfNotPresent" + }, + "tag": { + "type": "string", + "description": "Tag for the JFR Data Source container image", + "default": "4.0.3" + } + } + }, + "resources": { + "type": "object", + "properties": { + "requests": { + "type": "object", + "properties": { + "cpu": { + "type": "string", + "description": "CPU resource request for the JFR Data Source container. See: [ResourceRequirements](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#resources)", + "default": "200m" + }, + "memory": { + "type": "string", + "description": "Memory resource request for the JFR Data Source container.", + "default": "200Mi" + } + } + } + } + }, + "tolerations": { + "type": "array", + "description": "Tolerations for the JFR Datasource Pod. See: [Tolerations](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling)", + "default": [], + "items": {} + } + } + }, + "oauth2Proxy": { + "type": "object", + "properties": { + "securityContext": { + "type": "object", + "properties": { + "capabilities": { + "type": "object", + "properties": { + "drop": { + "type": "array", + "description": "", + "default": [ + "ALL" + ], + "items": { + "type": "string" + } + } + } + }, + "allowPrivilegeEscalation": { + "type": "boolean", + "description": "", + "default": false + } + } + }, + "image": { + "type": "object", + "properties": { + "repository": { + "type": "string", + "description": "Repository for the OAuth2 Proxy container image", + "default": "" + }, + "pullPolicy": { + "type": "string", + "description": "Image pull policy for the OAuth2 Proxy container image", + "default": "Never" + }, + "tag": { + "type": "string", + "description": "Tag for the OAuth2 Proxy container image", + "default": "" + } + } + }, + "tls": { + "type": "object", + "properties": { + "selfSigned": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether a self-signed TLS certificate for oauth2-proxy HTTPS is generated and used.", + "default": false + } + } + } + } + }, + "resources": { + "type": "object", + "properties": { + "requests": { + "type": "object", + "properties": { + "cpu": { + "type": "string", + "description": "CPU resource request for the OAuth2 Proxy container.", + "default": "25m" + }, + "memory": { + "type": "string", + "description": "Memory resource request for the OAuth2 Proxy container.", + "default": "64Mi" + } + } + } + } + } + } + }, + "authentication": { + "type": "object", + "properties": { + "cookieSecretName": { + "type": "string", + "description": "Name of the secret containing the authenticating proxy cookie encryption key. This secret must contain a COOKIE_SECRET secret which is the cookie encryption key. It must not be updated across chart upgrades, or else existing user login sessions will be invalidated. It is recommended that the secret should be marked as immutable to avoid accidental changes to secret's data. More details: https://kubernetes.io/docs/concepts/configuration/secret/#secret-immutable", + "default": "" + }, + "openshift": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether the OAuth Proxy deployed for securing Cryostat's Pods should be one that integrates with OpenShift-specific features, or a generic one.", + "default": true + }, + "clusterRole": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the ClusterRole to bind for the OpenShift OAuth Proxy", + "default": "system:auth-delegator" + } + } + } + } + }, + "basicAuth": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether Cryostat should use basic authentication for users. When false, Cryostat will not perform any form of authentication", + "default": false + }, + "secretName": { + "type": "string", + "description": "Name of the Secret that contains the credentials within Cryostat's namespace **(Required if basicAuth is enabled)**", + "default": "" + }, + "filename": { + "type": "string", + "description": "Key within Secret containing the `htpasswd` file. The file should contain one user definition entry per line, with the syntax \"user:passHash\", where \"user\" is the username and \"passHash\" is the `bcrypt` hash of the desired password. Such an entry can be generated with ex. `htpasswd -nbB username password` **(Required if basicAuth is enabled)**", + "default": "" + } + } + } + } + }, + "openshiftOauthProxy": { + "type": "object", + "properties": { + "securityContext": { + "type": "object", + "properties": { + "capabilities": { + "type": "object", + "properties": { + "drop": { + "type": "array", + "description": "", + "default": [ + "ALL" + ], + "items": { + "type": "string" + } + } + } + }, + "allowPrivilegeEscalation": { + "type": "boolean", + "description": "", + "default": false + } + } + }, + "image": { + "type": "object", + "properties": { + "repository": { + "type": "string", + "description": "Repository for the OpenShift OAuth Proxy container image", + "default": "registry.redhat.io/cryostat/cryostat-ose-oauth-proxy-rhel9" + }, + "pullPolicy": { + "type": "string", + "description": "Image pull policy for the OpenShift OAuth Proxy container image", + "default": "IfNotPresent" + }, + "tag": { + "type": "string", + "description": "Tag for the OpenShift OAuth Proxy container image", + "default": "4.0.3" + } + } + }, + "resources": { + "type": "object", + "properties": { + "requests": { + "type": "object", + "properties": { + "cpu": { + "type": "string", + "description": "CPU resource request for the OpenShift OAuth Proxy container.", + "default": "25m" + }, + "memory": { + "type": "string", + "description": "Memory resource request for the OpenShift OAuth Proxy container.", + "default": "64Mi" + } + } + } + } + }, + "accessReview": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether the SubjectAccessReview/TokenAccessReview role checks for users and clients are enabled. If this is disabled then the proxy will only check that the user has valid credentials or holds a valid token.", + "default": true + }, + "group": { + "type": "string", + "description": "The OpenShift resource group that the SubjectAccessReview/TokenAccessReview will be performed for. See https://github.com/openshift/oauth-proxy/?tab=readme-ov-file#delegate-authentication-and-authorization-to-openshift-for-infrastructure", + "default": "" + }, + "resource": { + "type": "string", + "description": "The OpenShift resource that the SubjectAccessReview/TokenAccessReview will be performed for.", + "default": "pods" + }, + "subresource": { + "type": "string", + "description": "The OpenShift resource that the SubjectAccessReview/TokenAccessReview will be performed for.", + "default": "exec" + }, + "name": { + "type": "string", + "description": "The OpenShift resource name that the SubjectAccessReview/TokenAccessReview will be performed for.", + "default": "" + }, + "namespace": { + "type": "string", + "description": "The OpenShift namespace that the SubjectAccessReview/TokenAccessReview will be performed for.", + "default": "{{ .Release.Namespace }}" + }, + "verb": { + "type": "string", + "description": "The OpenShift resource name that the SubjectAccessReview/TokenAccessReview will be performed for.", + "default": "create" + }, + "version": { + "type": "string", + "description": "The OpenShift resource version that the SubjectAccessReview/TokenAccessReview will be performed for.", + "default": "" + } + } + } + } + }, + "podSecurityContext": { + "type": "object", + "properties": { + "seccompProfile": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "", + "default": "RuntimeDefault" + } + } + }, + "runAsNonRoot": { + "type": "boolean", + "description": "", + "default": true + } + } + }, + "imagePullSecrets": { + "type": "array", + "description": "Image pull secrets to be used for the Cryostat deployment", + "default": [], + "items": {} + }, + "nameOverride": { + "type": "string", + "description": "Overrides the name of this Chart", + "default": "" + }, + "fullnameOverride": { + "type": "string", + "description": "Overrides the fully qualified application name of `[release name]-[chart name]`", + "default": "" + }, + "rbac": { + "type": "object", + "properties": { + "create": { + "type": "boolean", + "description": "Specifies whether RBAC resources should be created", + "default": true + } + } + }, + "serviceAccount": { + "type": "object", + "properties": { + "create": { + "type": "boolean", + "description": "Specifies whether a service account should be created", + "default": true + }, + "name": { + "type": "string", + "description": "The name of the service account to use. If not set and create is true, a name is generated using the fullname template", + "default": "" + } + } + }, + "networkPolicy": { + "type": "object", + "properties": { + "ingress": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "whether a NetworkPolicy for restricting Cryostat component Pods' traffic is installed. This prevents other Pods from sending unwanted traffic to Cryostat's Pods. Traffic should flow via the Service (or Route, or other Ingress) only, not by directly targeting Pods.", + "default": true + } + } + } + } + }, + "tolerations": { + "type": "array", + "description": "default Tolerations for the various Pods. See: [Tolerations](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling)", + "default": [], + "items": {} + } + } +} \ No newline at end of file diff --git a/charts/redhat/redhat/redhat-cryostat/2.0.3/src/values.yaml b/charts/redhat/redhat/redhat-cryostat/2.0.3/src/values.yaml new file mode 100644 index 000000000..070b6b52a --- /dev/null +++ b/charts/redhat/redhat/redhat-cryostat/2.0.3/src/values.yaml @@ -0,0 +1,456 @@ +## @section Cryostat Container +## @extra core Configuration for the core Cryostat application +core: + image: + ## @param core.image.repository Repository for the main Cryostat container image + repository: "registry.redhat.io/cryostat/cryostat-rhel9" + ## @param core.image.pullPolicy Image pull policy for the main Cryostat container image + pullPolicy: IfNotPresent + ## @param core.image.tag Tag for the main Cryostat container image + tag: "4.0.3" + ## @param core.podAnnotations [object] Annotations to be applied to the Cryostat Pods + podAnnotations: {} + service: + ## @param core.service.type Type of Service to create for the Cryostat application + type: ClusterIP + ## @param core.service.httpPort Port number to expose on the Service for Cryostat's HTTP server + httpPort: 8181 + debug: + log: + ## @param core.debug.log.level Log level for troubleshooting and debugging + level: INFO + ## @param core.sslProxied Enables SSL Proxied Environment Variables, useful when you are offloading SSL/TLS at External Loadbalancer instead of Ingress + sslProxied: false + ingress: + ## @param core.ingress.enabled Whether to create an Ingress object for the Cryostat service + enabled: false + ## @param core.ingress.className Ingress class name for the Cryostat application Ingress + className: "" + ## @param core.ingress.annotations [object] Annotations to apply to the Cryostat application Ingress + annotations: {} + ## @param core.ingress.hosts [array] Hosts to create rules for in the Cryostat application Ingress. See: [IngressSpec](https://kubernetes.io/docs/reference/kubernetes-api/service-resources/ingress-v1/#IngressSpec) + hosts: + - host: cryostat.local + paths: + - path: / + pathType: ImplementationSpecific + ## @param core.ingress.tls [array] TLS configuration for the Cryostat application Ingress. See: [IngressSpec](https://kubernetes.io/docs/reference/kubernetes-api/service-resources/ingress-v1/#IngressSpec) + tls: [] + route: + ## @param core.route.enabled Whether to create a Route object for the Cryostat service. Available only on OpenShift + enabled: true + tls: + ## @param core.route.tls.enabled Whether to secure the Cryostat application Route with TLS. See: [TLSConfig](https://docs.openshift.com/container-platform/4.10/rest_api/network_apis/route-route-openshift-io-v1.html#spec-tls) + enabled: true + ## @param core.route.tls.termination Type of TLS termination to use for the Cryostat application Route. One of: `edge`, `passthrough`, `reencrypt` + termination: edge + ## @param core.route.tls.insecureEdgeTerminationPolicy Specify how to handle insecure traffic for the Cryostat application Route. One of: `Allow`, `Disable`, `Redirect` + insecureEdgeTerminationPolicy: Redirect + ## @param core.route.tls.key Custom private key to use when securing the Cryostat application Route + key: "" + ## @param core.route.tls.certificate Custom certificate to use when securing the Cryostat application Route + certificate: "" + ## @param core.route.tls.caCertificate Custom CA certificate to use, if needed to complete the certificate chain, when securing the Cryostat application Route + caCertificate: "" + ## @param core.route.tls.destinationCACertificate Provides the contents of the CA certificate of the final destination when using reencrypt termination for the Cryostat application Route + destinationCACertificate: "" + resources: + requests: + ## @param core.resources.requests.cpu CPU resource request for the Cryostat container. See: [ResourceRequirements](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#resources) + cpu: 500m + ## @param core.resources.requests.memory Memory resource request for the Cryostat container. + memory: 384Mi + ## @param core.securityContext [object] Security Context for the Cryostat container. Defaults to meet "restricted" [Pod Security Standard](https://kubernetes.io/docs/concepts/security/pod-security-standards/#restricted). See: [SecurityContext](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#security-context-1) + securityContext: + ## @skip core.securityContext.allowPrivilegeEscalation + allowPrivilegeEscalation: false + ## @skip core.securityContext.capabilities + capabilities: + drop: + - ALL + ## @param core.databaseSecretName Name of the secret containing database keys. This secret must contain a CONNECTION_KEY secret which is the database connection password, and an ENCRYPTION_KEY secret which is the key used to encrypt sensitive data stored within the database, such as the target credentials keyring. It must not be updated across chart upgrades. It is recommended that the secret should be marked as immutable to avoid accidental changes to secret's data. More details: https://kubernetes.io/docs/concepts/configuration/secret/#secret-immutable + databaseSecretName: "" + ## @extra core.discovery Configuration options to the Cryostat application's target discovery mechanisms + discovery: + kubernetes: + ## @param core.discovery.kubernetes.enabled Enables Kubernetes API discovery mechanism + enabled: true + ## @param core.discovery.kubernetes.installNamespaceDisabled When false and `namespaces` is empty, the Cryostat application will default to discovery targets in the install namespace (i.e. `{{ .Release.Namespace }}`) + installNamespaceDisabled: false + ## @param core.discovery.kubernetes.namespaces [array] List of namespaces whose workloads the Cryostat application should be permitted to access and profile + namespaces: [] + ## @param core.discovery.kubernetes.builtInPortNamesDisabled When false and `portNames` is empty, the Cryostat application will use the default port name `jfr-jmx` to look for JMX connectable targets. + builtInPortNamesDisabled: false + ## @param core.discovery.kubernetes.portNames [array] List of port names that the Cryostat application should look for in order to consider a target as JMX connectable + portNames: [] + ## @param core.discovery.kubernetes.builtInPortNumbersDisabled When false and `portNumbers` is empty, the Cryostat application will use the default port number `9091` to look for JMX connectable targets. + builtInPortNumbersDisabled: false + ## @param core.discovery.kubernetes.portNumbers [array] List of port numbers that the Cryostat application should look for in order to consider a target as JMX connectable + portNumbers: [] + config: + eventTemplates: + ## @param core.config.eventTemplates.configMapNames [array] List of ConfigMap names. Each ConfigMap is expected to contain one or more files, which are .jfc (XML) JFR Event Templates, to be mounted to the Cryostat container. + configMapNames: [] + tlsTruststore: + ## @param core.config.tlsTruststore.secretNames [array] List of Secret names. Each Secret is expected to contain one or more files, which are TLS certificates which target applications may use for their JMX servers, to be mounted to the Cryostat container for its TLS truststore. + secretNames: [] + ## @param core.nodeSelector [object] Node Selector for the Cryostat Pod. See: [NodeSelector](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling) + nodeSelector: {} + ## @param core.tolerations [array] Tolerations for the Cryostat Pod. See: [Tolerations](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling) + tolerations: [] + ## @param core.affinity [object] Affinity for the Cryostat Pod. See: [Affinity](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling) + affinity: {} + +## @section Report Generator Deployment +## @extra reports Configuration for the Reports Generator deployment +reports: + image: + ## @param reports.image.repository Repository for the Report Generator container image + repository: "registry.redhat.io/cryostat/cryostat-reports-rhel9" + ## @param reports.image.pullPolicy Image pull policy for the Report Generator container image + pullPolicy: IfNotPresent + ## @param reports.image.tag Tag for the Report Generator image + tag: "4.0.3" + ## @param reports.podAnnotations [object] Annotations to be applied to the Report Generator Pods + podAnnotations: {} + service: + ## @param reports.service.type Type of Service to create for the Report Generator Deployment + type: ClusterIP + ## @param reports.service.httpPort Port number to expose on the Service for the Report Generator Deployment + httpPort: 10001 + ## @param reports.reportsSecretName Name of the secret containing the report generator access keys. This secret must contain a REPORTS_PASS secret which is the secret credential for the report generators. It must not be updated across chart upgrades, or else the connection between Cryostat and report generators will not be able to initialize. It is recommended that the secret should be marked as immutable to avoid accidental changes to secret's data. More details: https://kubernetes.io/docs/concepts/configuration/secret/#secret-immutable + reportsSecretName: "" + debug: + log: + ## @param reports.debug.log.level Log level for troubleshooting and debugging + level: INFO + ## @param reports.replicas Number of Report Generator replicas to deploy. If zero, the Deployment and Service will not be created and the main Cryostat container will handle all report generations on its own. + replicas: 0 + resources: + requests: + ## @param reports.resources.requests.cpu CPU resource request for each Pod in the Report Generator Deployment. + cpu: 500m + ## @param reports.resources.requests.memory Memory resource request for each Pod in the Report Generator Deployment. + memory: 512Mi + ## @param reports.securityContext [object] Security Context for the Report Generator containers. Defaults to meet "restricted" [Pod Security Standard](https://kubernetes.io/docs/concepts/security/pod-security-standards/#restricted). See: [SecurityContext](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#security-context-1) + securityContext: + ## @skip reports.securityContext.allowPrivilegeEscalation + allowPrivilegeEscalation: false + ## @skip reports.securityContext.capabilities + capabilities: + drop: + - ALL + ## @param reports.nodeSelector [object] Node Selector for the Report Generator Pods. See: [NodeSelector](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling) + nodeSelector: {} + ## @param reports.tolerations [array] Tolerations for the Report Generator Pods. See: [Tolerations](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling) + tolerations: [] + ## @param reports.affinity [object] Affinity for the Report Generator Pods. See: [Affinity](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling) + affinity: {} + +## @section Database Container +## @extra db Configuration for Cryostat's database +db: + image: + ## @param db.image.repository Repository for the database container image + repository: "registry.redhat.io/cryostat/cryostat-db-rhel9" + ## @param db.image.pullPolicy Image pull policy for the database container image + pullPolicy: IfNotPresent + ## @param db.image.tag Tag for the database container image + tag: "4.0.3" + ## @param db.podAnnotations [object] Annotations to be applied to the Database Pods + podAnnotations: {} + service: + ## @param db.service.type Type of Service to create for the database + type: ClusterIP + ## @param db.service.port Port number to expose on the Service + port: 5432 + resources: + requests: + ## @param db.resources.requests.cpu CPU resource request for the database container. See: [ResourceRequirements](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#resources) + cpu: 25m + ## @param db.resources.requests.memory Memory resource request for the database container. + memory: 64Mi + pvc: + ## @param db.pvc.enabled Specify whether to use persistentVolumeClaim (true) or EmptyDir storage (false). This is recommended to be enabled, but the storage size and selector should be chosen carefully first. + enabled: false + ## @param db.pvc.annotations [object] Annotations to add to the persistentVolumeClaim + annotations: {} + ## @param db.pvc.storage Storage size to request for the persistentVolumeClaim + storage: 500Mi + ## @param db.pvc.accessModes Access mode for the persistentVolumeClaim. See: [Access Modes](https://kubernetes.io/docs/concepts/storage/persistent-volumes/#persistentvolumeclaims) + accessModes: + - ReadWriteOnce + ## @param db.pvc.selector [object] Selector for the persistentVolumeClaim. See: [Selector](https://kubernetes.io/docs/concepts/storage/persistent-volumes/#persistentvolumeclaims) + selector: {} + ## @param db.pvc.storageClassName [string, nullable] The name of the StorageClass for the persistentVolumeClaim. See: [Class](https://kubernetes.io/docs/concepts/storage/persistent-volumes/#persistentvolumeclaims) + # storageClassName: "" + ## @param db.securityContext [object] Security Context for the database container. Defaults to meet "restricted" [Pod Security Standard](https://kubernetes.io/docs/concepts/security/pod-security-standards/#restricted). See: [SecurityContext](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#security-context-1) + securityContext: + ## @skip db.securityContext.allowPrivilegeEscalation + allowPrivilegeEscalation: false + ## @skip db.securityContext.capabilities + capabilities: + drop: + - ALL + ## @param db.nodeSelector [object] Node Selector for the Database Pod. See: [NodeSelector](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling) + nodeSelector: {} + ## @param db.tolerations [array] Tolerations for the Database Pod. See: [Tolerations](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling) + tolerations: [] + ## @param db.affinity [object] Affinity for the Database Pod. See: [Affinity](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling) + affinity: {} + +## @section Storage Container +## @extra storage Configuration for Cryostat's object storage provider +storage: + ## @param storage.storageSecretName Name of the secret containing the object storage secret access key. This secret must contain a STORAGE_ACCESS_KEY secret which is the object storage secret access key. It must not be updated across chart upgrades, or else the connection between Cryostat components and object storage will not be able to initialize. It is recommended that the secret should be marked as immutable to avoid accidental changes to secret's data. More details: https://kubernetes.io/docs/concepts/configuration/secret/#secret-immutable + storageSecretName: "" + image: + ## @param storage.image.repository Repository for the storage container image + repository: "registry.redhat.io/cryostat/cryostat-storage-rhel9" + ## @param storage.image.pullPolicy Image pull policy for the storage container image + pullPolicy: IfNotPresent + ## @param storage.image.tag Tag for the storage container image + tag: "4.0.3" + encryption: + ## @param storage.encryption.enabled Enable at-rest encryption of stored objects. The storage container will generate a secret key for each stored object and use this key to encrypt and decrypt objects transparently. The key is written to the object metadata, so in the default storage container configuration this only adds a small layer of additional security. + enabled: true + ## @param storage.podAnnotations [object] Annotations to be applied to the Storage Pods + podAnnotations: {} + service: + ## @param storage.service.type Type of Service to create for the object storage + type: ClusterIP + ## @param storage.service.port Port number to expose on the Service + port: 8333 + resources: + requests: + ## @param storage.resources.requests.cpu CPU resource request for the object storage container. See: [ResourceRequirements](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#resources) + cpu: 50m + ## @param storage.resources.requests.memory Memory resource request for the object storage container. + memory: 256Mi + pvc: + ## @param storage.pvc.enabled Specify whether to use persistentVolumeClaim (true) or EmptyDir storage (false). This is recommended to be enabled, but the storage size and selector should be chosen carefully first. + enabled: false + ## @param storage.pvc.annotations [object] Annotations to add to the persistentVolumeClaim + annotations: {} + ## @param storage.pvc.storage Storage size to request for the persistentVolumeClaim + storage: 500Mi + ## @param storage.pvc.accessModes Access mode for the persistentVolumeClaim. See: [Access Modes](https://kubernetes.io/docs/concepts/storage/persistent-volumes/#persistentvolumeclaims) + accessModes: + - ReadWriteOnce + ## @param storage.pvc.selector [object] Selector for the persistentVolumeClaim. See: [Selector](https://kubernetes.io/docs/concepts/storage/persistent-volumes/#persistentvolumeclaims) + selector: {} + ## @param storage.pvc.storageClassName [string, nullable] The name of the StorageClass for the persistentVolumeClaim. See: [Class](https://kubernetes.io/docs/concepts/storage/persistent-volumes/#persistentvolumeclaims) + # storageClassName: "" + ## @param storage.securityContext [object] Security Context for the storage container. Defaults to meet "restricted" [Pod Security Standard](https://kubernetes.io/docs/concepts/security/pod-security-standards/#restricted). See: [SecurityContext](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#security-context-1) + securityContext: + ## @skip storage.securityContext.allowPrivilegeEscalation + allowPrivilegeEscalation: false + ## @skip storage.securityContext.capabilities + capabilities: + drop: + - ALL + ## @param storage.nodeSelector [object] Node Selector for the Storage Pod. See: [NodeSelector](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling) + nodeSelector: {} + ## @param storage.tolerations [array] Tolerations for the Storage Pod. See: [Tolerations](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling) + tolerations: [] + ## @param storage.affinity [object] Affinity for the Storage Pod. See: [Affinity](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling) + affinity: {} + +## @section Grafana Container +## @extra grafana Configuration for the customized Grafana instance for Cryostat +grafana: + image: + ## @param grafana.image.repository Repository for the Grafana container image + repository: "registry.redhat.io/cryostat/cryostat-grafana-dashboard-rhel9" + ## @param grafana.image.pullPolicy Image pull policy for the Grafana container image + pullPolicy: IfNotPresent + ## @param grafana.image.tag Tag for the Grafana container image + tag: "4.0.3" + service: + ## @param grafana.service.type Type of Service to create for Grafana + type: ClusterIP + ## @param grafana.service.port Port number to expose on the Service for Grafana's HTTP server + port: 3000 + resources: + requests: + ## @param grafana.resources.requests.cpu CPU resource request for the Grafana container. See: [ResourceRequirements](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#resources) + cpu: 25m + ## @param grafana.resources.requests.memory Memory resource request for the Grafana container. + memory: 80Mi + ## @param grafana.securityContext [object] Security Context for the Grafana container. Defaults to meet "restricted" [Pod Security Standard](https://kubernetes.io/docs/concepts/security/pod-security-standards/#restricted). See: [SecurityContext](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#security-context-1) + securityContext: + ## @skip grafana.securityContext.allowPrivilegeEscalation + allowPrivilegeEscalation: false + ## @skip grafana.securityContext.capabilities + capabilities: + drop: + - ALL + ## @param grafana.nodeSelector [object] Node Selector for the Grafana Pod. See: [NodeSelector](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling) + nodeSelector: {} + ## @param grafana.tolerations [array] Tolerations for the Grafana Pod. See: [Tolerations](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling) + tolerations: [] + +## @section JFR Data Source Container +## @extra datasource Configuration for the JFR Data Source component, which translates recording events into a format consumable by Grafana +datasource: + image: + ## @param datasource.image.repository Repository for the JFR Data Source container image + repository: "registry.redhat.io/cryostat/jfr-datasource-rhel9" + ## @param datasource.image.pullPolicy Image pull policy for the JFR Data Source container image + pullPolicy: IfNotPresent + ## @param datasource.image.tag Tag for the JFR Data Source container image + tag: "4.0.3" + resources: + requests: + ## @param datasource.resources.requests.cpu CPU resource request for the JFR Data Source container. See: [ResourceRequirements](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#resources) + cpu: 200m + ## @param datasource.resources.requests.memory Memory resource request for the JFR Data Source container. + memory: 200Mi + ## @param datasource.securityContext [object] Security Context for the JFR Data Source container. Defaults to meet "restricted" [Pod Security Standard](https://kubernetes.io/docs/concepts/security/pod-security-standards/#restricted). See: [SecurityContext](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#security-context-1) + securityContext: + ## @skip datasource.securityContext.allowPrivilegeEscalation + allowPrivilegeEscalation: false + ## @skip datasource.securityContext.capabilities + capabilities: + drop: + - ALL + ## @param datasource.nodeSelector [object] Node Selector for the JFR Datasource Pod. See: [NodeSelector](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling) + nodeSelector: {} + ## @param datasource.tolerations [array] Tolerations for the JFR Datasource Pod. See: [Tolerations](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling) + tolerations: [] + +## @section Authentication + +authentication: + ## @param authentication.cookieSecretName Name of the secret containing the authenticating proxy cookie encryption key. This secret must contain a COOKIE_SECRET secret which is the cookie encryption key. It must not be updated across chart upgrades, or else existing user login sessions will be invalidated. It is recommended that the secret should be marked as immutable to avoid accidental changes to secret's data. More details: https://kubernetes.io/docs/concepts/configuration/secret/#secret-immutable + cookieSecretName: "" + openshift: + ## @param authentication.openshift.enabled Whether the OAuth Proxy deployed for securing Cryostat's Pods should be one that integrates with OpenShift-specific features, or a generic one. + enabled: true + clusterRole: + ## @param authentication.openshift.clusterRole.name The name of the ClusterRole to bind for the OpenShift OAuth Proxy + name: system:auth-delegator + basicAuth: + ## @param authentication.basicAuth.enabled Whether Cryostat should use basic authentication for users. When false, Cryostat will not perform any form of authentication + enabled: false + ## @param authentication.basicAuth.secretName Name of the Secret that contains the credentials within Cryostat's namespace **(Required if basicAuth is enabled)** + secretName: "" + ## @param authentication.basicAuth.filename Key within Secret containing the `htpasswd` file. The file should contain one user definition entry per line, with the syntax "user:passHash", where "user" is the username and "passHash" is the `bcrypt` hash of the desired password. Such an entry can be generated with ex. `htpasswd -nbB username password` **(Required if basicAuth is enabled)** + filename: "" + +## @section OAuth2 Proxy + +oauth2Proxy: + image: + ## @param oauth2Proxy.image.repository Repository for the OAuth2 Proxy container image + repository: "" + ## @param oauth2Proxy.image.pullPolicy Image pull policy for the OAuth2 Proxy container image + pullPolicy: Never + ## @param oauth2Proxy.image.tag Tag for the OAuth2 Proxy container image + tag: "" + tls: + selfSigned: + ## @param oauth2Proxy.tls.selfSigned.enabled Whether a self-signed TLS certificate for oauth2-proxy HTTPS is generated and used. + enabled: false + resources: + requests: + ## @param oauth2Proxy.resources.requests.cpu CPU resource request for the OAuth2 Proxy container. + cpu: 25m + ## @param oauth2Proxy.resources.requests.memory Memory resource request for the OAuth2 Proxy container. + memory: 64Mi + ## @param oauth2Proxy.securityContext [object] Security Context for the OAuth2 Proxy container. Defaults to meet "restricted" [Pod Security Standard](https://kubernetes.io/docs/concepts/security/pod-security-standards/#restricted). See: [SecurityContext](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#security-context-1). + securityContext: + ## @skip oauth2Proxy.securityContext.allowPrivilegeEscalation + allowPrivilegeEscalation: false + ## @skip oauth2Proxy.securityContext.capabilities + capabilities: + drop: + - ALL + +## @section OpenShift OAuth Proxy + +openshiftOauthProxy: + image: + ## @param openshiftOauthProxy.image.repository Repository for the OpenShift OAuth Proxy container image + repository: "registry.redhat.io/cryostat/cryostat-ose-oauth-proxy-rhel9" + ## @param openshiftOauthProxy.image.pullPolicy Image pull policy for the OpenShift OAuth Proxy container image + pullPolicy: IfNotPresent + ## @param openshiftOauthProxy.image.tag Tag for the OpenShift OAuth Proxy container image + tag: "4.0.3" + resources: + requests: + ## @param openshiftOauthProxy.resources.requests.cpu CPU resource request for the OpenShift OAuth Proxy container. + cpu: 25m + ## @param openshiftOauthProxy.resources.requests.memory Memory resource request for the OpenShift OAuth Proxy container. + memory: 64Mi + accessReview: + ## @param openshiftOauthProxy.accessReview.enabled Whether the SubjectAccessReview/TokenAccessReview role checks for users and clients are enabled. If this is disabled then the proxy will only check that the user has valid credentials or holds a valid token. + enabled: true + ## @param openshiftOauthProxy.accessReview.group The OpenShift resource group that the SubjectAccessReview/TokenAccessReview will be performed for. See https://github.com/openshift/oauth-proxy/?tab=readme-ov-file#delegate-authentication-and-authorization-to-openshift-for-infrastructure + group: "" + ## @param openshiftOauthProxy.accessReview.resource The OpenShift resource that the SubjectAccessReview/TokenAccessReview will be performed for. + resource: "pods" + ## @param openshiftOauthProxy.accessReview.subresource The OpenShift resource that the SubjectAccessReview/TokenAccessReview will be performed for. + subresource: "exec" + ## @param openshiftOauthProxy.accessReview.name The OpenShift resource name that the SubjectAccessReview/TokenAccessReview will be performed for. + name: "" + ## @param openshiftOauthProxy.accessReview.namespace The OpenShift namespace that the SubjectAccessReview/TokenAccessReview will be performed for. + namespace: "{{ .Release.Namespace }}" + ## @param openshiftOauthProxy.accessReview.verb The OpenShift resource name that the SubjectAccessReview/TokenAccessReview will be performed for. + verb: "create" + ## @param openshiftOauthProxy.accessReview.version The OpenShift resource version that the SubjectAccessReview/TokenAccessReview will be performed for. + version: "" + ## @param openshiftOauthProxy.securityContext [object] Security Context for the OpenShift OAuth Proxy container. Defaults to meet "restricted" [Pod Security Standard](https://kubernetes.io/docs/concepts/security/pod-security-standards/#restricted). See: [SecurityContext](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#security-context-1) + securityContext: + ## @skip openshiftOauthProxy.securityContext.allowPrivilegeEscalation + allowPrivilegeEscalation: false + ## @skip openshiftOauthProxy.securityContext.capabilities + capabilities: + drop: + - ALL + +## @section Other Parameters + +## @param imagePullSecrets [array] Image pull secrets to be used for the Cryostat deployment +imagePullSecrets: [] +## @param nameOverride Overrides the name of this Chart +nameOverride: "" +## @param fullnameOverride Overrides the fully qualified application name of `[release name]-[chart name]` +fullnameOverride: "" + +rbac: + ## @param rbac.create Specifies whether RBAC resources should be created + create: true + +serviceAccount: + ## @param serviceAccount.create Specifies whether a service account should be created + create: true + ## @param serviceAccount.annotations [object] Annotations to add to the service account + annotations: {} + ## @param serviceAccount.name The name of the service account to use. If not set and create is true, a name is generated using the fullname template + name: "" + +## @param podAnnotations [object] Annotations to be applied to the various Pods +podAnnotations: {} + +## @param podSecurityContext [object] Security Context for the Cryostat Pod. Defaults to meet "restricted" [Pod Security Standard](https://kubernetes.io/docs/concepts/security/pod-security-standards/#restricted). See: [PodSecurityContext](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#security-context) +podSecurityContext: + ## @skip podSecurityContext.runAsNonRoot + runAsNonRoot: true + ## @skip podSecurityContext.seccompProfile + seccompProfile: + type: RuntimeDefault + +networkPolicy: + ingress: + ## @param networkPolicy.ingress.enabled whether a NetworkPolicy for restricting Cryostat component Pods' traffic is installed. This prevents other Pods from sending unwanted traffic to Cryostat's Pods. Traffic should flow via the Service (or Route, or other Ingress) only, not by directly targeting Pods. + enabled: true + +## @param nodeSelector [object] default Node Selector for the various Pods. Any Pod which does not have an individual nodeSelector setting will default to this. See: [NodeSelector](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling) +nodeSelector: {} + +## @param tolerations [array] default Tolerations for the various Pods. See: [Tolerations](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling) +tolerations: [] + +## @param affinity [object] default Affinity for the various Pods. See: [Affinity](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling) +affinity: {} diff --git a/charts/redhat/redhat/redhat-developer-hub-orchestrator-infra/1.7.0/redhat-developer-hub-orchestrator-infra-1.7.0.tgz b/charts/redhat/redhat/redhat-developer-hub-orchestrator-infra/1.7.0/redhat-developer-hub-orchestrator-infra-1.7.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..07bff56ce3d868e95c10c260b92d87eb7d9cf1c4 GIT binary patch literal 39111 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%0AHgcgOITj}-fI8XYs-C<*B}pLB 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 z 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

oR!<_KY4^I!t=TL=^IA20Uz_xHUQ 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 S*ccd2PDVMek{HfH8U6)@!Q3bS literal 0 HcmV?d00001 diff --git a/charts/redhat/redhat/redhat-developer-hub/1.7.1/redhat-developer-hub-1.7.1.tgz b/charts/redhat/redhat/redhat-developer-hub/1.7.1/redhat-developer-hub-1.7.1.tgz new file mode 100644 index 0000000000000000000000000000000000000000..15a94919308c99c8fc36500a8526a8d60299d024 GIT binary patch literal 252706 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μdT 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%0AWG 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�-MhPs>wXL+6TW|x=_|9MpYGmYj%)cF6!7!(O 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 literal 0 HcmV?d00001 diff --git a/charts/redhat/redhat/redhat-mariadb-persistent/0.0.3/src/Chart.yaml b/charts/redhat/redhat/redhat-mariadb-persistent/0.0.3/src/Chart.yaml new file mode 100644 index 000000000..e949d4a91 --- /dev/null +++ b/charts/redhat/redhat/redhat-mariadb-persistent/0.0.3/src/Chart.yaml @@ -0,0 +1,19 @@ +description: |- + This content is experimental, do not use it in production. MariaDB database service, with persistent storage. + For more information about using this template, including OpenShift considerations, + see https://github.com/sclorg/mariadb-container/blob/master/10.11/root/usr/share/container-scripts/mysql/README.md. + + NOTE: Scaling to more than one replica is not supported. + You must have persistent volumes available in your cluster to use this template. +name: redhat-mariadb-persistent +tags: database,mariadb +version: 0.0.3 +kubeVersion: '>=1.20.0' +annotations: + charts.openshift.io/name: Red Hat MariaDB database service, with persistent storage (experimental) + charts.openshift.io/provider: Red Hat + charts.openshift.io/providerType: redhat +apiVersion: v2 +appVersion: 0.0.3 +sources: + - https://github.com/sclorg/helm-charts diff --git a/charts/redhat/redhat/redhat-mariadb-persistent/0.0.3/src/README.md b/charts/redhat/redhat/redhat-mariadb-persistent/0.0.3/src/README.md new file mode 100644 index 000000000..0194e3cb6 --- /dev/null +++ b/charts/redhat/redhat/redhat-mariadb-persistent/0.0.3/src/README.md @@ -0,0 +1,22 @@ +# MariaDB helm chart + +A Helm chart for building and deploying a [MariaDB](https://github/sclorg/mariadb-container) application on OpenShift. + +For more information about helm charts see the official [Helm Charts Documentation](https://helm.sh/). + +You need to have access to a cluster for each operation with OpenShift 4, like deploying and testing. + +## Values +Below is a table of each value used to configure this chart. + +| Value | Description | Default | Additional Information | +|---------------------------------------------| ----------- | -- | ---------------------- | +| `database_service_name` | The name of the OpenShift Service exposed for the database. | `mariadb` | - | +| `mysql_user` | Username for MariaDB user that will be used for accessing the database. | - | Expresion like: `user[A-Z0-9]{3}` | +| `mysql_root_password` | Password for the MariaDB root user. | | Expression like: `[a-zA-Z0-9]{16}` | +| `mysql_database` | Name of the MariaDB database accessed. | `sampledb` | | +| `mysql_password` | Password for the MariaDB connection user. | | Expression like: `[a-zA-Z0-9]{16}` | +| `mariadb_version` | Version of MariaDB image to be used (10.3-el7, 10.3-el8, or latest). | `10.3-el8` | | +| `namespace` | The OpenShift Namespace where the ImageStream resides. | `openshift` | | +| `memory_limit` | Maximum amount of memory the container can use. | `521Mi` | | +| `volume_capacity` | Volume space available for data, e.g. 512Mi, 2Gi. | `1Gi` | | diff --git a/charts/redhat/redhat/redhat-mariadb-persistent/0.0.3/src/templates/deployment.yaml b/charts/redhat/redhat/redhat-mariadb-persistent/0.0.3/src/templates/deployment.yaml new file mode 100644 index 000000000..b65830e7f --- /dev/null +++ b/charts/redhat/redhat/redhat-mariadb-persistent/0.0.3/src/templates/deployment.yaml @@ -0,0 +1,87 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + annotations: + template.alpha.openshift.io/wait-for-ready: "true" + image.openshift.io/triggers: |- + [ + { + "from": { + "kind": "ImageStreamTag", + "name": "mariadb:{{ .Values.mariadb_version }}" + }, + "fieldPath": "spec.template.spec.containers[0].image" + } + ] + labels: + app.openshift.io/runtime: mariadb + template: mariadb-persistent-template + name: {{ .Values.database_service_name }} + +spec: + replicas: 1 + selector: + matchLabels: + name: {{ .Values.database_service_name }} + strategy: + type: Recreate + template: + metadata: + labels: + name: {{ .Values.database_service_name }} + spec: + containers: + - env: + - name: MYSQL_USER + valueFrom: + secretKeyRef: + key: database-user + name: {{ .Values.database_service_name }} + - name: MYSQL_PASSWORD + valueFrom: + secretKeyRef: + key: database-password + name: {{ .Values.database_service_name }} + - name: MYSQL_ROOT_PASSWORD + valueFrom: + secretKeyRef: + key: database-root-password + name: {{ .Values.database_service_name }} + - name: MYSQL_DATABASE + valueFrom: + secretKeyRef: + key: database-name + name: {{ .Values.database_service_name }} + image: "mariadb:{{ .Values.mariadb_version }}" + imagePullPolicy: IfNotPresent + livenessProbe: + exec: + command: + - /bin/sh + - -i + - -c + - MYSQL_PWD="$MYSQL_PASSWORD" mysqladmin -u $MYSQL_USER ping + initialDelaySeconds: 30 + timeoutSeconds: 1 + name: mariadb + ports: + - containerPort: 3306 + readinessProbe: + exec: + command: + - /bin/sh + - -i + - -c + - MYSQL_PWD="$MYSQL_PASSWORD" mysqladmin -u $MYSQL_USER ping + initialDelaySeconds: 5 + timeoutSeconds: 1 + resources: + limits: + memory: {{ .Values.memory_limit }} + volumeMounts: + - mountPath: /var/lib/mysql/data + name: {{ .Values.database_service_name }}-data + volumes: + - name: {{ .Values.database_service_name }}-data + persistentVolumeClaim: + claimName: {{ .Values.database_service_name }} diff --git a/charts/redhat/redhat/redhat-mariadb-persistent/0.0.3/src/templates/persistentvolumeclaim.yaml b/charts/redhat/redhat/redhat-mariadb-persistent/0.0.3/src/templates/persistentvolumeclaim.yaml new file mode 100644 index 000000000..fba72619c --- /dev/null +++ b/charts/redhat/redhat/redhat-mariadb-persistent/0.0.3/src/templates/persistentvolumeclaim.yaml @@ -0,0 +1,13 @@ +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + labels: + app.openshift.io/runtime: mariadb + template: mariadb-persistent-template + name: {{ .Values.database_service_name }} +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: {{ .Values.volume_capacity }} diff --git a/charts/redhat/redhat/redhat-mariadb-persistent/0.0.3/src/templates/secret.yaml b/charts/redhat/redhat/redhat-mariadb-persistent/0.0.3/src/templates/secret.yaml new file mode 100644 index 000000000..8ae14d904 --- /dev/null +++ b/charts/redhat/redhat/redhat-mariadb-persistent/0.0.3/src/templates/secret.yaml @@ -0,0 +1,17 @@ +apiVersion: v1 +kind: Secret +metadata: + annotations: + template.openshift.io/expose-database_name: ".data['database-name']}" + template.openshift.io/expose-password: "{.data['database-password']}" + template.openshift.io/expose-root_password: "{.data['database-root-password']}" + template.openshift.io/expose-username: "{.data['database-user']}" + labels: + app.openshift.io/runtime: mariadb + template: mariadb-persistent-template + name: {{ .Values.database_service_name }} +stringData: + database-name: {{ .Values.mysql_database }} + database-password: {{ .Values.mysql_password }} + database-root-password: {{ .Values.mysql_root_password }} + database-user: {{ .Values.mysql_user }} diff --git a/charts/redhat/redhat/redhat-mariadb-persistent/0.0.3/src/templates/service.yaml b/charts/redhat/redhat/redhat-mariadb-persistent/0.0.3/src/templates/service.yaml new file mode 100644 index 000000000..717cd1168 --- /dev/null +++ b/charts/redhat/redhat/redhat-mariadb-persistent/0.0.3/src/templates/service.yaml @@ -0,0 +1,15 @@ +apiVersion: v1 +kind: Service +metadata: + annotations: + template.openshift.io/expose-uri: mysql://{.spec.clusterIP}:{.spec.ports[?(.name=="mariadb")].port} + labels: + app.openshift.io/runtime: mariadb + template: mariadb-persistent-template + name: {{ .Values.database_service_name }} +spec: + ports: + - name: mariadb + port: 3306 + selector: + name: {{ .Values.database_service_name }} diff --git a/charts/redhat/redhat/redhat-mariadb-persistent/0.0.3/src/templates/tests/test-mariadb-connection.yaml b/charts/redhat/redhat/redhat-mariadb-persistent/0.0.3/src/templates/tests/test-mariadb-connection.yaml new file mode 100644 index 000000000..87abe997a --- /dev/null +++ b/charts/redhat/redhat/redhat-mariadb-persistent/0.0.3/src/templates/tests/test-mariadb-connection.yaml @@ -0,0 +1,27 @@ +apiVersion: v1 +kind: Pod +metadata: + name: "{{ .Release.Name }}-connection-test" + namespace: "{{ .Release.Namespace }}" + annotations: + "helm.sh/hook": test + labels: + name: {{ .Values.database_service_name }} +spec: + #serviceAccount: {{ .Values.serviceAccount }} + containers: + - name: "mariadb-connection-test" + image: "registry.redhat.io/rhel8/mariadb-105:latest" + imagePullPolicy: IfNotPresent + env: + - name: MARIADB_USER + value: "{{ .Values.mysql_user }}" + - name: MARIADB_PASSWORD + value: "{{ .Values.mysql_password }}" + - name: MARIADB_DATABASE + value: "{{ .Values.mysql_database }}" + command: + - /bin/bash + - -ec + - "echo \"SELECT 42 as testval\\g\" | mysql --connect-timeout=15 -h {{ .Values.database_service_name }} $MARIADB_DATABASE -u$MARIADB_USER -p$MARIADB_PASSWORD" + restartPolicy: Never diff --git a/charts/redhat/redhat/redhat-mariadb-persistent/0.0.3/src/values.schema.json b/charts/redhat/redhat/redhat-mariadb-persistent/0.0.3/src/values.schema.json new file mode 100644 index 000000000..65abd8f5f --- /dev/null +++ b/charts/redhat/redhat/redhat-mariadb-persistent/0.0.3/src/values.schema.json @@ -0,0 +1,49 @@ +{ + "$schema": "http://json-schema.org/schema#", + "type": "object", + "properties": { + "database_service_name": { + "type": "string", + "pattern": "^[a-z0-9-_]+$" + }, + "namespace": { + "type": "string" + }, + "mysql_database": { + "type": "string" + }, + "mysql_password": { + "type": "string" + }, + "mysql_root_password": { + "type": "string" + }, + "mysql_user": { + "type": "string" + }, + "volume_capacity": { + "type": "string", + "title": "Persistent Volume Size", + "form": true, + "render": "slider", + "sliderMin": 1, + "sliderMax": 100, + "sliderUnit": "Gi" + }, + "memory_limit": { + "type": "string", + "title": "Database memory limit", + "form": true, + "render": "slider", + "sliderMin": 512, + "sliderMax": 65536, + "sliderUnit": "Mi" + }, + "mariadb_version": { + "type": "string", + "description": "Specify mariadb imagestream tag", + "enum": [ "latest", "10.5-el9", "10.3-el8", "10.5-el8", "10.3-el7", "10.3", "10.5-el7" ] + } + } +} + diff --git a/charts/redhat/redhat/redhat-mariadb-persistent/0.0.3/src/values.yaml b/charts/redhat/redhat/redhat-mariadb-persistent/0.0.3/src/values.yaml new file mode 100644 index 000000000..5fcdee1d2 --- /dev/null +++ b/charts/redhat/redhat/redhat-mariadb-persistent/0.0.3/src/values.yaml @@ -0,0 +1,9 @@ +database_service_name: mariadb +mariadb_version: 10.3-el8 +memory_limit: 512Mi +mysql_database: testdb +mysql_password: testu +mysql_root_password: testur +mysql_user: testu +namespace: openshift +volume_capacity: 1Gi diff --git a/charts/redhat/redhat/redhat-mysql-persistent/0.0.5/src/Chart.yaml b/charts/redhat/redhat/redhat-mysql-persistent/0.0.5/src/Chart.yaml new file mode 100644 index 000000000..8b4c11dc6 --- /dev/null +++ b/charts/redhat/redhat/redhat-mysql-persistent/0.0.5/src/Chart.yaml @@ -0,0 +1,20 @@ +description: |- + This content is experimental, do not use it in production. + MySQL database service, with persistent storage. + For more information about using this template, including OpenShift considerations, + see https://github.com/sclorg/mysql-container/blob/master/8.0/root/usr/share/container-scripts/mysql/README.md. + + NOTE: Scaling to more than one replica is not supported. + You must have persistent volumes available in your cluster to use this template. +name: redhat-mysql-persistent +tags: database,mysql +version: 0.0.5 +annotations: + charts.openshift.io/name: Red Hat MySQL database service, with persistent storage (experimental) + charts.openshift.io/provider: Red Hat + charts.openshift.io/providerType: redhat +apiVersion: v2 +appVersion: 0.0.5 +kubeVersion: '>=1.20.0' +sources: + - https://github.com/sclorg/helm-charts diff --git a/charts/redhat/redhat/redhat-mysql-persistent/0.0.5/src/README.md b/charts/redhat/redhat/redhat-mysql-persistent/0.0.5/src/README.md new file mode 100644 index 000000000..4938a2348 --- /dev/null +++ b/charts/redhat/redhat/redhat-mysql-persistent/0.0.5/src/README.md @@ -0,0 +1,22 @@ +# MySQL helm chart + +A Helm chart for building and deploying a [MySQL](https://github/sclorg/mysql-container) application on OpenShift. + +For more information about helm charts see the official [Helm Charts Documentation](https://helm.sh/). + +You need to have access to a cluster for each operation with OpenShift 4, like deploying and testing. + +## Values +Below is a table of each value used to configure this chart. + +| Value | Description | Default | Additional Information | +|---------------------------------------------| ----------- | -- | ---------------------- | +| `database_service_name` | The name of the OpenShift Service exposed for the database. | `mysql` | - | +| `mysql_user` | Username for MySQL user that will be used for accessing the database. | `testu` | Expresion like: `user[A-Z0-9]{3}` | +| `mysql_root_password` | Password for the MySQL root user. | `testur` | Expression like: `[a-zA-Z0-9]{16}` | +| `mysql_database` | Name of the MySQL database accessed. | `testdb` | | +| `mysql_password` | Password for the MySQL connection user. | `testp` | Expression like: `[a-zA-Z0-9]{16}` | +| `mysql_version` | Version of MySQL image to be used (8.0-el8, or latest). | `8.0-el8` | | +| `namespace` | The OpenShift Namespace where the ImageStream resides. | `mysql-persistent-testing` | | +| `memory_limit` | Maximum amount of memory the container can use. | `521Mi` | | +| `volume_capacity` | Volume space available for data, e.g. 512Mi, 2Gi. | `1Gi` | | diff --git a/charts/redhat/redhat/redhat-mysql-persistent/0.0.5/src/templates/deployment.yaml b/charts/redhat/redhat/redhat-mysql-persistent/0.0.5/src/templates/deployment.yaml new file mode 100644 index 000000000..ca4cc6ab9 --- /dev/null +++ b/charts/redhat/redhat/redhat-mysql-persistent/0.0.5/src/templates/deployment.yaml @@ -0,0 +1,85 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + annotations: + template.alpha.openshift.io/wait-for-ready: "true" + image.openshift.io/triggers: |- + [ + { + "from": { + "kind": "ImageStreamTag", + "name": "mysql:{{ .Values.mysql_version }}" + }, + "fieldPath": "spec.template.spec.containers[0].image" + } + ] + labels: + template: mysql-persistent-template + name: {{ .Values.database_service_name }} +spec: + replicas: 1 + selector: + matchLabels: + name: {{ .Values.database_service_name }} + strategy: + type: Recreate + template: + metadata: + labels: + name: {{ .Values.database_service_name }} + spec: + containers: + - env: + - name: MYSQL_USER + valueFrom: + secretKeyRef: + key: database-user + name: {{ .Values.database_service_name }} + - name: MYSQL_PASSWORD + valueFrom: + secretKeyRef: + key: database-password + name: {{ .Values.database_service_name }} + - name: MYSQL_ROOT_PASSWORD + valueFrom: + secretKeyRef: + key: database-root-password + name: {{ .Values.database_service_name }} + - name: MYSQL_DATABASE + valueFrom: + secretKeyRef: + key: database-name + name: {{ .Values.database_service_name }} + image: " " + imagePullPolicy: IfNotPresent + livenessProbe: + exec: + command: + - /bin/sh + - -i + - -c + - MYSQL_PWD="$MYSQL_PASSWORD" mysqladmin -u $MYSQL_USER ping + initialDelaySeconds: 30 + timeoutSeconds: 1 + name: mysql + ports: + - containerPort: 3306 + readinessProbe: + exec: + command: + - /bin/sh + - -i + - -c + - MYSQL_PWD="$MYSQL_PASSWORD" mysqladmin -u $MYSQL_USER ping + initialDelaySeconds: 5 + timeoutSeconds: 1 + resources: + limits: + memory: {{ .Values.memory_limit }} + volumeMounts: + - mountPath: /var/lib/mysql/data + name: {{ .Values.database_service_name }}-data + volumes: + - name: {{ .Values.database_service_name }}-data + persistentVolumeClaim: + claimName: {{ .Values.database_service_name }} diff --git a/charts/redhat/redhat/redhat-mysql-persistent/0.0.5/src/templates/persistentvolumeclaim.yaml b/charts/redhat/redhat/redhat-mysql-persistent/0.0.5/src/templates/persistentvolumeclaim.yaml new file mode 100644 index 000000000..a8b426454 --- /dev/null +++ b/charts/redhat/redhat/redhat-mysql-persistent/0.0.5/src/templates/persistentvolumeclaim.yaml @@ -0,0 +1,12 @@ +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + labels: + template: mysql-persistent-template + name: {{ .Values.database_service_name }} +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: {{ .Values.volume_capacity }} diff --git a/charts/redhat/redhat/redhat-mysql-persistent/0.0.5/src/templates/secret.yaml b/charts/redhat/redhat/redhat-mysql-persistent/0.0.5/src/templates/secret.yaml new file mode 100644 index 000000000..5cc981ad9 --- /dev/null +++ b/charts/redhat/redhat/redhat-mysql-persistent/0.0.5/src/templates/secret.yaml @@ -0,0 +1,16 @@ +apiVersion: v1 +kind: Secret +metadata: + annotations: + template.openshift.io/expose-database_name: '{.data[''database-name'']}' + template.openshift.io/expose-password: '{.data[''database-password'']}' + template.openshift.io/expose-root_password: '{.data[''database-root-password'']}' + template.openshift.io/expose-username: '{.data[''database-user'']}' + labels: + template: mysql-persistent-template + name: {{ .Values.database_service_name }} +stringData: + database-name: {{ .Values.mysql_database }} + database-password: {{ .Values.mysql_password }} + database-root-password: {{ .Values.mysql_root_password }} + database-user: {{ .Values.mysql_user }} diff --git a/charts/redhat/redhat/redhat-mysql-persistent/0.0.5/src/templates/service.yaml b/charts/redhat/redhat/redhat-mysql-persistent/0.0.5/src/templates/service.yaml new file mode 100644 index 000000000..a48fea4f0 --- /dev/null +++ b/charts/redhat/redhat/redhat-mysql-persistent/0.0.5/src/templates/service.yaml @@ -0,0 +1,14 @@ +apiVersion: v1 +kind: Service +metadata: + annotations: + template.openshift.io/expose-uri: mysql://{.spec.clusterIP}:{.spec.ports[?(.name=="mysql")].port} + labels: + template: mysql-persistent-template + name: {{ .Values.database_service_name }} +spec: + ports: + - name: mysql + port: 3306 + selector: + name: {{ .Values.database_service_name }} diff --git a/charts/redhat/redhat/redhat-mysql-persistent/0.0.5/src/templates/tests/test-mysql-connection.yaml b/charts/redhat/redhat/redhat-mysql-persistent/0.0.5/src/templates/tests/test-mysql-connection.yaml new file mode 100644 index 000000000..b5ff9027a --- /dev/null +++ b/charts/redhat/redhat/redhat-mysql-persistent/0.0.5/src/templates/tests/test-mysql-connection.yaml @@ -0,0 +1,27 @@ +apiVersion: v1 +kind: Pod +metadata: + name: "{{ .Release.Name }}-connection-test" + namespace: "{{ .Release.Namespace }}" + annotations: + "helm.sh/hook": test + labels: + name: {{ .Values.database_service_name }} +spec: + #serviceAccount: {{ .Values.serviceAccount }} + containers: + - name: "mysql-connection-test" + image: "registry.redhat.io/rhel8/mysql-80:latest" + imagePullPolicy: IfNotPresent + env: + - name: MARIADB_USER + value: "{{ .Values.mysql_user }}" + - name: MARIADB_PASSWORD + value: "{{ .Values.mysql_password }}" + - name: MARIADB_DATABASE + value: "{{ .Values.mysql_database }}" + command: + - /bin/bash + - -exc + - "echo \"SELECT 42 as testval\\g\" | mysql --connect-timeout=15 -h {{ .Values.database_service_name }} $MARIADB_DATABASE -u $MARIADB_USER -p$MARIADB_PASSWORD" + restartPolicy: Never diff --git a/charts/redhat/redhat/redhat-mysql-persistent/0.0.5/src/values.schema.json b/charts/redhat/redhat/redhat-mysql-persistent/0.0.5/src/values.schema.json new file mode 100644 index 000000000..732c8c80d --- /dev/null +++ b/charts/redhat/redhat/redhat-mysql-persistent/0.0.5/src/values.schema.json @@ -0,0 +1,49 @@ +{ + "$schema": "http://json-schema.org/schema#", + "type": "object", + "properties": { + "database_service_name": { + "type": "string", + "pattern": "^[a-z0-9-_]+$" + }, + "namespace": { + "type": "string" + }, + "mysql_database": { + "type": "string" + }, + "mysql_password": { + "type": "string" + }, + "mysql_root_password": { + "type": "string" + }, + "mysql_user": { + "type": "string" + }, + "volume_capacity": { + "type": "string", + "title": "Persistent Volume Size", + "form": true, + "render": "slider", + "sliderMin": 1, + "sliderMax": 100, + "sliderUnit": "Gi" + }, + "memory_limit": { + "type": "string", + "title": "Database memory limit", + "form": true, + "render": "slider", + "sliderMin": 512, + "sliderMax": 65536, + "sliderUnit": "Mi" + }, + "mysql_version": { + "type": "string", + "description": "Specify mysql imagestream tag", + "enum": [ "latest", "8.0-el9", "8.0-el8", "8.0-el7" ] + } + } +} + diff --git a/charts/redhat/redhat/redhat-mysql-persistent/0.0.5/src/values.yaml b/charts/redhat/redhat/redhat-mysql-persistent/0.0.5/src/values.yaml new file mode 100644 index 000000000..897397368 --- /dev/null +++ b/charts/redhat/redhat/redhat-mysql-persistent/0.0.5/src/values.yaml @@ -0,0 +1,9 @@ +database_service_name: mysql +memory_limit: 512Mi +mysql_database: testdb +mysql_password: testp # TODO: must define a default value for .mysql_password' +mysql_root_password: testur # TODO: must define a default value for .mysql_root_password' +mysql_user: testu # TODO: must define a default value for .mysql_user' +mysql_version: 8.0-el8 +namespace: openshift +volume_capacity: 1Gi diff --git a/charts/redhat/redhat/redhat-rhaap-portal/2.0.0/redhat-rhaap-portal-2.0.0.tgz b/charts/redhat/redhat/redhat-rhaap-portal/2.0.0/redhat-rhaap-portal-2.0.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..4b413f9399b841c94adc8b1ace4e0eca084495d7 GIT binary patch literal 261085 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%0AjG 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%0D%l6iE=1tNmzA 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%0D4E1I{>RF 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 literal 0 HcmV?d00001 diff --git a/charts/redhat/redhat/redhat-rhaap-portal/2.0.1/redhat-rhaap-portal-2.0.1.tgz b/charts/redhat/redhat/redhat-rhaap-portal/2.0.1/redhat-rhaap-portal-2.0.1.tgz new file mode 100644 index 0000000000000000000000000000000000000000..064b5842479f46b50cc96f92948b2fb03f070af2 GIT binary patch literal 261095 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�d}bHODxpW{b`pI=;y-TmV)mWE?N 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ï=T*EW!$N&#kzPD;10TY#eMvm0+|H5RID!on--X2 z@bN#(bh%`G9rCr?U8KUDzym!YMowtc$hu~gW{-SbLC5B2B7UQgOA?AHPjOX!{+s6r zi%?{!*j#T`Ocd15K&J0rgU>L9<_x)jmq^RPR7$ZD?66O%kHzQ1bW#h0s~0s>9BG!X z5vXA_EZj#orL-7@^5$`xggcXlH~ zjyHq$<}dmH-dLaFfZTgVyI8GWkwsy|1q>0ys>|LRckpJ)yZ1kcIFG|1Or$9%pGNQ1 z^uzg1Wh{wS!u(?h?O{G+vtcM>vnt{&2LQH|z>2d%UXO_*QmCE}vJ|lby5DdxPwH5r zd6f5Em11QQ-0IguKTP9fTspUWQ1BwL8y0X;udL##d~7IAXEI5yQy7oDjv}e=?744j z8&Ps28;x${m}nMe-%*svzZVS?_yEIO3Cy3J_+t8ls$NmUuyJY+UU?Y_TvBm5Ll&TOT{p#>WGVtYvn4oQ3e|bZiNn*n(U-X? z4de#PrTdXHkXQrW<4WtVBG;ydZ!B1u)tBP1Ny<<1|Ljc24P**u{>#x0PhWg5Y**66*e~ zmZ7F}!+-$}BAJ)J_uf*lB`ichQkduZX1`bZGTUJS=yc*v1kQ@|2K6c3wWA1@Ik z(T@R&q$ue+Q0qnPHhJ@-;-nabeKC^+fI^yZP4?VK5aE5Uben7D?Kj331`*p$H7hDA z1{M$fL!xIIPBnLx#O0zJhoX^>0eqbF(9w|{=x_2*C;K9Uu`yt^7ww4J*9178iDg?`C% zqdCpW`x=M5URp)adI7+sX>CoaAJg&^f-okvfU;aqK)GyKO}CTJ@1^JWo66%rvbAV} zg$z+Q_vePnMWttdmCDrmyl7#XL|#fiRFQ*agN~$-KNOAQ5S@(< z9ikdCOv`lTkHCeZn@`kVz5>woa8Dz`O%mq8`kiBRA9r!@cpyxWUVjL$Vazt)x3qfo zdYCwKrs|QluCCQpZV8A7z9?0u_z0i0J`u%(h4a&VBK+$M-+23nzbYt6u9<%01QMx! zq?5-`6EK|2F)RxCp#IEt3s$uvTT-=gBFNM4cj~(dizm(qIL2tS!?3Z$WU1?fxL8~%py%-%$2wSuHX^M?k>TN))j+HL{nl`!s?Fx@r)x!h>LJsLRH-w zDKf(|azk#siKgk*c$t*tSCGQNV%wNxYXN@-@;sIZa^lz96M2CG8RMhr9jHo<3GyP4UY$5N>ue>Ntb7w!`Y_Ap7hfW}v_OOQ&YR7`N4 zgcV(6XBjKQq7y}9E#OXEWthrAF8sfQ(Sv^J%3$PV<@tTAxgepwmj9#?x6Sj?=IHzD z-oyUt?cwh_gq&NeQ5CN>6Z)Rxv!*MF(CnnjeL#qC-Zqidm{#)Yt+z`P2_C9<#_ozTs zI=Xx+JAeC+9bc0%;L68ZW&!-u1DPUDDsqw=j?#J&wh?9{*Kze%g2ccxS5uc*;@x_N zkl|_@I$W7xtA(YFtx&iBlP(9z=fXl{uRc*OLhY9#4^^nNdozofbWm&|Y-wYnu9EWFC=55m;Dl(hX)@YKh8s~JmYlj3}XyE z{A@l+7hTxML=EksUW`LCo)^&)LsvAcD8Yn;kf?ml_||H_ZbX3LYD^mBi@30Tat{?pWtdi?g@nG%c!xhTP{x(8Qy(qqAu?j`)v zI$m!m%ki&VP|RL(^40i6wiU_kgkDdL%T&?NwyYW?({9@b@CGEA~D4Rcze1C z3G~0by*>E3aeTRZba4Kq<-w4WiCrP%K-|Kkto4ZqH>ql&| zM15@s7zv-)zr2}Z>w`M61elXrNR4e)(5o1`*dRH>Za!Uvf0GN%ZuYjk@1T|7_YZsB z$h`7kh_2p5$GF}{QG=No$2Sp>k`$a_e>M8sLJ zu3Hu6XPTT2_q(lULBebuhdP4%r4BpDKaVFXfnTZs3~I=@{#nGoZ1(*xYD!QOI}Zmh zA7^hD2On=2?(Ap1g08ygdf0hk*+1rR3ee>h6O*~$W_$Sr_TYUz=L9Vj|2$PlK_ zdgGssWf0#QSg(0Q0~=YPiVpuo{}NL1P%rDS<3gE(_Cl;<=UWb1-e^xQ`$p=T4*o4^ z|3T^!jY5Jm1f0_anVI~b-%gEojYH6Cd%>9hMe3SOTsAq#DWNv!S#qKO9RGH4%70HE z&$EXrJ0f?VGwRHi(kBaz@PyPk86fbd+I8rij#hAM|6h&I8?`|c5htv41@sX6KV&^8 zlKtoST=rV}4pzV0S6Xc%5&c^eWI)tabyuLOW$w3u{;SZYEGvCjut$6{!%o?l1`U>A zHrqci_1g2j`*TZ}Bx>D35$j(^bNb5D#-mxnf=yuK>Ks|-f9SfV9uwaGqw51K-*lak z;2yk{g3yUM^UxU1LKS+9Id(Z$Pb7c}rJV)km7Ih~R78*T1PT*H%JEt&H9k0h9W}wD zY)YvC;V|@joraIT0b}US?E!qt55b^(9RUA9@LvyC2(^x8 z>aWt{+JNjqsWnKlm*S$X?>hpCfr-DG(9ZpKiF*fiV}2y7Db?moM$l^2HW$}C@AUTe z6weJpSNx55&u@sb?#_7U)el688qk@zxS+6qb;GY_mz^xzke4=>WYZSS)SA{ zJQmsjTk?!D5}y7RObq(<10y;fOEv{0pegg1Cz;|?^XFK4h&%jX4&iVqpu;-+wc-wo zJYc5`u+&Sa>)nNquMg>C9 zYeTCY)v&;V`<)_X65RX01e__%_R!Cm>|Ax&iq}iA!ku~(oy)n(`U236wi)3hAlh7d zP@j93?Ao2*{={!_S;oZFO|+j>Ycz!Enm;PI&KBL3z!u_h3;iu(U>pWDd#5Ec(S?6- zk7B4Aw+J22I7k}edr>GkY4va+YvJZ+QUHx#jp!t7{J{lcp_c#4zX7PnS%EMGrs`Aa zI2iVhg(h->$v>u(v!?$CehWxa+{8n1B_ohs`ZV)lCqz!RyQ@1bb2=`T+}gh`?Q0Q~ zLQmt5KtA^5s5MV6*jP?*q)Je*@n)=3Jo;(#O(DXVs|6(o(`L+o)O6ZuZ~PSe56<5F zu}+y>S}jtkX0UW?WW)oINgP?OG#|N>>ztC*J`HSr*cU}GOOIX!wV z?YBE&-_dpvzA9yMOi2+Pd<-r-65Wa;o{FB;NyGiO#M4;!Ij8_?D$Gt0#GHobK@2#E zZ!twhnPZ$mCIr&x9(}j=4zK0EP!4jKNznK*a=Q)U5A1xDk9=jyI)n(Fx=;;EzfJ>EJwK9*rNKd(E0Kn8^@1yjV8KZN=J2PLX}ETInQn#tyVv99$bkuu?j{1QaiyrwbH(~OQp@<-da>>^ z&WmJxl~B?nSOB!pHquZp4&eC3XF6F>EwWD7DT$}P01KIMN{ZFr~j zQze@)VODWjLXXst7awDnmC6J2pQg)r(9=x%Ki;d5wmG! zpV$9~rEiXpr1`#%ZQD*Zwrx8bTbpcb+qP}nwr$%^HqJZG_xJu&T~pQ5T~jrm>f86; zbB@%HbdOoK?46dPl4oA%S~+01jQ}Hz~0z=#LPXW1)rxX zEQczcJW)ua1)GkRUxv>2C!TI+?NM6fV4y>Pw(>EN} zVOxFfF%6w~H5@94;@xkS2G%>CLDcGdjIoTM8}$>-dwzBnur)69Uy^Bp)Q5GA`{gd? z4K?e2jLq)S5_(;9hTrnT&)(j1W~$i7?eu11h zt&H;u6SzLBYI-Tu?EXKBmHu4HVU|w7_vYDyb+Vr4#%|COqLP8+__+7+9Y+n5-wKNA} zq*q*#;9oPo*)b5=kH8(x5ZUhiX{_^#6 zItwLUrJV^C?_{C;QPqu=gt_;Ki!%Hkd?xn+o1&}5;7I_~tm`!CH;{DXV6^}$y*)a? zyHse;Zq2SMe#>MS&06btcmZhQuvd-Ed7 z%YcA8vqcYCptyLf&d}W|_=Z$j0TNZDuk$;NuiRhn$=?ITvEU#1W0kQhW9sF2M7y^z zU+FKf_x>*hKt1K*gJC2ys{jx_93VAwn>s=ii;0u(0#QYFC|De+?zXHAH>1i2h`Q}` z8W5*KcgU0`bz~I9UBCnSmI40Ba;hEex>NYtX;L*w1|@SP?~SPK*uF6<5>MT6$9sFa z`j(3NBOOJxKy z$Lu5)<#K|x$L7i8@y~)8xnT#95Iw#KJ5#9V`4*v%%+K!MHvoQy`bipeEWBY>)V=?- z=;b7}c0#TH{Jtq5SN$%6mNS=U!H{_662y!8$T9t7#rI`KD7#E&Zr4iYZBv+F3Qp0R zSR=Mu4byGa3(Z*M9BMZTx9#Th_W9fA{`^2VF2lw)R9 zfJWZF#gcHTDtVxbt<6@+H{bZVM_^SA!ImrH$Z9mlxolzX0U!zx4(`^bR0^bLntvP7*EfB-6BveI^(9azJs%0} z45Enz_V9bH2IAjcTxULY7S*3$&7SG0N>`9A}RkB$VBhhKYhZ5EyX856U<9UEQgO>kY{!uk*4hwB+u*qvZ~bW9AStMQ0x&9 z?SPZ-6cyB@LDN)^0rj9yfiyI33=M+V!U@^HGWa^j3mjXLZ!0Kw4j_&|EJ3D_j8Q85 zx$fn1Q z*0)*0oWTVXrva?VoM7`DoIk+xfhXXnJ9^{@V&&)9{^#tfjYEMYNwwxj^gk2N~(Jdb^T|rByGVdN#h*o{;Ce*IPK~-)ZW1RnwjD6Rv0I<-|ToTxybGa$h1%*45Re2I^@ZFG1U*jEppg(Uu?f zF>G?iFN2~Qvc`-`3V2kET!sh4F})P~O-hfIH=StU`RO`~o%8z-p6<=n*4CCAX91@u zkCzOjkSI2s2&2ABGB9u*Cf?08GAle4>Ew;j?C8!f5}kZiN`3OTzE1SQEYTJN3Y>YS&rQnWu z<$xqG;Y@ynl4POuxk|BiBeePhu37DoM7^S^VSfJFiKXmep6h{paYoaC0P-5cO0oaI z$T4A38HEjz|Z{Vi%Y$Mf3zV_ZsW z@3ri?zIo~k@0$YIvE?8}hRiZvp<{PQrxU?OAO}?xMJHNRV`NjWjADlT*wW}2yhuLe zn>2S)qF0E5ttEPgp^;3=^2l5lS)ix z7sFZjdHL4J`DKi$NR}o%CPmXRz5~J@NN0FZq;Ul5D|F-pyLHUS!}9~{_4B2M!nYz0YGY?!&6y``roMN zSBIx&2(>$q;xw!Xo#{!VIrpwtOVEQvk zvGyZzgDkLM{v5xfL(vo3OnJ%vDY82#lzbq@qGK+AYiRSM>r6wZvzt2KH!@`lKxTna z5hBOCy}+NFKbGzS431X6V|9jkv$362-i!PcIoJ~Ht@1R@q4JkKy2o_w**qV@`)i{s zC#``Bh`^~xl@ysjXK-R;(|q%t`6-yZEXD!vS3mrwdpK9gm$G4+&Ds@>D}$E!WUfmh z=7Uouvb?#p<) z0QA=qhA82DF-DMO_gGH#6#mAB%15q_zxe3S_dff~ji=BKbAN|*j^PoJ|e?Ux{kD$3mJdaA$vU2KgJ-O}&? zwRt}9shsP)H5(E#)YX|w!Z7DCrAy|mrSLQe#_|1EkSIE(mi*^T!yr&EXY#Tp(-SR76;nf z*iXRciT)bkY=oUBy?-yA{5X(|7X)}t73$A{oh6n-Qx!WRJXxuK8!r*BkV(@I(2bR`Ns0OoCQNigGH zT#y2Hmk37x9B?aniqkZB=mIJlx(E={idiATJ}PlNMy(4IC8h7!z{%C;q-y7{Vv6ZG zH>K`Hi==d*d#<>D#z5Ko!DSt=8S4hVH>H2FFB!N@>Dn14Bk;~taAZk=8lChitQzi* z+92uI;Nn003NT4vB8Y+b5a*}X84=ny(z1jgRCD;hrE(zc2FC^*WYd*Oh8sT#IFT_) zyn0%qN?l2OxTGdtO1&@G{4fULa&jPINlkx8`MLdOu?5sNU}xMs@CYR)EFf12e+B&F z;Z6|kx$Ftr0S>y{} z5US|lkDd>iUcx)lZV`Qw4C?>IO)uJ&Pm~7wCYbo>?Pc{Z0kbNNUEi3;f@;c+ng1e+ z{k5M|Z#5)7@rT~+CY<@bkk!wK!sQx`sGb#-`4cT@>}c5w$lMLNUMH&{tRC4CVTha? z%v+wzT>?QINX!+uKfdkW9a4%&-ad!mjq`Q7$>G<`DN8#J!|Y!ZqXHy}GYEqO!Vd%85mU+fP3ITxMrTaH6mH8qB2whJDo}SoTOw4G$IDevvbowQj9| zHTh5%r&EG3OTCzlwDk*ReNg?77F~VmlZc>*RP?a@jq}}7mb7gAsDT_~^$N$BAvcP!#RCvMl zu6TD~j= z(+mAP(1)m%AQ-T`3#KPxX-y9-bASG!X%DiJnLZ@#sg602m-7R?4=FCquocw4+TUB8 zP#2=$W3NO3_zJbfVuLUg6dp@=a^jQXl`rVRW{`^QtnOxcfu5zSl90CZ;}~$c1HnvJ zi*n@WbpV48gz7(5VNu*Lmk)%37rRiJe4A2pFpu5*6~HSL)6A(UDE`jX% zFsaH{vp_er_+L1R<<)K>CjoJRMNS?cV+z^SjzEBVZaT+f;*5>0k}u;zIG^)M2IZKK zuaf_{BRvmJ>}UpwD(?2&1S;pw{365N%%mZL&PpPmDkiI4>eVriGm;j5{ zmq{;lbe~}OhgOe-m7+bpxcCZKf!Cf8=3=aAN|NgPwi^~dUn5r##v$$vk@>c~2PfUl;* z(dW|iAqb$GU+W=kFiv{oAwt_{R%?Yn&u9IRz_Xo!mV*|-VuH?07qMk%Qu zNi1D1GdPqB3a{fptOd=@fJDFmW7f6>5}%%~!B8l>X-2kB0n=%^ayhlLU;b2PEEuxX;yC)Zwa zQdMCzoqYrrZ z=rhrT1-UiVF{ne-RrBpbOlq#Q^u0V^mPzO<4$M(9z|ewV^qG({ z38hoeh%MBfuXxHuOdQzWa3JXU{gta=NYv#KBFF=1v_gq*Z`QO5_ra7=n8@k{x6+p9 zSG~9@_e{RJRJB@p($o&lk%KUG7|2O%qcVg1*Ga|t<4Z*wGTGv=j_SqE+#*=<)z#50 zV-ulOxlf|kgeCJZqf$x&BN@D4w8m2AQJ-=q=`PPLw2<-^fJ}>8~IxepOcVT#~yIU zYLdAuaWpYjgMR$oaLTkPT~j^Oq^NexYpU{QRZTW23IqGC2WWR#weViPnLlI%7md3s zg+-;W-%(WIvI2+2i~G_WwI>Yfq53-kNHs|1Ag;Ufs@cJ4WlRZ?SVkg=Lg*Kc_K72= z^XpkVfQj5Cv~zYxj0@?%XJ`)M6c(qnD5FZ?U9;hhE-U&bSkVtvq6+6>(kGKP+7$RN za2`Smt=-!|Qh?;9Y{OWrnK%sOUEctAp%nC$Oap>*$)Kr(lf`A*Tzpl$E?)d*to(;7 zrOEBA7sV>N{HTc*TS*yr+3en4jQUs7TG4J(P^B3~*{6Wi*T^YsdbZTi^u!jBG$C3s zmpa^polzGBO&hFqS1G@(tTy z+%-0M3AD|96N$V7$@K4qBF^|MKddxlGZiw}S6=#<47pyjfl{9!`AD#JYtReKn3mU=#*qfx3$LU2Or0A0}m*_}Q7A1Bqa z4DSSyVPuKW668C_oPg9%z4ceb`+wFB^%fJB>V(? zsJ*HpICyVr`4_!M9eXww26D!jwI2*v7AT7`iGH9(ktFN@{2u8#oR))LQYzPNLvd$0 zU*4^zQUoyHdHR@P%o~}7?qXa&aOC$~5B{Iu^@<(W-4XFL*{y^zY zN^v7sL%X?N(GP>nU=lb6>wU;7c~#a%4IX^yY>_lbnH&28BI!S9KkP^TJ1EjEz!fE( zg(V;_O_hImo$9)2beCZQ>-xJ`b)sm~cz!ZmT0Lou(^PXyGN}NzQXgH5QuQUEX?vzUgC5U`8Bk@+}rc5 z9Vup!y2Os#Jl2&Nkkp5nK>E$xkpKdnW=RkdrbXiR4NT-e3rOiV^+}H>i*=3kY zfFpY>06I*JS6H{6{tn6+$kc~Qv}q+ob-@2C5Kaz*SnQ7toGjHcE@puaW|O)V)4$DG zoMemq+Uga+&T4d(%TA`smJCK;omfgN{S^`P$mKuuNDSc z#tl+`My>D2bL{l2q<-9_Y8iI`orq3s&PX_R?h+lO5)Ljm*HDO7pVz6>MUb#tsTffg z`|x_!5ev{o&Lv3)x-D1B$|^GvJjYObRi;rwc@W;BlxNZG*gt%)ib%*Rr9o6;lWy>i zNTyB4Q*waPlj*c&R2#=rwUv%rFrYCO(e}(DBgoxGhKV1gLsymk$|)r)-?7pjoq#3} z87v}5?tHOJX7g}Ly1OMMx-;S$CKrVL0EKa4mf-fwhyW=ju_>BUB=TLSn=-$DEI4mX9o(2(cQi-U$(PL~!7WMtu~+;+8mC@IVkL)O z@ddnM=|5YJ^xXNPpoH!>twtuj-n*;$>fUFe#uI2du-|G*2OS$k;KTD3zw(AY+`znW zn0Amp3bEWTS#mDQ@ab6!RT&7VNL>9xvx;0dZg(+^MM;K`z)9D8yxncE-^JCW1+Y)x z+)$R$QwtMFR`jeo9f7$VJIBTRx~N*UoeNlL`rjmguvvG_zL+)>1URgu0uqy zym2kSX?~AIY5QY90)vIUGr)w}L+{Yq z-hq`qRLRNAqGU;C&=nM4?o_j31zn&zR3-#LB=m5G@%HepFI?{jlC55yca(=@s(PSJ zZ$GCk#*GCMJeDYxAuya)a%{@pUWbz}id+mF^NzsJXbTb%`#8g3^P`sC14Izjhvkoe z8H!Jj$phM7ML9TAL6x0(G1iesR?D)vqO7l?g={RuI?Z}5EI})z7o5;JB;$e#X_+G; zwVfIaUY}ztf8CJ3X$VKc3V375xlE3fJ-|*$Oj|u!1@42?s+mzpj9v&trM;K3aE(&_*4K?f)0JWK6?3YSDT9o3RE|>mZdXgm)1k)s+a~+bipKLHVT~UIBc~KV{@ZNUK z7Izxm3CW{Tp-bSc&*$#^x%g~pTL|&>HY5*48HbJs%Ps~kh+SU4#jB>P`8p*L4$<(A zYzPN@1)s8IsU_F4A{mIHSyWz3HOV1t`qi2Ex2LgRr5Y?rZC(i>V$slLwj*{IQ0XOf zCDQ`aibf9N!6$a%uZX}gMdX@uNzB1iq@f8AWR_4y^U5&rb7{Hzy;Vo;HqBh%T}rld4O$-PCnEgjec=_S>8V<5)(EYdLVtZeoghG^PQ(ABYo zLc90a!t=)drZqXQbn4Q&_gE73rrmGF=_X*%-mMUI9KEEKUQZpoq@CDI9kf;%|6rE4 zep{&B9@q3=RX4w@?6a<1d{x_PUT*)Sx!br1@*}mVfsOVd1j#0bY5bWub z+cTZT)C|>-kpkt&CsC(>pW1&$H$|u#wANmP#F)YF$-oP+b+geY>4$K$QDgsKDJ{g& z)xuDlhpV@lsxt>)dp*gRHfX)g8knwrj};EFJ!>c+QX{lj#hJs|SzB96wQsQVy)4Xl(F9|PceYEYr~6~@9DMFaSjFR zX2VHrXv#g{g?E*~1^pOrnK>hUCSU7}ii&Z!VP`ead}o!EJr}k*@_@=7wrI^FW@z|m zB_NgG$@_;#Vc$&2akTQT zd0-B|*0~YO?3GuXU~qyiM9qy&-qd0Qu!?Zo$Dii2<`$gt4W|~?ZUV;uCd#R5snQ_F z8#lh+W`ie^Rl%!=MI3*?%TK&svA7U63sMWWUL#QOaqiz?8va)*6Z}_y0F+j=Z}}y@ ze~7*e9oz5GO$1pFp3#ehs)|=rPK2B0E5Cxmsu@~N+`PfHkah1iMwY_Fy9kH{j9_)v z_p-{e$-=RxaOD!$h~#fC$CE6EttS`Bf8TFBWQ7Aj@iJMjKaKzXec5b|4KQ~3KC0}+ zFQU@2QBTfH*35d;9&%e=mRcTcx-2$oG*E^}N(##%(+N(@Q?v_wd<_B-^>c(L6t9gl zx%x(n9oRsy1oj&+su;C451(qo*VOWQ7(IGRSTRI(0_46|inHnPNfHbl97 zZH%FcX~h|>zuQW-r+cH?Ap{C-+TLH0FNt4Cs25=`;73r3lQ$ymYM4vJmlwATbLZ5a zUTd(xdoK8h5qP0{%@Xsi6FOmOSi&w(Dz?iMW=nwWo^m%yG&nkJ`>X|8w8Iu?=eb*& z4wxkoIL;FN{*!~=H8+)|RmR#XWj9C8S?QyjsK^5=A}fOO`LizgDJwScdPSZ+_ZBn# zXqMm84)4E+^tm4+(2ODlK8ICec$uC?8;_H@3B-Bk@S~j`4CdHw>@9DHv=BxI)7NN$ zagn(R#|aP7#Phv0Eu0X9qaraFbVq0@I_%bS!}=EkCj-#EJ40s&aH#pan7b zkP3Y2+fO$Yd0|h2B&RqPlxLt|6jpYd{%0YlzrMUTe-36h0^jl&i_C^hxjtG>=TAAT zq{C=#v6-RLP!fBiK`SvA1W08SVphlH@n+dwCjLq^e>%TO?hG3WESU=bUC9S##tyHd2y`mG}wgp;n-RoFd^ep z0pT1Q19@OwKxw6W!t3oMWH*9Enbd{A2POk08)E8tM8^+*qejTGEHog8jPT9-L>QoR zE?UOOEX~X6fL2{DkrdS0}r)J;pbmZ(b~r_LI`7 zh_vi09fb>CWuUQ-5L$#k5)2+HwAe_nP>`lz6UlH)8Xt#QAQrP>A!NTYS#nRTYVh=; zale@dHFM@BOu>GC96xIHurc#3XGbV?-Aggzi^Owd^?=xVfNF3Xyd!=wk{rS`hRez? zJ1$5?zY4^OrA~R|EM(qgYCVX|IH87M(5zgj8HjxVmBi?Z0U6;Q^*tFNsarQVdqGMX z)m*$Ff@w_B;1_-pU`eA2<7yL}T@KWatw(SIPmg)>3$w-1FW3oRM$DTI1XtvDYjQvD zbYGBNMCE9GCM;dFcovj>N(dMToIGQ0dH2O7Ro2(odQtoU3-gK%QBDZA#v+)0{6M$U zb_0wi3_C}&e~8Kyu{mlGvgZC5>kuB3yaelS@S}E!9y{A-%9^05JZGFea! z1Z+c6A!QKsj$jDxyoXiJ*vj~58*Qg<=czxa!M?(!bV#ibrQ8Gbv)^+5%UUZY;V5Q@bJIy%3^UC?F*cizS9k{2SOBSYZQ+6G^%g$t zS>Tos`@dt2)_#p4Hme|i;1B8h8`1mNU#5<=jQVlnEL^4v!d?wPIt>_{1k1shiX_ub zK~bct3ME@|^X=Z0Ts$Fkh`7?}qi<++ddUGdB)4I%zoM!h zBO?!SA)B#^K6lKITx9&?C|1hn)F9SqTl4QNh+ZM2Rue=^hJ=qCHlK%*pAt5JfgU!$R@&yd)OqVevt(o;sz9H&d{ETuDEtvgEX_eyV{ ziYK@Q`Pl?VwiP{>xBcA;r0yHUeChjAjXv6dDQo?)EvZ*VCe-sJkd`O3&~1Vqr7^&_ z1kWz+YKUnPYj&L2(^+>op8LR*6NCN{$i1ysxBV6r!{r~uQwIUsoo>*${`MM)$h7Yy zTmTk|%hye_PW&Vo;}r&f^2WGO(oBmu^D9yc##kh=Nw8Hh_3TNVDEy>ETzOxX6h8oC zAQZh{QOSbCy0L|Lp4$$ej8hJ)tpzRAt-l6J$3C!(4rJVD1H6QpRuQ9K64ISsu%g6E zt}#iUqbk^>W>-5CX@-rZIlt5-{226#VGp6R=H!(H1BFpzOu&b+i=K^pLQZ+_QAO&{ zYLvcB*sY8gNZeh@$?#N%+soiQ(;8a;sQIyG7>B1c#G&R;bt#y)aBnPhRW0-)Ypm)G zRyCJ}3f=qH+12uRWiCR+uBv8#8Y&@Hh`0;qtL5(IB`K$bpYC6red>~YcI*CA%JtKM ztiFYxN*ANH@dJH`SJ(=W$3TdkIk0yzXaBcs>VeL9+DZ2S_kg6`Ad;Tb zXphC0E^j?OTihLP!|j2~0~S`8wZMpIGLAqB9XBJqj0aGUNtCK5;(JAXlEHA5cV(sj{5q(YV{Bhz_J%KbRxYa@WajXf~zxr{cd&J{>)Y<%Q9 z>FYmSnXZRB#3dKJ`ZEZ~+-msh_Zm4vDNU*U`gIsMo<29bkgM(L;KzTzdikwOj~EW0tF(LllA=2b?rm$@%Q;-9 z|H4aeYH7_3w*$eTQTl@~LF8$Hpe5?_+sf%jBHl$w>|U6t0Tuu9$5wo*9!^|ThjfFM zFN9Kt`GdGaItHejh@l01P@#Qi7N{pb&|0E;e7_KSs92Hb;|(yyhA&Twz%6hieC>93Tq zi6~BZK-zpU?|#ZDI(|uE@vvBDZ#L#d0gGcXa1&PUVVZa$92`341jswv5Q{0Sn{WD; zG;-2a#v7i&74ALx&mfHIrbjwj$k9yLgZNm6=AKeLZ!MOhMG_LfO$VaQZ-Mz@B>B1L zwD&`}e@0UajDnyACBa}E&R)9sXly{;gjyCX>V|*N8T*bEaUZND`aQCKYd{vu89W3m zR>n9K)^s0G!4eZ`rk}|M0h1z0`a!T{x@QP##b0lli2a!SQy`7sE5m8Epl42TQ-=&j z#e$9&e|&i{uUKM=3~?#~v%?EzvGW;D&Ja^09DPX(o=i^ia$t)ca;1BSEVuT8ooEE^-< z5EJP45>1dTRZT@kQtzx6SQA_>ia!?RmM~%r4OZGNwrq?JRK7%|F+AB;yYCEs&K5qqv@4R3;>T{$t8I57@^&~_Dt7zR_G)b z5eJIrqWr<0sOOAH(sb)9A)8bql~fLobh50_C8_#*W`b=%1|ZDU^@w>ye7blZjs$)B zT>-n-RH=+owuwQU8E*io^on0^M9+YZD+;a_L5z`56cIWw^yh)ge@=!IjYqQRTXSMg z6$xQM&=!1Ja405cAXkd>elB>sg{sMxqvBbCO_r;ghhiKg#%#Hc48$h42U&O6D=wt~;j)j0bJc5S1#pl^P@H?f9;Z#UiH2hoj z@_cVgHKFe4`i8KyfSei$YT7%7~Ig4uT+pXr3ZQ9hwYYwygfKZ^#=c%&R|B*#`sCUQ_bE(Q}#0f7kZ?b4Z zMv}%$av@ucC~Jr0`5}{EG(iQx=5glpBMhb=-A&~r@5SS(;XvAvUT07k2Pp}LiVT>_ zOmy$s`zS&wCjF(r2d$)i1N}t>f%?*3k4CBZhbCQ0_Z55-HAT5UX;Ua5hJ?F_Kc>M? zj%dJ3-f+tzBLsQh{Wq5+>ruJ8YAMpwZeJ6(Q4va*<~L-JzHKyE*F`Ie#cm1KD3|j5 z8!AR&oUBwEsjmYgv`I7(`)lCq2o%Ug&`EClowudmH|~gm z2S789yD3A>-d(1Sq7e%S?kowSJj+IoT2uEvyIvJVd;caP1?yd07QzKvwLht?{90oY zgS|{#O#e0|Ddg!;B>3l2qD%ztEq`7H;oK^_i*E!5I)}!-}%ZWmCh!XYvwRKomQ3N&ReRucE6u;$~kxI%} zPOK*i>o2y-FH&9k^=FVo)X7e{dh#>ExSLVNJ)c=P)oeyIHkpS21G$}z5$3O@xRbho zg<-%UNM*NjDuK|LijwQ}ea7*7Cxnnn&C5iBQ^pm>0scZz5+M>HLqe-a z`^Mvz)~R8+e^pI#7C=(l^1mETg3+b1hvHzeC^TMV6rvbhj|6-}QtRyca(B*lQ#1CK zqj71$>M}keQ%_?Y?;p0t3<_~9MJ!5I{pwO0^P#9S#3`5SCV|X;-?0)}$VI*yX#9AM4*?5!#>+eG0vQu~>u5h< zFj-Oj7crG_!Lzc1757AXOtQ{|EVM)bv?=e(<2+|&tkx2}W#N?vvA`+&9LL9kUlodHfX(DEFuau}` zq8jX85H`RYV|Z>{Uzj2e5~1Thr&Y8fPxFB8`&L}uVunn~f&-1?SULv#5 zgo2*5v=3sGHQ=$4{fiNDskGPbsTUGK*i7}|FJ{a=LY{ATVH|_sz<%i$wXbIecn+ta z#6DXN^ecpR2&gkj9&So)1BOz6^#joJzZb$)L~UG+AYvvD#s&R8 z0|=O0gpR~FS?pH6_7AU2Lg`~(>+CA!6}3s{;X~Gt@Al>R3Q;XGiAA*QVG#8QUV@GJB z@rT(YI~uld#{wiLI`j8@!PFG=Hxx6pCDdRbE<}g&L|o};Y&Hm`CXpqhgN(+cu&|)@ zl;iI59&!oH=&dlFPLHLVBqPjDnEpCR4MZ@y4@BGor7;N3DNyG=evpU{*_dxo6#j6= zQrW9K>i`P35(KG;$<8f9|L2$?2Nr@iRd#20cWO-F(igJF4vpn7s1-4of zG3)X%nw(P5RSwp>@+T_=4V~&y=JEoXHw=R*Nd}%~`H=*nrF3+hxHw&Fb*682CUpuM ztZE8V#ILEEVw|QxQSQ0q43Qcm!BsN2NO5RIrHc&~8(p!h4x@8g zJR_F2;QSPhIQok{$q3-xE8J(MhW+tBl#6x5i~$48`T-pNTvP(GVUkCPqi|if%?zEZ z1%KLun2-da-;CvFr%fyQG$vDIz&QIs>6X?4`m=m8rPV!urGj0khoaIdMq!g%ZGbI>=-I04*;Ilp&}Qhh6nkDQ2Sdjku~u1ni6y^?c$aM z$HCGGtpyaBeyZgdkK2lM+P{4J!vV|=uv3O zQ!$Drwu%++Pc&^`_u>@#iiY31+}2A_Lmg5JmPxQUqx<|Rcm(l`a6p`AN%a427aABO zJo$HEh3w@Dqt+Xvu^Eu-@pc;lHB*%hV1+kZm8ok(;XAw)ZL4e*>-KvkJ{ejDwOdwfO(JdN zF)rsJBE@lLp)44In}S}9=V=PB!&?6b{f_uHt1=k@((*-iY^SajRBBSZ%D!?+mZA0L z^;ju1!Rl*}ek{dmf_IZ(n&uljc*l3t%$AhO=B#LU&txXK-J?d&qj4!pb`L?;uZO%U zMn~Y|wK|Utx$BH@gxH^iInz1Q-x&kG+&ObPi%%Ztn|i5)jEghOlU}?nY23C}X7Pa- zu9U2Qd;gu21F{A=ob{@TrFykAO?*WzC*CJwI+ z4bmV~{Fs%277L7SA7=hGlUXd4B@E>f^~85;h=XIRME6f8x9nrjDOU#-CI14&IA){( zsM{L>LG!FxlxWy+=9hAp#VsAR>5e&xCRu$30ss)?OV z6aPv`*4F&epCs68{jw=4M&f6G8t2n?PZReo9LlV`#nn?xf$VNh-=EF5$j0o?(?`N8 z!cvLT)81ZwPup&8cV~zD&(MDo<^tIoyWc)f4{zhxd!J9GrxKVF1l$XdPFa#l@GYYo z`GK9W4kwS(3G=MwIXTHA{}1Fq8^1{hV^ZXD#^9JqbFQZ9%#saKR?Z7g^*)AaH=RpS zv;?a|Fy$vEOwPRA`mGcOojXq*OGfCDMl?A#%hjcaj^JQrKq4}viK;|J={TDT%g=}f zMoC0wJZL~9t8?rp;AaJEm5^*M_h5ms6SG2W^?-_m(?O~fAQ;~m^B`|j3crM7Dwmp& zUJ>* z0;!sRq;h*x_Ey6KmL{b^WR`gA46ni9T%+;&Eb>X5h?4gi7J`lN< zz{OEQUGt{vInI%QgS33NU-Y*y*;D0?CMj<-rP2x9sN37oylHizv}!q!9O`_Ftrvl} z`Nn55X)v>wJnF0aB30KwOQm+BUEMEoqneiEFn=)%O#A?df}ULN@V2AA27pg#9Pp2M_%SDuE&nmg#koa=w(bmjiWueQn!*7#}J2 z=s)SDW~kmcnS^jAuU?U?rwjf+?ZIeLADj$gleesXd0`qepl{UbVh^-uK6$*bo( zh)~EwL_Wljo}O{Alu#1n_A=ACxd@bPEJ7TOQps2&HYISetLz!#z`j~b@d`NJU+$l; z@`1w~IO5)1AG^D|yH6iKhJSZ=cgz3wclY{#=|9sUk~(uu|f$QI0*STAtT0T2k4}*d^iXhNqL|pyp)sZ}p8n2?RApV_eV0*B0D3PKl!>%4ODQ0ECC zod+{S6G6hE=Zx8e93Zn=S_`E^eL0|-FTH?WM5gNh&O<2&FvCN7ks$I;yT7 zfDV8r+gw~zZnX|jsHVc17AI^?banrH9gpSXw6Q)G$p78Fr%y}r|8f7>z5M?o@_!5E zYJNcuZK3ni=l|_${mwmsQ|}=q`~V%D9v%M-nlfw{io0p~MqO&QmFMG=-tluCOF-`K zW6pdc1QDJr|6k&Y#>TY{GCn$6TaNwP2s*X9ycbeyd*0{94=;%~BLf!j|FdWN&r1CN zY`6dPp8x0af6piy;zq;%__6oMX%GQz1i+)-=g*EKTR~GgIRJB++`of4cOsGNkI4bb zi#cZmj<+#vl#y*1vm)>~A3q`*`C%Fm)KLI?7NvrZg(n;6pzVPA3F=&tSqF7~eEqtE zI%-ktpzV-~1a*EmI_t>){@+fwi`>tj)u2Cqbd9I}f*xd*7<@K337*6Ku5*7(f;6Pj z=tLbss@E^zcA(Uzz?EH9B9TuHv=in8C;s?_+MyerTRkqiBC`YZ@gssOIiEjUuCq*s zxRP4A^;&^>Q1G#pP;m(F;OTqmg_dMLvJ3PH{h6|al)uXABnr&yYa*%Q0QDX7!L80C zoSEHZ9%TcYok!J!tYQ|W_R}a^IM>kzF9@Gx_X)nDxtue5H<-9=&Lp#UP)BjgMrKe= zo`Q)E5&09TJZ!p84LN*mCpA2)K@tj5Y*o?AGOel_g;q7b=iokJF$>vf_6u18^;V^P z0_=By<<{seR8`|e_Dl3Bckn5mD23w8V1l5xj!t@|(~|bE$1Es`eVnIC>OnSgba0rX zxP!d>LtfT`$u15^=pwK1J*!m#r>175%<79>KEYB<8c_y*O-6p^@@wIPU7mIo zUC^7@6Sa->tQY3Eh@O0YJae|+?V?X8qRI`rzgrZPTBJlQLEB^!Co^kmy5*uM<}^x% zsDtCU(wp@m5wdi zhRQdQId+Ne^4i1tghN4>_=uA$s@;jp|0<<<*<+Y_WJH_r>Yq=(}CB`8idsvbySzVX@5Wx-0u|8 z+Eli>sa+LU`c{bsyd9QGH&NOm>)DNQl?S|Php+sKmUs16P=wZrI-j%X4>o9tG*kLZ z($+w#XYEjBimnem0VWd`iPpTAmv4=t{^KuBQaFyqdeM|!HEoNhyu$w~M2Q3^WSEBS zDax+#B~hh8zYQemyNfLmWJ)(6$E?x1*ql#R3t6caMa)Lyb_lk<g z7q~r?&@d~o@9lfL>MB&x3M8A+Sl-b|NV34m#mJ|fkDotx5X#*9J#)2H4vPxAZ-__E z$%uS_qX@WBM{t1H5Y7*V&0|2HKcfNhaVm&vnMR}R=Ft^VmjFyz8lk`Md;3xqfNR%q zm#YH_XouJ*fRQ0fqoAX%IC{>bM;DOegOdrHLgpf3vV$ZzWTS@y0tQXesBShMJ!-kb z(Mc1mu@?Bj!c6Dm_Vn$p`?r5}AHDsb&;NS#`SXJg+Ag36eL@L4hv4o=pDoFDfPCgr z+f9wr&Ch#vVRU1@pMP2G|GB^Sxa|M=bZ__G{{PL{|Dmr7oo5Z`PBCqE=T={rSEsO9 zH2*?^9SD*ng~5QRa-QS-Ch&+HsAKIZ4ru^d&I{SW?k+kwtemCgg@pF3^B|xd@u11< zj1j)6)BPAHV=rM@EVOid5H zlmlQxtF+FnA#{Ey4(s=h6y!RnGLRlkOa{O)XV+%Ik^LHX0v8=;f93t1>Uf_zIz{6O zvk0a6nQj?X;HL2hqY*fRRIy;6SmP+Dsc*C|PbZf3PQ-8ewz+-&^Z>@Fae8owI`1MA z^ynPDI6HfNrgHHCKkDp(CIkitEad!KVsaJrNOj(6?(|TrWrdfWch&UKc?J?PC6SIz z$BCWbPbGx3V>eFlOcFpuNT8IQWK3q}?UlZHUP<+cd_f8@^c}Fh?~ueE^mSitN`M7rApdcrckU(ke^f}#T)uD+&`;5?^Tww z+tmM_^dFb+e?RT-J-OHazDfPhvR|moLpq`hBg{muYP#?H^<+IygjLHUiIlvJ0D-t+mCoY=>C|L8Nk%Fb+%Y zfz@w9_=HAkbttxz;E}zZv~4N%jxXAmMYUkYY+MDaKpr;KaGShTtiNS<`A7pgA|kPe zV*z}KI{#H#YiyVgYZ|J7y3~0QlIoJw`A+n{6Y_tZQrYs{StBist71p0_Mn0XxsLRwwmd}e3a30P#S5W<4-7!=${J5Ch!H^UMmf! zFq-wT0g*dpl`K!26Qs^>me4u0USW{6Q+#RXyMW4T#t1h1m?{KO24C8|R@7ZU7hT z{~kYiRhi7WTKAF(TAepvTf+5M{Y!s4Wjx8h>0f30^r>Zyw%W`L(OyGRTa~q6w{6#! z{baR!CsE=dcqPRy+Gbqm^yy~VWwa9tI!Us$0SU*E$RfYy8TMy*66#Dqauk`l+hm$X zD!Cnv5;7tcQ}=U;INQ#Bp)-`o&*nhakYlE4v8dSqUYVS1ziat192_q2DyVa=taUD6 z9Bq?73ys&g;dQH}ntkR}2iDB1rO_sZ{JY97X?=&8EpH+9HwZe>)S${~d0=nsC99nX z)KOE}sq`U>R@$>a+Mb6JRi;52CB@dd`L|)naPstV`Mc>3NVVGGCrM&8+Qa;P@2PUn zNVwFHw3mgH15%s5n8gIad6uN-EYCv=!C+4IPjxFDrPnMX*=jY5(6(z_zy7+k>sQ71 z3qq66cYIOESG3 zZ9(zk{qH0cF7_v+)3wFhEjsqJeBSFj_P2Qc^LTgvarOLX?_U4^HuZl?nTM2lmnH60{(q zMHhX7^Z@_Fldzk2BikrM0jr5sp_bLkh#;ezrs%RbTUa3h@%Z!pwt2VF~TNerzc|KdqRhD zu|u=S^;k^(Vu3jPOKv%%&BU)h;Ucg!YS>>!f(o|C0^hK5wKOg%0+q-#zS zm58Av`7GaY?x>Q=sfkSFoJ>f91Ds%uIz2PZ+v_?EZ$hTU)W6!WWNVgR^90Ek6Nsw| zvkeNOWrfO}RZj1pjX&=d^=wl8U#R~-+b#QlJ$d%@@xA{4t?B>J*NYFaTz^ce;Vi2- z~=_ zCK)~qQ;yl(Ai`Q((z#?+DOhtC0iadCf^`Xeh1~C?zGDNT{x*i_PmmfH`vi5q@1V~6 z&gwwn3~|FW3}@)i6o+zN1F0ebu%6Vapmivp$UfxAMRuJ_ut_2Dc5XFPW-BWPGi3DI zHfeWXoy)Rt5)u=?>p3Sw;|s1D$u6u}xTpC62jCs9q{+eS(ay)YELbrl8ago_Gg>ia z8Vj_-yKO>z5NRL4*7RzPGed`JrMPrwV=cU0dVpmrEVQQjU541^?=}_^p*p1^kw5z? zX|dUqs;Dss&mv5-`;pz~qsY9R_RH5wFZ_6;BODs)DHm?-Q#5BxHnUir&f%E3rPjbU z8G4FcwPl?;ZQL4s-PaqlQf;g2W~rkr@1;$>DmTBn=EM|w0-|$IreQ)|JAr?;qt*Eq z2XOnudO{*@aE>LG;UnT;L5YUab#ZydMI)fwOu~y;4Dpd!v-?v zDX%+klc^i`x=W$rhHC43busW3{eSvTpY$vC|NZ@Y|DSJD|Igfi6yfP*bI!VH2(++N z8i$&5eZRHt*s)kfE~y}uq%2bW)IpueEc*>xqEix?Z3Wl@5yWiHv<)lxf}I|jMZ`l#DkC|>C`*jsSKcA!ZtV6S zsYtZlGedqCsz|!K#yrR!uxLmVoy`7w8Vy;CoP^COwhi>EU%+W)I_x{VIUZFmF>Rd= zXL4n~CTNVO5{N0`I4omSNXc&p{oAxRQ;|X|3e4hVq2RNWXTa-QiisRT^f3q$m$gvzE8U^ITyjl;kK{wwiSjcRqiN(B@1#n;- zaguOKrbJQ}97Tnk;9!P)Q00SGJeh|}P-mZ(Yi}Xgh1oI}c@TAUw1VJGF;74_en!70 zrp8{Ui#j2RM#;E?`nxcPOwJ+rkQI0Eg}>)I4{O%1P%Lr_B>Pa!Dq;?FR{ zaK}Tx(=bGEv^b<(Br5I)NeI^t;hH}K)tDNpniJ%Le`zi)<(SnM4e3bJW`H=30yfDI zrjBO$`I4=b@Yl{H-Y_JF9s4$o)Qn83_;CLm?HZfq|&#l za1MIQ9g%BER)C%I3gtPHTo?}^`h|{E2DUkqF_0r-kSMDk2uu1QL6WKCC?L&?SM zlOe)2oFn^UX%wI|lB38@BMix#Nqs1E&72609WfiLI?ljJO*eV?HQ+Iz-@Gp@L>7Al zJ-i~bx!oitzL{buAQdXg$jv2zF;gm3lA!A#wCADIES!!3bxLuWH*@4kIh{)hVFqo` zQxp+%#}C&HKrUpG0^5?u)>kA-$5>ZL$xaz=qD4c7R9&zZ=zR~J0Y`>2i%Co9(hwg3 z;c5o1VpLC`mNp_LzA`vz5FV-z4+|no4Jhwe!j=zjq1I7d?XvawK{m33L)7V@ESi88 z38mLLqgz&0@KE*gPo{7#uF46hvJa-H8HJX#R{8!e@-(ip!kS>O6fv&Df`aI zg97=WQXqtyz)=_ZM&VuOJMpfA0!CESOD!=owM2b?7j+EKW-Rl92AOfy&$@M6I)}NT ztQBhF6B;~yOd{XL!$&JSixp3xbUT_vco34H7y!fY=%LMPP1kxKn9BpF7RQ$(z}3^G zQHl-vOz<~AW5*1mV~wbWl0<87A@) z1%?yjbT|x2E$h`MV5$Hv5%nsaRE9UF$@(j4h0Skl6Kvfzpi~fHDJ?_JCZ&6zk{Ndp zlN*X_D&VG%Ks3?OE|qp<)=|CDX|Xp}OUtr5V%^Uh?VqW|)?}t+;8(hPwSj7A<+gXN zOYYVd>WXIeT`Sh8Qgb@i%gt&dB|l@kx9tW!q-)E4HRMJmq`by^#c8g#Q!G%op4Sq*nym1D@zdhlme<;HfKklJl(JM*cOux{(uy|Bu1YRq_FLoLC8>K6aT{n$bi7^~ zt}4@aB1-q>p7(Ob@QB=E{Ezt&uOPtF{33BWr}_YnHZm z?|Gl!*4o$#ut@$teO8J8`)qgrUjBch@;?d)&rJL3$85$(BB1n5l!D<-q9Y8sh9{eFcJSd&h zX2tYuW<6D0IIVWvniKC>-NNEzN{PCdB}FIKXANwK9)2etYCA8Ykv?ANXur(HqwSJm zd)t`E^T8A;#QJbJ&t#ohwx@Fba#s&k1zJRNY}@L%!{E^J$SE9nAjWk`ZBYgm0uRs- zMJ#f4={6+S>=ROQ<-8)ZevuBrfpb|(Ec91)0M_7xb5!#OtNEvRwI}%9f=+9ZL&&ld~{{d%AcuPwmf0RhPfOqdDoH&KOJPiTB#pY@0cR$;vEK z9dq%dgRB%zU7c>BoQ>&|@}l{XMgi)${N20Y`v;%I81FrKdeBjs7=AxGdv)^arvr4B zLyrQI5I-RS+Lk)Fl`87<=L7jhmihd-yMwfj5oNg#RX}g$Y!uEAClX8&X5^zlIg8ZAIk=wFoPki|hHzn$5P~-~#5QwvFRtvxwMsgcZR38;xb^3~ zkA=Wd!11lw|DW{tO837X_xt`f6sEXTzc4FT>fhxN`j6J;pLIB^OUietCa7R z6whtEOmmXX8f-ESnZys78?3p=Roo)9^O-5$Fx2IgpG*#{$v(x2c9t<7W!b1RdxvoK zXjQ+)Kez6hj+b3d%6l@`rm@KDGA_~TnL9lP3f{&wvMqA0O=s!)W6c&OZ$UR%xma6h zPdiVyYDkqWwGa$`6NH~~GNd0`HFHH~o~l%8$@p5^UfB6&DE9^|^;vWX2DO55r8qn& z-~EIP6y;mQaK_#>A2mW$Q2OF+(TY#BC|j$R@h7i<+vrSQL%f|u1IrCx)o=Bl;kgUN zVi^E2ZsJP5bklB)^Lc$JQfuz!MBqt3(2!z2vuIw{0m-UuY>b!ge9skb3t7cP zj+!H`Zb57;9CpE?=H)}QD5iXgB5zaiR{5T_F>seWQRX$-x}kMVyyn~-l;!5$NVob) zZ$BBPofflT+XkCw!~ix2_XQ)Plza`BWa>=ZH^sYg5?AxR6wd9Xz-SPeuAtL`++^nsImN-?7X5$armwXB+kLuwzyJHj_kX`i!h8P1+IN43 zpzqAy&j8xE^MkuYH{11@J~p%Gt3l~fJ3doiH;2kL4|9J^6XGW+uRTR8 z56CKBZYfR1&0EJ(J943w6&kjUXN)BcTSsnv>J)mdX-6)<#?8cPBh{}L)?d7RonQZq z#3A*8M4G^^S+`9r>T`28gNXr zcienqi_>Lztf16w(0H>!b}N8z6F#$7q-7YZq28JebCQ3TnAu#-{wilRAO3H2Fi2o>9EFbK^z;}n}{FykyVDwTk0HY(jUgV1xF-~krp z`hkA^r3^~v#9ZvCnv&GFg)JSW$@oQ1D^@!hT{M`X;Ps1UGF!%8Vvl0MUUUQ2FJ*(U zhj1s&Vp`PwFEER#3O1A7q}QyS#l|=Yz*PjfG?vZV`Se_pQN@K=b-eEViU0CJ zKd;-dH7#88)@Ny2*TTPe%&Y9MpwX|}#sna=p6ylbOSNs>)Vc(X-f`PfYa>Rp>b6M} z#%9>-#+D1kS6{h5SG^kj)y-ym6JaI|H|58*>hnIgFKo;Rw7~zX|EyyF=|8@||M#ui ze@+!(n=k@dG<|0*LHU@P%|UsYo7se{zBXeRsz>lr)*-8j8-{_YX{pvklq8*{8i}HNTLH4o+g}KDpY6doIUYHNrT{1MRralM6rvb^50unhe zxgzRhQF@&7*1RgQrGj`S!&M;&_Z6ABZ0MSA^VYS7bekT6P~vjr1Cotar9-EY9<^D* zNK4J7v!8D4W7&q+Y^t(AT#{l|Gg{4Q=!TXn zd$R7f`N|kODk|ZUQ_!GRZqOLA-t9qah&CcU@}j?G2cnB52I zLRj#so>wwzB<;#7RNvzUB#Eu8t|m%~>h4!e#kKIPPrBKNUQ*JPTV2r9n&q9{TfDl+ ztKHjv#pKcm(*lxdAc?rd<~BXdE4Qru_&p~9z1{q8Pap3-t@!`-ckk`LUyuEFB?Iu8 zq`b{s|5ZeNXKcSPoMy8xe7>2*SM{(NV{ZkS?aZ>OT04tuqr+XHkt;G2UJPYR4MEBY z%;~>L@P=^FV4^EDW>xW~s!m5GKWesNCsM=YGqjyMzd;V95*(d6CyMUETGa~V&sxxo zX|T!M-l$i%@dGOxi|f6>s!oCd6}ItlDO6=9#KlOmi?&8jVU)iKa+D_H<>ynA@ZvG1 zf}Acj%sXMtw^9}67`llkVFBCC7Ss%OIeyc%*87SkJInv9L~V0?=j@Wrw(X(_ZtQqz zKRLViuitRJ$PA?f?7X$Qeoa$(K~5!QY)TH9%(jW3i{TV28)bdI5)V* zTALQqyzDnmv#Mjy*?iO=kBNUJvQrqqH;f-zd?*Y?h0^DY09QPTwzbZH{&9%bzTW4(z0hpP3b0`R|M=N{dH>&kvUh*~?ud@Bu+hJJ-Hu?in-Rmpe9m)e^ zAG2tiN+m88Wufd*@s}+s*l=^-J z8j*-_oRFZ`{+gvu`@X1uRZPRC2NU1~*LTtE_s~MG&zCBdBHGKWV}%XVV(Jkz8dbIn zISqT+L^tk>bW;49eA4aI+lV$|CQSZI-KMX3sgU>2jq~sSRM3jjGeJ?M_}N z-~4pVB~0s0^|X6hIp=;b#o3Kf$qsrcD-;=#;cLraX3{lxUt zgf*yi!CpkuH<;T_k`2Si_b})p-!A*Ah$8KSchS4Zcq4u%-bFP#9o4xSxtuwT0k7NO z=vA};sOBGjCmvSCT9%+02LXEMx>7BY+pWU~vbdH4auhfUJh=zzSh1rs;j z*LY(RPUt9NoUEqzws;ok|GQ82O8Wo)W4M~)zG3;7|^T-p|vGd3q;49~mmrP>k z(f{jgp*NUQmI`$8{DpA5n6p2KpEw>32=1wJoc-Z=Q{l6K^u8i{!r6y4!b$PWf~eioVyw-I8UxV7VS~mc~+~C=gJ{M$|_Gl3WuKWdl+5JjdDE zLKiRp^ZA+MTwY#Eo!ALTOrn59J|$Z3maF1{ZVy&yZ3I0)d)^1{gYlPPf+md54iNL{ zL9fTjh>C>I+`bnu|B7&rvfe=Tuez6ALcczX1Ph5Hp+H&xGnB?s(aeg$@Ni7unC_>2 z=ZZ$b0g_vAI{FpI&V(dbs=spNYTPw@9{E9d!!!()Gb0>Hn_82Z(rr-ZXA*`C{myt8 zbkrcWw$MqGa2BL+j^H>TtCc1Zb2g;`5eOU98|x7olQ1S+pzAU9$H>Q#)M3DW4>uKn zL{UVp^|YW=YQ~BvDrC?#YXzF%2#*N&9H%&|g$_XQzx^d05FE!MZ|zFI@d7gKDar{* z9J1L&YIjoGRL#RrHbg+6$EtlAAwNt-Lb#-$myBJ>;U-M>h*-)Ijx*;eC>>`Q`#tqr<}k> zU(kdI$8nKF439`c1nPVJzkTnx3etUV&)fZ8)sZ_;B7udU=P~gq4iSywG(o~2lL>|| zTj*qhN92sLB&Sxx1d_0lSxgR)fDM;}P(XywDeSrq&~xArWQtqcNh%waJFJlTa@XY` zL_Xk29FhZ+@s;CP{I{U1v#cacvua=Rf!(r3elHr)=!4@Vc(kZl)lPy(b~Ami|J3Wd z0U1ynx&2+2KizknI1R&77E*uVSOM9?8N#ah)2w24$^|Ob!=vyT&%{HyQOd?4arO|5 zx5>jDbzUWR2(tLe@D)o=IT0jE9;)%ElYWs82y>2S4ni~`%Kk8aq-OgZ&X6#Jj#ML( zGPB|9e$aM)#|Mi{Qi!hSH~|@?7P<%OFtCCe1q&R!&>@RCi5Vo{a>FN5>Hf<9I}lLoCE1 z+WcwEgfg|{15D5x7N!$|&Q(JQTG~M;LqmHVx3h!nZeGD6)#>QPA)rEzQ=ni53#D3C z(O9oPP#SPy&$2{s`pp%Wrx1J^hLrX0!IN`K+X6(MFq z&;bo;GE?1xhBGFVi!wH(4rFF`E0^RwjVpNXx^BJVsnt*_8@o=>3ESPal)W&n|0z{_GTh4&pF}*z-JXU?kD>AiK6~HWa5v z=jXq_K6{>hK+3B4BWIHX>m|~N23NCT@yi@^nb}bgYZGxL{z3iS!t$v^vCAtmo7>}+ zWs`2(p}uLAyEK0O4ES@l>;nrxYl)+Z%)f}6&>Q>cQZv}A*B39&z2rku*p1!bXn1$` z%N`Ez_E$I_ZX4}(kxSr>4~k)KPKHt<4H@_4%E?4_c(1R7!|8*RSu_kmw*ygzLn1fQ zl}$8=;xI%~`$dzPKJ5V$d1;~!JDr^pE)P2$p!kQSqAhLk&SUq|Q_ zo07?ZaMa)5L3_J4@#Y;=tUf-Q*L9t~+k#h3*7PJcv`aXNsFz9e34gWD1b zPEz5rp_`0}tL?$C|EB^?@E?pDLzLX=Dc?dN0oDpkcBJo*aWo=AnI)9bMSjms8k)yo zgOD&O6c~>g$B9y613DZMn3f^INy=qYK|tWtRe`#%G$?3A@}X9F!T6GOr6E8x5hNVS zO%>*W)+;iUy?Fi7(^C2OF;23vUlUFc)wU<14}8mb_&<*0qEk+$U`N+4g~A6FHo&PM z=(4DhT%v6)H2@ET85*!;tSapReESCZRzq@Xm6;CUFSfZ?ZBtoS5R1ZD*F$fACY;Q- zbQ%k%qyZdL4U`LFy$jo3A4ig?0yJTOqkOZA2P{>5WsU1n9hrNMi++<>P->7is9sja zG~M?K!y4j0dt17+3xjhtnJ*ZP?C_#UO>!Ip#cKO&lJo*2t5L-a5~Ln*p&G(%K~ zl!*3SDji+(ktS5(lL&Llq=1kzThEj>y4bY?MuhC%h%Cd8IGV|c%!iRf0sDj!v)Q02 zrjf%I^Tu67hF(iJ84_*;)mt_kQZPC~v4Huh+}XgK&1atJ-uvnP`w1PX3GQuWf4Zq4 zu8#!~UCk!?Q#4YOXJAMen(k|A`Av{v8lsR!S71H;yXjl@>DdO`BuyBnI21ij1PiCc zmBZVE|L(gn6N#G-Ma^{YA9jmvpsB4e2-&Eo$`DsV0)4vEJvU+c&;8y%U|G{{myYF| z`5!)uXa6aevHhZ-rlSi7D2)Q`%6=4Me@sj>JILHR+VghNwk*)mpE}+DbR_Le@C?XM zN?)J>U~lrlCo!74p~|H9L5fZx2S_Kdw0q7uA%)J3 zsY@AUsgFV&jZ!=!XvC(3M{xK~_=F0zR^ljdLOP*|mWUN_yyXv`S3IWFKFIlUFt3jV z{vZARZYlof-jn`r|0_TL{YoAjMNHF^+@kw9AtSJwpF~5BMZ!}RpBW*;qX$~Hfctk* zrE+i_zsb*E_nvvXPSMbtog-Un+TxSpLFr@|A?s{YFQ3Y)W>h()$9m3~O~?VNIkt1C zF9%e2pck;~C}cPgy^xKVFyGt>=2u=Ejhrho1DD7H$2BL6o%+bihP02h#-8b49O`E^8s7?5_7(x53UO*;)12z zC(zZxn!SV*(vt(sKd4p;YN#_U&G2oL@cnax=VtQXGXKr#W0C*ge*Z~X{_j8j+WmjN zl1FZ{jDp!l3~iw{w}PYwTaqDLTj&IYwXMw^pY)EOqlB>#v>Oz2<`W^n*KiB{m$;&_ zIZ{$K;jJyl{%z!(+U(v-qUE2P@qd1}@*WR|G@=P5)oX+c{Qn;J_e=c0zuSNM_@4j2 z#8bNe*G2@a`&yv7Ds)DYl*4f-8zv}X0Xb3>HB+}Wz>%u%Si~YcSxb1bfl`#fA78)j z=o1=Y4n;aY9G!LKfB$c%s}5b7u7@=AAgjb+4B;ero^l$E&iye7(vU`@6L2-wuU~v1 zehL~e_$;bQB=U(lFa$5@7i!CBRB>}4X-@PY5N+YSPckJ=7?;X=`Jhr1&myhcWcui) zbaLoI7xvj{xjKmg^ZJ@dnm9oHnk!$~JdQCBZZwawfz8gN>Ood9i&Fb(lr5Z-koXDX z7la!>Eca`g%Q>@mgNe)LOfq{1briR3WCly|AjqG{lbxDA=UkU;;AyWM`lHaQqL*b_ zRW-a;mnAdYCoE>S_!pCYt z&x{JX<)YaINF2vrk@vGo2M8jg<)l>U&Qd4J%i4o0GTX6k+ExjvJfa6`J%zPZ*Q;Iq zDjl0BGGz+L3S_KTSjVL>G-0342po%fS#4BGg8|1S%{`zxcdaB2v*?RaKzQ-WyIfHU zVj!Q{zm|KifLnNB39?$Zv1Jw*yF|CDDi&tAo@b%XUF4z%-vS#|W$oJ7=!=n&WIXk^ zrGWI8Q?FoSvOc||uuZwwJDL!5uXnW5JC@&xy7iLr_Oy%28q`WA-drNq$io$tiq^95 zUZE(w*zh{gR)M%RerV7Wz6yqzs~)V%5MO{GTCDhMTkOA#X-oCA2FsSU?O&f^%UaVH z*|l!_aO3`2_^j>x&&M%_OKH^;zy;@jPoM4Xme2nlKf6Ew`y$U>JO4|@1SOb{NMgr7 zFizf0!m~hpa-n=K|s z%3IL*Kg-Z~TU_TA?vcGDvPFUu zGEBqvlx^4e+R&}hcN>VN5#(@fiDXlHg9y&FFWpzy>MSc)DpOa)Y=LiwKUVAbZwouF zTd>!%&fkE9&VD#LMx5x22rVgz53qm7_;j&)r3RfQV`kFCEHw-Bs;`fukI$aBodll; zcWe$8a{!KM&V5UvzoF*(Fn@G9d1Iz*nt{$2&&8hRRydec29vS5NL z6`H1IVdeEr=^Mf!<1N{YM&FK!^v)m-fq+oZfr?X(L)7{B`Ev)MEbxP8!pO^EQDOIu z1;U7v5%~a4BM^Ov-~h29czO(*$ACV6Mg!vGR1noNME23qP_BrI4q?jD2>pHE+t&fq zgo-HDp;1CO#AA{e8L~7AI*4%2q{{c`0-~L9GGS8^sK`+e!A`|ne<;v|Ms$)!b+hs4 zQA?Ae&Vpi%wPW+2g_+LB?djWH_iz8|K6?8P_oQ4)f&P~?efCW zT9JhiPmr|(h802{J)=m#22=C20FSnvNUTh6@>R7XipXjc8n7gFc8Prj9(#^X3;JO>_Z+jj1!S?DyP+*_R;zA zar=2xuB+!o1mqdbiJ!ePM*w=2t5j<5&E9GRnd*iE9490&y&N1uV!UI^7Lc7}Y;Tt{ z#~Y85LYLi~i0qw^*<1Zt$v>}JDUCZPL>OTO8xY&K(?#2$p{=V`oF+^*x(s)kbcl8i zzTP8rrs$7G7ALeILK<0QT%t&rapUkIrQ^lNYkyd9fN5CU*r0)QpGCR--+S z)pwu`70vT!v*b-s*@P?|h85^qZixaaRBT?O*77upOq||K*r~imbV@@qB7w@QVdJJW zB+n|lJUF&e+-U=y+t83sebE6`_@8(Zu3g!^e=5(~^nciURb&7BWwHLhzxS+^|8wuz z{?q&TUti?81NuJ<;bP2LIvT4jd^y&$3ZJYNjw~T{Va=bLS3FPMKw0!ccAyeP+&qPP zmg&Ka>c+_>vJv(-HNsWWQPkXw(fqC>M`z88>PT#`L^&meH6v9NRMSy7CZ~Fy;JcKC zz0g~IHujft0BmThMk?8nNoc`gE4l+I+dv;vq(`Mv89hu;GUn{sSes~^k2>olnz58;*&}lPEeCW5g;sUmY3@{~{w}`k1 z=M{q#2{=JyN+N`Z2_!KzG5-^=g|aX}J|`f=a3~;%^?;y=kiZ0DCo}W*N{7PE^0Xyr zsuG9!A*K_tmSO*xa@dU9xdL?3Och;Qjw?Zp(alvl|FAb^*KWdk31{gbBx1~1qC$+T zyZ}0``Bo0RtH{s29@CJx*}UlTdS=85AbwY>q%SoVid6~n6B=R~F4$Mx_UifdKWo$f zAdBQG`d@!{w;ca*@7ezDz5e$_p1Y#|S;w$3m(*q@fAyRbJ9nyFzydlVLTv$sE_%_4 zRq$`QkOn&_A$&q3B{hdQ3?ZGiI#y*ltXU-aF zVO*6H?rIOJ`Q=+|<3*v_S7(ieywk{#q0T7@Swsce4oJ)iWR5<7ydye9XT)pwb|__`oWsIfNJv?>we%OeS+^W!r4im0 zA+Cja1*pq*@p*RgT=W$@W2}btSx9;I4@#&ijO7zbBl@Qah>|5D_0YU|Ss!cb4B}D_ zYBPyXw!^+~Ays(0vx7(v zHb{sK!N=L9)ee(3~n=yqI5DKylXt$bTtp1Bq|^OfS`oq zNQ5R2cAn&Uh9{xrKbjqPVtpP8=~W{{qlAn|<*4(yM4Wxjd7*uf?_IaswwXrZ|GWx(bo$2XV^We&>F4Kl-{m@aTJJW8H+Gx# ztY)tkA|VMiMX&%VTTQYrWdGXNwy$I_3;+_~L6VPgy38MKEP{iuf1vira`59Lym z7K)lmztIOmE%5A@AFPWzl2isDO>-AouX;C57|!>1>+el>z^cs-KS~yB(aD$l9N(x* zJ2{u8h>jSSazN_9XNyb+&$+iGR|^Jnt>cY`;wx)m70Wh1vly-I68$&9z+b`0?%l3l zXyWf2+xBVPVodH z5_CX|Rf!j*=h;uENYF`2Vo!cR$25|f7Myv>?NpcK*MzY@_ui6mRVmi)O-d@LT3*O` z>uVzSH_8bOY%r@QSHga&K+A1_h`h2+El3^qsgcvxz?Yk+OL{d?N=j5svG|cJkOSJU z6Cz3qX@{y%2rk9^TA!_G?xtzZ6A|EOM*N;F-tPQX*ZR+`>Hj);_BG-^cZbimo9F*~ zkNW?8JP$_yx0HF2<21%RR(af8PYX1+nU+=kjn--#>Z4}1_T@K!8hr${+XZI**ShUF zZ**tY0lYcCKR7g!vXR|g?Qo6l3u*_1diN|fT7OECStzD`?dj|I%=iJT@0$HWa9kQ$ z;GJp&ZJ#K~7zd+8%SSqYQ8{*XHQBT}?s7&w`AzxB@`_k3JpO{%ht^Jw#Q!2JIb*=5I$#cIj z^X5!jW4c;Fmet|wH7J(_Ww`2+CO%w%XDOnyS&>6we|;N96wwr6p>uAAA|p{KbhQV& zdV^F2#5{5vERiN|;fG}c#VX%ZmnPmjf?|jgzQ8G5O-dNc5StT@6fiB;^bw2>eVxH2 zCa~W%o`R+kK{S5~>8}@XCo?e)5o6nPg3qnoqhib0|6&V~JPN%Z*aevrzNG-s8Eo+i zFNx9xrw}De>O$AbS-?HjQpMAfnVgdu$#INxtVyS5rrWY_qwsBrQv_=nZDuq&zsC91 zin2C6^brm*{*7lztGrYTc$pyWnJ#ZCQsN&jZl^0fiTrncM{AmXm4+Ib3N4ouhMGv4vAmHPHng;9C$w zX5W@AU(X5WG$v9y@*<7U{to<;&Q6Q*m|h}3=qg=&%!$+})uBD0DRDMOyI89%qeX?f z+D%stKr3~QcM0M&gRg||4n+OCihSiHOK?Px{|_Jezxmf66fOxjE|O${{w#1J=QWmk ziVnkmM-+5upUXZZ=AyiHF4&CNr!tk-P`RxVI-~j!BA-%$HZ`f9zdDs|;Upv@Q4a#X zP1pngDYF$>w5Qbp2hbhz5lQ4Vw##WQ8#Ww?hEL4Pl2=Td&IW7I-F6{9N$cU4m8#8RhVtL%D<8c)hQK8qs14=i`}kN#f{bQEXFh@i0nom zMON+fy)3PP!XLkAOV)5tz46+yk4tc}7mL;Dk`=SG)h#TWl00r#>n@#E)wx2x?d^@1 zQY+NkUQ$O%!Y=Gvl~w6Uea)3A^29{tIGhzpPJ^nEWmY1ZqKM5#aQjfHfa`3^0H_IH3umjF&x|YJEf@u4Fb0UP|7G6Rhouy}?&#lUzn5%Mr<@WJWkn0+BP0C(0PP zOfa92{Fv41LVmgNHQkdOSLA+c(`;N=R1t$R7>{GavagGGlxp|K9%Q zCH0Ztz{N-Y-ryzmdj_ByULD+C4cz~~-3e~{dkszg$Dh%NuZ#3{t(Wb+{hJ`Y^K8!n zxAV>Jnn;ToPLef|-m6i1Z`e(mHIRN*qrtQN?un~Wn#8o2T@&l!V7r?**Fbx?x6?g$ zF5bZZ>#}t?a2RB;do#8U_Z$WpJX@EoFK>YL(r(t_YZu)9aCcq4-u|3u@4MiJ+uPr) z$J&)ippO?y;i!rtmo`Hhlgs+cW{R>leP1U;c>|w9V&kV@iKmFBknIAtS9U?-@`@ZM zP|RC(v8nR8Z24&OoGe6%0aO+*b7S1pyMAl>pUNb3jri~F!T#`BBmR5%82@oE&jZl^ z-0*M3N7`+&#BXBw&2g2Ofa+77->NO_%x!~wZIwz}RM}HfoGi+JE(`FkfeO$I=ZAio zdrDWPXe&im`={VQ7C~u!OMNXfudB4l%Fbpf(K1Fw z6jGz}G8G+ca${}&QHWe0K9|JrY5h4mzrZ}M0`OHrPQc(FG##^pwi{kLA(4?5IVYq) z!!)g4z$9*%(W`!erj6;ab9hyBJb^%U9U_n{q!_;-Xo}}@5OXQ^>l78z^0&)$-gPv) z%b^Vi)@rwa6SH1=-C79bfIh7IAGD*Z`P~&=D<%%4&h^zs3O6?!ap%2S_)ltk*bL5X zF+8oVzs{yMq7?%37m zGV%gGUA??vE=wMj01ggO2))_Mwq?~gIij2E#{Hsk{lE5J_V^NKS(OE+yn8BfIn;XW zlCPeWNOxb=Ub)x|h}CPYOyI~k;w0yk%!%YIhzCkI!SMn`;L45HT9Z|}L>1L$=Y_YE zU78~kcMT$6XDf_?ot#ql9$R)r1kka zeMK(1hW%V`6gn|`h)%{PQ9H2r782()QyEl+IgUxm1p-SqXN}!U)B2od-|g>`G+Lu$ z=*aF_VzPx&W^YJvXsh!EkFX&7yNIL_Uu3yi4zkbxh8WhHbO}+gqC6wUF{Bsetk5wp z_8MxD3fJ$uT0z>$Z9@fhc}gcx{DV`*X$}FVY3*_Dm>nD<-$!LyO1+EKey%o6D@erm?KqM0 zFiZp1`@PkEI6$EuesyxDc)&2;k4n+6YokR@6A?~G{v%oZi?f;3e@abM@|KUnniRHF zy~f>=Mz`?I(vG2p?D|K`NCjoLbqq^;SJU$x=NLQ|31jC)hWxoyf{neqM(9EbSI>7Z zj3r1bDW=ttZ5SEPy!9H46g#s{$sWeUX|(=`M*F)liL5kF`dYh6HT5S7D~$#uL$56{ zXG^N{vr3bA?|&uU`zU5a6=~Emvs9MV`}e7Dh+uGAk>=X6At7^nJ41wRV$RA_SJ9{g zfR)Cny>mIH3XVNV9S}R_Xs!OOS*jVmwPbm^W(;x--cmFi+VY^qu&ozrTFMI=xVfkvTCz^xv+kgN5okb$ZWc*QD zej?{+Z+-A~&S1Z!N7ceww;z$17UOY38VN*}k5^LYRWa+r=|fir+4{fBVr!L^Sl{VE z{#2-soL2QL(U#@c2<)>-yCUS%ce?!30k|w>1XORUG(t$G*EGwvRPDwKDj+L_Ks48t zag^$5G#c&rSi_H|Hux$l+m5R8T{nDX5 zHwve3{dl)}VeMk5-P>k|M(EVxQz&<;gU))jPSo@?H{rMq9EqnTNQXGm5L#t|`)YM& zo(t_s#3(S? z4XUaR%dbS$x~e3I`W;XNIa20tciw!gF27ivceSa2=wD9T+xgCYEEgB&fLYqLe&D-J z>WR9|_GGtF84Tb1?|nP(eM^S-?vIt-(2m-wn@pd3b^QIGTa*7)u8phT|Ji-kxc~F) zG5_zqJP$zrYw@4PgqLR_>LjW>cPiuVGQy`g6UrbG5zESKmHH2%t^lR^vOBjed0~*7 z7^Y>@XjrmHt9o|@-iIOi=n2lU<%toS9X8FkMtITOSTlsDm@mu^o7D@Z^4_%Eo%KI_ z@X=<@{)b?x{;=m(@lw;_Y!P{upv?&9@@pLn_#}Kw5}eaHIfeGYr%$D6oT-PqvYpUREhJ;K;=*Cb5c-#^FVmYM(7LRuGeL$47wP;L%uPa5aw*p%l1tkF z`1I-U$>w=6B2k_Iag6uXO53qChhNQWY31kCN%^(E5(NzXAy_IU?xFty{PLk}p>n`~ zl6u-l6EPV;Mb7%3_FX}f7?E_2=9sHcF?HVnt28_-C$dHqHH&6uW{aRaIaxh5HBgq1 zAKt*7m@J_n{Du6-PZ0YZ_-4S?7jU?Hj0O2u<5Sqjf_jO$dLQ;dbSJc`LR(jhO{9*Q zL)2^WsKB4qiE}5Ej!^x)vc%xvQSZQN23OA9(kP@ddS3l?r6tw?T>0VTXmm`LHG`q= zp82#NXTcVhzaIS|Up%SBnA8-3s;9;k4hv4u58ddH`w`$Y!x^0KUsb3z!Iuoflt?mYZJH{6T0ogE z!tbykZ=@6f6RBtK@1-H3%>*{1xdQCl1(N)8n!>)SN#s|i#788iczbVOPT8Y>{%`i& zn*Dcyxm>huCg5`WZ#W!2+pF7u`_CTpf8ERTQ0%{VihU3su_8x>l>3OYBmvQlC(DF% z$$7f{8J;XDi2IhYe3?vcg%;GJus17DxVd=jqmYw~37Rv$=;WTt(0iejH8^TDsci_&n|t5If= zkQX`Q6el8p8&6QQAkdfx67xXM4B;XGMHoDp%boTv@9B)nG18U6!T!nN@*ADd6enx( z;*7;`Y39Tft-n$YdhYowi>mU;vpkAZ*G3&&Jd@v%~`cu9mD7ih28NxWc2UVUD# z;Zo^bc0u(I9c9*)^CCle}izHoS7a(%DmB7K$N)$O7- z4CjtVokErQU3+mY>`dUZP36NX7;I%&v-_pw+yDE&{|`ESas2b!le2%LQe?c=14Pv# zPgrq9?o90EXvYSwWejv$AUlP86dMc{k+!iEEl>dkH<|?99WnF|Eu~|Zp-1f(e z&xDp9*xVC~K-RM{`c4T(fN>_5IXbGAIXYI$+`=?Orv^bNJqpo|)R;6$i_&8Ps>E!l?Vm{UAThzLFJw4#@h z1x5}Z*rr;ILv*ouQ)a$H@~o0Vl9L6=b7Q)c29VB!DFt+r*g1OF+agU8O4}`}YxG%G zvN4aPU2IGVC4*jE;#roE1DzV}`rSl=>g!6}T!`bk)-L>G&XQtA-VhGc1Yi0sR{B}# zGe~vX6TlB)A&QwfLW8T6EJ@f!8JDeZoT?bsHe9MPl+}0}KQ?fzy|4aSt!-2kbA45= zxUIRQmJ05QGfy?~8-ia8XEQmjFeQJY5S4LX^5_27=vb;3Rp4%kHqtQQ0<5Aqmzvfl zO9`4`np&)C<_Z>NPbq=*i&)x;rAgpdh`feiZq0+@*4A$l1#?mf z$_9l5+MF?HiBoh%>O48ut|M?lD)**~$~%JK1`z0foD~ywm$$0l6v$Rhr&u6;eeh5%8%RV0ThuWt()@6+g<=NX7(qw#YTP9rcJZnT5e?cwqx__f zwQ20M)o2?Wfh(=vueAg$^~DxBVXx8iie=F@FYevicCy$6_Is!XPcd*xNQ^Lwu)64! zGf2^53OlGG(r6$hjhvfY1)9s#;r1+QP3K zy)BiEb{3+aL4&M5c%xH$Yu>cY?J?t)MIEAlIe$Ba2t;YfLoSy#?FB~>|%*0^_y(m`krUSG=eL^XmCJO*V1Yu5_+Ansf|pS-8S7$J?>#smx4^MfEM?az_Zw zo_nBE5Oo=bE71TEUa|i_d$zw_+y95p z_8;Sa@8x+Y`@hcNL(ogfJI}vECY4Z`8$i{^ka7iPnO`i0)urzlS)Rl zC*)l(2ZEbj+9VwXOVbS0D*mBTA2|6z$|zS6XgseX6ipwuAQIOjsdc_r(+OIF*39=B z94_){L(K^tkb09`4XfOso$oP^rZgu}Uhvi^x;jEu^E#v=pT6N_OfT1fBR3EEK@EmU z7xtF1+)gHDJ4&oqzSC<99J!^W?pdmYQRtsne&2yZwr>A#NqM~2HJoOPCRERLtTL{Y zohS8l=$quv29x=4Q@v+iYIaddM(yCBo~lgL1GsDL>a)~H`PMp}ojKop%_D)FVk?w= z1&)=2t@*AURd+Oiq|GSTNh8@{xJowGZeZ4u>q)s?!=c6fw^o9^2Gg#lbd$(8C3GWE z-iMCdg20ZB^zp5=&~ipl&1L(d>gK+d_G>U<_0=7asST&)6kB6E*XL`sEPKlAS#t-HLQr z1MlmIehv1^R~@Owf08rQt5s+VpwY5{RbzLf8N1*TYopU z7SuI%<2%)SYa-;{G~c_OnwzV?X3Fkf{r%kA`^x8T^gqaKUS0%UrT^{j@72%$_I4ii zzk7N9{`w#A;{9lUi_`!9=~e{ZN}R7F^#JIXt@ptY)}HO_>U^y*ZmRJC&q*Qc=|x zSEunYxm@EboulGNZ-pPu1hE5HpDl<}> zQwx`N-M;4zXNjKE*~e7@-?9l|4e^Q`b3J2X37{KV6!v62Y_q~Bp$21NLUOJ+1yZ?d zz_?Q-)sk+vpsB7sqC1fuRnwo#h|tv%1VS&HOLGa|B72Qh|9oSYAaAg!{ZX@Jclw3K zF4W%R9Y_*8nDu(1#D?%ib8+iXzl5-CK5jk=GhE{ROj2=a^Qo zOb1J3wPkMe!?JdNZ@Yfo=T7W@PGTz7KL6R?dp4+_|LpGXKidEI@!YBXe}@M^T6il? zTP9Ogi<>F&?J#b*!zrK-QgzSNZ5+r;Z#FbF`n4$ynk|62)4dA%yp3(Dj=U(b@1AD$ zjXh_}Nv{&0m);C+D2RbL-H7_&OvF*6aWaY?j@7`Xq zYh?EP+;ZPMce4N6_jU3tS+W1`K5N8(Y(IOf|9n5sL-GHY_rLXZXxRpw4wg7vhYO5DW(TR$fPM!`tm`SoXHg<+rXoZz{EF zD{b0_(9EVEjI6CS#e&pQcB!z_Y};=U!bi?zmB3?fsoM z>f8GjXhKrRh#B|SzhJM+KCS9sHPd6$$iz6u?Ok*q@~m;gvD!~`*48pZg5#1~%{{87 zN{xvs9uCWi?z}gui(<9ZlUYv(ExF9pm|D8pSC6T4EPg#j!OA7+)D^Q;R_mXSi{^e8 zP0b!?Ku3W)Jkzwy{amFmH$b6KG?)qF@G6VaT{}T73Bq+NGgT|D>mt3| zzVBq#^eYRcXD-}ZzcgL@^M+I3u2v|QgWk%VCKHk$7o3wcFHa_XzkW1;)3}rzP8q#M zPgg37XnkKtqcSwmS!L5ks)=IlgZJtC)Ld%+O1w{7%#n_Aj$yCkRNFPv6?mxS)(~rD zUQZmy=xGp0wMg1Thfid4Ed?YNIE_Q7El{#XHT%|YhJX!9tZjVUO#ct3B$?4k$~ak~ zW3JHu2m6Czt^Uv6&T#Ok|KG>6f!^R;3KOWes-{xz3@I8FG=T)O8II2Jgox1FP-P=T zkx5PwNK8qRz!@Bx;XInsbh3rGuFbA?w(57B#@+@>$wU=^*ieum6{~fquc9vO=Jf=P!g8W}N*& zqTCBy!Qu*~_l94nfX+()uu;uo5py9z*tX+}^Xgj+4Ehs(aZb^c%5Mu!MMW6sYWffr?COlw~tOuPUf` zfaXK*oTl*sDhpP6rnaKQT;bhWt9e``i3-tx1l{JV*+MBX$p3*P2}AD~Phwvo@e^a` zIv;o;2x0|CR$VPfU|yvg|1WgL7wFetUS42My36xa6Rn8@wY^B16P|G@NN=muSO||O zP7sMH0MNR4Ij0Jqn$(jtFA?!P*iw{cqie4Sgbjz31wyAJ$p{zdVoIYaif}4*DscKk zm?(%Sl#&b0J-R9p@NR=!duB^RDr-3pJRFO{3cg$gHe^$8FP+fz z((`gWSp`X{%1!BugIYx&~=P zG_Vml@HR?rvKeK=k<;!pZ^-HEn6wRK%^ErxzhXI5VMudt1F4~Fj6h7vr>HCGWR4zHd#R%uSfNb>Nk`8UIpcUjjuR}zDwg_w%7k)+R0!ti7pO6XP8A>o zkhajtSe1rg$PfH2WOwrlb{5~)qB5oe3YwvK0lS+LvT~22>BPa<4}8zVQAC7z$zrk! z-6Lp;W-P9vo;vY%I(kcR{EpL{yoL!7^skkjozlO^6?*vQd+K@8{#XU~jrP8cs)>vp zNM_?(%Fc#$)TD1X)1m0Pfh@w-2(W>G0)X@eSWQ;9CC|Qa;-)LM1w~@TC~fbUiNDs4 zH)pW3g@%4k7B6uoRkedUEd6__wJDgHsugoi79g-ee#q3~DL?UoW- zX-*}o8^}g>1EJE#CmWgIvLDH!B;|%FY9$dXq@;Q$?cEEVe-{ao3JMl1tVOsOS*y>5 zHR4-Huo*!)oe?1cT;LQI_@q%Q$uP5W_C9!N#57A zg5QH6XxBD1Rj#jUB9!0}N%RhdvuyoO)fB$Y@Sg=KRn}@YK76nWo@zJjM>N{sC23UN z8~OCfa|Rt}Nj2gy47K}@r1OI^H>I%x-W;8tzI*-lxm7Z0Zk(SUYeV`HI`GIn>V#+%C__Vrh@(mdAMA4t3DCaiT-7l78NXeVhPft*t0`@vmA< z=okB7Q7^Dpug_kbhWTagm{2!3xE&1c_vm&oyvE_}x|zsVr7pekF)qx_$yiFHG2@Zk zIhiPr*7fZ)I2({MizW%^b|A`dLZtQEuzYoSDyR&LW($250}kxkL>>D6R*ja2z7HJ# zwAOS@4|%<`bGvixK!LB=c&g<%Y;{UWkB=gM3N??ZgEa1{G+A|6tsBkEB(r>tV_PYXzn} zaF4*1E0ljlxgg~G%D~ra3=9M)Ul=i-FqnZLjbr3cF$z;f$ZE-lSt$C6oN z!nM;8PLc|<+SNj#B_~PlI?=8MtvRc+bIk!98+P8V__D>SN6 zfSpiVZ1&L9qLFBeWq7;9(0d6dW5SJ~`jw5x6nuryEM`$5EgP7#<%?&&{o8!!w;7%2 zvX2|(KZ8P$Ai{!(o?a&URXS0VXU32-G~dzO^0Of0B0&jF&%x>WpQi7eL{r&sIMM-$ zAj}KVCux5^yTF_TIZpp7`j(43&`#z)yb0Rg2*T$yBBGz;D2Q1kKNmq>$m@EP*WZ@%IKU?20FiuA;3+-F>FB}fz_L1T(J zh1?3dyBHN|tfSVCG8|2bL1YVQL5Q})0os%eeErJr{nL{?KEn%GE^?OuUIj5kE+dkG zn2OjeOQ8^Z}d_fhrZ^Y}bIkI&Dc zVQyr3R8em|NM&qo0PMYad*a5nH+uf&Q`C0n+;k@fi>YJ#ob2~vgfR{hHiK=*&g~Xb zSx9IgDhUutfA{;WRi%N!Zg+Mkd!O@~JRJ;3RjbzcTdPV{0X1e?SPW*GwkR(AAk>_b z=1dF1Qmnboe|(jfBuUcyS`FVNN!ocY|M0$E{f}~8`l0&1T9e+_|3fO*rF#88i1c;3 zfBqG*Pz(M;`ltKa9o+wrm*#nXsD+mAvGW2UI*6W?`~~&c%z6wwI=~IJTY2g#sv1kG9 zjQZVkG7G~6J3l$mbe%F*;)-0-eK)zPpe?LB8ZgWE&dIV;&=!mIW2GdO$_0ZisAo`5 zwtFi7_7q#jA zI?^|irCs$UUG|sVs!=uKdR2+*OWoC%irrW#&9jZ+>Q?7!vY0#=&1uy<>(~ubX*Slq zVaHU4x8;sqJDs%eTzykJ)vNvbv_1O1>#9tTr8TWg7Ss0XeWx;7DROvr1MOWoY%;8! zb}M~n;wj(XT=f@5d+ppfeSb2z@W&6gr`@Xf&R&O;hyD!5F|3{5RA;O4y&6m&Zq2cK z=V|w~vrhE=56ie?YWKHi9Y-$@hZm~eQXQ@Bbf|ajjH-*?U0Z#xRh0Uq**Uo}{ZlG0 zYSV`cY`b$c3#aY+rstVw9rtoRtz0`jx4!AQWyff@mcXl?Hw*QvesD9mzL>PntjXYF zJiKd|x0SPaGHBGgb|V~b8Y^YcSa*SMGVpF?^7m8mPg*Im&;Kj z#9j>gt+7elWj6Jc_qyA6ZwA-Can)b-tkb1YHL6`t-*nxxcoLtkd&7CXyJ^JTO(*U? zT+b&~c|-5(()hs)r=DUbZRgr=O&(NRcb%2dc9v7?BA&Fz@5lGoOXK18tYdZ3>yv*8 zEwo);I(Jdl-BmQLUVGh2 z-|klK*yO(KOuhc5yJP6ubT@k3*& z3~H-xRa_sRS~uG?p2GNg-nBojDB5w{cb0MGtR}fSr^8>c_G9X4XcRc%$iaJxgLI<}QiZQquaxNJ@AYpZ)d z+9<lqyFN79m(iqs8Bb)sV$~$oHnbg`c(R>m`kop0{l(3)4_v>lfY%ByMhS{mQ4(0A(fMKnrSA1-Q|`|<j;FPX7(-wrlm+5m9E>irbPypb&0EYBzRlbLb9mO6HQ zq_sz;#$zJlmT7zb{T@D$SIejR6XTGyhdw(f-xN+uEPv?`3d({`lJ)wQF;zsg-?Tq&k@Uo(yN%;~iIj$U!R zsZ}%YDl-S}nG7z7j z&RV?~zH9yP42?5r3&u09oW&x(n3MapGrfm6yAsz<%G35LPd}ShjAiFa^{3T4HfdhW zrdP&{J}Bnc9hp=2Zl=4}^{y@S!(A^9$+cTWxm`@JcKr*t-;uymJ?CySzBimZ@FNdO zc5SMEAP+Ux9xkMuk51YLod10jaAPhPIY7_91Ro8w<=xxcGH!| zkt!?D=c+5WSl8~v-C-;04g0J+R3gB4wZ~F-IEqwD0$r%}22#0e zk3-dh-{(B>sIYu}c;vMF`#xs-e!4qFwaxvDBwZKYNe zE=Spnl;NBygIZOISM{#lD0gMxqXImMlp*To8sx4HP={i;R*j{Npo@Q&Q1{DfbG26F zTc&Jul&1>%1a!rV}a#4pP{=T`56#E)< zeWP%FuBy#ixi?rpvV{pMRY`o?rhVN!40yZ~aGAdR_nVSG@kDB@nwS z94wQv@SL!jR;j-~e_yVj)eU26oa(ijrW@2S>a?y^-=F?)TBB!=+M{kvjk_SRa*U_U{a3;T1bs^a#WEj^`dlIth^sqD(6+{y#7O}ek#?Z^7m5x zyeb|2IfnDU$@m!DZ0K9IkcFu7q#x7WS-%gu7#T8n|~6^o@o7r0?k3pKTD*~cJW7r z`WX0L_!6mRvda^)e;XmpGQEy>11vl6D_Adh8x;}BAieg$rOEQq0S!aTGxumu1Qc4K z11SBf(YQHy2_ai+F`-jpd1PgUvuE$h)~_ba(4ufw;u*$)fv1XpX;H^$twZXuWC`ve z!tV6^1>&FkzKNtf1NlM3jt_8(f`)yeSS}O_m-D=1<;m1 z$r~JQddmxt-#-1J(Dzw4Zd&0inifSfUltUvJn9>>oCw--ttZha_aYn0PM;>4QG@X^ihkPaO)1D`>y4g;Co#X&M4_$$yWr^ zbK+5IkkHSyGNr_bxb{+m%xFMKkuXZrRLx=xaD8s2{50@ajGpwbI`U2Ny>wd1NrGpB z7memmEmi(7Xf^w-VUCHIBwPl*yKPmB>H!UZqH&)-?%La&#^(t*DDn$;uHb!s``d4s zM%$Vfv7%)xO51l9;o2ke%}xyFE!^}5!*;(lxb1#u$Vx~3aMKtJ?t6XtD-2-av(OAE zD=sv~R(@bSHHPA$K_qwo>Xdj-Dh^{8O7KQnYU85Y`p_5+uRh%Ldv_hV)&HRM3E$*UGZ~Lsxyc zS}liTr+s(o{Ce3x+iSDYxcP9^8w@`rp#7g?Em#xe0L3V94sw;Zz>0f@mnW)+{AzYP zFxt-75V;Rdw5U54^}?ccSm0ky+E+8FE%KhRs~3?7A|3XAYN=mIo*`hBKTb}&GrSsI zd^L(hMEX2YOm}yF_Yo9oPAz5TB=iC1Jtxa~Eah zzF=m|PT+q<;9oGKPUa0l%}fe?{0od>O+TxTXUu|hS@Vo@^0Q`y#{_U24SvZ(8}|TM z;txSV)?d<-W{Y^`KD5EFZz9LJ@f}N#&q?P|^~0NhGV0~+g0oTJ^`b$Sq3=7a$SKN0 zB|q4OjxY>C#f=|?=j2q9ByokdSnMWO+G3HvUt}RKd!j3M-!$M5dz%(Z_r0!f`mYat zy*~8y`q0qB3!4}HBp^!57C*Xu)HuMd5_KJ@jq|NT!|eEg^X zdtDIzDw9{4yvpQNCa*GimC372US+~*eSPTb^`WoVhrV7P`ubNs^p&3|eT*FE%O*j@(+SGANp9Dx1;jWfP(kcVdTU z;`{iECQA7PLpXBp<`2?rW;DweQ%_xt-L>-|U6zgZS;!|Z>W`!LdSi+d+9S zd6+o5r#juc>#JLPwKUp}1oYipUCfNOX^t!FnO;@SI)dJgC7d=W2P%C_0wJnx6NS~g zU&TF8!T~CGZ6J4QidBo1`&9@ErdSdv=|-8Gu`0JB#a3B&Xhte1x7~`A&2>kyJL|5k zRPS90l(MRDXDul)Dnz9>kU-h$+2vFAW(**s5k6@li8?kbeL;&CNe1Qm^&`H z!xX#09T>b<#~TPVy*31@Mxcbjp{&FR!Xz>LdUO^djoKWt5}goQBS_K)j_Qcyair&WpJE|gh9|A zGjRH7@K&v&TB~Z;zO5rI5FG4z2xAkD6Xa3t+VeFACJb&;+_m*}7x|`u+{;QVfpJ%+ zO{w0sM^y+A%I41IL16>|t&9$PP^&2exb{{A3Ul2BKwyt6&^`nJ2wt3rtqPZc9)fcQ z$AOL|c~9iGnb*2p{Agk&Y^$s@*t$_N4>13gxoAir^WD$gTzsDq>5sICI~#~u9; z_&x@nmr?!}IQv?a>ly?iJsJNR<)KX^*iQ_8lG{xBHw3jc5N zWzXaBMu`*v38=$h8z$PZVk2Nf@Tgj~7y&`Ew&q~7RYlMRI?-GuKneV9tjA!_0$|5d z{s!M`VWm@3~&06?KlumJ!vVwMlaR7XTq=DZ9 z-)u=3OQtgD!7b=?+`D^On-F7E*<^~1Afq~t(Z^H}@D4jX@xTf7nV%Fxg{*6C-lk!tIZL_iW-@3oZ`0{cyeflRw{YtywyF@JBRpE2pR%^D`Y_?{#e ztxb1mRJuc@HjwqT`herDs|l{S;(klHN9x+d9N&AF<1KvjGMVWcOsvp1fPVHn>ZTKSZL@r5w<_R^HN+X6&7IwXM10k2qfgpk z()lo6t8=re+7}g!mpH~zq&nkRk^7KjltpqDDUi^_7*9Yq`QP`#UIwe=J+YT6A1CO; z9k#7hT0rXt6E*&x@T)H55UIn7z$Xe~Fo8|Dd~(?2g}i|T7VM$|K0%#hA`Xdn^3Ji! zU{zJoUch(HH(eQHO*MN@V$4o^&O+_UjXLO@Qc(m(Q6K@YB)%JU0gE5v^MjJuKkGH| zw+&zmey!k{+!6^f#0$iU`1y8Yu9QJ7Rw3yGUm+`u_upA5G2UNO5I@Xch)>NJ{oWQP zznk%RIAZC0iphBqNOhHrFGGxh8-?Q|kSWH(@euHQC+4^w-qScOVxSrIK)<-3$KL=e zbDVh#whB5?%$cAXc0I-4%n4Z&w_%gSbieS)6i zy_Hph`Kw)fW~*_nt_-9N;(heNfCWa83bbGW?iOf}0MkN_qo7tt=-C3*mEx-dSkga&nd^9iMVBT@NnImpc1s+soo#pro{ewTRV_^<3 zp51^Pu6*xe?5n9w)Z5J%{ku}*daLAPiqsw6Rk}lnX_Fb?7!~|Y@}BC05~+5F=Xx&p zB|=Yleif%NGwxxZx`edHwF+Qd1!AUs%X&j47Ji%82%4+9vY87k(t=#^g?N4rm_kC_ zB;reNIIe?D@5C2rC%(kJ0buvLiZYz|7*p&^9%EW&y$5l0b9WDX9B&#-$T`NG35&UN zu+19(+nMn=sk8K5z+xzy}%&NW7RKwEDn`C6I}ttPy{84uy*8bNstg;|-hk)Oy`gF=Jm=s=cze!spbamAEB07?z64rDJT%i7Dz0T% zU=;;bF(Hw}RY@5sYem-AUHi6z_Ao%Zhwnu0p2pAIcdeJ!w$_R~uk#p}+5^Y{#=GHh z5N$5X@va5qsiAL; z!PZuZ&jft}UsT7UKjhimpNGkP{Il9oz#i;T)v!Ad$2SAH6Ze|6ih8%ec-$Ly7}jZ= zaom%gjskhSeQonPn85V*T*5fLF?k#w-U=LGY((5i{A{@OyFGguKQ@gDx+`N1^rbQW;>j4lfjp>FNBettQH;krg!n8bjj$$&IkT8t zs_@(k>o_=Z*ONyOyK3W&&g*qC)~9)G4QqWoHbMMKV?M;b4bsZDM9k`Pe3GbaSXd9NjIpLMTJs!YwBEM6aSS|C>}wnOKAa~L zFM#bgd_ofJqEp2>_ogo^n-0(g^i?6&c4Y-8WqM7Zy}@-lPv^^g{zlyZZh}1B+<-3{ z$VvtCm%DMSZf<#A06E9yI94H-mw8=I0Y7ck%7)zne^>6>B^n63;l4u#6l;J6NJoqE333FDM{;Pb2F zI>(6mM%2->Nlnnz;V1+@HAWlJW3)By!{V+zPX4X|e+`KFZF7x&|7wg_a3J4q(6@SH zNp05RTs;pz59Hew*nTSCm(>X+73>)6ggRjB%IzWj#@h338L%Jdv4Z|vkB~pfd%_P{ zhddB-Z6)ToK$YiZuH%jMc+=o{7S=`e9ZaBq4NM^QWIa;BesIEBVOjq;F9Tz#^ZJpp zQeIg5#QG&4uax4it1DE6zEV?o~5sY3ppVjgbG z8-?5QM#)WXtAGJwsRA)U8JZmL#)2l~iGmaIJ-I)_x}nYEKfb3J81!%+BA#d~>#XjE z^@2(|FF2e>J;-JA^MWn2qS&2CEsx{gaPq?39dT7GV%`S)0QxWV&!BfY;HDX$tcQF~ zyr&CVAkN)J>Ts6UFjTC`c4~Kar>?p$tYf&XwIb@*%2xdvuH*RxpQF4@@!_-n&B_+1 z^aiV%`tPwQMdUrWxCY;W_sDa=*z&cQJH&cUmD>>J&mpf}jL_y)w1F{Sw1YVr))6Y) zSD1CNP$ik$tSf_+)U_Kzrt=NQq{4R(O;L|fa2&k>&YST(XMSiAQ-k5W9K^g~U&g-? zbB`9@kx)*8Hq(I^GJbv24XI&Sz8NCD+wM- z0!vl9L$RPqe7@b7E5Szzd~$Dqwc;wY&lkotYF&A}8V|9?SQfR$yl>+3u#g`~N{l#; zFX$>OD3_7Iyd9=)_`ECnF0c!0RaGtSgR!nO1l%^pT94`~63CY0C$R_x>nb1Pj5_(-x_*^@WFJFJbPYwMSVjG<)8<3I708fFR z6@0EJ?H4WfVM<)9sE8dKmD>cf^8OMmB#8xVWwoWi-(@jRT|++`uWHbT0=c7nXXBcI zA^J_RNKXPit7Wzgws2e7S@^f=4zOm8IpfRl(Wr*_u(_%O9^;DzTi~N{ZeHc_se-jt zq0{)e(kd$)dnfNHj#dUd=KveNv*(~+Yd-I5N_^he%oZwQ&A?5Q206Eqzsry_PXUwgdC#)yD!k4BIkS8lD%`)Wk#81YWMysG3gpB- zL`X23iIJ3o?m@?N>@I4){M~TNn_}h%sVTWUGt5yfw>4HxOoP59H`3vghwGDnj zv2e|bg#H%&H^l8Rt_@Ln{iB-Ds@mXJQvX-s^9(?12V^=^aeW73I6m)~)z^7Fbxh75`LZzq&hw<+mxc-ut^+Q|(f_8JMD)xB8*TO;0 z(Ws62c*T64g1RiQIr;=WhWLd!A?A$v-v)9=!kX9Jn9o&Qf)9swMzt=lWz+x*-a(A9 zZ(|MluUDt|Zq~apU{o{KgfEzKUk7~0MaESY$ z6R|VM3ID$9D7fxvBx3P_MYnt_#nyU31Iwjes5yOVSOL|;OUGaBY@>Bx&)|S+``aC9 z4&1x5<5dxNj!rhs!gCg$ykHhRcR`@7O8laT(Ll#7Z^LJFl$4*mTQIQq%679Y}+WlLDUvYws%A3jAL{ZIOpV>-}1ZhecHMRw-HM& z!7a+Rf7fSJpAQDz9ib4S2UH9FU~p&?-?Zm)<%g0~l1k;RpBK0@*0-mUBxT!kX;C=K zx8l22*fFRVT49X4+V)l+4cN?DG#$-y_vp#*2~M&tzYBS8rke_r-TilyZF+aM^E$v) zl52c_+gL99=NSGhQ^n7?Uth<7hIY0rJkSZbQ4frhUc;Q!UMJ`uAzORY!Ze)x)-* zZ#CVaFKcx{1J`0~N6zUsusfm)rkcLp{~KaGlGu;PO7lVz`XpkMXhdgA@@P4fJo*9N zbxa~p_g&Cj+{*RQ2gX{SNgT_gthCc;pFYwc*%TJ{lrJuDKf4mP><8Eg{|YhruP!@zqVGf9#Fv&s`_%EZeU1^L8LqXb zh2UNfXkW6MBK&+VC^*3ep1jly{AiI~t1XInJ=^uN(Sin}zqZ#mL~N!`!kHFgV6Xz3 zQ#nGHniFZ^?jGDi2KQDtyUFyE{4BPfKhEtSew=GA+eh)~z1$D);~r3>xOWCbX>YS- ze&|DSMm2*5yL^0hr|qYA+2)NM@I(3iwcFV7)l--12ez|MdFeBYZ|AN}{Ut5Bn&lNm zWd97Ae7Ge};fe0M3*S3**Unb;3r+uWDg(>s8+xCeJ#m4*c*0#1(8krJriXrTPRf7E zpg8M0y6;^?VR&%M_!kaO`tsq49W$E%Mrf&2dg3xmM=2Y-8}z2l_&eLhp9p*UQ#dAD zh&BE&qw4#N`Wj^21U^IqIq(;Tzxv~HEPok!3*PN#i0k^MABF#;(msr z&v5T0(mj1nxJ3>@{t#_=>$6?|@O0PO!aC@wKi@5V=D-o)iMFtchOa-bKkuKW%%NJ~ zS)N(Mqe1=w{;zY_)cB4rrSJpgK99Tb{wcIQi~{ z-Sjc|?DYd#Yv5^4GVq;~Mv9jA=a4_AIJ4u9tAq*Y8SUeI3S ziR)e}ywo;7Cqj8EwE+4L$nlwIdN3U%xqZ>$cZ-F=ep)1m5ti^2U-pi3%l)JUSUEbJ z+dXf9U}QUIyKPhSIr%%54jkSu0DcY1(#HQVdGy&+sQy{{o>#AD2|N&mS!jj&%<{|u zs0lUWojvhgml_s0+1+Y{A1r2?m)=DT>d-B(xd?onGGJr}oWxRd&dG0#>b_?%01NqY z)WUb1r!M@oNA1vZsUL;seKvfnWtXC_JBYyJ`?QPM;T_ zF9OZeXWU@3EIwDQ%iS16&aP)D9;peFZaN3P#j?+~kY8K}-ad#z2%wa*aoI$bAEk7{XIgxqX-}{xto_@&G z;4Y+iNVP)_6z|n%)QFrX4$dRw5ho!$Je9wss-<^E=Q~>{J&_~PLKF83zw)i@@^2M{@L^?1;SGX(fLg@Vl)Zsb}El{NIIxyxBS1 zh_mV0k?x&X^k)q9$eigx$?}s4os;Zb;@lBOMLgr^9F05NCWJbSewLbSQuKLZ_79ax zCz`Soj*8%99{s>AR_Z5vMB*7!r-w;BEUbgfhr3JZkx+aB^@!veOX&XXA4ggg&e%VW z&dG28IQq}z5BL)P3-$U^L3@WeUSUVk%*r?>HXhdq|cK7l|`7Y)A)B3;L~SkXLtV(G1D&{ z(N`1m?n&!kBIOs1oz1j*xl%l+h>Z ze_pvhtu;II*~qQB7hdhUzP93i!&|m4u7jR6mW;-2b8vk{WouUApY}rxFanHZD^`1|^UzJan^Iz5e#jlsr z=;ZWTZkdB9uHB5vRnH6$Jg&~ z%b~hn8s^s+{2%mcUm*8h^OTi`i^!FS*FRl8D81m<#p+~p<45fNhxSj^`{m8zaWh=D zTW1TW-2C;ibJu%3z36r4_GyhR&ED+N9GlKn#qB-*)R(Vo&BylYi--P1x%X>(^4v9l zPEwv-@_7dQt1D8kufOv3eEnCfST%~g&WBS@U*5;_^*vRY&AVcOn+j09POc7aF5S@5qt1Sg;aZYwp6K zCEa(AQa|*lSq?cGP`*rl?`BRF34Id#QIPzO4*}p4DP+{|mW~d)b?cFMen{T>d{yR` z4kYh(;bYFLzWXW-=HtM-!n*@3p;kDfV(owC_WfYD{+_f7d?s95%v5Fo6S#;9KCy2*k;(yq)_T59-r1ee4>JU z+)}%ICqMposF{EN2>Ki06bmXgH*m|#J}{segAYFHvd_?ewHN)L`+7e9hm?gM3}2tq z-~*($e+&S8CjLt`sk$5gtCh-Y{QoOni5GwQgwYW>5^Fq;-jPqA3fjWDqXB+ixV%*B4Gem3C%Q{?#J*m%d(L|I}N4U?|T&m;ij%{;Rb;`>(%$wg123^;g@! zP^2w|6F#7~(0+|*frWwPnXdzA@TFeh^YLHWvHwcF{2KrNlGk5t z|G)i4N`2~3jnR^-xs-hRwDbREa`2qbZ zeSFsbf7o6BS+CT~ulD~}yxx!-EevVkF%tTO3!SWH)Fac#atzBeiCF8&N`*IMII|dG z(E>Du5jLZagNZ$HHU2=xF$t)nh1QbdgGIUTHP0x#As#hx@gI4+24r_-7%o&rtiAGM+_@qg_3E7Ck3%l5C4NxUU)-p0^g>3h=l@H2&m^T zwUDB(D7bOHkX--|!A=VJpjqJ!xzhs6j~MC5EmkNkcsqrXWl-&;@Lef%;j2Pv$#mbK zC;v-4$07UgcA719(E4h9Ja7M%_vLDR$Np>O*Y)3j&5L~Q)mUiyjFK)sUv~Hr4Dk{u zfK*D-F}c>fNDE?8k)+y_H;IKEtJSKcVK*f|Fi-fSY?Pf8;KpIAuM9{-l}WRw%AH}S zrw+(vuTMsU)-ma~Zu&iW)P%2(@hZ7981_3CBlrdzD3^##A1x0z0b!+rpyo)7=!meH z<~YQq8m~BpG;kS~gLU6C_+41!j2H#)meq`pMN?Qh2E<}bBVJ2pVg}hD(-^Q2Z=_7Z zS>Q+JjGPhwk%Zt&4PTECuI$j|2YZC+{vr-6a~2YR<BhR1#(b3t9mc)fTPGCE{!xFhnwn2)5h0iFrAO;Aj3M^v(Dd87^q=prJBZAj@kv8b z$U@D-AkAi4Kv~kF^^Q!bM;|TS(wyzqb981RAN$b}dFu!GS8(($FLljBo-8dRg0=#Z z*ALMEUDH6f7@~!AHzJ{D+z3!Cd#X0Tr~i(?yxd()1AIUOF~i`Z1-jZCx^R8NdKB9S zu|&XpeH#2cjY6E}b1c__-b0@-|1n(QBo1~+Ac7yKwwHg-kY8||*#DztM*M+E4k$9x zdsBc1`=o1L%)bjLiyX9%$G~@qOZA!NS-O@ONEm1ygDbT}q3|0=e0(Gt;q1ZYj<*LW z+SnPU?z;;M49Z91#4t_j(LjSswg#N{Ub^osx%WmG$ZZ#&p(T)h<%WIl2lG9ru=0aB zQjC5GG%Yg$%S(ol8USaV7?!IUlxR!Mav-M^_Mh`h$KXvt0d-BNl9u{~#JhQZXz4U{ zZ(^yU0eyp82}6i2$f1N<(ZpNLBVrO7ZWPOWjAZhuu~<;gu-0Ts9e?#M*qYUVp=6vPiK)ABUufXw&( zapI>Qx6J>T?6OaA541U1X1c=f#kOg#mOgXN=t2unQ-Cix43`Gfi6K##Bjcu)hkD{^ zE`65>9k+aV)N~9I$GI4pGIftA;12a4GpRShm5UgEP~y8bkeY0+zm$Q(;F4IH(gBTa z$pm%S5J)6x$>+SmyZqou;*WDi5rWtEJG~n*?%O|p?Vnjo~0jy z6sDSkdbA4QK97he=Q#HX%N}(Xs+2Mc_!P3tSdjnh_}NgD`mTH*zL%qkxSHkgeIZ%M zj`JZag+dG;v}bu2ZZQ^72q8MgNO1)hKSVx`R#L2$XZmr@jcjQ_j@!UD!(w`bdn523 zUG$d%M&6^x%R&=fCrsELYod?3@3DoYM}EYdn7CRn2iF&5=qQ0)lv$>SzTfgtM#$KM znh4J7NcBUak-V*zj`mG>2VbYdPAu@VkSEVT@Q?0Jr(~uvGNsfb0o5sb@@c%)PiBM+ zA5jk-=vMcGh0nt^0N$MWaYs}skv708=(d>-KS5Sx5b@wDboF2|lQXltSEiaiBRK{U za3Rx}qd3F`V?QDqAiM<)Bh5+FZ{-J$v9bVbc)nLe$unz-AB*}-3rt9y{8)3sxcC@Q zdQ7Y!pi5r|N4^)$Mg9jJCfOD}1~|9?J>K(lnLA%ZQ^(Ss7!-BkXz_9O&4LCz)H3`= z0E>LymWTPNFGjGu*W-b3j=qHpsG1YdjRsEle}Qz~(zQ+(As8476JtaI8Bd7bkp&-X zPI|63r^jTbEh(bBgdohL{l`bZc|Kv(agN3R`4%W#FsUC9Kv|$dbTi4wfCXGeNw2uE zD1-*ji8+_ScL~yTN3&ceuFVZ@8uLc-+)e$aM|H}W7FcMVkAdZxNk&7hB=+SE|1En* zG{^U-h={uHPAxA*^?2Lv4atCbhAX0N=nIgyO`Par1)@k|U5RuaLH=nj#6l|solb=k zTB7c%nHv0zPEI85Z?k}vV(Y+XtcVPQVd#DY_=$hEJfaatTd~LrVWP;Xgg@cQjc(gqS|_y}khG=O0OJGsRL zVHUWEK=8W*-DaBc4xCmhf06issE^d%u+wZEk&v$WL=Kpp=mQ{kuAjVh$%wY~6$PEr~>2b$W5I`(xz=ajgtiUM3Amdavo*%f7FaxllT2Lax8PCGNf9UIC$OlOt>kJyyI`n@_`rW*G2y0QpW{BXg}Jqzewc#1f7<_nBpE z@0Ewe9}haEo)NhTY~9kB#If-FFA?XiPeTSLMGVb3Y)t7=dc*-iw5xxdF;C4~9Ar_J zRUm9l9*Mx;w~H*9D4-EBjy%bJKnx2|>lVsAfZ(&z-hnA2-b`+;$bURQ&2eTnkC-gR zPoyIG>Rf6{*dBD9tL9|{?9EnfMd1{6>%PmOH0aS*StiX?b~1r2fz&bCNsc+dTs1?1 ztVBkhLm5M%(e=WybPLj7Y%w=MlGZokT@;xsX64FQPnNDSqz^sr7IHY$o93&}Uy_;$ zn1y8K6oxm!p{tS1KJxojKZKjo*&B>6Q=cbgV74ZvcMwL9G(5b5QG@b{ATWcRNJK{* zUGM^FNVAm43@BIpSXc;VWOPmSoQp@tn=&MzrWWvdrQO^^%mutJkzoQrSc$I-NpQ5` zqvs4c%1nsivEwO^l2tSOP3hz18j0O!;XB_dl4Qzsh0 zRrgu|e2G&dNJ*W>$;lW%siUnjH-J*a55ZkCR8$ z=z0;rAk&dp=vRzfnKZK?tdnYqpNh$fvkDWUVBf|1k7U>xc3a0p?Wx6%dfD%&?UvF~ zhsQ)|^_y1>b=bJ*bUVW_s?cR;sI~@t`9MRoantAzJIztI(I+>f{!MSt;?b7R7CO{{ zT#YS!zR!es+KFd{+v=h%7JOSupOT(tm*s4%5w6x!#QE0zgTD{Jw{9r0pX9DCmHDhVvB+WRXv(s$}3e{)6&#RzV>D-!Z$C@kA$RkC6a!fR&Q1f)k z2eIH~P~rVz)H~{WR+!pjI(zFRv=e{oh$i^VWViTui9Thl$XM6Uc5 zWI{ZZOc{p!%r%^i4_CB!PHr|N#oS_A1dF)hYjC8Q8%25%>14AgnMcnmML9JPHDSn^ ztViyj!Qi>QBX1s4-Wc?edIrB^<~zoL(zzD6=!p_=opLcV=O_rW*)mZ%))=D!n2#u; z9`DzUr?CJV*?{ml^^B(}m|x|zF$Wt{TDStYR2kyxp=EIRd*kM&rOKU$a}Xg`3l<9} z7Rwj%OZU=8=2z)l5+P*x!W)joGK%eLLISIO%b@{Zg3q(L<1CYZw5Ve+LOtE_8F%{A zK-1?mWaQ}QUyiaQ#nJR6+Qo@7p;r}IUoMj_k+-t%eVeWq$k}Mp_}|_U%+@hYWivl= z41oA49U?o(h3(wjEZ7Q*y--`H6QRjzey$dl$UP;R!+a7@ezmBRCSDw`<$A*yB3AKy zIl#mPnNP9!1<0ftv(ou^!MSAKH7(C% zMGh^{XVx?1tPo$yf8dHq`lR#|0N+C`z>-VQvEz`D2c8MZuVWRGzTXHIvJ{Kz` z32%7`LVpT-h&5-0e3f#GUkP~@+q&Q>1pZIL?*w=w+Xj?wk&q}k!kR}*CywTsk!Dh2 z`b&z3-fRI*Q7y^vI@=#t>3_)*`Ty0gL+k(ht%j_$O0Myh`uNQH|8lLoxBkES!|U_E zf640&X^6}=zoQ+=cIhTuDaaLdT+*CrL0Bj>_$L6ep~#3Aj*l_=`BqAW!kagw^tS@uqk)?4=~}^cp-)jvW595-z(Hu{zfQE*4{!>4~}!P7)@iZ}7TF&yB3J8?j3{ zdE02*yu-P52uI-HF@ouuhwIuP+UkISFitfZHzgPw;17qoGz?;5Xd%QW#}RADAE_2X z7G<&I)C`C($uVKL-VGOh=Wx$4VZw9&JWSiwwM7^OmS_I*_D$MbG5z*kvPPpsko_a3 znRJWq7R#-`6}TvyG2)%G^FpCWe(o)(H<($Ep->3ELEbNKlgFqHUuVg#@4D}vQ14`G z(&xlqP>(?aAJTpCKO`H$zk?o7$4H;zxvhQ>XKl}@jS_qX>1FzeDWdJAZ}FAl zj-`jZT2AQNVuRu zh)S3hQpPncH_4a(Q7mJj057NXk!w`eGRpO*bpH)fE>-H^leZbiYNc}Jdk_t>u39Qf z-vgZZnQzUX3@Q^-cD^@CjQ=m;1hn(<27n47!^q#MNV2w98L-d z#WTx7E3&jAV_$wZuD7Z6^0RDryZPnq8-9*oac8sJ)Q0&|^rQ@_Sq^fPKi$moR5ltn zdA9_&io-e}6B#rWz8?Y;2L~Fsv}=Ybm$yY?HWIOSLq=q3%VPHhwnJvBs=iK*D4>Nx zxkOqX1L1+|#EA$*_!KE{oJ?~;6&-jp_{>O&6e=asbS!<2r^GizQ<5QRpuc z^zZtH<`BaIOBZ=n8Y4_vDpX72V2|8JQ-TGY$$}B0C$9eD+4UnbZYW){wCJkD_nt38 zDs9pbPcp`Om*=It2v?MP>CxLL0kJ(X5S!}laef=Dk9%9+eI#=l^M!SxK0C1g-KgJ9 zm*5cc@#Dv>Bf<_n)1RH1#JA_#K1FGd0zA2UYu~*6_*O zkG}r#9dUdeMkp4;{5y;X-W=ZqP*$|O5AZQlLfv;=%`+H2so|htONGKn%o65Tnc;P~ zfQze!Mm)O8@jyJWeO~zZ@uTj0%y($P*Wsd~_=)_t_@f9h_wNPN*zw#Vk%fbeXXc4hlG9{hq`K1-G@HiVQid9TR_yM{B7D6mX zgW}3w3bi18PAx~7J2$L=oGi3(b`tt0|NZ11@kQ*VXjnm!FL_I;AJ7nalM7}`E#UJf zALX&yP&&;IH{DUYqkic3dczNLr~ffo!i`Tya5GQo2V%CVq-zZOPc-)9KSh4Zc#IJ< zN(6XGIhH-|AS9D6Z27rQ4RWQ0&*la6Q!EzGPT<4(^! z+G8uP3QQxUBo=_oDEUq*wOgh&V3sMwE zKd>;Mn!DS1;`GQ!Soef<{iYfGjkRI^ro|1U%yRsT1X(sS)@KFz@77 z#GPb-U2$mn6OB*!ey2=qP~Q#Pd89}H{MG}p0%)tfVe1?%JYf)W4C?}3M1ev|r+KT{Jyg(;i?Vs$#(Q=)<%k-FIJ7y?`;4uwcPyOXst5`%j5w;*bIO zi^xgxe)NTjSN~Hg3;TQO|A}>luTxp5X6|QK19Q;pKz>#bEhOLx=YS#KhXydhX2OT> z@rlTgrQ3q?kEQe?u%tr1-qFbw67b?@`b>%r|1ID#PY(}MaB^T~juaose}j0$HfBZ8 zpucD2z#lEn!Sl}&;l{-TrGF6tJDaGboxgcQM&2PThjp1K`RRloxt|qYvdYgfAp7$z ztcw(<_wF!`L(Fu*Pv4demEXdrK14wwpsv3JR3(I%D~0RHS@-+PF*8l%3p*T|91tve z0u(BWg^bS;Im{THoe#lLS=9+^Oq$nXPmKrfwino(!L_zDaDn|P{U z^E4;kBm&%NC-lWr|H7lu^@0W#O;=~+Q)52i$7kQ3pXmZd@f2Io!ZJ#j;A&>td<)P* zk+hb{LxfmQT!PnS86?NR?pWR&7eDYSF)KlA!mSaCxKAOImu0!hK(izb6WAMND z+}})KjDU&-ag1t#K7&+Mb7@Ee?6u+fUhLu~8=V_)aRFtFvSVDV6d1hJFO~Rz+t()t z*^-&YW^fCC0GV&hh0|cksv;UNxY|h8NP}jGrCKO2FLI}Rxx2U#nogJPi#0SjDan&W zG$pb7Y}aC8q3}DvJ@Pw|bBm^aC&PF_@k>-4@_XU;BE0zjlh^OXoiBec{GOaYu^;?? zCxe+EgtKI49ZuViHv|1J+(W|J;BzxY>c`? z5-oUwT*}axwpcU~&xx}xpl7_V*SsM}Sz;z7@;l)hVw2y=$Nf`tK9bzf@<(d`t7bHJ zUI$<5_(b81U&nTOb2ZBoJscPW9)#ZVmUmjf$nPjLT)vsDWIR+XWND!-U-ADPr+Ucm z%Hka&*JFBR2ac>2{F3Ca^7s(oumrVuvn%_s^|wR*5H8b51+?SdNTBdn)z+M)by?Z zM19z{?W}o&E~sZvPq!%h`4`ktNWtFV4pBxnQ3z2DM23;RztoX4TdfGL%-E+H3qE@!$$kZZ+^>tdb9kLiF8L~+_@ZR z;-EB}2hAcs9MsyUCAZx``lLA*R<50`wO!lB_+sC()z>-s=8%B!!hY5-xQ|23c$pvJ z7yOvM$PFipZwQdCaSr__s+QTE7)WmbS?7&g2=N=abuns_BK?(=4@v1FIr<@gFVg#H z6}GFV#p0tM=(H%x%ZL2LbG1}b{`-kRmnUB2IK1V|%=ifuTUUS;@U7Jj4PU6e+!_o& z+%$$)KOUWg?&9R&wM9s7Pqr$Z$=f%-Wgz9#$v3|plIN$R!sV#j6*kK|OYTei|Fqpy zG5I7k=o5teqe5X3v6(@DRFVyq{Qi5Q7=cTQj{*72SPG^U5*?XyU?J||3a=0d+*$mU z6pIF3gtH&Zq&Ou!`6owDcX&i{TOtarDh^?auIObn)T7*Z*m7(`dFn9g(6z4v6_k z4C!xQJSf2!L)i67V)QX` zc>QjlaBlF0Hv(BVaZMF3g5u7NqN1YX_JCXgc~z!ZeuiqM~AHi zDTP4qM|LnbKciT9! z0Qx<@0>|C&IC*2q@|MN-&V5(0+>WL#*|C()B$InO5D7`JDS|_QmZhHl@9&_n5Y%F8 zp|>ow+F~KLcH8Pad5QzqikRJ#PNF@xKlc z%6{%ppBLF_t8s6`yd)_yMxV(uzcIBo|M?HpXU>9K@q0Ppjj2ywyf`{*H0tf&8?BSS zZP5X0r@auBI4TXGPus3@7kXjwawGz00LipJ1QQxuJfav9NIXk#R)#z~EGW>t!Cc>fr_ZI~5!k@8gd6-`)Mn zo5}j0d;3NGuLpUY3L#KeGZwUqJ)mEdZ5xyHq3i!9DKxz%@o2ie&ZBUsQ$au)g&B>) zD}IRnqn(>{U0@aTXA(uZm3g7ELB?fXS=_fTKGbXH87S&LR_RA)fpRGGBz7y?l9Etd zkjB!i^gOGBeu2;|Um_fPeSV0PXaAfwKJ5`M4iWF;-GkSM2XFWG@IHCB`?~Yie{- z5`%HyZ_@$c0uQ1?w6R;+Jt$S)ly-O8yE})wZx1W)%I^-|yxrgVTcvVXscg&vsMgQ8 zc4UkQbH31d>01T5Ht$ba9&Q)^r#~ih#GkAij0i`ORvYH~;7F z`{mc0bG{UW&-m;RHMgtT(z&}YQg!qp0-NLuSO0SO!l0zBj+S!phm%T{4izCDP<33? z-!BjnxCh6)g!FGE3(KmxcFVhO%9R%-gaeBCp|!8t624YrI%fo_GFqPrNk|mWk?Cf? zyz|1zh;xWGXW|NkrdTwx8{yW^v2KoKREHg81D&`OMKOV(2La}vl8L#>Itpk%U%r)= zHceELJqQOABo3i$myZRO9FTVW$03-WkXoOBhB^)5>KNK7jbeV9Wf;b?jU?R$B^F^P@4KWKJ6TjRSirP?5t|<6QfnIx?U-$lY zGYI}mj{o)k)_LvSe&_SB=MR1xdAq@N=dwZ@t^Hx0z7INs=JnT;Ao)73(BFQ$I5}>t`8fv>b1A`HPo>8JD+b7ZyZTDi+y*wFZ+7?_2jpKHrrLztX;kNdfD4MJKDMY+O7^y+aD{9 z&tJrs&y7)&?p%F6`8aM~eyV(}T@0GzD>Yxa#vlIC?}W`kXYU{4y!8+9<)0TL{Ldb1 zw)V%3(QtTLt8)Fffd5`z9h|kj-P5DW&go@ibk@E)XpX-`dJesM?Pm1#bF*UL%k_|J ztky>TM%ofL>c5(Q*FX5t*AEx$yj34Jsq_0uKfs@T=GQ8;G5$gwm?KiF(6bDTe;k~* z>IZH=-rmKivnztre_HrM_dWjn@m)RqNAP9uz%f3d#>77MdrI>iMQ3>$5D0X^wJwOFTYeyYmFUvSF0zD%TK&9u3LC& zY{Svn(fiN!+VQY{+%Uh{@9VWsNpoC>KGnPGP2*@dI=!r`{w{mHcB?u%I~v|(`>&49 z+8-;Ywc}m`;K9Gg_1ZC)ZG2k2IXjZ;QsvE~{e$MXy3-t0E9rMvy|dQvpnlRbYf(A9 zyxMEjKJA{?s`8y^9_sCsaER5_^s^2PK&ZjRhO8>95wW3?}>_t@RruY-Vh zY86@^UtBd$K32XSxwz7-c!PKG*VfJ+{(Mov62IK{>g)}_{PTh}kLtbCu{xipyWTBl zaObkI+w3lEhar9-kF3xJ7Mqg-U{PpCwtFN`MmyPi+LG!YApJx!p z?wl7nA5pK>cTX=rRvMR${nJ`~=k)T^&ROmFrhZfzpI&-lbb^flOG?s5(5oyxM7AHsly?PA|Q2Q_@(u@9i(+CLM|f-QPQ_eH=Gwb$EJI z8OgpHwfaFF{;uvd+jV~0{+Ki+-W^pcrGWBY!peQST%tX)-_N5i3NU)^h5e&MI>YSI{gshqXp z{OEbW{Pq0a^SV6iV{Z&&l4o|@&~%}iG}`r1qvr9((f&>2vOa9ebAMUiZ(P>Lr|`Zv zZnTf(dR3aW`uOZP-fxVLZ`Ai+hK=?oIq#v|-$t!*b9z)6o?cdW8|`XEwrSQr zjvC{h8fyw~)T}jb^jJsD+Q%EUSM^F`e7vh*d>Nm$zwF3!D!)Ce^~TNdRgcj3&3f&4 zNAJVUnVJhfh5Pf%@T~SxuGdbZ{ZYXm?T?$|Pd)u#E@@d~Ea?)oziEsca{S}d%Z8+9 zH>a1MZkn~@UAb<6c9xwrfKXSK%O zSqsK7YP72dr|J0ud_Sul%duz958%DLmyY&t&T5UDhWdWDQ9FjaMvlL6Ssgc8a88EJ z%VSN`G;M_OYIrBZo|?#!oHlg zy`-`GNyzhh*4p3y+NxAEeHzNU9rm?Wy=kgDW7w$Gck4%$-P6lo^!Hzq#%J}tdVef& zcJK5uknhd+BeOq^+Hu9=(D=*fRR4We^Y-g@jK_N4J{>gLjlJpL<(wMo9GP{KxN>>C z*Jxh>?J)F9(~XBiRq{Ex0iH_lp%&<(ktJvFYAhB{wu@8+!5Q*@8Y`vq|1pxJKR zG^q2N`mdZXob^V#w_jIhc-&~$)Ay6@fvz0ypP4(c4fF)=`^NZq>bvu z^+wHFy_dEfnzp?e-@8uGoGRTHXWDglVoI=uTke@ z_^wWy3SR~pIcDsC_{TNg{UlOZx9YwJ{?a@7rGh1&wup?9`F3*n74yGQ7yg{l?`-c^CK09xHs+`SClscl=G@r{F@4vsX&SEFXT z*PFzF2H=MpTiqFt#jA8&`oH&cH#ORytiDOgy?{$qr=MDdc3RaN&3E!f`%3XItDI@) z8?_&rR-|;t`7OnR6hEtJKlc4(`wR_C@gt>yvvEes4z;S8Te>&t9%g7nibn9jz5i?mmhl{ zN7b9gXur}N_r}em;Z36@_r@DG)bAS4jzKOtt6c#ckags}Xl1M60m%QC-nd>n9!Y+_ zIhL|l&+v9P>EBmLv;Aq*95?vck&-L*fB9K!f2Y~5OF3-c@X!q{4?8lLm7ye_fgVHu zH~n|jj91?qS3Avdb*%YqDOYK}9@aqX9h7X)IjUM&1L&%ht7@K>6OKoX%j(_?S!l0$ zG%X9M{-p%x?7L<3!Mkje%tB)Q1yR z9fLj_?Z$5N=zXJJJFciREaicZiVhh4=b)#EsS*B!m$^zZ6hxwcxzDEC&=Rl|>Y zJ7=|ql27cpwr5w&IP2;?ocF5IeO!9C$ne0g?VZ(nhUV=xF6*N+r8nAXjIR!qoa5cV zdL8Xo8nyb)8StzZN*6`ic3hb>q#}#vqn@9TxpaZE{y~ybF^0$faJ{r1VVD_4$ z{jvJaysK)x2I#{^&06n3(eUc1sm8T))~=5=Z!v6KemXc!$F2ECSj%3zevbaf=#(@K zy&pcHp314U;q}+?{;%gp@5cVX``c0P?|*-BMMgsw``~_%TK-Fj`q7ILy2N3^OX}~8 zqu7hm%vccn^NXvbL#(&M=KuU1?UZ-kl`Eyn=8FNQI?t@*^pJXlWZZ624~`eA-OOGE zIEpw~Cth4<9W5T)4eQaK)%^bg=3On`$L;=qmCF9>%9Q`#?oQ$V_YhCs9!Aq{MEBq{ zl=X+hd+$02``Fug-97O4NM--cyS+F22RpAj1n=#W%I+In!S7zb#;^B0TzNzG_V@SR zbar3A-6P$d%HF{XTRPl2yX}?scG{J_!~M61y9edBZ};9*-n@Bx@O9&dBNWS?e92~+~J-a4x4CQdTUC70ylA3Ywd`-(m z=qmdV><*X0){CD|K(CY!oJwK@$pg&?EJSBV=j9hap}K%vojgrBXbUi;Ma*f4Hf?;n zJFd+aKgkbu_C;ISvP1g#nnHC~l@l=?2BeMeL-tqx;-@sd8jhlpjtW!Rgc>+P#z9Zd zPu+Jf+yNX;a5`yzLw_Wxpr>;0{e(&-RE=W{<>;VXgvvu5==Acswau9g_2Zxnph+Ud zI59OabTHs|-T1pIt60`OU64RkBaN`=tK1fH$AW9(r_&v>_zL>9$+UGgE*esCWGkjX zfH_o~acd-)LB9OH%_6Zamo8>ZZ1dRr{z?r)51yM$kFWqHE!5;>ZNWn)%lCK7O{UjD ziTByigW?wxMP0TKXR1D7nxxF9d^)?F8BN=k7gUM5pm3{A*R@>d25Jdy=$V;RS|<1q zNaV(gyB1gY~ zJCqql|7xB$Y?LdHh&NFQB8&!?94>V)pxf6wm2JqcSqh`Uw*IUnKYO*Md&i;9S&ajO zp6WDx*B-bkQHrfB*m0}$q)xb7I_IAQ%FZy%iLT|Yf$NdnvQm=fKmtbd zLiY6CW{B6vN#Q=#ne7BaIw!lcnr7wxWxq|=Z@A|<+{=)3a1?Rkm3Y!I^s{6?+y2S^ zSsD<5eJpUvafjB2N@Kwx`q%%x(3tduv(>$rnb~zZZJn9Qks6u2Cm_U^o2hM?(?B@- zJ}-0M_bv3@j+chLm~dW}u;hzaHZ%W%`sQ(9vdc&exox7~B$&x} z2MLN)##)^hI76QGq&kZZY0K1bH)mH~?54~+qQYd-mIo}G=3I5E5#>;Y**XKMhg=X0 zNsBYdxLp`dhHYD;MZGuB^{*;xzuvqhyGW)g&$#2)DS|dOUI55X8i|~J|Cb7`&d|1* zwbASr8h*PIu+Fv{KAyJ7r1JR*{jUk|ltbVuhb-4QWCsxzx_F`rYItEV{SYvDCQr2( zua`{ER&#!e`fA>EwlTnOF9bD{JaQTPnE@}aFIt+Epy zqUk(^X}M`DgU(1T_`gcFwCE#nPgRK!>Kc*)D7vN?MKOtROv=2E6zO(9IYb*j{{gvu zYW0)jR{PHllSLa|?(Xir-FxeGee$NV_pbXElfCZF>&ouC{f@u8|L(x|_jY%?-QE42 z-Ok&+&bwW2*TP`F63x|<{sGL6buF9w$qCdLCXEENA zi}&Yt#JG^u_}_ufwkA(*FA1=^uH?5}7I&!c6GP;HO9fPrN3QlBh;*EUf(}R-RgvUD z0)lGqA?&6@(z11ZJ!aWbZixnHrttCf_gb}GeP3-IBNASxRf}G#YS5gu+zMk8QDlt_+V!_-mMgCr0%f@$zFYSGXm&RNnm z1-Zk#q66g9ZkNPT!l}LITWClONDN(hpsLZCj>r|^|8R~%_B{WY`9vPgLu9btzRIEuvhi@LtVXui z5>lG>fb_68%Dh6Fv7h)tK0JXmxaKpHzCd3U)6Mnm{_`L2t4F^cH*3GQj*l*m+ka|$ zs0Fna@e;{hOUahpi1cp2{#h7|E*KNPNZA0gfoB*JIKSsHy`}-_kz?**T`5)PiP0;M zBix|@6_hx0@?#bqqJM2vPfs`g&vcoDRo-Nw>@w34C-V44=P{E~N(w|R;>Lv{e>wtL z@iO*uPUrLQgmB>u!HbeZw0lrVD<}-e04}{KcQ=*&_=IGC|OOF zq#yef{uN2^O2r{!+Ut>6m$Zl8PUy9y6)$&oD;)hDG#eBLH4@-ai+C*bIrU7p7eyqd%-2nzo|?{TWRpk_S>?bZ9sOoCJEul174Vu3HeEZZTDn!l;3qeCod3dDJH{ zQ6$Q+>zS!)xRCvb_$a2mzCd`0M+kQXiKpkgWxG~-G*uX4fHgPo4mm9n-o;QIMi+b{ zphrwQwUGODD*El*k(Y|SM=HdQ{q zAsLm-^k>c`Yt)%G$S5K98bG3fgjt?Ij9G(C`9=A~xuU3(CZg?IzBIrE8ALOI3H`e> z=1)~PGYlAdOC4anNzCUo^@#yscZg}(k_I}D@ny&Oh^*wb6^QuJd$13a~~CEZR@ z_E)I_6*vbl#Xw-PPZb@vkv%OCmKeT@_D+Z=|YP?bLmnj z%?0*Gbw7WHZr=!b_knFAm9TBOpYJ#k{qiMe;R0J@z5+AS-CN|8|I5@-=fq25GCdkf z_`U97X7~&5<<9Gz_cAk#`Fm<+5k>mSwQvZZz>!8qFJrufK7o|67mI4qhrUXO_D+1A6WgwcP z5Ja~r1<@^vL3F!v5Lr`aS|4L3Zv(DI^Y}n5MNQKJ#>DrT{Gsf%E|6#L{g^}n_EhKA z{Xmu1=wPmV!GPIhA#q{2cFphqPVlHq+4gOIIfqbTM|`(1lo>E90ZkM~nby+lQnBe0 zmr!|o&e16Iex~7VoGn5myw1W^$F6za`2Fat`Ahu-EN|-1%qD9)^E4x^F4ak~AUpr_ zBnZw~K)ul+ss=+mO5b145E#_RT#ozJIU&nk+|jJGlt@s{)D)iENv4H4##849YznI5 zJG!}JkasNi{I$q(4~q`AJo(vO!&7YGw!K&v8QSbi@zxZNn6yg zz-kMwal9SS&UVz}{|>f&Ebw;1Ni6?R`?Z$S1_|Cdo(83zgB+bUT-__Z9R3`;>Kqii z%N#rBvl)!%EVgqN(>a^voMt$0`*x?YyPx4#XRw;P726^rv2sKA$c%YqXep;-;u>PJ zX?5kLn%3TZ0p6j9#}h;dgg9+;MxuDcAI zEIE92(`;;8$e(H8dpPz{1dJ-8U4+AtHB2e*U38ShF$qO5LM#kMXtR}cd^W%|+(ax! zn@tvyO=b29*ic!mh8nP8fMuKPKDSR>E-K7(u?27VG?h1a#2aE(iUKUUEFNs{m)~uN zL}=b*8^+DImA=C-sehLH0(edlaK{Z;Baj@;?6TFc8OovGM_6QBn$ro)xsDZzX%}$W zhamAlSC3L6m-E9R+8}<9IME6^5xgf+OY1S!0rb)r*1s0M_?3*5Iw{i}NXW(nV7U00 zybN4$_QSGOZK)pd(Y!v7^cUvfc{l@5|JtR>SZS+gnYanP>!151L=fbFVnRYM9!0`k z9VM#5+)~xH8>hr#U&+)ElcY|G${+h6052Ow|ndH4eefC*Qp! z4!)xf4KXOCX^5y+Z@EH;Y_%=_Z;>%U71Eps1Hy+=dgT*}ykh(>xV>PoBHZ1_ZSlXm zd$0F*DwFa5`<4Bo{`-SGe*ju-{7n6gL$qPDYT%)cWRr5GzL@VSn{#{Yii0s5%ExCz z`Kk*__{Jgn!!q+5iW$xPc3XS<9;_>~-l(_MALQJH15)SK>`(6K(6-Z_HMcfeaSY3j z#kSYfc%jDdf!4imDEfW-XzWLVihxMWd9XmTjYUT`ieO+J#sY%FjXS^k^KQT!*#NUu z)^=mz@tc)hFEVb~<>DfyVK1N6Qv3CU7HLjw-@UETtu5|Y!E|m5$BW)E4?BJa;TH49 zKYQGB#ydpJ7YW>Q-MYEuLB3$roxl&n&}gcz`koW=i% zoc`T+YPymCx|<~3ovdNr^M7|7E-J`i!K-;0IbrGfsr7o1P5k3d#G7v`&lT(LQeQ2ku9}if@3z+8If=RK)>>z0 zzA1jraJ0C}Z>7&0X}Tzl^b<+Ark^>)*^zx0bz8_&5{>X}nq6ldx9=oE`M5OXIXMyB zay0Kz#LgJjmyxsYQqMUQe*tU%qW9=s4B&0DruPsNeUzEaGoRnnG*@)Ec!-r))Znp{ zp=0U>S=U`>;ib4!tiNq7Zgm@23N@^Q!5zaUVKP`u1-BqXXxn7rBHHtgrf6Y`f}T- z)x^?u&$^p^3e-9z}}N&nkuj6IY>|TypS|&gzV)# zH>_0tD2%Y=^20@R-3tiHPE)HdR`;mmT6~psNE{MDxJ}>dvCt!tfIm{^VjFW#dtoVJ zeko)=+5X9lwS+^zghN3~cJw(rkjVb3i>}PPX*ZclE(=gp&d^@Wl1Q?OVdfq8`ovEl zbUaQ1a_7~v>b#uqNSDMh@oNx(-m?AIdm*zwAKwr!S?FrIYbhXKlj=lDoHPhfWW6@b z3luTs8YmaXXeP0sTxTJ-%SCRYm~iEtYCVLN%H22+tIVWSfMcuIXN(hs)v5#BYs$cr z5V4RTW6{toyaQf&vZkL=js}v|wd*H;5#a1fQfqb(@?&s;wCQI^Xs<8$7NTWR1}X;@ z$rS8>5CM+-W(Y1qC}s2jM30w7RbwK8w#@sfot(K`TZjm+{AvqwB|~`#7-I)A=xfIj zlMw-yBG4VPjCVFkYajf>*E;!gF!Q&^d<+3AL#s0p?v!IQBk!Qo;(!KA)1(Bpf)4VG(+T;pz zB`xXGNGXCeA=K!LeuMBIGei{uR1ddMlL`5s;~UB)UsPj+H<^HcmeGk&2jz4re}RRj z^c*%+t=+wEXEjvrZgRWSa@bv~tDDSHDauhjl(($jHe0cbYY>BkLq6A#g(bL&XTngs zE#bKPeG9nxpiYDYb2|592rj~=aDwJyP5d5+AK>dCNF2okJguN861YB*xU7?C0zAso zls-CL7nTc#1?f>wWyD00yjyd})_kwD4Cwnh2q@pffTo>Eat3}=N)-|%$-9(ncY+P5 zmm`hH1yW9nyS$InLQo|?a36PDE+7~1y;|g1$uaG=Cx1#OF$NW4%p{aTj9K+5#F!-j-m@69 z^4DuD*5t;m0V%UO103bDI4e#~+mUm%4}Mm5Rm?f_DCFh>yDLbKCaqJ}Bppsz@3u@F zRE)zOK|7_LN@XpJo>^giN3XcVOMkV(rmRm}&6ci+5RTD!X#gt_$+ZaLlIyz`q05n| zEivqkd5$LcoyRpM$0K9qZ~fHYTao8lDq<|dU@a7^^PWP%S}0icjui@4R47;{p%e<% zRi8q^x&*+&Po(e@Da4p{fEHrR5>Fw)zFBDX<$Qhp+N?EO9L_i}r@tiQlo^lOHFcqtf5Qj+x$FF#~kY)2N&m%S_*TqMzS z#Qe3h%$zfSUXmH$_@F3Tk!hyLH1p$Un(1S%c2)^K^ApcF=T4Ht=a_d!VvF8wxn$0c zs%iU3IX@ErJUdyfgoGJk-zQKfwWKhFp)L*m851>&^Jw{FvUAAQIj9C{OL?lz0Tg-} z;sFWdL1&y~Jw`!0*Gg5R0T%R{7^LjcYZ4+`Irb%g^~z}RD4?g4ZQo<1fO+7U`qCVt zSCUACOk`iW$<7ptO7Wh=85oqOIaoQ0lQ5J+W}%@+Lzs&yqok2VX&M3LugD1fx6rOk zzmn1aI0p#B!r)N5PT7*M7$#)hk@|@v0nC@7f3WNL6nB9rj&&wKQr*%(OAq)RLtV0&~#Gc5d(hT9_7>n${ z?o+jj@>j2-do?229wxTS;(UBxRwXz%8N*Vs;r6*NBa?+cvE8Ql4p>>9iP`B%*nsSU z-k&YVc5&Z$jP3`Q(S6&9Y$p$AD>6?$HX{oyXa3<{Y)BS*zP2O_HeZ{Pd2+HXnJ0G} zlX>!VRJgA*_dw??FH5Q;oaQTi%}H{fvuyJmTw-R)p;{dP;?@9zdjAh8Rl$}1CyFqQ zLBQ8OAnrRI!R&&O5GY5Ipk3pDsFK|{G+J1zggAB;x=MX?1$9zL0P3c1l5Bn3*qY)( zzHQV)`8(F?#0=+Q1w72)N0_7UphXDL zOZf2BcV`O9xTNifL`o34TfWTfY(*D$;G0Sd4m#~u)^=1zu)d(e@L9MiRIi43&6s)W z*rqIrYAJP<60PNyG|q@O1aUl2^ov5Z!w&U*0;Qa7R~=^3L!?_SNmyp>%BUJ}wl&$# zgL0s9KoUQOeG*Ps3MiM;;v^T*JZ}f^yzj-oqLDG5HC!yg$Z^(^uh$Iz!oOhmEad9*ym!AD@?F!Ozk;tcwvGq zOt6z(6eid^Iw?%BnWr$prcYslEljY53D$iI6Kr9ET@ylKf?alSRtXSV9H^Aa1gLzKDTSG$M11+R^%q& zWzNCMkk$~ga$#|vP%V|=(zR43f_95iDvwx7Wg>ohX(&ZKmAr@j(DhWbp4#SW$Ow6J za$A7#Coic15eN%6S%jbivSluB<+EZOM0Ao3AF)ug*7Clzn)2mF;1SFrw!TB`DA+*u zN<(2(<8lbZtQ2}l%Dpo36QWFfePfU&K@;ZKwr$(?JGO1x+S##f+qQRX+ctO1ow@nG zyNkGpySP7H-Bp=cKRUCcGoQ>#?g|+dlsC9E)v1^MrMrOd#%s#*{;ggJ2wit^$sc-q+_*-Qv% zM3i>NJt|jeL_Dz0smKQW@^11+r6eUZYP4K!m=N7Y`=d0Lg1?Iy9W=AGwzEl3qa824 zYqJ~QCt8$4{;q;q7Dn}+_1$ZN0ff^{YjcnjQF^cA)t&L;oz||q{!HSX7bJR5i3$m| z?{{*FULR#!bp{hjY}y!KlrN+dCjk7&>KoQvHF|Y!iCzriPx0zY6@>j+fb-b(&O{JS z&E)zPs$>%j`vg1MAE}|Ce#Y=cI3a~7u47zjgY*;gT4|$9T3MG6D|-}6qfDJI zYFU>_*>i5&pNIcW*D_6`mv)ro4zOvYpQHxsr=P$qZqXF!#N91Y8dkg{ zq-;;#xJ*q|yFKnV|LD-i&kTF%GahGmdGlYsE!C?)j1&xepC3|KVOkn`v=oeclh!C{ z*fW7GGrGOPg+PB8kIce_0qa?Vnx9kTu6o0hzoWz_bol5eROx;?-|~`R4&Ovcef)7P z?ipVHF;c|8R;X=-Ykof_2IOrNsAdR@dL{k$=i<^ZhEB2eKlf(p|FPY11{l;U{G1P=rpUDBROMwvRR;K=1=mMsG2Hy6j9-3rM8ll# z{A^5L{IiqNmH+S44l)$#$Zf`@Rg*Fjt?tuN8uvWF+Fwuf+cZK6rRQEM9|JNKP5-dS z#utTMld|#}rKJ@rYa3Z$KWhTc*#Xy|M@?htStHS?4IG6{lhX1UU zJ7xa7U*xjFE5HAx88`0jKU$Mh_Fo0@`q7C0Ltl>nU;2V(cKZz@yb}WA0g+!;(nmkB z^KBN`9M$*|B_LjXZak=8e%zDN^QUDPzsDYm2IOo8j3*Es6K3_thbuUuxz$_`k@TI^ zI7E52IYN$rs$b}@ zdc(?abo^`wnlhjFi@{OzMj#mX2aFhvoMd?$kd>&`-YQ7m)WvpXZI}H&DqS8cD;V~8o;BP~0^T|_3MnNWzwe0^Az=|H! zq#BU?7uc<8a`IoX&eO$f6UhD2|3TBIcW0|=R!*CuHX27wN%zT8nMg;(87cTYV$X8D zaGisG{51?xhp5C2a(foG(_%*sA^}`OoK*2W#&AEI+GYG|--&|k`1qkc!ve0~5V1m5 zg;d5UsIld4OFnTuvQNX1^oe zijWY?H6jCxB}Mfku~9dOOM7GB1PvmF?`PgGrhB*7nC;0H&d z;c>H5Zin6^AY^#I3t&NnQ(%8stY_kaJh{`dzho`U8<`Nim=DS1HsbMeC( zW=rvM{qaTB{FR(SjCSqwLT)NC(ao@~@VaP6*tp_i+#K1N-1H9Odh6; zr8b;0>z%chP+muL#+lpc?TX4821Wx+2!BGL)>A~uEk26UlS`HI=>*%QM1&!WOAiaB zQNgIx>o_}NvRQbk1;5Zh%!7v{$rDGa?oUB$Bh80@(J;rJE&OfrpBV~%n7L`<9Ie8G|l5v`ZWM|dw-(i zT_!}*rXev=Uhq_~GsyQ;Cy_-Fa5skR1oH~*Ku3u=~-KsFgc*i4*~_y#Po=GR$`ezGZjO$!2@SSO_)9l6fB2DCe{yyB|61tLUI>K;dnRJ@l&n*WjgkjiKK4;x+hitU9$Z6mbY? zvLi|r(*oCg39-K%4;hhmmR}6$g^8wC;2F>h)WCpom|=LZt}^>s0?ZL>A)lk0M&1Rx zsxYIOL7m}jS2{$zio~9$b9A$fP+vUIK2lVRIAjRi-Oyzgvl50jI6&;+C(N9fDxmb~ z>uY@vc(baOmldcHlGW{%IM8-qMiYS#?-Rh#M8#g*8@E4xpkU9=USR6r)>)XhpWt!7 z3Iz6FegAZs-jyA?*L-aEaO3Tu=-)Uvt_UV+lT$zk*2G^1>dG5oGCO@CTV7?J?7wmB z2PrfrpDvWDpLLgWRyuEM0VmZ%MN-ba%p{xCMSZS{U{COnbC(Nv6|7+Qy6=RO=Zk|c zbh9g}flIHpa@}l+y7;OF9?z6aNWMjaRbefNWDnTTxfu8mmMf$p2F%mpfYb$BoK*l zqJOO|hnoUdWX98@=G^yEuP0Xn%lyV?ucuPN z=A8&z3Y{DqrR$I)P+T9c02Tom;N5)LiOB2Gs&;5U!5G8syy(VW3jutjCUhEKFw`Im zVzM#1deJTPZnJQWg19E@K_<=qoERBV4CAb^=MxR_DDiyYf4m_iN{BYyWblWk$U8h5 z@jErUW^=B6JW>F9UpxtFoT2KjOIvsxXLS5Rv$4K(nNP+_FZzT%?GQ{`6CSQ4*`L0K z&UC$la{6j34~Opx)WUg;cqniy97{t301|Hjwsf&CXenN5KFHb-i&@--N81cj zNgpYc2tY_9XRL~$!Zi294mRL=KGQrXPBy0map{v3THqd@%Lqh6BxHmN8~8$$B{2{c|HZ|L^mdVf21SdQAwS{}Kh zJ$`dT-JhcrkZvFEIi}GDc*>bT09^KBht4*D}F@W9B?bYsmvQuht(^cesTt}An!rj{IKyS{ljl-iTj|&*(3VdrR(-EA_0h_{zP6P zD=kU}k>Ybv61EeU@ewRMjW+3G0vLUD^_mP?Y4{|h(4_|k8I5*%UcNep{=;onRO8Bk zdw%j$Ra;tceZXRDVgWvRSJS4TmBKknYmKGm0QnB3a6OnyW1+@{sI^|&v)J@FtlK=V z)BM@hlq4$J5tmtsQLEvr;fYHWoyBeh0(T>EF|5m1uwLs&k<}?&81F(&-6WnZS)HN^Ge) zGh~%0uX#)c)NDsg@kpNLCuq}D_#0IxpJ=h^tIjf^9VdvXiE^nOOGIRyG9_%cBf-4V z%qCm#Ht9loCt_-vbWhc@Z>U#xH7_}G1KlUDtEsc+l(br_L)l%yNl`109e#2%79x39>Y6Rp`Hw(A$<4IOLBmMKykh0dWZj1P#pvt6@!+s9 z$4DExn*xz>M(D2SX{3HK_@u~QIl59c@UZO>wS39RLD#JSm~&g9x;LAG{lEN8la*`X zJ-r-mJCGVYll&HqUKZKVL`tQHQhJbl`gnxanH`ct?UDWh!j z?`RDSPlS|=0eY&1dC!CL<+KmvE=)PLQYGVK__y$ExSr2ZyXO!b@$Dk`D`2QddL9MPb1% zfI0&4dT7j-^hBO?MByx#8d4c6p%^lccG-pAmY+l}qTE#6cFG^IZaN_kgjlRw4|`XE!b7XCSzTlk@`@#szrK>xbId^9I(Yw7}``fo^3|Omg2b3h<_lGGv{=Z z0jlF0CZ*3o^3#jkOc5nxRV;N|fjM*XtVtt9_fT=KX%w}tLGm`QE?xxYAK3z}8U_rF2E-5i@l$D8)orm5w4Ceq z++~%%W*wiV?G_`Wb$gKb!^JWV&ZL_bBjM!>>`Y#R5@gNLMsi=6fjwVwxJm`CQC|9C z7uI=hn61^ltYuM(z;yQgbjb%8KLa`ueeF73ZC_d4gtvKR;Rjqqh~Z01GoIvnpO+zg zYN?EsbAw&L0HtNUn>C8;yy{XJzt_F0xd(Y?AuxgyVx{JUJH;SPR05d~^HW*jr*I50 zz^Jd@0R{?^?1U;`!~V_YC!$MUPqa<;b6DS!pJyF+up!AQ04cjEz5(OyP0K-oD_o94vLPOp7_komy#;EP=v1+t$a?^y zcpe#+JiD}09V0CWOy;#-@k=lz2G%molhk26cx_Qy0v@~q6Mq2tS#?EGM|Ol8tMVcd z0D#(H#VJhx8y_j=M~$!Ra@4$ z;r3Je;d}^b*G&HO258-3<0^MH@nQHyk2$Xqe2T}BqTU$62jSIz1=fnWDR2(Ankq4yB|QEog|Q)u^zo7)%drZD#xj+4;O5|h%ZDbx zrShBegJ9MVrhSW!)99#j2KH^IRxk&G(*PDC2JL!80aGsdlRid(05XJ@m~!1sXx@m#Ir_EMSUgU$K1mXn(a?qGc&#FSk%|k|#yo z0%WT0{i52!?N_3k*nt~(6Z`va{MIJ4*0pxC5Ctkz+vX{ym@Mkwxvfb2DYZ9*b+jBL zU}?O8G?V?ZkpxQoTh`v4N=+%&1r=JonuAM`0{~7+40Uib{gmX>1IzmW%D9f3BPG`Q zR6;h?BfO#CX1uEQ%^_rVi;X90m51OD^-MMdC_seT>^;`^wMiVA^6t#FEV5R6U0`y98KN( zGkT&7S{Rqb|0vANdil9-{V&GwqxE;l=P@T7c#cMUDb7 z%+?cHVc*4UQ54ARr?St9>;>Yf%@BB$c5|Dx#4xq{d|*?o1WgpGh9J%&@GA6neG(81 z$_lMyG(tjJ9iEQZCrhPAKl>nnlj4>z2`<*Wand45dKf@;26S&ko}HY)Du5U^@f$i6 z)J$rg`=J9MOW0UneD9uWHu@7rqOEjWEo_S_+M=m|OA~GwPRiFyig)xUXqxekm;(}# zfKU;jAG<`omCpJiLGjSyBN7<+iFz@xNPz=D!6P8q$T-@{L|Et`BlCUfpCud3Wcf&b zp)%jNSG*XW539RN``}qL>*C$rI||Td&-ja#HD!0hs z3sQ8?1}>jXlIdB^#UmvC<~z|%MDmh6i)}AK+H)(sC0mbw2ZQl4!5K?hL?@H*^M#L= zJMapAO>A*$Iq)$v^;WJJpqAvNMLug0%QH*s#*}>9(x=2cm3)6@sm`s+F4$*>txZvv z-~iVldm1a!GqSOPDSgGqfR!AkX{bDvM`K^+J(PF&>~UNpwUjKJy9^5I32F&`vopeaM39p(EEKV#eq)(4G~2thR5Cga}-HV z)}2vpYzsOfEe)Q!A{*Zsds{5yqsfQRsff?2da$63!KttO4bIn#*DISKy}?O$aZK4! zSGG^Ws}H@}*QZ}{o++P7Z|@l5MNsy)w?L&h^RCD)_Z!CPzDl;s_+JrG)_>LBT6NdB zpZNm)aTBZ6j3cKeXS4gc{v!Tp+%qQ$J^kveYjxEiTDuxAR3Ks7&H`omx%Q+P)%hgwPgcYGOgpQlF?b!4qn}dmcCPL zOOx`hxTI;LOcAR>-`}$OTZ9|Ns@|-$aeTf8H_Q61<0x=Oc6y&4vy>XG zW<~8E#(&U>iotqa4##`(Km9(3hRBWeXo&<6_Hs$&Efz4b_dc+G7e>NdTy&&7SV#si zWc^TjDsX>uQbZX=Lp90bj8K$;{mZ)ZppKf1UZu16sU)%7!uzy47&zq!{bHrUd4F%Y zIL6t{>JlxHYmzYw^V5yVnk!7dJRg_n;+Az%L31O|28b4e4xrp24OHISc%-}Y5aBhL zio`S)31;;`3#JZrI$o9?RQ5LOxxjGaITWh87;SqYr9yVB*#7g^_WR|lEit-w*@b>7 z8vOeesQ>)XCXh*5MKw>R-hYf7+65$0A2gS*j?zQ$R6)3N~dqZj-RP z+hn;Ff2o8tSrTD^Km>GU4t|^BLv>6c)2;$BFKFqxOXQQ{ z(Ld=^i2rd9s0Icui+~A;(&+^CD zH~sycuPvE`!_BaN^Z|cEq5){AZE|OiHih?gA zzbi_^eup4fs0wm=mS;c=HXC{kDjN7zcLUlK!T)h~3V*{R6xL~=Z?C4!sV8{7M@PMT z*;jpNDT6_))aDzOi?U0~+Ji-qhm~shU8`xU(HOWT5THS)^q22Uzt=K^h2B3PMn{zj ztS8Tgasbh!6T>HlJ0}qM#ri_jHq$JWC}_CD_~4NlOb%K*-`a1cAT3u-U)1;FMU(IyRpeKdy;>K{-a)NA-ga$S)i_z0wvAbiY} zg%9S!m;5XhHvP<{)F~l{@o#$}hv^L&bt&w7u$0x2AasQfG91)Lab0l-{qX;cBnZ5I zKSHdy#PK-15pXhpIOog4C#eotP6WmA+K_5UW~t(M&j;AOfcqLAOm;L zsNm*cwP8?BND#`B)wN`3hZ4?uYjLq$k%%bi{q7fCQ*StBa6+wsB}=oBB8&%)e^IR~ z0o5uLLrNPdu_L5A7>8xjo4>Ta@CH?k7b1Q78#0I9RjRY%lS=ch!cn(0szU=L5h>7j z8>lMO;qu@I`zIuo6%iSs@awv}15e5h?Ev^`s#G;7z)Koq((x3dHIR}Q8xG|+FEDjc zXSx;>M~t9B1f{|3sU5*ezj39d4T`jWcnDa6;t*-a&FPfGc*$(DK0g#MC1#ti?xy)Y zmOKpb>K$Jb74pL*E7HPW%G0T|G;>)r0c|j)dwadWKY=bW;@;ivw0IvV$E@>YXIy{8ZRWKcLRAnHUv2y<*(yp3KTu zCq`GP_)GRB9}WxZ3o0$cX9$3LnJ)(FS5qB<`Qjvi?P@NA$KM3SJ0PIesxL_%-PV^( zc|$s(L`6`;`#Si`JIl)Rnfa2#^R;2_w0Xz5gxv8 zMmW@&Q!bL&y4*Fl z$Z~}OJ_KlMOd&t8m3XNdHgv=0f|ASe;U(kBdE>Ft^a_|j?p)VWYJ2FH&Pp-@{1bV) z_DipwY7jBOodYh7nf2Jf0vObgu}Ppu$p<#_zRKdbM6iusKSdjS%(w{RJRqDc5=!$n zL`lUA6S<4DjU)f6FJ&7aQ{WKyc!kO`eUAt$W1a?+*I5)? zT0|JMBb|z(hpex*Qs%`{m-dr|2bSO2#sp9ULUP1nER~m}_sh|CEWe1?i`CdBca_Rm zu6C?!yEYh<#DDAnIQK^M^h+tW*`7wETA9`90u^y|mt#wHa9QY4YvFQM7r@Y$BZQEN zt2bnd3iuR>qtc!X7pWvJHQuN$+xjVb$CkADJ4@7yN`#b%%RDcGy{snnu+oj;9v`a^ zd}o}Ii`nwE6Yr(SKD0l^Ra5C|xQAi?&nQT#b5wzXo}E%3MTMEixPXXrlDe{VQNz@* zKmgV^Ru+-Ug|Xseu{03Er9_0?V^P~y2(3YBM_>bij=5q`j8N{G3i%Z;TVyM563Q>N z7*;@uLDHDktpRu_JDBV*y6Y*j0m*5Q7H$AX-soc{M6qOSM;K`Js)yf)s2hT#=6yQ& zR%y=Q$ThU;`_IpOiX<-!q06x#c}4-$sIx+K9vV_Eg30e0IS9|XeU%bAg!Nlu>@S7_ zrzLntMsh>3^njknX016FN}z~8C;&rpVcDGFEmWUycYWb^mZ^l0{i1CRNBOwQ(?4y! z&Hi;OI8PMTEW&7!JTEyGNxvqQv|*hx?pUY{iJ|x&*B#kq!njYI&!G@*HQURj;=!#V^)AKp7t!^x7V+V6)}xs_CNsp8W$ZD*EvUQ4+~6Aj5B z*}VRAzNCln9nMIN7rtE=$fZu2Z1yx_5yU!%LAbh=O#r?IUOJwQuwM$R2pEN0Zl6TbMz*jl~j-U z^4N$*QOz5{z6UFeiA*|N3?Xq4iJ}sx9PV@dA>-lfx_}Xh;s$eg zQgCW5y8V?JPZ2z6dS5*~V_?%AsHolpPKa~^WP^YCPdY0x7+2Wl5O&;_hs?0v^eKeE zzIG+)FX`nCFjjgyT|gfeMogWCvY*CPut$Luc`eo~mp5>oyl`3SfqFrx7Z@B&nnYEu-n2u&zdxl1-e-zfO3xRIV{%s7$f3%Tk#9{|aJofdTPb7KD!oW95! zSnvGsUhUQwIlVo5$zjUnj`Y8=ekVldCm_2=n=2X@@se^8j_*|SIX82e2S!WLzK-p0 zhLdF5H%z$<+|j>YsRM+8iRpyovk+iR*vde*OCn)lWPyp29RaF2CtC0>Y6X^U$^-Q$ zdi8;0U76vD0@o$C`o-B_=?yRn`fiW_hAx?yu4NVR(Uk$n`MUfD1%fyWS?~)FWFvZp3BuT zwyQTADnC*2&G(q%o@0{ z>doQSOP7L=)=<++@888!2>ZFuDKK+*hKCyOnC`QVB#q4F7%cV}UOZMpa*o_$D1o9T z!Q#JQhshMJavtxxm7NzTBoXGud)R@uR0Qyw{&A^RooH>kk&f(3c{S2%Y)Mi=C>$$y zF0Yz6lVUhOy<*I`KWQR7VLW`LKmJPxVLgXr*`Ap?o@Xv}gveM{*@t5RHQa}D{&4v- zL!@04UzY!+^*ehm5UWEkiN9DUrTJt?2HN3_l#!yh@sU3_Ov<6}E&*SXR=c6MHH1^E zqItg3ygw*V(&BQ724^dkr0Xkn zR`g^y2k2bOcL0G@#YJJ`mz9zQ346Y)%RtADJFn5B<;T;u^vTi=ON{H-)_ zk!c@N(fHXGuuL zeIP#$Ulc}*HpI)K@t~9A$FddR`$1)aN=(F~K72h za)zwXwx%p*gR>b!AAM=a7`kY9YTi>ubatyp?dJg&9$oDQ^6JC)`LS*Udt|5e6UTmNLkE_csMhe6d$ zj!&lkv=u?3chirRAzP_{_YAd>K=t^(XLw75S?XQGBl(jjqlP-&)>j_LEhAjm6;${e z`1vYupzv2f)|HfVCdJEzj676k0Y%dPC-_92B4?Jd4(%4*VJSgub+zZooCAtT*yUP6x_yww=JW*|an7igso z9w2ul;77Ek(a}vrIDeS8rKVPQu6v)dfx@sR6!}~)>y2)QW0RtzT|iJS$Q=nNK0^LC ztrE{+jz`m?i4E9tIjzhPR~wcltWBvRHG@b}`SOBgOyhgR*noqt&__D1rSn-7*5F{o zMbMJs$D3omQ>)=g4W~jTqV!2mT40Z@;0vi72&C`DkOo7J{{7c_`MUCt8*Az&_OaFl zN{zt{$_N`Y|E={3@doUlVKp_XWq zH8=|0``bjR<|DBVAsHu|yp^K`fcb*j6QQnCRebzdOF_w5OOQ5IS6>bM;0Z88afT7# z8g$;`duXbdBX36(_k5UlE;7k9zbI;rZ7BslEF1&o`G}-u(^QKXFQZ{$xRUV;)LTx( z>mL;}w8+yE(J%}-L9S>2hM9`%k-pj|DDK779OI(MZk>=$rR`0{HmO`E5!OaU`pE2J zegP`i?jLx7hie-$wH$R0I~n!if|%SX+m{LC-iBz9=&os%e=aU*clmI4RrX`qn5i%gD7HkxP)M!tTaN1*>3u zmGH2YK`cs{;BbLm%$HCSNle^Jl2nQSbuqqQu8oxc{|uHTOj}!^dA?y!=YR(a2{Rt8Hh=-SUjU19Td5~9x`Zf zqwI}>Bsbuo2rLXx{GN0*7ET_k)5ILC!$DTupPDg2A=zecTX`HtHNvVAXf+u!UJJle zF&M2V-z`knQxS|2Pnd+jR+@A8yThd!Oh*?|TxRUVuBGf#x<~bg6BlCwJc{L5td?5+ zuIqfFAdOfQPWq9O7=6#f+NQmG!5k54`xeQ`2ixMmL9u*Wty_Y>sNBG4P+}JI)eBLZg~tEmS+8UAv}suRh1WF zxhKV&f#3Dv3_U5%yGIwDK+MH;xZjPep}r7rEiWj z_|De_I?vKl)|ql=Y_jrlvbU(&Z=OHr4Bf>nW^8osT)-y82eU)h1JAX3@A|%Ia6tkI z16qd#6HCN4HmoE`5c@&*_CEjNGmm2xjLezx4AqL*gH&Eny~J=t&f`&vG-NxIiCY#H zuaGga4n_$@TS9=RdqP1-2<3XJDYKX7o`jMQ`@&WMyOK}Avbx|;<#He-^M52-Kh0KFhhSLPbs!p^t!9N8kBDO?EKa+y1f2hD#bk&hKJ6Y7s zS=VTP29#W2UgfJVDpAwcwta4`1VAHQ&C~*G%nK8)L+dml7Y4nOE@sNFsVze79H#OQ z-Bfl2E+-J90A48=jKY^k@FY=HYkY=djF_ea=3zT%AE-oJ%#aBAV=nZ4`ohtoP$Z(G z(JV|@P8839S|CBe42#cV<}<0WVpX#L)rTJC+3QNAko+ztDq95BhagOXUSi-{ejMfe zeyB5LYYL++cap%#4DpysPuG;+_b<^>cNh&r43yvC`rG!a7k^pd<1l#}U-F7~;>c7= z9`s9JtJpOwv!7neeH+)n+fk7v<;Bv5PD??J+KxDiMHKSu11L|~x>Zx7*EKFca3di- ziLN$sSWvk$Q{q$(9;?7Gyr)cyqj3Bh^G#U(kq2n#8!WHKJUK2s!bAD5v!5r8lPP zCs)zicf|!!Ub%kk(mUh{PVnFpMY0raWNv~I+|lxXTL%(tGD6>$`fMW7xanbRSVe_< z3tw8=0^}eAWNMuLcJjO+I+Dd8{^Q1BH&-S5hlcT&69b1KITMoXv=5E%FWsfkPV>{N zhr3GKU9!8hR?aDznE1W73crDr2%tatWP?D(!00WS8}pbub%4vdwk{udNDQ6qo5CqIoPEqsE}Ke)BJth4sLd&uWRD zWaS2x^%_|C0P2d9wCF>;eb{4)EHp}x3KnlEpG}n8;@dlS$scvPa>9k@EJx`>wM|Ek z!FF%{%zZ_72X(;^8*?6c2UA+^Bp)fJ(ZQMGFn(TNk9HMEHWsza7@2>YN>sM;9~J0ICZYwSzja#92bBoj?`x@KT`S3v9zu8>9p0ZdZo zXf+It|J=CB+v4cGd}XM9!qzpJzg_^fL4EV;FWcjER`hVM2A|gMun%IeO>4ik(|($n zpkatUThqNdxl!t7W@A%a@9vwknbX7U>9nhH21(FRZrq!szns8SLNaaWkC$P4A~R(o zeDHauq!CZOEGCu68ku270^djqfuJJ-Ye6{t(|0txp674_nzAb^TR*U&I=hsP!0O3( zjn<61NBVVI$v1nWkNvelOd6_{@lHV%xlNJ~f9NW5*6w~yxY^1V1tgR~w+L;>&f0pK=*(RBJzfHTQl(J*+W>N zA8d>`R!g9WW93=GrCGt35w_Lka zBa7M5$=;uGswZTHD5IR$gr4`4fX|4}O9S|s=IQIv&?LX7^Y_Wwyr0HiFJZg#GXna$ zU+!+se*b0_@@CzQc3>-}#rpe;o_bW}MDymC2_&Yi1I)4RRnHKA7}XbI_hQLwVmaQz(+35?(irZ5 z_u$aUrNs#l>8FWG2DUdnzs=B;QvW&BZk=TWCh?i8A6AHS2(n9Zhhwci_I_k3U-kR9 zetqa6JfsHsFUnyHpL=3(=t|-KlyHaoKq~be48Q*;0iDiQ>U=b+mmAXP%+h?9VPS4m z`lMGI3WUdl?Xcp{O{&}FQiliC4SwV-(_5D#RiWa#59-U#&`Q|p#W?Nd$jl|_`T3@d z$Y%sa+r}IKzR^Mp>DORJL>VFOF@-=HBWs;L6^$#zUa6uMLQt#Z^0(Q+P0up@*X%C@ zQQsFu9#jaTKD4f5~)tc9@jRtixt5pUZxZ2ek%1_-Ao0KFFVYJPVb;qwz=GFJ|FdwkR zgq^On5}MdGjYvtJs@n_5pnWXep$WnKXv(a+CJ4X#7;B;ARKWB1)#m+87ckTw9)Z0? zzvKzVb_)pK4RlI;*+qo(*-vd~S~}V$wFs(G1$u$X5n9L zU_w7Lc44i;24~Wv`g|}dXUVixwd>2nCy-cgF5v8L3^^851bdVBW2uij%#vJX3x1-d zfp>6q@V#BXUs4}=h-g-$eZC|PyETW%h8<;7sDu-jBz)2oixQ_V@bX&S=-WcW5oFHM zK(GAXhKEK^C*?Jl=7y9RYqlGGb-M}@0g$4uPvJHo#r&umJa{eN=!d~v2z@RzC3KE>#A7OXpJ29Wf1J{2R#=4=vCP>pTq87 zCR*tx+Gvu}(k|6%&e=0y(_YT1rpLjs@PgIasK-%ysS9T&J+0p2Np;!`c=~32MOd~rdQdq}gT2hlEAOo}e-~O&NbP#| z4z~Z!KBrswOf~VJta~%huFz0y?qyuVgsxLytzzZb#sOO8WgBzuZQ1(JZ36vT)CycP zOSjCTyN)BnzRY_F84q6#hm((G*{4*Th3@BU4`3&wqBBq493h`ot|=vGjz$IlSUIwYpJ{{~3`GBYfWM34PPm+0ghKPQM#{}a>ubKB z>L^AHlCiDev*f0>Dax)Jj!7eR$*TxT5V~zmPz5vIjb#)8ZyEnIjMN3~RK z2U?VxNVRLDW7bD)d;eWNPn*YJ@-kP&FWmHrWJRJW9YKS8Hp)pSF_7+r1WfD7Ba0p7 zpb!|}BU#R#!v%ikzjYvt8)J}`sqg=D8+JbH5tuFK;QQ&2IDXBZzvSj3F2VQR()whif$vgl9eG?PdA2<|;>{Optok zewpfs7^>JioeoQ%&d^Jh@)`TE4HMcOSg08;Cf&PyHJwADJGMm`Wr63i%if-Z(x(kU z&GP4)z&--p|=0l{#ACJ49@es2Gz@v$r*1u#z(P76c~$vWUJtAMFo5QmGZsESXDn=9vEMQ^ zG90WekDA@oKCRI1u6*hU3(JzF*X#d#DBty>A0E1d@@*d%8F@h12~axcVX79qYHs5)%WxSQ#n>PYE*)?C!MYxGug1vrnrSb) z<6l6FY;2%}`$>(mMmEjV&fYDX5$F{*mdfrARbT7OB*5b1QZwZcoVH_n zHlm_>#HwB<=YvdWhHXSXhjwy7p=UytlPR!OM_UeAC0j_*&;Ur%CgsT}}I%7pQ$=~cN9O57bgGq+5g-`)J$*7ef$42P5!7~u+y zni0s|turXY`r@!fK=F4%+E6uNrn>D=V>T{IYmX!3%mtQWd7E3iRHNn@L6_XJnf97} zM2A+oES`D;Qi_ae{2F33gk`A6b4?0alo=rXfDCtfWkPaV6kJST@bDxf!4ay5(R=TL zwNNjU?IHcMqF47WTOX04v}8+rRxAk%~}~vV`Z07s6G4dHZ%q{^R812dIa%>vbf})KRt<)Na-T z^1rS>U3wKk&;1Gx@9=tcY@9cL{qe^kIpYd?ngK#ugrw~8aD+63f-d3>CB(k63baQ| z=aZ>%#;V<@8BYwZNkmmdMr({9Bduzo+rbS;#%~!J>z|b@i$MToR7{syz+pyW)m-V8 z?bbG0O4L5GI=^~x|JO~(0bw+m+FgExOR1n-Es-pBUDGPtl_aR7m;5iBWsr%{=}Wb< zp2_`GYLrdh@V;d;m@X$V{ns#>Mci~oGOq0-KrTJ;9fAv7Is7yEsyCEYQ8KaV;|3p?Ye@c=jBjEn)o!im{ZVei8(13F#% z9+G8g*0_HB^0vn(uFx($4M|@n3hCA!_aJY3oYtr;WWS_y!Pu3~REK7mv7I_ZFUIr0 zi;?7rl?*T7B9P$SIxA~a-s#+oKV4RD>%5s7l}B=DkdIDyqkJA$+&9vy){$5kl8;Wf z$>`bhi%(RIDG zy1fO49BFGt$Di*onXa{icJG*7qhofX;igV4dFPjbCl*jL;-0*f!toGTa_QB<0q0}EgHW0X_)=A4v(xJfk}7`pY)_opa5{Om@M*m`wSbh@ zUPL6os@Fno62a{?iWq0U+0_hsBS@Q>ER{>4@!hZzsg%`0fiU1eO{@*B(8&o`WTpLL z>#K14&poJ;44yA)9y{NIyyL027-GrJH7TfemJ(FC9>-`R(USpoMd*A|!v%_y z93-Jdk+tf?ztNcyGG$lgDC2s1y^m4vW7OZCDioN!k5O;PBv?=SQPoU_Mtw>!I9Vzh zkkKlC(30Le^^~QpPaDGbI59@?QE6JrsDlcJ|EdRR_YwtXOY;^gwg6-X)9#=?3eng~ zxI3SoVsj^bb-Y*V7-(Yn<)J32Ov;=IQ!TJ6cM)Bbot9A>Ps6sQHaLxX=Mo!Ic`xh< zd2-bZ;%I(3o>g=(rSTdqq8bFRGl-l9#Kna8$CHz*3pgx?UCK6P7Lt0buIO2d5VV-8^E=oIQt|t6CM2@biu0 zz@B;OKsF4bt>IgvG%wEJ)Ov5pU$YE$B+>8(qWfH3d}YeYB9>O!B39sxdI@>=#GgQq z7Tk@u7kXp~#~gic{pw`OateO}7q48j&?@kTA&@guxwTmbwE~5kgS)rQ8lyis%D$p_ z{?j208^$#D3|ZS`T-Cy`c6q`fnxPwJE?Eeq70%xFvb__9j+53;P&H7iroR)dmZ8!x zjLyD_8ns^i7V&56vUb{L>kLA;YX=n5eYVawmaS8vEBTXnN#af%2=m!HBj!!5VbwC< zE@GdzBh~UW&B_of&G_hVgo#9^xJWE@r43}~SMKt7B)NamT%zaJB=vNdUtb6PeqGAz z=lB6ZeT}sJs1vmBzervsML8fj%cYvV_FIlCB1==0hM;+{ZF+5Zk=9^=OUcgh^E9x_ zZjg5&Y6C*kIeP{nu^GN);*Q)=)g|mv8__nZu_?dfTDA+wFC{1i`!w!F$MTpLR2wlDKGPWpn-u@ zY_;4&*GJbe()ZeMm+7f2vlLRN(Bl&L=K6eAXlFMEHwP{yFlSVRFePMy%9I`Ia5WOI zMHF$uT%E})cj0Sm1b+n6sdI}nctFaVWYq>1ZWI8M|G_@+oHy&@9B%KX>vsql^^#21 zPU`nC>MnYC^OL!me!YVNy_m9`sfGm*&q#Dnv(}`PYnMrmdGtg`mD4OpF_+1-DKU*B zJIyH1zp%W>sOcvOq-xmwb@2(%MAG@m3nkMsVPxqIE{LiL)zCZDg;vi!W8+kv7fT(^ znV~5)wAb`uj5>d02D-!gM>t1$mW7s^Y2>#9PwAB2v4OAH7fDv843dQdD@)CkyB58< zU0mgTy73OE5E66r`igb;nKZdTeJdStbAUY+Ms%ByJg8nrNxl6y7OwH&h!~4A2 z=D;Y_9pFwdL2{Y$@yzO2ZUy(8njWvZ9%i7cITwGr`aWQPb1A;?oM}VzX6R3klAT** zmO5rX-78uYOcAPNDNCXgb9k;8z!WJ&Cx?Xm6RBZ`K41BR z(Mc+1Avi_RCd!$a%2Zbk;i0)oL6cj1s><=0sa9FO3vb`&w(mN@Da)9hhMyHp*cDS; zrq?WyBJD|l&eybn%IUgI*{6gm6inLZ+86j3NhWqo<1));1PiU~!S7&vxe3u?#d2x) z`dG;vvr!yutVbF}Dd68UEM=^L(GX}y5CEtputI7om0^OV2xkg42EERF=a4Yzaq9Pb z`y1WcV=idM|6ncqD=pBQ2Ptxn4D@2SeQ9~?OY}7Exp-@0@v52)$vI7?gbAZ&POosN zlboqgz@wNhq|kf>S)+L&1@mpNVDsb7$4XA16rPiDjaXDznK{4n-Rh_YDx^3PJR1NV z&Kx!%*O-o*P!VKJ8x8unABts}hRf ztrU|uo{C$69KJi((R*=$?*SP+jzgAA#%PKVRhpX;Gk>{o8ykz5{p`ha>gO2~II0J` z><|C^d&-S(9YcXBG$XGt6%mxrL8VWk>>m)RFsJ9WHxHey{P;j<{N~iuhcR&ZLJqT< zl9bUjlgaIn{F9rhEKN0+z#$lKH8EC5jTM7f8*-fHQcN@mqg=D>&e~Wa4XW*3nF*#q zxAnJJlF5{c3Dfb=dJ$XQGQ=0iZKGk+HDa+q@bL(SW_^TG>klZXNv22IC~DYbhE8oY z=@>@rdcsVYU8JUcd(8!kb7#!Y(F5E$5mI9c#m4+$fPNs?Kmg1>E1o3rVr7ENye>g@v3Rc$5^*r zb$o-{u>8=aIHLUwxA>kDiOfe_RHn3h0bP#A`~iayLFIA9*bcfDisA2Q##5BSs?3=7 zxVF{%4gxabh!LYo0jEo2$vFup$$q`k_lp6-#j$>NzqeO~3tEWhzhk5z~Pg!0_!$i`HNZBUs(M?QW zWgZKTC8F8yCE!6|9HNTO*@KQ&Xv)<<{EAGOhLxxdHEc+(0t~a40?q*ZhK)Cf#_pY* zEyuJ7w~DH@hg(Hm%w@Ay$jO4aMg=SXKH zx2L%KNh$!@P^`$f15E-cB(n@uMxX)R-ure~y2bO2`6?Z@6eKFI$>NQlKyq4WV);AH z!>)5fNPRVZ8A*Zu<{0Mo2e`{yJf84V&d?a zArfO|1y5*}&72Ed92z26RYU^d$thFX;Gyde+YQa|*S8*Dh|Zs4;18q*@cJ<@j$5CSFN(8)y#UH3amK-VJ$Fqb0K<(# z@gXIL!^64}R8?Gaqggh_L*ID{;M@c_Y#HSeGBdzxPp8bz8&&1#$UzJ!sF-udGG6Su z^=0Xr(8Q4c(g?hiQxia!@FD0XHY_KH{N3NVNZCU~3;&JXdNi+~N#O<< z1>Apl`|j^n@sI9=f8rsXqk#}V>=0mQgJvgPg`0DQIMX3C!vI||o+zh7I`?%{T5k^? zXqFz~X;i68PNxiQl8`smN#ww9?TcwX3H`XLjEy7k8Xj3`v@W61hb<6)`V<oZ_S9l%%gtfXYhgfcuWPTyeV1ppYx}wZW$=@Kl9w<(4?GOPMXr2U3lza63jByc zOvYC<+YJfFHTYlSV)#gtwC3O8iM5grL7E@_TBOvl&MgKOUV0biT$iKX3*G|pxmmxi zp0y0CIT}jv@{}+&D3ejD!TD87+vl}V@;%k=E-T6vz}woNbIL`qE?lo^e}XLr80@oC zuI-s!ay<=L4NiLL0bzGcxJS=0;9G~n9g_EUpxBmi0LL#ir5{@qpRfKg(EfmkG;?T$6FySSHPevwH)Rptdq4ZQJ`M)$Kp3`sp9zp?KQ>Xf*z6+Z%c=ff;Z*&lHbwHEk{fA#^cl8 z98{MgNPhg2(+LwQq_7LJvcM^>rAujQWia*xi<2Toj6n3yWx`dXI*L*y>iQnq22!&? z)N5u4$8XL23e@)O^7^+ACqJEk*wDJRga781HB>r>UKHzz6Mk?Qu6|NeR-hE~7`rZN zMJ~qVU7YtgrFRUokz5k(pq3u**U5yck=2C~nPq_ETjeZO*{yNcohY2=vN);m zdAM=TD?Ff(-0vf!L>sbCk*C7MA&$OPyc)6j-69N;V)TmuJDJVn+}%8*dKAQn3kGp?+95 z2UU`F$VvA%R#Io7454b*jb(?WFg)`iV85~9A1>Mdnz5Bm)mpxwlg&p?HghSCf2iK! z$d@I67BH3fs595)xljL~s2hOHtz3yB^;zf0qKbH^d05i@WJtbXUPwi1KqzE=K-!1~ zwa9Yp<{+*YkkPCRFuVSqYes(j^PkD9Uxlj@fRy!fVYr#Sj!LvJO?GX&sZ}4Ar#^jd zr|NXu+%}q9%W#kfm)e@n-P*u*VrFi+NY_3m|KMW2|G!y#VzOnwKCyU zy-@3jK1P4;uy~$`?c}srQ~4z(Pu()8zqFkA zE~-3z%%@Lx%p%SZkp&H@a~ScBa^URo910=k)3!Zi$b6yBXyzhQVEI(-njzNZovz?$ z#k%Sgi*)?$)-IQY;W^iaC)QZPwA^Gia5n%=u79~5n~}i>nDSCKQ59s zB&TkW;P*3%VX#|=G(xI9bL>N0@5)j@B?M<4sZz$(mk5-UN1!H{l;ki$sWLo)RF5Y| zb|Y@Y3e|PwD?&gyx2192^r~S;6Jg(A?bc5;RY%UoJ)$DDe1mtUBZdcSm+=)Xe$knf3 zD&e=f1leALtKZet`tB}GV*1GSX$z{Z3zqbXYq=EW^SWRO!3#&u8Ey{|d-hiSp(CW{ zltEoBLax|lY-O2i*lYKX%S?;9NLO^W2J8~H>PMNbDT*D@uY#O$`8{3$U9)uD(#ruc zTE(h0f^`vQ`N)G=_(V*shg4;#+A~wG(j#k6&0t3Lp!PKHy6iK& zwid5%U%uMjBWg>dX>)ZukIw%0!u8(6T}wkkSU{r@{2m&67N)#H>w!*()h~C1u->%e|7)a8WqLepXbNsO}+D=Qt_p^LwJF80m`GU=ZQ^ zL+z4??eEYLKPHec%m}t$%{@GoNtyeaA&~qjGn8j~NM4;}#gx8Ah&K$Aga-PS(y5YK z2S%cE^DJlsWXvc)%S_+^hH@h&=qTF-xxH7opQW|63ino|9<0a1jeE>@xObhAa|lz{ zV+lTN5CoZuuf>=;x~aF;Ntf}Qo4!kQ)(IRNp3;9OcmL^kp#HPAtW5vuF~in>*35~% zJHGo*KY6PD)4c<{|MZyyy--_f_wk&3%IO2o%bd_$mI88k5}6mJiR<-Uw7zjfu2x)s zjHRSUf$WiU95AJi*P({=2`1KOJ~GpLVOsy}g{lASh3T#c)6Z@v&x=zoo)xFTX+|!_ zB+%iS$eaU0C2EC1JPrsqz85&8qdGwjwXT>f#~zA|C){MS*z&CkEfGJG=S9YXiFxD^ zA0hW^SdGM0zp{sfvD7{6dzSrMVS;XxY2}*`tf{*P^cV=84qUP*dYj3_K8muGe(20)m(XTv@99>zm*LPVKmk6kKc zxN=(!x_M5l)xWpEcAQU#b27)o*f{p{8JWw~jP)rr`pxAEWS?8t(VMyMd;S-!M(|-Z z%;X;+955COKrbt%Xt)@$617JthxE3Embx(9Z}p~f9x<;#>8uAd~H4{jTfuTaF|NuVsb5Cd{4 zjs4F#bPt1#b0(R-lm@=pPk8k?Kvr&Sx?Kqq0%1cIYSe1UPpfM^8kPpv+^U*pgNC0)!y0` z*?La4+9TGzj>&q~GFeB4^U{Z`H|u%Xr(bKlXXdY`BtKBM+QT}Jx_%uU-(eetb?vzg z?X$id!I5#gi@xApK!90hhdOsa+?nOStyKj_`oBm)xdH=Ub1}(S?KhVQ5|gnM7I0&! zAPl{1!3hyrzXNg)psk?+3^oC~WwV=u!GacYb8sQ-_r5^9rg;Pd5sGJTP+juf@-|>L ze>c9iZ#{3=r6`dq29~S*O)|>!K8peq``kR#07^ISjjD)HdJp>)M?r9kiS0il4BiO|`8^w?n*sa#{<9EXyMII+4+ zrUVvK7`A_%mVymm^Qcw}!z||SL?NX2e54pTol+rK=F_p4ehb+#0T>OEd=Rco zF`6FVD{l2ssPb5Tx9fR^B_a^3!qgb>7g*Km`uqbIo$Dq769$6X|>Tfx&}yk4umvaEcf?3?Pr|;rTY5tz8$+h2rQ7QKei^X;Evbi z9J}J<{Zf%c<|8fwB4M=t?15`Voe$ze5ByPSzgveenE)n47N!Om-N z_mtC&J)n^9q@=zNWa=qT0K>@>zaN4x$)|$@2BGFsu=JQ3Lz5{>T}x&v2zy`&8Bxtr zQe@?Xi;ZcR=)CPkIygV@k|=`v#Yj@>2-38Dk>y5}yKhqo{}Q=^qlaK4I!&Y?(Nf2k z*!r20!047|U9VyK7dayqax;z3?yipP$mu+lS*i(pFp2`csy%wcJ!3*eyTi4U&tv;6 zjr9ArG&D;TGi}kU7V2I5LEBt2&SoD8_1yt-R%=id;g4`l*m%qm!|zx&3$Y4RpVJbf zMl`v-rz+J@1V;@Y@r)Z-@=-vtN}jzC+E9@o-ZIDzIE5gTOMR3S!=teNsr~;fw`Wqq zl%3XWM(&jqlXakiA9rr1)r;qTGk)*RDKPz}ysXCpXzkqhitNfaHE`#z*)EaEZ9@(G zY0o(l^p=Qsh&y%B|4JtyK0XO-0s!uFDL}xa)KJX~$Q%2c`}eQEUYvO}a5T(^bI;Nw zm56rtluKQzm-MJdFV~OJ6ETZx5({bf6LzJAh(yi|wcnDXe|Pqgs9k9-BhS)`)6nN6 zWsXJ~x_4~5HXf~;K3V;1)I8(YsNbLa*&T_H^@5!>fo?BDo%5Vb5?000 z&$w>ZmF7uVRnaAuaOF1Pg8VGyBxB^%73-gi2^S1nkera8PtVEK89E6eTZfF;*s2#G z?I6G}<9dB(?%GGdJv7sDz9+k-SttqWq!oLASaImuRoinjvui6ndbOA%fyy}FO(&;f z23=nC(2@BLqmT0r4YzyUX$9^wtL@)Y%-wblkuSV>N6v*V6|1U2=Sgwhz&%3qB4hep z-;v60Nn`qlNy4gpJG)@FUCKlEvDRJX=hsP~<|Taeg;-^wT#P+tM?Kq->u^z(iU@~r zycpigpf??-?Cw~n^z8s1gEKsv8xz&!=HRVeDc3yb8CBVA5RbCD(jM)eB-RnUxj7)O zqyp+znq-XLp#|&q>c-A1}GfU%o^YwCeEL`PJw1(~~dfXYcI2mIZdSm7zE! zUt|@4jP+vY$O{7>xD%2Ja&FI_Gp-01SVDIpxH%0sA|Og8g-cq80b@LK!m%n}IAZqa zIyDfzGCkChhQ2We09ODZ(vLI?)B->}=F3#yqly6mJv;U8g`q*Kp~~P491e$vLt>Se z!{MRVW3y0Yv$-HAYpL^uVl zHNW-z7iiG{3tfAHh+9S$GLw_#O?jC!e0}c)$J*mC45B)DfdhGad%F+eub?M<^`+6g-9*iLV>v# z%arI@o^f#t1^!NkxCTI0ix9WI5L7XmJua}DxQpyS;FY&rSew2=HxOE}s{Jo+FF21} zP14>R+#KvIXSYnm?xv*VIh}M%t-r7o98iPDkB9^(JYYV*esfZ;%(5$)@uVN^2T8%U zvXr@)kWZ%<6`=K%)S8d72w#f5BPZECo#}URM4C|ej!2^ z;*#<#NY&DPp@-y>-7!^vlCWRFMY>MCN+2pV10-pg(9F%3RD>$S$22j|jDnBn$Z{Qvgxu0fMQJi@?_B=_szU?%afVdK~EEb12Q&+F zE)~G~E1oXAKCu2?s@qJ`G=c-tB;&VMF(@)Qb3k_@CD(=;HZHSk)-mIKdrtSYo}@a_ zyf=eGkc(?T=>nmLe>VkAsNc2CDND(e7AK{do^hSn)!WZ$y+Ad>31U#$>UqL}Q`L2+ zznokVTAHbq3<;bvTVL|w-}V{-GJEBqqxlT~{8hWiy^U21?i1%~)+0*IE!Uj5;D%Ep zRd4A{HHsl9S85}3x0x>d6_A_`K9q%=2`MV2z z+eJjPe}DJ)D8ugGgRbQe7Gt$au*AGbgs|z<{oaox4!7*Rp*#gEwRfG=0ZDDIL;YGg|_RiZi5{K&>o&T9gH zYc$^xe%4!1ugt9A3C*$@`Eq&%S8DRNzrFz_`G5TRuW#Bd$~}6?rV(_uI{|jFZcUR%SU!oYGPH?s5I>GjNNZZFhYqQ+KN^7Ba?_9LC z@yRg1^5ZHfkFHyxPMuv||MubJr}Gc6EM4K0m7Oj`0?8`dAd6cq{FRy9W6G-_m+!Av z&UUreeyjiooP!O^UNh}Il~&4cBz><)a2^x zX)V8^GOp45bm4+A7pd#%Axn{xtFNGefJkz^m;9A3gaGH|$?}FlwQ+GhAWUma(a2^4 zLdm_NMPZeB1rMXbDeU#WFaAKXCoh~vTINg&Mi`(0!Ye^^tdZ*8EzE7-uD2Lcpf-=) zN*`+}wQM3iR!Si~ux$+T+GCfv`F>O|{O|NY|7T10;fuKrx9l*eHq!3N_Ng>dtPPn7 zs6&#ZYxP!bJ4D0Scna>fiNpNuHA5-Vo&eu0AwNeKXYL&KXm0xXCHlQ1PztneZo7a;RMCS-y6b_=$cP(V z>-`-$bcqyIZl*mAqISZO7A%NN49#4ye#Fc@V}iVS^9IA0Z~pDy{te1^NXinPFJ1^& z{pIc3A^DG!j~@t4z}CmMPDmN>rsJFSfc&rPPnT7Pe6^UH2<7Lo+ER@rtVSE$?xh6-+~}ePSwHb~9y~VV;hT z`=hn(VBANF5lfM$GAr8Ym6c1k+;eV%9P>B1u-HsiG;rpZ*^qjbvv#Tmq$9FxVn zeWfi{!1 zJ_mkjZgl#>eyF+PZrSWm%CVn8mXvHv-L;MyJQ zXOihlY2cgv0$BbzK(=ml`km#*AuA3lLhSq^^TIScOp>rvxF#2Xn(O8n@)kWdiY4I{ zVj;zmPds0w;g*L~wbk(iIY$aCL;Qu?MOtJuVJS&V7&Nt`r-n^FRX?3N zus-+cd1STT2V zFj&xRZVoPl{oZ?XxKzmoB$eXOkWnU+TLio_RGG3^z*S6_Oyn#5+KM3nZ@i;Cqoa&r za}-P~wzKOR%=l#GWn|)dWFbM`LaWG_RJ9T!f{DyWTwv|EHB6saEps)`Ai>EWOvxqV z>Cf-nDNSS9r;oMOx(IA3wS|CvMvdLS5Xc=Xna9{yO5*e)WE~U_0LQ=Sy<9EJwaeTr zTeh5ibki<*45Pz{Lc^owve${`FY~>#GVg6)x|b`o&Qc&q5+(|yWs!00akaH`-HAfS zmC~=(-LMF1*{7qq+nW;Efv*RMn);Czy+^rEQd)p7{M0`pbO)GAQi8^B^P4Eb6bl3n zH94b(Is?M*BIkBT%-ba?P}KG54TU^lg#^Uih$5}BOtBPbKuVD@?SPgH%XP4E7F+1K z6wm~EA#gE)*MKJ(39?=f$)z*_x)2+CV`^XGU~L_Wtu?S}30&|5S(;iK*j%QakA>a? z`2D(a7hu(34(b`V1Hx!BwVXb}6fJAbE}31qsIG;TS*<0%ctXNNwTdvg*cq}SDlzks zPq%*k*DxCJ+|Tu`%ec0WfVJ_&lPe%YSUm%WU$AhuRS2tn01t!+)EpS%lqb+=!d~vN zza5tXBWiv1G_zVRJc21DmEQ~;-Y}=?mZbrec}TA8AVaJ{c`XOiB4)LQf%YMX!{H&S zKug*O_H_XEA6S@QksoQHF=k?g3&d_g#@QEhNqfHcW}jY&b%w&%76N}F^z9hucEMVb z2X@Jam$%KJeU|dPcTlDv#y+`i{BE`US~GRs?{_Mp_F|0aBTKu8#<|8pK?jKb9n7SC zb{TZaw0-W=_ipIb9IsJ+qD7vnndwe>fY}7+ND+yxA^GSIINS$xq-9o`&{c2A=?6r; zE{Pp;{bkWv2wDK1EPWn}H5RN@EN*2?YHiWmHAHQDFjM1Cj}h9n#6bFvT=W@<-9Q9( z>mwI?%*{1mZq^vSjqcgChgw2wA5_g|p_N9>I0b}CqtWv9b|yC8Xw%Dd>A?CAN4%)Z zbQ@fZsk|3~L&I=PGNUsCc>e@p-3Q^agvk99b4BMYmjB zXmM8Y?5l^v%GwkwFMa;{{W=Tde{WU)xEDbkl^ZKgDWmhcgOHh$@`+#7u zZDG!zr9Q`OL_mLU9~q+27(s))YC8u^X)XmzD`zehE=6KzOHF9O-Fs~`XWc#1>v1}n zvYf)7FauZ42)bL#zZ=+s*ne_@UuIaM;U(s-w95mWexZM^#^r+@+)3WpgIw zcU-T#xLykOX}mVw*nierW=u9&YE0H!ZcH}IEo|qxW^S#G`hV`!e)eb3M&)v)U-`#Z z?unfjyn6=(sV%I%|AB1Y|L~n<-0ah1T6}gkJ?6WQrDONu_0{Si{kDZV*Kqg7t8`X~ z;Jf$Q2k+NjQ-f>ZdoQR#F6^smo+Y`jrfE-jUrn>xXJ1XT52o#dY5udXrrB51?1pW> zucqnv`QF_H`)ZnfHO=>2O@oVQSxt?z(yM}+eLc-8pDpnLsym*rlO&O)Fkj>?>z+Qo zh?ceRjHpMATHbQZ4b0ja(3H{G+d`EMh_$K{l2_5aS;U2A3ftT)qZ0S8(L|NP@VwR! z(i$hFW`s^C7ut}Ms|!tD{Ub;t$aTJkcKLSMgJp2fHEY!8d@1Yt_V&>-TdPH+EG6Lw@7A@fACeQISi%eLpk1k(5|9|KGvUn25tfa^F%mi!s>oyJwDqNr zK@%=a3(-?qW+_q3cQf*%`4Urz%MsvJs>eFwwBQC#Ub;K8&EZf~fa-yp#CbTG&q|oT7dK!8ctag!Aj{G7k zCtRR|0q*gNk~F>;>yZb3iHO1NXeSyqgXn{dNjM2Kj{l*F%u+Z^sUUxQLkgx6w?FKO z3ew3)l3A12p0bbM{O2FZRF+B)&!V;b7QRDoulEQUk};|cdHaUsT$E-FAe_DVFSZ_p zGxklu-@!rQBnkEvE+ofEjolSdi?!%<+Ftqcq8ig4v~l^T-K?~njn1QP@!ZZ{gPuJE z>*-s(&i=r^mvS^S-MYrtx&!}jBV7_N5-(envQfkHJt3Ja_2Dw>fn;;61-+c$z?f{J!IRPz&tq^uzHIZG3M$He>&aCYxcG`VFW zCBJIV;B+Qv&J&v1ouK3$cNhnAf_LEjvDn@lTYY=uXWO}5YSyl1WS-ZS&~x%wV}M=p zyM%dz4+gO1Ov3l+g-w3RMZ4d1YIP}E*r_nHB6t@1}&5MlbcjV@PJ(wSF4hH1r;9;!s4`J+ILvoQ98Be&$W`v6|Q!0cU{cUsE zrHuoJ+DJtw?AWb|AM85aa*@t+I_YO+0Hxq%g-wNDx#lE`tYmK9hPQtMW;(VVt5JIV z`TXSU5^(W<%sjD#pCd~bEx&p)00s+k(b zmfkTl$#KGp>9M2my)ZwQf*YyY1r-)^B#{`ZD2dE67Z8+Va>|M+@fW-#ce`aecXr`^ z3+}dtYpjs6T}H%$XJ5*!E-m336qeC$R-@(T&^Ne$H|P5K?0?kEIM7Xk@QEL-in7$l zvjvl|5myn`Ahks!nV*IaGNBpbCVuv&UDXEABo~^e zE_OBH9F;W9 zx!49d{Vn*Ef->F8pxil^l1^yGEH{2x?YS=yPN7Hq*{8RuJX__jgL*ct$Z6{Y3seGNY0%_8lR4$>l7|R#8X z(%coG4$y#`f`uR>W~EMYdljY0NM*kh(N{H{b^f<)S0&u*U-jh)kLY=I%&TD6j??fP z)mkRJO8bJKSf!(-prdU+_rR*@hjD03Em2|p3Uyad9jmNdc>ZoZvv6;*hH0o5Eb?@@TX>l!>> z@1S^nK;d1-NO#+vJr!XD^&*90%%SEWOkOY{>qj%Mt?d*hQ|vc*^Vc7L9FjAxpb-JL zx)vg+g`^j2Hwozhmb||Zvy2Vox9lKTQ@3Kq#%W%y6GfK8Fkb9o822!Yy{xZgYitAX zihaQ$^a7i>F^I(8igvpIgY*J(xQ8_S?jQ~OEC27ZdV4AN|IQ!?`x86uT+l6#h+Z%O zI>G~XfD&j4A+RsPZ?0Z?THDCbACW?U~1@S9?_e`K=SVfDqsq7x+CS=-Y~v^O_UgOc|>1S92(ELPi7Zq{bt%BO@9*V zkY#7TCqGfmQu49Nzj$?h_0z}Kq)-yv&=+S*Q}M22;+HQ1%hZL%{duD1skUVE%OG2| zQX{U~#zdBD5Lfe{$Cz&CG1K+D{JhK4+i&A6YoBHpO~m%3zCC-@3cP8~6Evlty>x}Q zZ}isByvu>%CIezW(d1SeD+!z@gDFDOlsm8gYVeeE5tB!+ePUDx_OLz4IMplY5MEWa zv+xY(7FD0|lNP+8`c@wcW~||UoRr#Hmw&J$J3M`4W#Q3Ss-r@t`uGRSC^0#z_;uuf zLDAf|_fYpr&x~^Ql$H4x`o;5&Ol6j$oXTkd7KP6OxVVDAxE&ALj3C3j2F`^`HlhG? zXkTGgk50hLV`jn%qOFZKco4?cNwNJUyrHj-q$7F9fB{&9+DNT!mq^rFl(#W7n#L%5 zicPL+v+!oX()06K&6~H?K_>^51lDPz>1;DEFLiA2Vv7%r6OelW1sU?;&#Da+NCOJFw}myZ=qP)xAgqsrX*E#7 zgX$2tip3v9U7i_aLwR|S@(I(cXXi(!<-v;EWg$x(o=6P6WttR{??VylvAxSdzos70A&XcDzz?@4w~XREsOo2n)uxDYfoeGGil$3MV-kL>7= z3LO55V_>4p8!7nB-VyG&7+*?rg&wEXr0$BwK(&&tU0w>sm2?%Ran%E2ZL0~hV;X2e ztLwJWEiH81P=sfd*`u(gj$skG^`!V6HSEYkIv=mRsvN{ovz3+4JU0J7*zCGW$?0{; zG}r0c=?zU+u+J6FW+BOn3IgXAG|2MH+O4O?>-w1!u)(;S_iu0Mm)yaCQ4mXp7vvkT);RB zs%Xv(dln&XWqasJi$HL58g#Hm-l}KWvf=`QE;FK;YxZDx%!M{I%Z^+Rl_PA2qKA6g zMD88W-F~E`>{+p6;;zxVHT2N9{HBA;tB=2(e!6^r@$+xLUY~!)KN~l$pjipjj%8tv zX;A<_j-n?my3&4sg%bB9tkqg3EN`Lv8 zH>H!a9FO6HKM(EgYYPG~-GN1a{!4QXMQ`?(zkY1;X1(g>nkA*;W@cqQduRxU00}== zir?{!P1w0kXhz+!y@F4uMk=8Ng;d9Ohyh9#t%`;YPCk5S7Ki-LH7!BRL;ftKc^`5% z4&D)?$|h`7r8v=-Qdm08@763yWL{ihK)iiW;4`*icc23=wY2Y|JnnTKw2*Y;BJz*u z4Gm?3KQG$rAf(y)>-5G88o|8gHKTdf6APM>iAoNd?FG17mm~j{OW$exr{WRitf%z| z#9wSm@ZEM{63`79`Aof2lqkWnE!wti+qP}5wr!iMZQHhO+qP}2w)^(p=e&F0PgG@Q zL{$D&j+qg2HhCdK%xF1^NG}d`5lWL8g1=Hke7?2@k+Gz+1xv!vpord3T5n@#c3HIU z-D!p#Q;R5nmFi_qF8gIUG&}Efyi4Xx`dZ|wIUabOb?8$MnO5TD2fKP!p!_)(BvfxH-q){qA}H);gIOds^GiJ&FfKrIaGZV6tx!n!(^OnvCKBy6totPNu?P4H}lb z>ya0I$B^4FD5{7BpN1fXDDod7DgE4rrpNC`@>4pQNsxy`;ngF4Snn4@8chso(KI>p z{ZO3VrcBU*hgVehXvb>VV-iz(qDRzo)# zL7UXWy}uM}`Bc-|juP7OcxhnG;29DorIx?Mh47O^!4-k1mmLg-A>m5ml&p^w8>pk| z$G%72j^azzwG<`KfmFeNRqE|g(ZwGnK@z?O_X#1{5rgWSC8q}Qn;{wn?wCmvs@S12HyLnaEOIfce zhE~);AoZ3khw=U;q{EdXC#g2c zb#*Vq3dBf-p~N0@uR}Y+E^)vY}&K!vPu+<@fE<3EuksBBe$P7!q}p=g+bPDVo2U> zv``p?=;Cbi+SC=+!#HNkfi{|rYnC1P1533@H=8%);ZzS4&(+>R;Kt##Ir(gNre9X# z=f}hIbMDCV8nyLu$wkID3J(D;YOJI-lN*OC^WVPQH2wFDR_MKmu?3W3LWrGq8*+)? zw%j&>|Fq>Ya~J_$pX$^F_7U&@6#y#&0!fWva1g&SKg`M&7jKFN7n`_kOZlyUlJ4h= z_KG+CUYzawEPc_q%f&Mt^jmoxDVP%1@${JT>&VXfZuHcADm*+hz<0;&V0(L5AJ23X z)K-gFT!BinlVF8H?plq?`Ej0)LP+tp;d2)Eo_7YbLwQUcj%=Ax+6fZw-U%vfm>Q8f z5k>;F{7<)=-!`ok23{f!sn?vaG%r{_Mz?*M-!au ztHM(Qi1F`L;wi?wIwYvVPS9%EA zpp7*pB_yGBCbFVRMMHQvHMW8Gl2uDkyPl7Nsb(pz(A4}@g$%?V zj2MtvK=D;!noRpo0YX$(JyBxgR`O)Y(T2j{h>7bqz;0#}YDl!{U4@4hNP{sQuDV^i z2}maj%s4q9IEi5h+!$%6k)^;v4B!)#P*>a?qetl2_|TkWHT`AZjD!q8X4sZf_mbD5 z2jv$)(v?Bz&rVACSgA z>%SoVRuZ_-CT>bpp06M_$IiT5`IC0L_VD}Zk3%vsYzQ8m2qgD)*PYqI;S_d~WIU!P zEJ9J8DjGtMa?L$wvu+nkjDSKwh87FA&Gopr=%b7PW(5l>)euZuph1=L(n@PdT8vc= z9uBTT_s0&lN!Nj&Lk2GJ&^KU49Wvk|*z!=o%V9@N0Di)Rr3_JEWsnWDJ`)v6kyGj6 ze*1+256IkSY)Lzq>%R)$izX(Tz2nkoQ5|5m{fJT;~a>rVQdg83JB zu0=dr+9254Movj<(Hh>PxpWC4T@_WaiqgSWaCBfP@hzO9+KM%=$Ob(YpMmKJ+++(^ zmDKX^3SC&d^PWhCAX$~8oKd1s13eYa=- zVtrU&XY53TY*q0GskhT9ny4#hv&a?nIn`_33CTHc(@M%VuY-hogApp5@Jtu*Hf;7x zqAV_eoaNB3E-5J(rA8AD1>Xt@*B@Iik7f?>J6=aZOlnSyfW3bL%3D|Od})8$HP5n~ zIAo>JI5$(p`>N)y6J3gTTC+F2-rsT%q}l9zALK=-*65=8=dl2CB==S^_*OG#5q+Xx zDF~PtQnpW;OtJcJ;~!?1)mZyoDxc~&+AkaEr1$FYYsFplP@Y>!sM>wnb_VMOwQ{=` z;!3S>yVYe_cgC+XQs{hZ0-Ipba>UKK^>6?yN@4jQ&!o|agzH2?`UAytSwKO|l?)N^ z?mf|NAugk;vt@E;8%jEt^TEcJ+1OeQBGC>!@j=#wXJ2m+g})UbFM;tOYYUgIH=>@m z@4nBA@7p#Oi6|KCS1wwi=0{XBx*7}y@(fZeF~-s@?;G0Pd`2(078j4(9Y)@EP&^Oo znLyY4^tMn}ulX&9QkD-gOK2W+I$|3vsm*;`l|D7|Kzh&ZVjtRtzps3&=HCyzU{t>o zHepvz(K!W8v#gG}zbjIO8>d*!rJb{^md~dDbygHH$+cR#Y5biLu+O#nb+nYQz}Gkb zUI)j>@%ZLjJ&T|JO+h8~%O1M^8(Z8w%c}Xl{`A!~%leyZdhyrre*Erk*5|oI;A1v2 z6NuZl?7A)Cw@U)cf;iHO&myv{EsqY&k#HVDF^k3bTo`-cY)eI6`jdqVkh-=k0j z@z6ES1~_~%UW@akYeH)!eLI^%h-}K*1%bJn3`2Eo5{?V75HJ)gHjI;|1e3{lHS`y% zOmy*thSXV*W4^47BA|Jm0o7>$sI|Pd@e*8;z=vkW%vEv(>6EV-3T~`N1EYKWilha7 zV$_N>kuLtY*+)^M9piabX;nb=U+NobqUI8brPk8fD9Tx>;T{>(MdkG7MEVEEV`6k3 zdZ*6mW>muGD0}z?K_P*aaPGvbU>=jXvCR9ao2+_+2$^$S3O17jh7`?Zvge4OSi*nu zLS^ zZY4~J&?|NRB)*D{lYXBpp8NEmqaus#Y>+;#_I@7weHJI)T@PE@UQdmpU$17zvIK&2 zTf*<*f#YH^Wq^bLE&BNRbS*@I_8ma7FFLZw82ehg0esI=Bo-cKSq?5a zP$9c1;Q9AV3>&AF*5;27245oW&HRYdWFj^K30H6;kHXcaa^5&H*`A!8UAdc|+nev3 zubnZjlA^yCJLP%BcW2}7bEjW!&CXoM`R$6!J-8k-y_ncoE8jTY${wt4RCvEQCABu> zl<#UEMV}D7%+8`mQ#@~;b(U@&@Hs|!*<$v*%+dI6;H_jk1+r%#e-?Pkx-s|U3i!dF zKB65fKEATiXTh$}>F;iUF7T?kaXUJ{=!Tf_Z{C>f1z^iHGN;V1yM&S~2BT#|YZRT~ z)sEhjE;U!0QDWBDt3qZx-sVg?qgQ3;tM;%d-8=H(cz?O z@Wuu87k6y=YCT!_LOTzZHWZXsy)Z-#_=l;r}Pk8NIeR+BR9xxky`syy> zdMT2%tVr7zucr9Wm=Drt2kq3$5G0;SPpSrNJ(RZRs+g5 z|1M=-T3E^BZujc}JZ)qtu_=X9?bgJTmL4*hIYrY`oCTv^8WRLeW=pBzu^_A#mG!|F zpNwwp&b_6yBq8QTU@W59bed_hs6SIyu}Q8u%(BLur(zzLwpx6UyD7sR_sg3J6+0X? z?R6Xl)&&zzhzlMN&Dd}Mw?i2t!6`%LFy<*h0fCRezT`0mQR+XqtWLo~rTy)tN%T@{ z@ojsu>9p%6kz93%?Sa6!36=EpnEH6v%r;>=45l(O%lMV7@dOI7S?)~j_;D$Hk;2?A z4s+(dTV7BwsRTD}0y5(uz5}z9EK?1vrYGINzEiy|+z!nCk1gCU*{lidMO*_eYJD3r z`a? zrV~BCN=)hJ(>+YHRN0W9W3_Zi>~7E7X70~@YRzS(4&JaKRPQ0lkr0(Cg{cc>XEe@- z{eb?dIUSis7YkNIR}I>mAX02gx8l!PIB>0|4HzZS^x45gt#B!edvWjva!9E=vuPsS z81}u}y}&mdWPzWJRfk*a+{PM@a{2V|AG@uu(qxE~lH=@?djAYEN?J*&2@413 zNz)ESy;JuM?Zp9~#(Nvsll}0m%3oc8H_(X}M2dqHlN4<&JR0IFXP-Q1`14gV<){*G zz0mEw#@a#KxAj$n+sit9^522)^RLmBGx^V&!3WnBn_Hp}?(@Omi_6;Y=(TZ{+v7;% z_w9GG2hK|`^lME2`M*m(xUNsXdFU5@O`^`-+|^~B+Sk=3)3Xa^tl$5*i1T^T4-(IA z{P%1BlaPGJQ7^Rn{h@W?w*7Y}at5`x^u9e_K7O_3GrShROSOYL|3CLP>eeDSEyn2| zeKn@T@hat#ce4_cawO_Fe-g^Srb&ET1u9Lq3oEnpn6*`&Sb9F-dde*B)lyE|=gCb5H0?fjs+CU~e_M-u4URa$e? zH72u*D!RBFK1U><7E2c@VSbfL*dXg5=VD3{9yDgmICHOPthFJOl0=l6s*B2Q{z#G_ zrNZhP>G^$RO}>ah-6+pd?LNazk7yOlfBaH*Xkq)=24+g=5oBu%pZp!_+i~hlku;WM zlJv$)<@d6~lot%Lm@KOdzJ$#H0*K}rKvz=3k$us5q*?wnGxl4czr6&(D1QIj1+58) zx-(D6}vF*5Wu38m~f{nbecN1GeC4n|b+@HOq?T0XW)@A$sYiyf1v6<-mqIp+ZK+ z{It?^@bgQ?Uw;JD;8(;HR&3fxd0Gx0@s1fmH_!QjkBFTldlHkw0w?KL#FR=QO4u&_ z8L>44+Gi%(I73wF78oJc8RKe&X181OiW@R-k-U5PlJ;WWC0QM=Q1bqh{K* z$j-=FH#^?1)X+=BXaga7syk9R^UQ1BKhfUlXQ?&Ub8{ZXnQh01dE$hwjIGKL5K8`f zH=zUJa8|!*h;bHUOWXuh=&ULV?H@a!88R1ZOiUmKGY_fo>J>w(13Vj}$xi6Uc!}^+ zXfOZg&M7w6r`WR&$M=X?{l%-+In0pWDjaIqsEQO4*8Y0n28G5W%waxq^_ar`po)7) zpSDbjw#7b+98sMX05GN|F1~d`p*M+tNGeG#u#nK=`pZydk7%v5bm0S%aHE6887x87 zHwc+|s?ap~URig(K?pH^?`**&=4$0iy%CRIUAuyq&t9+3sZ=QVG-;aG3m>dpp%xE% zE*KV5vI83ptG~OY&RvhIUOZwCL$;wP_L;B9x4X$28tJ-_2A zFcqBk$2MS?{1?Z*!GGNJ1cb25cdf>=Zv1?eKq zKu`JPqq#8k0HWt8P{X~!a5WJTDkfv!Datv#KWy;znfy-7TKnlVngg90%EGuvGcXn3 zp+yw>2g4daSKLY{(GXUK z0)N>07Fe|<2LlAO+rPSb9=*eA|6(+fF(s-~dd|cnCuZSgB5%=rT9!jainwb))EiPC zKQ0P$d$o(|6Z#F(*l<%eu8q-G|7AHWCr;sGyk)SSzj+8hmxw}s%2m+1^MvA#{P6Yu z(Hgdr2Ucfv1o<0TFDEttJKpgN*jVwD9<)F>2Ex13U+|^USl|hzJVQk?FQCr_7n#krz`xY~OVNH-; zZx&9n^w|IaekKw9R3T~Lk#FSBAh_3n-k4}(&4>kuyd0(U^7Ou)pC89|rL{Xb*@aGY z;X4I8KIj~GcC1pTgm?~&K)^I4{*7_FEf3CXMl}-R44qo62;}1ySPzdx$H-XCPSiBk zwT78;WAkBcJ=ACQ0?!7b(k{LHIDFzmz&L;$k6=yq)yd{cwp-Bsfy`jLqBxiAn_K%THq^aCeaNjWMHJH?7{@lZ|P>g;qO1@FRG_m))*d( zp!b17w-3N_Ln5xxB|h%{DrxD9{pj{94kVFh+vdI4yS~#l8NzIK1mCby9P)X`&t%NW z?!13Qp+b)yUl*!Nj-3r0$DsN>+2m0QULcZDuK6SrxCas!2qFW@cPs3S%IBr;NyN>+ z*zrgx;dLEjUXrzMH-`ufw6W+S&XvA`So2GCKJuuf1!xjCnOgtBI$f#Lj9VFI+8>CJ zzEHT?&rCyt&U+wJpK0nsG;)v?`UQ#kq#%$j8}Dm^Go zGP@QDr2-hvozVsSnUtBKNj&G-PZ}Ry$eGdnm^c110YT%;v}aH-8~*o3SlrKg<-U z%MrP5^K$v!ij54BQJ1hRDzw;ja{)sha$w<_Y#h;mNP1f6Ek}59d9+dO4B@(>=UG2i zh9R0D5Ho9r^t5k?4Ny1$Hp0CEbA-8@Jh{iJ}31G{BNM*&_2OUnpHNShP0yzS{)u{g=;@?G0kqskCyzVadGJ7$r=?%RvIZVl^}S`o z5LQp&TweAg%dXK7px(V*$7`H}g*7P|$E=H1KtP)R{K%^vG{%DVT8uqvve3}eVpXeM z{&;#pugf=W?C0Y5veVeNW=&5 zj^TyvoPdmdC5!O)LMZ?(6ta)R-W>ls!-CSChVEMI&c1BrJ_j3Hw>`l87|Yz~lwDeX zP#>76<5$1bX~$MK5x)WbGvKS8=V%K%7BGFQ>%A?F47EJDkL+zak^_LW-=s`%nms$K zM8wyRWCNrtbJegl+&kg&g)!pXY&r5rm9jU|fvxJ>!!BqBqXBd0!?NW&kZo9K1|krD zCS0W=60g_pOVv^;!=siOgfwh3422e8s}|G36ui){LT!C_N!kiAJJQWcy@Mgp&t>(lZJqE$1zg1sc@d! zAxjONP8XM;MCiN649RpJcM27y>crsEsmR7^5ykW55aOZ*06y6+(isbnce@T^wtI9T zPULg9Qv?KwMLv%+@=x7pbb%+Je}6w5Gn|M5ms;7nU+u9~p@ef9sCxE_@B7{z9})8^ zUuy^0F$}bT6q4Duh0GZ6ua#UOA}Y-I--+4)`Uw_3s+jLpGtKECoqqb-Bv_(%3)O_3r(@owW~oqNBe^BY?cxAxvrAQ3V`sly zWGdNNq0{n09wproer4P^pN}yU$+@UyF7k9Xm+w}jY^Q8S@$$XEvtSzyW7$R(Q$of~ zfrVkfpO^yS%dBl&mr8Qcu=WN@NFg{~CL7=@*I{TBoDnUd2%HdpN|Y1CBe~(6;+Jnt zX>CD$5^{qTo*-4s6fU zVz5j!3=zLm%&j+foauSmm368BiATtdcNT>$k?O@+kWj2i=({ky@1qvh?h~hTRjbLM zqk5%lf0>X7xDibw>C0;H6M2871aqIEu144mvElrMAu96&e||M$nhPq`6Z__x7!?c| z@z;l%ZaMoi9V=8cC1C{Inkr9bNj11sSmqh?zr^qSBumW~?qrEF0XaDOf+6f2#TO_S zP|!86SjyNUj&Ku|%&nK-Y@#%7%ohzyq#IpZq*0J6VINv7+uJP*PK9V}+R?TM2Rc?& zI_Fuzu8#pWOLEd@9_&G~glE^MUM+J?)dB&>Ra)C9lbCr=fNlA(Qi0sk<%*jKoLea> zKI6v~@_LTz-kK@ewpKuprbR~RkEAT;_O$1;+2wd6{X;mT1oC}_W{kagj`&;RNu_KtYdSX z9{IPtbt#s)UN2*V(sZ&}V^@VBKB2 zlONLjFLbvr36|xhA4w`U+prVs@|196qNf9K$B7h8PcV+@V-BKX5@qW})xZHImK+^u zAZgW4uyzIF&OsPF0ZpH#+e?4CkAxf#6s~FR${kY61kXIdWr(798VCeSEni#CppHPf zmOi@#pPqk@KDgpeEQ9e0J^4tGVyg=4z#0BTv>U1N36r%P9U|{sR$M_?qs*Z8q1u0 zIdgLP4Q{GTzYMXf73ljP3+h(<-MsM^gf^;<;~WVUvP2WeY8Xi%Nc1nH=MaGoh8~hCzPi|%X=Wx!tDf_z46?@B%N4*} zX3eQcpopM;$wSNbb@O=D@MF^Bp_o zT2pMdy^mQ>)m9vfSMI0b)hk>FZ_pjN91Vt-Qs{AE)d9q8m+%-caoxuy*D?b4bcXE0 z5!|KdGCc26te*EeCs(0d#f#!4w%C240_oXCJXz$HI%La}KvFOnJPBQkqli?b0^O}P z$9Dgq!$7+z4W#8cNR5NYQW$dy-1PT==?`sS5raq?aERHr3}WT?raO$Y7y*KSVy460 zF`a?P61w$=mCVBZd;&$EUO0j>$~lG;vyX<=l@}!O)pA5c9KSk?D@ba=f1bU1YIj}3 z3pqON#oJ;0JBR3Ye)ZBoI(vbqxZJx7o3mUwbUszFj@UNelK_;o3J(MtdM<>vi*CGW{joKwJ$ zD^!xWwpxnyn%f~`h$AXx^Y7(6R^h`U@}+po8hQn7lF$3KvnH1cG@R^%OL(PRGj?Cd z!#WM6h{LX)!DX0F;aD7trRdNsz^r#t~kW zwVS2o`WVXguPiPvT9D`nhXwDs z2=1VP%mSt21D#_htQIQMaDq&};@Li(tpx>M!#b%?zi<(Dpq9Ftj7DXo4cUW>lk`tQ zVxGHXrQH^7b?!z;C+5iV`7%suL%PO4G`g~LPY+(5@v<%AA|sw9Db2OUQS#W{a%fFt z)?>(=mRh%HDswH{wNWP}EXq&Y%E-%7iLz^PHlzg+fi+Ubjtnrd?qR1O<(&GtG~n#$ zXPfdvrzMxNvpzAt`iPN^2iP~s zdXUUh0}v~tEXdO~5$&@QQMlWcP)vhBj4_4*F2>l|;_G3W1F)V9eJj7fKJEX_QB30arBfQWP3t{-LV4dSD3RrFaB2qkEj<+6?&3TMOlVfkR^ zYJ8vTLt5TjiU5VrR&x`dNmraG}$F?x2rsfm=g#d#xj2uq%f1dgan%Uhqd;PN4$ z{1KoWQklOe!Giv^!gZ4#CxQ~Qyw_wbF7H%Y(^nN4Z7h1=CwvgI3A0)|S8P-}98+g7g2~;+Ap|%><)E{zzN$VM=LEHvU zvV;csKwvGby_TR}chdr0E&RB!7#n1F)$s7^9pT3Bb8}VM0Djgm{qH_~HGC9~V<&MH zZg7R~p+Y*F08q`epXV#U2G-%GTYH9?FO{$A&?wnEE2*itNFQ9XPFk9J`T zv4{3}L$pnXHs5YxCz;S=pWr?>>?gEn5skK%3Ahq_vWU%QJh$a1fZ z@MEbMK_Aq58`^-F%A)m98OQyL(@uamXj>77IhYgE)M0@cu_6ks%5=l)dHZ-5mu~k? z^xPB%VMa2&sDdAd1wH=&fF2ePv8<%1z~xc;K}~UW85EoKkWdI3C0X!9-ol=9lv(2v z>`5e*cXyw_NbU1lq2GO`eSeQ3ED$pOC&*#OQPR&4-ar{V4(I#h6Gj1DKtpnd4D!d3 zEkP1wN+e2YKq%~DOOz0nmOr`Sc!#spya)VFIJx4uCQKQ+Wz4w zy$D)itsXa2{qqWR)tP}gYtipN3KCjTA|Y&+kW-Se$!kO0P9NVdP^*mX_z9*p;w<%l zz{#f;E1XjuPyA_j6eyS0fmXUFp~)JA2g_jIEE2?J!Unz_@Qx#?0hRlNVH*MhFy+8A zwHrmqKj_fNn1rxR0JY|dnm4Bfg$mQjS_!XM9ncaIYwvwsBaBA~cn<#$n`9Lpq(J_0 zmJAe_NfP&v<7_G5f?^O>mcfkRL|E;jX_}HR7J!s9K-OHx6IuVoCd21rPCP!qfaCw| zVzhtBHk;0AUsFL7RR`JvF1ZAy$n^o;U_}{~?!8Jhke`{u546<_)I=lT-uiQX9G?%{ zrTX=LUOz5xHaa=a5E@}g^9yp?OY&PL&4EiSYDe|ufb=8M9JM|fF2$!gBxIE^ z%F`?H}Tcf z_IP{Tq^(xmWxxrn`EP8Mt3n+JFEPv1sI_BGlTfnuiI{gS5bTDY55&TrYt@C(=EoTpicRU*Q*R7EO3(;8+}koo_`A^laZ`4cWtM|@Mo zMljwKD^@6(-5m2PmE2T<& z{8Ou)0wUOiDBf0v`jaF#E=qxcf?y(t`JMRY=TK2@$hNd8il0L)*eoL1Z zm}QeN)iu@^jACtOtb(}AB2c|pZg3+DQ&(~r71fZD;o>`^flOicu^Um>#&#yPlD4N~ zSUw2O?gwWzzq|#)4v6_8#A>+uPVJzZtO#AqM||3GqVscJzo<_2ksJ@iRL!t~QvfF) zlaJ9WGrP0N&HZ1j@u_yaqA2P=SYz*a)NJOsbB=ul;(3aC4Ifr*w;z}zIJIZwX-8Mk z@~K91^u4vApRNAp<5ijm*C|tA$sKLROV3ueXN*DnET?j4*;7C+XJbI6e;hqMhHI20 zqVO63PQFZ>$|wf_Mv3Py&t96ykb0w?y@+t+I7FBbgmf!6iFgp?@N%9wmExEroRB~0 zyZbW~Zh?+~nNzZ*^A}xK%4nG)`5$Bkk~RCVQnbfJ2OXL5sBp&<7!o*J6RVfgL8rvn zfThru3PUn{Ee2%08bz;a3D)j>Ln1~Mi$$3c!4}&~CEv{|u{ic5lU$c3b+60*W2;`w zI5!su%1dyX_kO6&!6G%Guy@%ID$QghH|^d zhB=veR?oc;QCYtk|D&x!2!ut>$?c#3GYbKQsMC{y4>_GOGLzLNiVix$ z^x(R<21<3*XGJL@+zqRk@#d6id}#c)#x7e0)HuhMJ-6!T=8ONpjCJyI?hy=`nL>mY z#nr|tZnv?t$So<{&&ZXoqimZ}PdrT~KUYG`CVJNgPOfyjWSiHxEl>R2gDumE+Z@)> zC#~fRPwd+=lETegX|(w!zwlx;+ZZMav|=0;t*R2vb~m~k7WC)BlUq7VU%HN%f9{TM z4q7J2u%}qmce$@PM-(MWv3TqM!i#&;9%k}$n!VbmBWOxuh*d@9Y*;p={V;)0VQV;{SEpUHy%X5k zC<28K+?(kR_`)G|9#8f7mfl#R9nY(vB;_7Ck_a+puOUb7s>V!&fMMz15=|D??4zh5 z1bQ|z{{J7em~sou>fW==e;YlADa>|&ONILezrmovNetu5L9P@&>G|37M8^7oI>beB@-Vr-1S=F>Ws-q!+-KN#Z5oW2NrZuPJN5C3<;*p<4nztIalm z&)Wq)djWX=js5j~Uj#m*|9S*?*MaW@pSu-QLg(Mbm9Ru!ZUmpB=UcXNL z84kmq9$@5Wb#!trJ*+$mmh3GV&g#<7%RzJFiOm#>1Kf*tJ*(D4AxS~n-s}zzl4Ot# z+3G1kv#xlr7$RwG_9L|J@cS+(ii8h&5Mho^EE_M2Cx5foa~~%^$kI7j`MC6-`Royb zI5|Ql5n>Y7EmJDN?xl=Yv;uO)*oqs*oOL!kc$Xz{%#dP)D{hX&Vo8r%E6lLyez=fiEfWDN!&;l)ui zCq|C7@8(R<-Xg0+<9~0>YK`&tdFjYq4UD|2L&&A~>sjm0PnrgpqbW5fnHVR<<= zm0Qaw%b8eJoTa3ppLe?hCfq7N`^}=WaGD(>8!o1s+Ej6NK;^|fSusxkHfd-I!w;+* z!U{x=PXmD`cpA;RiUIZFw^c4}pAxgfG_?KGc}_*^Vgbm681F;)&--I&#X+M8nf4K-1tiQrztTDa)Y4~Y&kt~XW=2gYb;>g)J{;%Dlz_erm&;@JYSb5)H|oZR zj&PWH9xpAE=hNY8=6h?B=le1WTH6VC+$PVp{j(;Y>)m1P=yPwe9QkWd|GeKB_YVKp z?FoE?Jhuk-x9sfq>56z2@qV<}oXhv-d|oQgckQ|M>z=D$_xg5&1oOKRAz!~!NeeY+{CPTVWmVO80rT>ZhZ%UcZWce*|n&KnG`Og}~@AF!# zn)Kni9m#GN#QvzDbgtiyC}F`XUIi<{(6rz|@21NEEo_dWim2}hT0ruTJx`Do0#a4r zph&SFAfR`gehil&jG`6H5_07X5sjY;RaucNvUdo`tz;YO4Mtu``#fG0q4`(}5zq0}3i08nH9G7N#~x z*SbH+f9>CWc}`P31LJ(00X-bv*!wDH->h(Z*C;p}qm#7N_BzR?sQ^;OKh>C83&KlQ zS<^R>E;6zH zD`opFrq@mhTY7va&tu~t;vU#b7c%sf%bCwv6`hH;s*uYf8}Jmg&%@tu^+Mr_^$iDUX3t zmUPNv%1gGL>LA~M#LnrRtSs%1vO^QSL^Bx2rfLj)-pRX5*-AvX3d7y@k+!o7{iG&@ z63(qbO`mXR3T{Ko@riWaWzaL+YWQz~n6$1VM6I_jW=1)+-sxiPCbUq-<_) zZaIjL!vD&8)hh%{C*w95P}C%F(`v)92?p(^5bgwL7Ahbeig4=9LHaO-`AW-~UHkN%g)ZpllNedfZpk`as(5P!HNKqo&Br{p3_%gNPiJ zqSRkciQZMV@7hQXsU`$ zBUlx}(Vwa33YD;#H9oFWrLX;Sv04tqQ|$rv-QfUpB&R zUZb$mlpDD^)Dp;DG!+r#N8{L{p#^I-q>u*DgOy|7*S1GHG@iE=P) zuoj~2}GeC)EX zgR#dT#{m3ZB=s_L!Llm>u}x66B%72hL|}Jla3(Owt7nXLjP!c`d{_KC-Jm|TgO=5B zfpk?L7}SRR73f2Jt!z4#H}BTbGHjj~3McVc`GaB{A5;F7*GwLNSS1xhG*jC+WXlUa zDWTD4Wb`uk705b&b)6r6!k`M!`O`#LrQb*a>z;8B6GN)#nA%vmlob%U{U}~~3QB1p zW|wj2EHj93#oR&c(lM$%qYyrKvDf`Cl$(m*z&;MUIWXK-r2-5!U>H%O3Esmr0)uR0ti>F;y(MEFY!ReT2?ky(toPKu9Kx zCMYou;d-MtDqBmxHeR$OTfvLoAi*X$ASTHFJ?iw~n6-U7?oa@m^r#_DMj42@2A&va z24mI*i>#f{5;;Vrx}O6$2gvr0+J%mf$)6MzxuRv%ulwLsThr_%*#+kd>BVA_!-tN?KZha!BDGJXc+l5XB&Xq2OYz?#gt<}MpM{OvR%X0N4GnJWeY z$|H*MERQS4N(sy4T#zFS5m89Iv%B~z`P(RtiRTinsPXcz<|?U`M@M(wC|#5Nj~i;shkgG zZ0Q;Fd%zrMhroC41^go@EGlAGKHfF@x;7xk<`rn0v-4t~IuIT*#>Ky%XCG=6qM4~g z@lJ*!UT0{!Dhxd1j_W}NaFw_Lc`X9Tn1Q9BB?)ezkMoB17cgRxOmVY(X( z4BejHYgK-e2Q3~q?46wkWl!O`C^<6{QAsHvqyg8^F`TvDB_f4OvD2^#M6SfxU_tc~ z0N=t_kDS?f@udD0j;0z7==FA1+xfNYuW9!btC7gVe$>%6Z=~slYR($_3LJ2I@8b;# z<2S{b(nk2bgXepZlV_0I=7gI_@asi@&vm&ib`B%4j{K~0#dV+ayi2jOq+kya+g}1i zKNAk1&Q%oc%ku-7F7-7`FuzDhg1ss3G-Bt9)}p`ef4L4drMSJulmcB$f1(ZH^sg@* zoRsL>Ak)AgmuN57i-?Fg+(;~!FqD45LrBOX#j!oQ=V+Z^MB=qWO^J_v9Lqnx zw9*MVfDQMFKnSa0U-)ipWkZS_O!h(p3P@8gZ_(X-B+e%%57dN58&Ua-a zRoh2K--Mj-RNBEJ z;zJ+B?hAYkR-@TNjb2UJT&5+h=ULW^Nt`P53GxUEKQf!~@XiMW#kAVX*m}6VBY-RZ zN`fRKRia8EaR4`88tYKYaYhm?{%nl+Xjh4X9UB>-Moa%?&MS#T%6nZ2>L~Z{`@0qu z>uV%rsZZ;vZ59;Et$7{ifUJISPqaCkpIl?Eir6Qzhv;lMffMWZe$nNte-W0W++n#OFlu8 zWdtzjCxM$FqIn=#|#XKKuM86R;9myc0B1?dW@D=V;$S~|c zJ3BqvO(nK>zQv0~J-my5=d<8~=C*J1Ml)@xh2YE9nG7vdji@OM!8%7nyHCW^Jf!}- zQvq$Rm|ie(0jE9PUur&egunAO&6q@z1!H|4oV)_#P6?+G0KsSx9WKX_-_mT#@Kfwg z##X-9eufay%;nAw!^2h!C&=7S&9FLkQ%te)fj~O^uq;LV z)H}q^K&RkA*j)3d2?_(jf0d!UWyR$KMlB413k29g>NOl56IsuFu>OvWKyO|6(#Xlf z$H2v?Qlq2a^=<_j|L|n0oGHAiLuHnQC!b?P3CjN}c`Pml9tIZbu&x~PvRckYIbWs6 zZ)KW_h@ikon#qVO6l&#!kS%N=Ad8U{vEGcPtlthkQ(JZG&lDi>Dr(*$-~IzP63GTJ zWsfnlH@!wv617@sf9}R&gmps>)McacsGmTdgBSWg0M0-$zmG9=6?II_}GsGbi8gYggPGKA22GZ8?b|Q%!_~HdwpUeE_6e z6ZNviR5M{E_eZdh;wj@o(%>x*m&=LENH)QdAWMc*Gkki0(`mE3l=bYEGOd2BX0+?_ zTN>n$G`U1;^Y_zq3R}VAPQYf!D>e=Bke3p<*RXO?C@5fVtba>EX6wUw;IH1y{us~ z1b{5|n$(5~MWS3cO-V$sShi(qMfVIcM*o$OGebF+$t`$r# zbxwrjNFzfz-lHX<5#XecY~Ni@(2vKO3HPGbdBtxUtL=mv^F2Of4RRb^nzfY z5*M4Mo#5^E;d=Re)qIuY_cO0kr@M*#(BRT-&ff~Jw}F0WT%_kty^f6wYux#0KIrzh zWkgL8mRrVxt$pgjKy%(02#frvAnV*04rcuZT%&m;M$S$Go`&~fGEuDLLyfG-J7Ody z+lsk{KD@asWn#z_GodyWitwDIN)pdfD(46b!2>9gV0`k-67kMJXlAuI@2Y7+3q_<8 z^HnK|P7xwd8B*&!4qA`^)+=I|iBzCW)uuId;SpyDPVKX2Pe|f%L*OTv5qFK{y!tc&>Pc*}U%|oTAvaIYw|CJYaB#xnt>3 z?!$l4%<3D7Rk#}mzGY{eP3Y9(v_lL~`x~;hda=P3S*w1Aukroaa*+Aa0DCa z>(_2o!Lbc97#$ss)c=k~j3y(>J5mpSwujEE*Qx94bD@K!eBt-DuE{7Du?TebqSjvU!ub!;lE)wT<`7aG|Iytj&B z*>5hL>;wnj*7wE|U0K;w{cx3=Cu;|Jl}r)~47DlR{aQPO{nV;h)m-doU@6PT?q4aE zL*;o1iY8jp^&u0~K4?grx)<+;g#heqtVvUie{JB{!eG}LHrv_J?V#=^l1<6PzmQbu zlhc8R(E1zw*tHweL5J?Zn8=g{-P->bqYU`1aEDuo#83hz=k6}e0g@I(kmAIl04V-* zk@A?x8Og*572s;8RL-*TDB$ry;-2yTx{OkFJrshZH#8t`Iiq#p3pcqD7C<*mrEzDu zhUjn;h@Qn-+|LPvEGm2*3Jon(QPp?rj%m}YtBIFq9U-^GBv{`Iln=*w{tH{m_Xss* z>Rp!1dKmelV*9%6YTya#u2U*8@C)n9Nm8oOhio0B`c;YCT`;kzH~R>q(vr9nS7bf; z5Y-{nY0eKSqfjPEdb1*yW8sZ_(O4Em8}3}grrju-k)lD-xmqzwg*VjfYL=<%WF?|z zaDCq~ck_JRrR`#9^ng6Bk)x}iU0Wfk9hc*hJwiAo##$AEy4~g@WZI`WAEB^JyT90OVD%9gXcOxqZz|OD1~D!Lz&5X*j~>geT^z=x(v=khlzMg5 z1A7%6SlL!BoCCkc5=8{788ZU2aJQcA8*9U1?ts@w3ew*oc6fec`pVPyXVkJ}N5?gE z3cLP7jjwR5)E6#xAfN9;SHNi;`c~NrXQZKsyzH}iwG6b0NWJW{Vbu)O{mdGR=F2|q zDrMNudh5#4e%q5&?S9DvUf(XZw52K?!8DF`KfJt9JoDqLi#_YITe!7=7eYdoeFZC>7^(fdtHaY%kw*LwAh?gS@}|0 z(%aq?rJ$T`aPJoezT*1#p4&_c*i-<>Wg>8>Z>0=CNLrKuhz7eV$^es;$0PLmGY+KE z&KQK~QE8|uoVTP^cxqv=UC9hI`Afuu>&}_)*#)$_OdWZ7_Ub*_ef@caJ`Ilkd^|dO z@u$(z=;+}1*{8wYf_7q}g&1wu2AHh9e=%#gQpogIss)~sf9h*a^Yl5q%`+)zs4cLtV^YkP8nYVH zp}V?!uF0;q59($Mp$&zl%3*EP!luOqJE^1RS_4-14Qe-Fkxg(wTGfuOY_hK>y^Jzl z->;q2ovv(oTWe8Q4)zYX@V8yFx^hY#Z@xm?UDUR&Z1|z;T~`jObVc7m4~3*SC=on_ za=}AQ=nbp4HtE*XD~4WS2;E2|_S2DMVn5xL2Cr=W+b@Ui6lt-crlD70CZSuA5Bwb6bV4tv6XRv+3 zR-drdCv5czTYbV-!zQ=c#?vQkEp4q&*m6zwVK~bu(}&^oVK{vlPLqcFFq}RNr@^NW z!)Y_EJ`6{<-G||HNX$MAr~K)|a60?+VK|LHeHcy`t)p!>(ezMcdRrRbZt6t#MD`xCYrmRjk)h?>qoD97!`I3y-$pN=DfI9ngP-gwv`dTDvFcjL49#(gsnx&R&cRC?b@8=`gNBk4{y>|pNv4LM>1OLT8HjvfZ*g_lEMBZR;b-14z40|KbMt2^JjW|QoRq8zt zn~UFVPgTcCZE+Me-zprm7$=R-Ssh)sO`vM8<@Q=`aZtUM+iSVKmfLH&joaw8+!jRZ zwcN#qdM&rta+mbgYqp`8Q?USQAq-srKAqtbx{p8kfHi0ouDfrF$;0T8M#s-+Le;CXaMr~ z)w%_l@H8HrAem;hakMWqAuj*_Z%|<#HJ5%J<6H%mjWao0Pp|rOYKn+$k=BlXn1Xh7OyyOjy!HYkccuWDURs>z_O|)@@1&YPHNM|y-~I1rC~RXMX7sl z)-lj&#CS6{@llWs>~uoVDFXywA#Qo<5P3hjga2uOa2QjDGC|T2dM9Tjy`_Teqm;y4 z+OS&(COVFIaP3Fis`u_;tzH9FmJR&wY7*43s2bw7UZz)Gq#H&lW+9K!(cv(d;S>jw zqzFgJ46`gIDGjW4Oil0{seSWqa#ZXFvNxnTFpBtU*!qA!vSy%g};$mzk{2C)OGy-OX85SrZDdZq=uq{A4 zn@g~riqChtklkqgrIGfOErc1WmM?I*R$dm>(N+LDY;_4QfaxZMK@-Ge5 z2r|<_t8rF@bt0(CHG+;l?mo6nN1VwTnA{y3TC;jwW z{CRMKjt&o-y+svsJZkjLM@FR@Q8nPIlD6e)Mk8hqNBu zC*LtffcM_aA5!s82@cIz8q|{Og+f$VR7FMP$k=c_Yv*!yBtCds54|E1(`en0J38wo zfUdD!J-@1L8{mT?LarV7-SG@Jg4&0sZTMY~WG(6uHa(&4&6d}!d*8oqj}PnKx8>LM zz1!|(djZFdU6M{Xy!eRT>jiG>)@N@ebSw=3QP z+3$U0bbDnr^tyL;=jdo5^xoY9_i*LhfDC<++Z?t)Wi8)rGt8#CgdM+SB()|Oqp2Z1 z1r+m)$%IoK2l75+r{GmPnTVfKo+bC^ygFl4qL(^6grtpSoo&;VD}PxU&Cnt^L6G!@ zuF$qyl#Q+*%)l6zI{LSD`RW=+pb2AJw{Up{@!#v4!`#TN4bPi6nEn5PgKHu2lpwnt z_rQFDC=-&TXBSQCrmsVg$Y;GUC-hQxh|VtVBjUpr)&HO|Q8e&Tqp6zlt{ZHLVZJAm z6Eu@D5hn)+c@)-&@`I2E;y_|?Ee^EDe+U@^TGbhv^*GR`?4ce1Fyc5Ij&X!pK+=Op z5J8{bP&OUP85sr(NIVnTpv8LzptZAgLSUWo#5%Si<@V4kHgu;&5QL?U5)7bPQ{58 zT<`1xP3&&Cx2-pCaZPr7KX$(T>fd;EuDVNzj=xkxsPp(mN+u+ImEoxND@GN~-?^)M z)$XwQJzl6vnE8v5WjdBTyWD5yyMsq+yjJ$wK=ggXafs}^?@0jmNqq_8;d`aZZ|~jG zis-gnf4viabU4!gKRh^ow%NgIA-!~ZV-&YkL!;FOHwEJ%sVNaRHyyZFo0_@CIJhRP zk(sM5V{xy<_%n^+E_r(V!;2s4zD1dR>#(-B!Anfxp}`ZL@D$l;HnVEg&wp%QET|dM z>v}xaj_kQbvK0k-tumv4Ge!b!eY%g(mhb7z{BU?!cmG%2iZ_8?8Hi6>x7v4!2&DYuR5Ev!HnzZ0OfE9$d*w(ne-Q2TJnH~mRTIKy(7&M;1fN@c~-0c;_0V15e84T%&( z9?r7yfh2JPAfN}o%}A7xRE%U2t?uLS@bK`(vuE(<;o)KV&!ss9 z`gP~`--jq96Uqo0{1dZG3~88*>@x#2{Hoc9dX7%e=obw$IgR)jNAR3`#6Gs_8TC7f z1gU7tgiXEYnI!37upkQ!Cn;ref(HLf4F8uH{Vy>&!bSCacEc?W1x+xG(BPvH&A7YnP)<0%1r|aB{@-^BOM{UhK}xjo z5JWjERY;yoxtW};S~O$18|tQpb=FTcY2O=>&s0dtrk8psYnHXnt4qjNSV;hMDlSs- z{iVdaBvKd&O!fL#GJj7dIR*1e(+Fx_3bq}uB|DuUDs6GeRW!~az()Gj^C~Lu?(Xgy za_t#Bj>AH9bz`yN?e}=r1G{l(Q3bbF_0!S$JYJ z*S9#?iHXD^miS}`!M%B+WE+obmo`C}g@66JW8W@437g~ueaTs0>14|!GJxeK;ScSi zkOtD`Qp1ZS?q>Q>Z7@kb%YkArUl5}#But`bs6YPYPy6$qDq(oxtXF;3od0J>$4|@p z-?QTv{rSI-Pf6;~i)u0n)p7CpgZ_~xgozoQ$PwiSj%9#qRLw5d-q~6ca#dsDr3#(w z3;I{aCDBi73+qWG>(IZAG}J;Gsvb&AK=BToB%`9EI^c1_8Da7SqOU+Ts1nVxM97rj zc%=I?FxkEs*N~U3Y1w0EXn~*kq7MAi43?+MT0Ql=L&bIX{YKE1_r*ySC6>IlAr%%| zUB%EB2(WIwPCFj%isqZIocV`HNN@sT>%W6_XUq0_OXzea0hDY9 zp<5b-0ZzlEhoksFX{-+|()6DOpZ4;*4h`UZ2!Hs(4n@lPQw2-WM?@~$O(Fv;D2SrS)7XAF4!l# z5Zal}5!y{L3s0kDhR?GY9X~^>w=)bI?dpoDYaiTG;~l?vMp)qQ!)?4H+w*@(gw+2X z=ArGCx4|0zfBbBL|Nrp(`42t+zmHGpxU1z{%eyalSi!glHBCLk(v}(Y{J9B#o{=aX ziP^!7^Xn6&XlaZEC{LC#j}Fbs1X&sx{RH$`D(5ft7*3q04M!2by-4W|jmVU|76Fco zN(-^5?zxoU@Ewch?>U!0(ujz;kR;YIy6&L>CwNRFDk%{sUI<#4^5g{lIyimvW{~Fx zrWrdG=bWh~i`_Y#&J(YHojKt*8zh<1Tw?Dl4NG`}jt}2b_jN>L+UCuO-VjEFxJdb! zwhBc$#X#2LJ)hJ+H5qKGmw z+8MpN{OwZmlOc0M;)WgM z4XJ~lC1|2r__RO&_wm_zPeSxFmgtpTX7qD5)}@2(Pv*Rn z5Z!290P#s4JUQAqlS*13LZ9R$B}2tKBub)eI;2dO>@SptL4rt0*;MT3%p?<#-GLeU z)xiMT@;m?7wefl(50u=kb|wVv5vIP%V#2hPtaj~hGc12|+x9oLZI4DT4rVfrhPveO zfgKHH)8DG!P*VBlN8WQeOk*BIH?#v3d%ApafZ5KBLXKL?qD*(N<3@t?iG*lX9P&hxRG`}#hg!$~%!EWBrl{t4CPzCvj~<~{BvEP! z3n&pgJ0E5QR0fk5VtF|XYQmM!4?(WZF@QeI2u+pzlPLA<##LhuFhgU4@C~LB1T|+$ z_tDX{=4~BWdrjtuGW4_R)Nr?*oiFHpE~S1!V8{D{jB1I#?0gw|pD%?!)Zcc#xPVQk z%Z*Ivrc(7_?C1-!qTQ~0N@-Zfqi3TdKR~%_ zC9SG8M*)u_t-op-%Vj^K3BfW;A?L{|*5f%cDOV#@ef|Vtp(r;hxqEs%N13qYuddu| zO?1@|GaSt&4a6`>`3((8IuvB84#^eLkBraLAsJRB{v%oHBGf!%}xj1sW68 zlbI3;_mLn3{aQWn!eNBETFVHNpJ|Pd>YwW3ktS@IiKPeoxNxwcTBA~!;ML!z84byA z6P~U->&(;|e5=UAy-r0HbvUSxVGeKYH{C<&%K1zr+$pe7du9G(s;U8eBsMgO@r17>zS2 zIYU?nsY{;NbjFy6>b9fmWnGMp3Y6d}**PAek4b0~NBnz}`#49KnYwsLC&zneBWO(I zEg=k1DbOV4Oe!5#?LDLMT4T}K1kHJdk_a=CPzhr*oXVRj_<+-WlmNw12ID)~ar*z& z)zuuwk^8r{lNU@S<$RhGgp)*!48)sSTEDfO;s|fCPWc3iRBu{EWj~!s?I)_=R#zwE z((q3=t4*e(V`=i6sopf!4TLhi6Ln^{zF;{_T(cE)1@ybhOVOxBRm*mD#-I%U6|_Nc zxMDW2nEqtUB~>>3*{jumlhkF%DUESD_vh!8ty?nfoNO>>#Uc{h5}=M2`ih6N5DKz!_ZrH&%&4A`uSzy43Dl zeLpmUQ%Ni;M0n;iIUb=`{FX%=hXux91Vpv@QgTDdt@<@yF&Z)BxAv{d0adD==)bKv z>DJJ0stb}%c&f?yWVG{aWMzeX8COswOQtCf2^v!LpXMU_O$pQgjfN9{ z)(yy2+<_mN*?e~Qz^>cb`M^wJ%Vm!p)WH8vbh292(uV1fFX-Lk*`~`Yd ze_N8o=?(Kg$0<7aZ&bk7%5NGAuccnHFj_;&hxV`VeQ83CX0db<&P(X%Jgz&ZeU!0C zX~R~#CL!W-M$%iVu083JWxcdleUiVRG3Sw*h8p{du@%$IzQAE5I8^eMXU?#Izh+` zSM?0)PZZuVD0L{LDGA^bHc~rfRJ!^@ zNGg^2mPYQL*M=W6yxpq-oi7Ykh;GSTbp{B>txWl{Sdz!OhX(0Z4j7 zmc$3H{!CCN0Ua&FF^J}$Z_JBaZ&BvstWqoAeMukPKPX17lR&;EBy z#)`L)U?{S&)rN-dwS!0QuR|NRGW39qis!I+(m;9qf?gJpF_Z|adG5a5IYgkVWlZ{N zA6+>{YLq5uS^bdba$M;p$3!Wuf%? z*U~6f=5Gv62JeaH>4W{jHJR%sykw2R$$*4YGWfbbCXktO6Dr35-f9th!I)9Z&Lf#Je1b~0^lLbs|10)U2q znX2hv3q=9UVF7NfbTkeM9myzPqz`W{{f%BFa083Z)nZ`N_Oco#5td5*Ja{(x^MQwI z3q3)cypnK-`k$kjjHA+F+S+|zqS!*BjrteJ_FVB+KX(Z3a>Aq-p?CIrsp3@2vWZ?+ zG_|II6-hQPZ42fI1-LL)^X-I!%Q0_eWcR|~W`r5bOG*d}(s?5Nyf1C91+hoWcov0d zOpx)sz$MAkP%9Q-!PgsFdpxPeWtJFtsA6U(0 zNVxBxml)6O7{K()Z<#+i^zsyLo5a{o+|_o2BO2;Qa$^(RcTSyy=XUKmbD{VnaiioD zBO)rDMwBh;4)xDp01(~*EEFphF^c9!8mPYA7Bl@Ezf?!L=xDa^r@(Erm=+=|3)gOb z`d4t%_4$BG?F;RMz&<9R&g_`X@D1fDjKwzL!+~pFth>p#oZ3wU2Qz;?f#v3l8GuIv z_KPNZslwU5-Yl?9(ijK}j*mYbf}a<0rbw;U+Zpjvg4ETvk1UVaM?6J3?p=-FiioA9 zaU7*gGM%CLS2EYfqvl!m&(;@oX*5^0y529PAppzr8!9EKeL;USUzj3DI`3ufwuo7P zmsy$;CLt6lnxn^;**N4ertGnz#A8LB$KV-K8+?HfAQ$LSfb;4L`k?+uc(`1cDsyk8 z{3vJ@Ez5e2JS zwU3R^IS2cu5iIoYjF3<`-aO`3R~54>jcKardxgf7;go8boXXOw=j*UAN{Oc{hbQs$ z?#5+ygC3O2`TT-D+P~)3&tJ8xp};*WU9L_ISp>?mU$`ec)AgRe=|2hr5+;aKDBy8| zCDpcC?cXd6c;tK5WQw&<*BCusCo>Y06i2o`b#8|-BARB#3pNq3(P;C;N;iAdxFEirBsr4EFgn_sPk+K zI>Cw8(e2QH_H_+T2G4(@gRkndZ}5D}wh%BWS#fPW)kbdoql&?g)W}C}SR*^8k#)X( zL6`J@oYd5W>R=nlC8P+aQ-TQN*>t8hx_z@`J1gyJMUAC1EvzEURUf7==nVb@wpO{~ zU_aD$yT!d?G>fY$x?dFvqr(&fJHwPD5e{^hPTSHWQd&~zeEpo2^cBPP4pv#rPW17< zG7(De63UdMt)#2`Tx-{8Oqkr+0qdNNOabeemOU8a-n;o5g*ZRG#73e7;WgFvCX6y2 zMpWTS;hD4>Wz0X1c6NT$(NKk0DBqb_!G%u1Bl=Mgfu206boW1bVwtHPB7sWE0$~(! z=sy!=l0|Mo!B%btvU5B_uR&T;&s&$ey7>qebEJ>2RW0qjcAk!m$SHD7dFb&m4@uIx zq^2N96Irx$*2P$>Cr?H@J023bYs>`hdGscqC1K9g=_p^2 zo3Ye>J@B>qzH+w>Pi)?mHbq%)_#<@2AnXw*iNS=^u1hOsIU0i3Tydt??B*Aoio6AH z8id`@lrz|kH#nt0bLU62yJ=@d80)Id{j1xu`BhhNuI;Vg_22tmAEDC-;!-8OA<=x_ zYIbv;d9{==^P*0iaY{AKI2-2Hq@4a@wB!_N#gK%n4$)}+DXJf)*fOeZ^gUz&HI4tr zYH@I&q`{$*tVi>W@!yV~9v_zRAD+JG@gMKy^9Y@q6@_!*=~UKJ0*d?2qn$_p@Beej zV^2hn=(W}#!C0dXY?6&5DwKi={v*rqA?qg0W6y6ndn|VzK{$DmMC#3qNvefDMm|df z34frI=i{NmM$s#!`$Aul*Mua9vYkgLrY!Vq#`$~Dn=#1gw+)!{3~Te54i5^Epo)FS z8QFP+A}q`(s6@B8(6tV*hnRa-?(CYfFt@sZIgf-pkCbwTQAj5c=cZbmkC0+u5N@Qn zkC6vmQ&cgqTP*|7kfdh7JCEFOslIBiAcPsN*ehdW(cwo4>;)z= zEN1osgZT$Mj;RZi9jBOS6F-#u$dbGxkSk4d=kGqis?OErz;BfpKBEZ=l!}2A8_`~n zeb1BZEleDfkYY)q`Do|SPEOdfS0`u^JRKh$KOYZ|!#@YZXGi3Ch+j-z48v!H9KZO} zVHh4i{T^8Iy?&bVfB5Y;lde_={IdrC|KW#n{^!#lj(hx{d--UD03p-ey`34if43o& z|Meq|1lilUu^15gL7XHG6#}#QE_}O>SQe{4$}fAK_UhKJ$^4e5p*R62ylt)gl!XFV z`B03h!$8mvnkaD+ifpO_kqtzs;-Oq`|Uz5jLf42}J|WwCGy>v&2(T{Yyxa zlmtqbIRTUF!UH~JhhDDhY)lGYE%XNPIaR;-@DnJ;iKY7z@(+hYZwYd2kgBE;A~B}X zvLCZ_$xo_}d_{_Vs259n6?xZl{@oh#BcvB#)mHODzAM)OAsQ=&I@Cr`eNyrU_x4M> z%zygvUS)?kqIk)+P*m|-06dTxjlz7+2~GhGMgQBJ|Hk~E9vJm?=oxoc^O$w{|Hsc4 z@Sk5C_V~~D@_B^*#?xyI1!qBBR}!qv&rzb^%QGXXX>nP{OlY$L_7bs^O!{Z*0p3_e5u|$ z$s62RG-CVyvD^wh9Nv#}(R66hx~hCkIZLzy@{`XhoOs3DGz$>se>}fr`6o4&f}gVV zdj%|4{?j5nSH7~t;eERfD~4gV#R+=)6Wyu&33kl6fljl##?IlF@}P|Yyvjf5TV-52 zLHVI8;{j0O^=KzQ1goF)4}#fbUf#Lu%*5MRieD8YK&NFy4kWY1xzQSCTGo z<-Eq)=Y;By68Q~wm4)mR$)79_K+Um`Ej(XIm=hdl1CI2uaC zovvYF__f#a=takCSs2FhHMO%~NgUt+2eZ682m*XX(-ZXj*V5CH#7XsY4=vyHpVglY z<$rKR4<|g;sICbQE6f7x^#5mv3-bSAkNXms?4=TB|VzdP6aNYTTdRVsq{qXE*kNzo@hkgSeg2P+k6x7Hf1V#6_2>UyKEK0h8~nRo(7_2B*jPBVtV6TT zJe?kdDW1rK`ai<*dQR3uDquX0C5jC-0BnpGY~Z> z+o_xpM)37}&Lz4m3{zvHNlL`v1pV&#%)m0L!neiNDl#Utsl^P;bm3n7 z_moWPkz_HS!UcN&{yXyh(&!5kBqD*tQl`6)mFo3)A3Y}j%5WsP`m1~O@gDjD{#uvt z`(KZZV-$We+3x@3lc@7lHlb}{T zo@YmS6%Fma%Sj99)~i~AbSh*sXeyuky6|oBoBUs2^Nt4E1Xr=us!*Th6Ta|9O^O!Z(Q(1GUqA&)UwD{0I-lIb$|#cG%ke6?lT0dy zG4FcDeFLqyZUu@%E1t4iFIF6@%C;SlO-pK>+4l|9Ko(n4nN{%c8q}o_@c>781qgKM zpx|*dViUb*6%KH3u7Tni0^9YYK8W^VxbCfxwRLn3S{=~ zR%!XXSIrFYd27#T0cUgDrc;7CZnRYEkcPKxs>>0Z>(9C+Zt<2;VhtR1ZE|z~uX|^d z$sx77;=?stL^Z@6_grhT;^u<9Xp zEl$uE;0ZQ^$kb#t90R~V>R=C3Au=KgE$MoSmtbRQ*j%95|hWtP&p3lY;}7w{j-=$oNp|(_J@smB zIjc)7>ntUCx7J%RI0KS+H3Q577|Gmw?z>;18^B=rLz*E+GUW`Pr#3P<(*PQcM*r>; ztbXP)R;6;aA<-iIw^e~Ku0qkON}a9@&;8++iAW}gR6&=H!<=fv)M25dRkvfdX2BgM zGLtHb$FyG#;meV}nO1d+o(-$Ooo7SB)1qE;XaB$cFYD8_t5Mz8v`nXl*5(fyyviFBg9Dn=G=$jv2efO7F|L4)mfZcumzkT)n_pcVt z|My2P`}$vx@_8QQTo+vKt@aCfE~96zFb~&+Lg3dBLo5wT!Q^Nkc*By6DpnP0cf}bB ziq&0(k=P>6xH2_*^z0dwh4~R;E!@1$J z5Z8b&pG2J}8$mdUOMX^hd@E+CmE~W77O?=PN&s>l-=D#QZ{WvhyPdZ%<#Z~fHasD@ zOqoxAcvCeish)s}D1ma<0C-_nR46%Sjsc9L4#gBogEJq^A0BY~nlf>)qLP^#@U?r% z$cheVRji6By<+ynk9F*93OZw~2ry67RJR34)l_?ETuiv&X6}&c8ZX3$$mJ6);cZo1 zihDLhrmV*W6pL|hxj}(n1)>g}A29aU_eI8k*##<@Wza$+%Lvblj6o|7q#O6@3pSb( zG3DYjRBEk?aYg(q>JSpQR`r+H+473$B3U~~fA`5-Q5~VGtwj~KV-Jn%kFhRK2WB3r z=cBWWk>JIMOS_Pnv_fjM1|LNoHL>uSWd7nzEP=4pA1-_ShLt5!r7+@%Q1bfx557Dn=IQ*|?B%T)V28R-iq*=ESme01{jj#um%!2(x*l|}SBi^&;`p7)Y+ zjG4-w$HYxck9Lsirm6(sn$WpgE{h6E23}d_W2PVpuuINt(fchMrmM7sB{Ca|n93;nmW7i{Atoq~!%i(>J{ zsxr->!yMQXRzU=AeiAy<#jq>95Y1DTP!(RN`bO5?ShbARUFjCu*=+;_YgLBqkk`KC z>LT>l?>d3+C~5)tDmq&=LL@!_@p&*vW-Z>1J7@+dSZVhieAgb>0+{B9`R?f5@{73>+N#lGh3*5RsZ}~PxlnS<;Op(!di8zAZbM;)A4JZP@a{FUCk8JGnu8wxuQvb z<9;zbXR}bfpBd2Dy;VKmo=Nz4R1#i=dUE(=Nhm zRr5lcWtDUtY_b7zCmMsF8GOY)o5SatnW34n;o>h)WSQF6p_*puSNPlw%&bJK$u4KQhGWKIoFtY!%A zL)UA|IeljI2C~}=>`jSw43^r#f|sMNVvuV#N1VQS4;?UnxjeN>x1}(_(2!Y_hG-@< zH~fY{Lt{@;VL1rG>V`PaxVQFmY_?tTh%wddmpD>P%bcN8X=JiAc=`ew0usO<682M* zs>f$!^O7m(W|a~Z(bvfY-48%kg*`J`^Qmy!=C)ER0s}I$TIS(%>V^YxlnTR#{u?_( z_h)T_SF(_qoX*K*VVSmFx;Bb(VRTn>w(KY^GcKk>cEgj^Gq-;kHHb;6H_Xq-%y)N%NouBUm?G6c_7ng_ zcZ@s^x|uwH0}`nwatIg>({j~Wo)a>(C-xZAtNe+==CpQYd#C>{Y4+czR!i35ckHX@ ziy!!J*<`{J0|~2_I4kzw7f|LQ`r=%ker8E&*j~-=L{2hJbrf`g+`SvKI!)6d6VTsc zXe4YZGszH)=R>IBZT}onoWh~=P`Me^sBg6k*=xH@)Vk_B#!<+0$&u_u^hI~}y^vz3 z_Ob)eWu&k21AeN^J)iD$20njI{-?%#A#&w%w4qaesaQQW;W@c!mA@bg5%6Hlys)#yXx!K6Vm-T9Va3ol2?$KE@Fe3FeNhHn{bQ6RP16Pnw{6?D zZJX1!Ic?kSp0;gF+qP{R)3*8T=YGF+)>-FIA~G^7YgOg0+<8UBwZw{6wxadD5*&OB zfujAUse;$By4qt|p2-q?Gsta7QXg(mA99ClIZ3iOc8xOdeK!mn|4}GR1A(gEhLqQ2 z-90;gk&(R7&1Qa*$}BA4>+Ry=!uI)`McDJRpJZZLWm}l=aLMkaFm@GF!Iavn8DD`H z!snMc2uz`ZOjRcE%V`R{&vV~9z|RXFXof*xeN-R^KyZ)m;&!y{t`4@SZjNm|m}FBc z*2$Rg9 zMkYUMhg6j$lljh!X|9>~hn0qZqWGLDwk!ggk}!Ypo%!wGWD)ZB&-^}TZ6CSA=wKCG z4#5k+6?39N-XMyk%`~@lE_41(AZF`IwDm3g)C&9EG0ZJjwD)N6U#Kw?Ix{#qFyhi& znit)iHLN|4z@@KP9G=b=kZg1>DIAzD!l_6_Awueq@tW|W4bMO0F4E+X)E}F)P1ZIGm^Gb{m9z7Ob!Ovw{o*<)=*l!BzKsYYuB_~zW$7nCk8BE zjuw=2wS+s9MM?cRQUBDcr@VU;?O9CS1r(R(g=W#CtZADN1{Ij@M zoNBMC*j5vh&c+RE$0R-%Oft!1{pVk)!gKH|Ah_AdehZ2s`%K3U1?qF4x}iZCXW1vV zRG+qO1bveY$11uu zQ43wtJ-}d8Wr`+|lTPe)N2#iy9b2;BLa@GFuy~$m)zk0k{BbVBED%LIZlGswe~B zdn_oHj0U-tiP>A(EK6G=Rk%7SMp1?|oZFZr6Bd50J*>1U;S1*S;(7F)NaI;rqXE6* zAm^B7Tm(15g4+*Q4-x7l2W=}#{HcsIVfhW_^X6GfsAb+mT3w_!PyvlTol{eD>hnQl zd`l*!MBkGTWB=djEU1dLoVGzWRiPkQORx?JPEeOS#;ErQAhPjM{(c7fW2X-ZhT-0wCq_u=FefH~JJ?{T(RrBpZT8P7GqPD~wSQVAn{3--j z{te%RfyvR_y#Eu#>YgeM6H}59@>8U-SL$@6!l^01ouK3?5t`JAoIZ~xIWWiaOc(eRPZ38eET%Wz5u3Us8#e5Nj3 zox78z7pF3Pac41s+?_A$29}~mbL3Lh+57z`V*=~|TuX*7#`?~&KXlj(SmbIRbp(`` z4{Pm?|3?)9&rcvK*SBSrjFS$m;eJTrFGrs5RhA$rP|di3zVFY35$t6F`=m|UTb|zW zkA&Vp>PQ>y&r4PsfVi^e=V6d@_XS|Zet%Z_v)eJ^b>ZFTs;#!6)wGIf5_`d4OV5uh zvuMcQ8vd+TOMAW1q*4{?@3cFyN{{$S?MIQm$gkEw_ZN!Jx>x*Kr_N$aN2K;QZ!k!< zSX7C9^1GaOP&Kv@{z_rs1{6i^-|l!qAly7y5Qm?F>&?*eAT6~H6={xG4_ zb&ar(mvE5n!7s&PgEI9a@q=^A;~r@9ZLX(NG90&gRT0v?Q+6bjfOF)7qj&)JR4oBu3dMLEr;REYdXo`uSK!kaE9tC}y zc}Aos{_$?>_~R{XMB_Z*h+Q|Zg?>0fW>}KWP#oaCpSEc2_CwnBC_?z_H2dys$|T7v zvZw`Co)@M0RH-p8Q4!3@)93^ldPo>U?%1fmE{{P27h}*FO$tvqp7b7sDk#ereu+DI zxIZF0fNj$dh#1rdatxu;47^Idvjl!)RQ!g=!nsqy$tEENs}2&}0p0~o?!m?(z@phr z_m+)#IXk{<|)BqU9=L&i@JHXNfT zdA~wV$$T{H>Cgtc&7D2Qqz`n6f?UK1**)ZGG&vz!4iqFAGsH!d3P6qf1>w0(HVet8 z43h`~-Fg_P=1ir7P0?3o3 zuPSFTbe6E?1(ERW+t`xNcD1+PqoW@3w_gr?7-#-VYBeVq>@@$YVD3r%FaPA9^K$eX z{%3>nPp7vTm}P^#(*U}lozOU?I@aWSueu4 zpB5Fw8690!LLb3^0RQ(UdvYKh+^wn?eu!V?r~}p@*6mA z?^;mp@1a4Q0~^wvC165prtWT6fuFb{j@0Js{0^ajo`{bsR`?Xg<6;bzK%C=V+0wt) zP$?Y2ZlFd4KZB6!a8R7lq+LHqAS7FOE>97NZ-%s6gRyEa@@kLW;vp&H$405;Sw>x+pnUIV=BUN#{hqOYDOt^Hd|j-rAjfZ7`$Tm1@+er zDJ=sf=Ee9-+}ClY4V*ULYC=VYiCruz-gH1u@(tYBdCa3J5%P)K9YyYLq}dix9h@i@ zGw6h_5ps=SNt+2zGmwE+RY#(rKbEwGy4R?%(&|Hm5YNK~8L}aIl6}&M0yU!DdmnK$ zkpEL8^Zkz_K0aA@Amf|?|A^~ys1B+cjO7AV=s(uhIt(Ree&u{|SgE(n>2U*J_td<# z&)&jd;d=W{hXRU)w7X)>pWSd+wbMhRPeybImCcfx*pYx{!}nmFMwpIF#t_}mnpgo4 z$u#UwBsF#jh!(7Nl+oi56e?Jg+H!A{sEog!Y%tIp5+$c|9-F_X6aqTx>}5}feVq{k zz)gqKwxY%=tSvf}JUW|~wq$D+2YHcF7wZ9}xK|50NC6Cc1W^PR5z7Lp4@7dO#By%M zyp8ytNM#}cU3K_@Zp)&c*n2=rc<}y1@Ki-Pfj_qYM4^;;I%;{JsKLs&Uok-1?0n$98%t{Y{dpd^UllPC zj%sGdK=Y!1^BX6qti)n8lwR9QHheRL;r(6c%+7>8mr&^M`ux$Z2C13&`Gb~BtE8J# z%l|!1jyYmT2UZhl#>UBJvep;`V~-Cv@nmIdDfSSK-ZyVP#{OoxJ~7(ezi{>Kcq6xV zQ^D%JZ1U-#9TY{>m zD)9NdgR@CZhP;hhDbJ;ayUC%G2wk+^Dl#F}i(OGK96(An9oz)d{S^}u#%H!);a6yi zP!q2~a95Toe2rR=>ElEnSf_Q`UuFq?+T`F@ zK6gXOvcajXXZeky=tEdtXQ;{#B@l@W{264OD^qXp@N3pb{cjfxkjN}r;lc~Mkgg`d z@vz@2)3O#Ag-WbvCQINn=C+c_8Eb77eJfpgSSK>~coQC-K$?&s5-+hV;oN(*UB$@; zgKT5A&CZV2o|Drk`F7-0#PN8H0{>7xX{p7=67rU&rn?L7#f2h%=M5JG18iq) z>*w{(6R%a>o6HM6XZE&k8@nvU|H>Bv-8MDu(@!<+JM62SCmX*1DcL}G|0k0NwAu|@ z*m$e9s^7xcj=cc?-c}k+sw|K2hxw^&lBJr*vPv!JBFh$e6?lRMZ;r~FZ*xPkW$BHF zJZ$i9S~Oxtwi>_Y(EdxT6%H4_7g@q7JyTxyZ_a}4^5VSUk9Rk4t3Y_|Q~<77go{^U zO^5s+$L%v!UybXy&YsGc?sFtQDKGhuPKt4MWBuBp$%WygOl0oRL0r%ioLkXGxg9(A zPFJTG0!m3Ao8eN4)oNnfd{bL;7N35nyVmN-VMem6r{#m2?1dtYXalJV+fO$GmhT;9 zf(p|v*1)jG^UT~v3Vi%WLT|;RDI{y_s~OK3i0|(q2auaich5WOgaPTY=Lr~zH8)l% ztmSwPUUMT1mewLCqpsy;g+NcZ1Wa2t{DdacQ}FUa`3aJeF#NryCtciB(L(-Lb%1FD z7JGPp7%qjJbfc}p8oWC*J_eFlvP02!qF)xXp=y-Tnp6h1{x7wBHiVRdlJ(_f14AD- zwkToZW;q*JL~B~hwk16bfoT>Eqn)gh`XwO$rO!J7TrZ7=f>xR2U4f5w#OiV*lYhLZ zm%32H!6`hxiNvUil`ChMu(4~>S#QBrE7rNM4^5uxamZ6N zL=yz;m^uI7rz1`NreXbPvD3E2v(tV3@5duU7L?LWgB5VI`#PYkmbYWJXn0HC$o@e$ z4LQAV2_O8&4r_~JvthPjYn^VgI&QG$IQMrl|C{72QRhSC=s7Me+-{BgU#2c$(De;f zU(9uF%=Prz=W5fe=0v^l#-2P|xf)-=b?=?4k8!_Y?Br#RmoHQI6?wwC1r-AS-fgoG!z+Z&v*X3$I`V^(V(e=QF|NZ zodE*!c^?iSP06cmwshT9Y?(Funqbug^?gR~O#{Bt>@)kHEZ|GjtPeu_Dr1o)f7@6A zFq8k*nAhsowuATT7DwKH)s_ESa)5RD-%4!$c>HfIqImtcKC^rP>QRcjiqAGPzYr|1 z;oBwy+$IAyUy{DgS#zqouRq2)J|4eJKl~cp`QNCxzW`Se^blOvj(bY8q1p7q@wHg* zX|&D5?Dn&GpK0hsHJwkRwioR0k@M_|0VGM0mxWJVjH-VBJ)(D(<4*LWxisn zR~fRqT7Wl!Ce#WU2eQEqpB?iR{}kYvi8;v_oj$G-%zO>2b(5 z0+N@Rg8$wF%Cm+u-pOmH9&>xFOWw)nw^YDApxZy^n7Ow!UQQUS2<@_NnF6g)(gnK1 zdktDomkr3M*)X}>#Hh!#L&niHrB)x?Ux7bKNZR1TWIN9yI0&W=Oi8I&lRBf&Q*luU zb{mOP{KIh13rZ?crNbDup{DTZAP9$79~M~b8Ut#+Q2gPq4!2TfyZGWQ&HO54>0HQQ z4iymKTVk=On4-ocO)7EE%X_l0cw)5Cly6QFWHCxXEQL0{$EO!+li4#UG0wc*qx!~` zuW2q&?fST0AAf4=GLY#_3iw%$;aGZ%D^g1s7F;bj^((NiI>d0x7pYXeNhgV%a=v{p zw}OV*_AP_Z@*o}JT8njP^gB~eZ?ge~&D33_UJN(M)Mc#?`|FPNl4HEp-xEL4^zQ{V z)2hXs176S7+Yb}xQRyY?=YPo7%l7c3hYM(eNToMF=QJ#etw%;LLY8$|QT46Ox~40= zt0#7-UXQ7CMO((^{QAEqS1JtGE1us1Yr^`G#x&kFXCvNje%rttM0E@-~+)oiNKIPMECbgxJ7}vWUq$xbLCJ9d2$t zHSaRCxPb|3P|e5DDiBB$b%s?{Mh13BIGPNFoah>Ih6+QSn(w{=#FdQDxsPzlaFuue zTiu9?IoWX(IYpMnt*HI;E_mnHw#cGs;=I+G{B0(ThBg^e9b~r~ur6wmjD)3|>_42M zqI0G;0SZRMzit+4Q$VETyLdurud9@py$0Wh_b*ADH#0Ni?QC=tTJFuTsibv({dg0- zOq+FhBXt;5JiYDFM7T^aso6g z{nu)?9hkfQW9dn$pII{IY$=+pI&xhvw86yMq&z{K2Y12Be5usXmI0$VQ#g)H;y&|QzU1?=t!oeR3 zez3E*9yGVGvsE}B7}~Wkw`JF1TSm8^fSgl;fjq3~8{Voxh2HI3j1qzq1GAc9{kAVy zbMTCod=5n{VdAr}*X8@?5U5P`>1hxiq1dbXd~5)A*=0zLjY3?d#mbyO1B^H{_Ks=$ zbpNWj=AW93SQ}XxEp?JXZ+BfzX!_H1i!NkIgASVow4yAu$z%A%ql2&G^&b*uIXJ18 zkzEI(&R$DPuU-a+Q65e0tY^^Fv-Kg(u8Zec2zR+kQ`TS?P4~o!c>wKkyB!&l=aRDbW$#DV2e?Nwt z8l)VE{gj(}{&VxlWo96IO8yHm z*M{&_`r9I%BmX%|Z>yECP2)6G%WQbI7WA~YsYQGH{#A8tTlRAG-H!G=)wJ`|m_Hmg zR$$%Qudqiak47@QKa`wF9fP4!Qq}gR%59GAJTiq_wW}h;M#@*FDp3wSWK3oxqC)`= zh|s7q&P3D?|1`Od>m;VXR*w(>Mv-h0?`2i4olTnOfy6|fFG!NY+NQIto;E%;8!3zY zco#(7sh7%rP1PxuZe&#vhfbEBjh(3?im!NwczLPro02Ww znAc7v*vohw=cp-3m{xXoK@=MnL3vf26e=|&M4y9ewhlkZp+4f*V!yfVBufG`Gi=vi zs*#ZTHxk&;;K4V6!t(=Y4#+w45o7zV^hPCg1kb!LGAnV8D8N z#Mp7dSkrEkO2)#-@g$|UqF>8fj9_A)j7ypR5v&@eNgpAl%>A3`9)>39(D!}_Uqe7C z6;?zTx{5o$!^L3TCTxwGWpz6+bKS6FE!HN^CboD z<+f>e7Mx&K`*^l-L&fb6Zck4>m#1DIzT`nJ4v!ga1s1?_yYR1*8P{~jOOCv=yaD8E z8n`USNw8o~CtpP{NH>C$DBVSUFKXrqo(l9hJ??CA7X_ow>1}eB7B>Moi(t%5$cd`& z>9e7wg||@Km{82^CtM;}P9}WtFDOuUR6uOqLlmDvfobP+(#f7v@}@3yH)DLe(RS5l zU$@O1F43$ZOz{X4B95h-9N-0+rd-|ffxGYd%?bUIhSZ8=h zDvn##F>dj!??Pdn+bs1ASGRE$b%2OIxGLSkLTn$lX#7@5g^ltI5+8e>3-|ZCvOZx` zkQ`PNG)?R89~>(%zJ+IwcAWPTBKoKzodAZGrG<#)FpPoC{zmIJa2ST3&*MR}VW9dj zpFqf2Jnc%fe-nxU`su%r&&H(tlR47J+e;X}3(?|VV6}e}-=Ga>C%oopsk+zn-9%d4 zFHZ+xq>o*hXMFWg)b4iIztH?L56$TeCqL(>@ zweSoUqfW#|SLL1NY-qauexyu~H@3=n^?_?`^v8J}vY~A?oPt<{rvFSnR6A>DdVFB! z82e~@DLZZbc^YOp&cI0C%5x*f?woTs>6X-!s&m82FFp&q-SyO!MLJ!{P5fIUTqAKTG0eL{>7r?U2m7&Fxu z?y6fbru+v9o>SEQB>Z~{ad3t}z}+!X6est@fOR<6>+s??BQlh%_1RKKx zbJCXE#wrdp{AMA>nkMft#y@lrlf@4}n=M2Ac77#K3#G=#U58>aGWxA<)^?hP?zQ!= z{;M>zq^v8I!^63?tG#*M-2A;f-rjES1;4A)VlTRyDz-qpK31sKZz-tJI`zGBg`3I(p486lrN#J<$WKZ4WJ^!3K)8RowXXxA@A zKzx+E%4x;H`_r^d%qJ`NQ(TWJIqanHe-l&@SK*BI#US6(LP^ads2@<&rLRDpllB zGBB4M#yWzGtrF4-X&ikinhN^Xi&gE2h(KuCm3JjU{+L=0DK_d_i=vcX;wMgzS0@^8 z{K{7-meMqOEa@3?Qq+1M4X2m)VCBlDMhdyC*Lq8e z*?8EKP+*3uXLS!`c2~2Z=&$K^J6O2Dd3qyH^aB}#;h>!(id9}?=kZ{TZva20^GQPEzBIMNiu`x+`M*6^*q#Y! z#{oxlY1V#wRW8orrdClXB!8Scn0q=8){G9SjkQ;TbozAEXl7t~M}=n~;ol_8&1N10 zJUmh0Ne;rcl%CX}Ca8P&JA!+Zy;bU7k`!=?T$YfnAUg$IyI7P@4m%efGyPg@DjNk< zUUwW@^EZ{$+HCx8`*VH{`zUDpjV%y9QPJ=R!k!Wb%@c#oBaKU)aVtPO{!RpI+g}Pl`_ZM|E zI=ho~y5~FU=fmiiGp8%9w7O%dAa24X{&12-uB>?!w^7SVtlI9-RVTAa%7Zp-ArGf4 z7Ct%Ub6+Fj93v<@3{==bj5hCpGXXhY#5as6BU}tjbU{x_sf-m)m208OH!>gK~i0r|wo8i)RZ(DBgXJ{(anG9!1RlLD7-$!`;wSZB}|l+q)}4QxNA1PLQ4t3Wd)2yJB{jD!=-DVi73`aho%j*18~ z&Zsh3t+ISO9gJk@%y*98*s7VPpFDOL5#*)}@a(oK=4n%G9rircz`&?IRE?J+=6qHs zkUBJ*@Vvj0wIpBySV(Tbb@?dgxb1{y*5Oq_ojADDPC#n+y-wf+q+Ubtbcls;jZe{H za0Hg@44DZ)`x-)9b!(eQY~^WYffKvMZg>B5Gh^q~ndY+5`Lx?kIoYFr8cnekK&!LD zHZPM7jO2p$fT3zywGl;~iNL@c3yB{ZnOnv#klwExf9gv8W+K%HkjJVCSVjME9}fPm*s$4B zgP-WKkstNw{AsvEu7;?xAX7ZwtIq%zxMbh!PM zs6bu4SBlW?SuV7 zxD9#!mA7;Cd(%s+ec{IM$_QJgo!pclKhvw4qT738;nAw9Xu=FF^YVdR07F_mT#Ik= z=NKFoX1X240YmIAxIvC|_xd?#2)Y^l{7LwIf??z__ER>l)I}OKcPCbY|JcF=l?l(x zNx^-pd6*BFCgBU+YSYJ~yM$^Lqh{%dWz~h7)q)=0v;3h{VY7>OPRhnu_7q;`IlCZU zL2Ue^Za45SjOo&Kj-KHlEdn}86-6Q0opw$I{3KTUpc%FG$69S%5H)C*g2)d@6Z(7# z0&)3Nkta}-_YJpVd3+Eh+u@H9H8m`??lUwLk~%q7P=>}H_KLC|tSpg)Oxv<3vKF5G zX5Ca>A^sG}THW)ww!_PB9E8@Y*DaWV)XsT%ApL+9CZT`&Tx~`={p(CkjB-Y}k<{Nl z(}fqM`;VLEi#1cl?1^(=e_3keA-1$KE3&TA&oEPLVAdCE8o>&({A)_HOp5Zp99;v+cUO90h?}FuAOlz)yURZE!zHhP7_@GQ`m0rD@=-L z^>q&M@~=o6+hs)aLExcT15=3R8<02msgOB3( zRfxeS#8t_GK8^l|r%T0aq%MM@SgsAh<;uV?fH65UY#bd+Vj*1l(Fm>D5Rmv{4QJ|I z4N|27KN+D-kDL!uy)#7##1tYHX|iVgm!A$&RVorn)Wek_77-~5y8x6k{k(!5?V0p{ z&i+$p&l8MW?*{aMEJ7>-sN?v#eJwrzZ*1|Wv;U^@KSgy>50d+>B-o-k35+zKjh48j zL{s#>5G+t!5(h!iHov@d| zd}eb93HMVfuR~1Y03%PZU>0dC*=kE9T!~(MWI+@Rq~pvk+hHafiYx%Id{kpk{>8Z+ zTS3#(Y3cXraJQkyrXLk`1*W?-b_oFw_N;u1cNfCH@w>5JrIXBB%8Vp9m;A3)7m-t3 z@0+0x;k3wbaza{aRL{?Kr+x2cgrc1SKk$$`kEsnU%Rw1~ydv)V!M1SnNmu=y&Ld}bP}5B;m82^t z>FEU&nm?->YUG|(J5M+=1+Z4aK!fJ(jvX`1`nWb?h>BglPCa*nW&aRntd$R9>iuB z`z!YyzBbeT5r)yMPaTwCjH9jO84()3$Qwe`#vry=g$4 zc6>a@CMx4IV)YB1)9H;Uuw4o>=}2$u4pKFe5<{5L2;x{_IyO z)0{1{-y3I^s{r}CKfCZk(^iXk5R)VG_y84lTNDt|&1x-E^@3RL=1Qg9I&x65W`^dz zBRmGlz~VgN+Gb($(KkU>6nAIq-QO&YEHKBnX?DfQ8zScyQdx zuCE@=z*kQVZ@}Q(_zrdo!!5cKFDVQDh>YXrs^2AI{6;#A;Qt7A)|FyLvy~Aha=HY4 zf!jCqNRTRs?hW&hA9%cI>q1H#8z87vaRA--@>0i1oX~OHyZon% zDlH|J>nf>#Jrt42ap7(=F()N&m1@M!@^sTK{ob^SzMLPb_AH zWc}wY>tS-&U*K)?Y?jnXCP{0HP7Mj>FZ9}c%np-?H1%t*ET+LdNtbtB<>)_?)}toA z>h(bF8o}~{d2%6#{d^Tx7G;)N6ML~4QKCsableY=mI=Ry@5jXK-d>W>pp`5v0hnG; zvY1NAwX=xq2=4EQe+T5d!HTE zY69zr3+wMms>tHqQrTnfr&Y%lhtIkXIg*pdrY@H@Co6MKlq#73*-R{5Qo5wh^u{n! zEbl&K)PO`#^CA6Cve9GleZ4=O-Sv6dE`3~_neJ(cW)`as#dv(y5Y0YU>xdU37?K zfv`(iw)}ZQ&{g?d&$oNUbUSa~6U8!m6JEMbEU4yAxxDKDyEHi%gK=tKOe+Go7YbXC zvd4@{(j6~{e0*clL((pzzwg(_+jys{5@j}?(M^twy9-G~juMXJ4zFoEGB7b^dPLyg zOC#CxIulwBBN?N(QIBg;qs^N`6TC(dX;Rd62H^O=3NIi+0jVI+n^(h(_6!h!y(M^) zO|OrytFi{Pz_ng?&uiO@$LZOx=8dt9CWmPbuiAq4isp)nSo3+d1v7C|S%v6*_N=XS`mx1CYky@xoUoNSEhJD|cVq#@mC7}(M)91UO>6t+Ily-h2&sQKiVioB|w zGgZMX`bNdCOI5*-rCD>u>j=~e#jmZB{78YP#xoIs>?HW9BG32yAHTi8G*kpY`egmF zq{ykB_uhWO^!UFfi?78pzm^X`xmo~F%X^OuendWVN7#}qZhZwvt0ZrlS195EV+lGa z*#Y|TN?of8uGZRVy!=)CvhCdvcyfN5)}OO`@FWRxV-(rB1I!Ab4Y-!#7vOiO%+HTp z`=ncu-|f82IP)i5Z!CuLA$GuDkcnP4MbiyFUkbRc5Nifw-Bu4kmlC0lZm~_xxz2DR z)1pNB{3$lmITjPy=r9Nq3n!UUtH(tj6~oF;l1A?E`y|`?J)KOPn}~a|#2R1YovNKK zDo|oO$jPRbQMEqwaejiM() z8h=v^9+KPO($-WTE>fijP>!>_Q>Mfw6VXD|jfX%^vAQ|L3-%Cn492JN=0pDTUiCrB zt!ax_wVB8Kh>>`f>0=W-={ZR+N1t{01V`y?=b{BKx+H7vLs+QC0598A1PKO@W#PH;CTRGCz9`fUa4 zAHtJgbJVyHb%Qdgyjw%Ro{$uv^UwiX28g_GCOb#0oXZv$yd2NBn#0o)M5J91yqd_V zc4j))0fXeU9>adem;gnkxf7n5vp6`xlyr;Y&~wrCsvHx z#G?}_{kyN-hO)X_0l;KoW=vu<#!4<)*io`Y*Qv(T27PyQsNAnJvp{vNRX1yHl#I+h z2shZ@K{-H13Lwp<*3`#DG^$rBg&{09zAk#KD}@)E4Fl@4)xWwc(jZu-qeka^SXIG# zZqE=l<&N%z2%a)cwLTzD+V~25(Jg<5wj&`c@la(jn~Bdbv<-b|)RMuLWhIR!)duMX z!u0ukiiqE(vkB5*>KlZs41gf&5|;|oA9R40rN84(U&i*h3O(TDGf{P`M9owVpPjy% zqqGSCu}+zCDGwC$Wr9w3D@%r@i`0HiW0xq=+%L|bI1mua0|LdC&1fIs5$Z({kUT7m z?}c^y=nO3#Co5WvLS{aE@UB!v6{^((`c+L$U(^&+4bvZ~xWnw}3DoRfP5~?-)59I` z@ce#s@G|MI`|Wpsvc1mDofbw+E%Bm`a^AL~1%bFNb&ibnNF=FReBY8Yyh*4L%_1S* zYK`*$;KvqMQ&X}>s^RD%$aE%HS)VWLcZfQ=>)x+-3#+Udb8s-;c6BGNHU?lg;8guu zfj2DDs$HiEW2z@M^y4hDRq2(qaK?e|KEINWspF6tg5qnI7CSrCc4ILxhaH5fJRHVg z@_>Fok!NyyJ@-Re^S&}S(!|OB;ICecZ1|Bnz8O6*{o2pe0h6aGeClj;Ko+LLRg9#o zqrg$&ZR3FLlQM;`>NJWgu5k3}Af@pnr zL$V(%g4V-zIQ7#V@k+&7fjmcl`u~7pU!>K8?(EWyw^wJ+LAG`ef6wP$DLBGqPQul$ z0vo?9*^JU{G+#bxdfw`Snp*xfsJ^sn@OT<67ZD)BfDvz$HDDAEC5tD~*O;K^4n5<4 z;VMhsQ?z(f4 z!#jJJ9=?tnq3ee`do3*0KV2Aaf!4yDMngwOtXOJrTf-R^+5Tv#vc{#ofQ$euOwRi< zrzw^bJg_;YaGb}vyKDvQ0t%$egb-*wn%408q_O`uAnfx$K$r*Wdl>xVZYVf_8u$vO zB3=V7B3|tOj|kgJ7J&E9B);1*R~oRX>O52cuwd2t2s5kNIB~MN|HFcR?g3cv%Cjz9 zcDkUmvfqg9!<8+4S{XA{{6Rm4;wassf=qN*D!Ys~8zfYx(UlH;wf5C4Mq&v>t1U>r zV>1IWIO<#KO2-2NI63b#G4p4OhR>cXay_ zx}VRvf_N<{9UqVA1T)Dar=l6U_R`puTq$3TE`i-mAlwZdLQt#jL|D{cp%=@X&WrB8 zfoAThb`yd~^qsxj&sf5*Gu@)(gxWNOr)`DMChNc=c@S zM$2Y)4TgnNe@!v#V}hc)=k)W({qsehkHxzo9JU_y=3THpi8go~Vhq%JoM06Ew|ehd zcd^6X`+BDL@Zz5vX0t=xt49^nOI!{vzJ2j0ZW`%jX^#3udiYdK2E{DJbI|J9YNiSuyEb{%J>= zG*w;kf#3(rreBw8&F<2AsC8;ZgvNQ#t2>F*h1`g`s=u83@q3aqrk661Q{2;PY!8VB zW6EjO7uo@!Uy7dcjl}my0#aYj`)vP~q9J>FQ(q|RuquB6tOQnJpPu8s8Vrk}NV>tSa#J4yEHnC0)qjl!eY)f{|ICR5&k;tui_7TZlpf{C{7PP^!U{q3Zp z-Z-&QF8_*~6a4N)_XoR{sh%wN-RVxmGTY~)IIQIlyPeJ@$fBE*ZI=RH&KtmHdAkcB zd+B;(%hG<_?$W7kxjDHSIq&qW<%R<&0D6D@Z=9F2PS4hNfC507OKR8jb|&zHBA8wP zpt4-_qHTjZ1}F(SlA%Qz=85f~WSB58yoJm!|K0Y~h zO9DiiDU5-o9|#PL6r*z-3RgM5)l{r`35df!A`Nh>sdVPJp#|!i zdzWa-u;x@t2s$ie$`q;;1D^|&X?M#^BS1Q@f*>jUk^^4;o)I~{u7c9tVk2`&sEELw z0PzaKTLRgqRUU4(&?E9)1M0VpldRR`Cuv1yewlU>23GKR*M2N7Rerh7{B%rDMbRh2AkE8^nc5Z`StC^%cKB zuFvgkQf>uly`+8ZN?a!ZJwdVW6a|N z`!|karjs`(m*LO^g$*Byn<#_%h2gaXPI^b_~I<9T%@IcQEVB%E~T|~8WQB_>N!}oqc7Q4WWGmiVvN5kpyMIC>}=xS zH~T*Sd2zo75iO?HnzQ;?Ni+q&#sD4}R`^>A*835b^NJ=r&#(`=oV~kIwB=3+q5PUU z1FhD8R>8^&zPZyG8aP{GxWi&_;W@?L0oO*vD9QK-FB_4LI^~4(GWbFQDIQ-7qc&!~eC*AqhH%L=G_yo7+@|&4zQ!_*GB7!|^nWYUFL*66}<9gal zdHhA2>~NyRuVU=I-N5k^fkRe-(-}V;HOV|>`4BShA}ma@1&5ZyN-kQ%{cDoVsEjxh z3i~#16#bB5hFx_qU06tNky8f`k z7Hl^pe3%LevBJ9X<@5umVPwXXVM#Yw@8;?vdXgWdViF>;chIRuG#lq z8H=^^ku1uz`=2ysjEKLm>e1D1>SU`k#m1$H%5qGLI`9M|gigp9<8jn+Z&oMGnJK^8 z00&`ReHJhE3{!SHBM1O=FZ$VaB+UjI9W5I{JY4e&H)|dj0^P|&LJi^$CymPn;Noa> z5JpSwB-;`{X*ru_j9Qv5l}_RBb$2lyzB{Y9lS5#r!zMVXB1$kgAV=Z=-?B72bb!be zmY0D~%_tway(&PdW#zeYn9zsXRPoDN-Cjitya?RSZJef+X_KM48X7`voZzd-C`bGR8O%7a1{!Y0|(Z;_UbagrdoF$_9&zA6D z?95{(_cgX%-PR+nx~UVwOV|mu?CHA*BrK%gSq8evRsF2QysF~^ZFf=JU~Uma^j~&Z z0JdqRZ+dB`;K*5t8{erq`J%wU;OGDK{du+ir}vMQ)3n&Tw@4E9haPSP4!G^>(0h0G zu}XEH`lptnNmWtnD)E^g>``J9h>j>4E!yH9X)DPsjnM#q0QipqCo^vgGdl-o1f95` z1bLjgJfEG?-TO-;XW2gu3;S6GLB5Wx4$q2E^2J+o5WRvm__PuLFqpeQ19oP15~aP% zmmH)0hEwOQjV!f%E5}UVh&%f|Sp3DMi&jD$u~5Dw!BS)lLlZ(r-zE43jZvzpO;K(g zCe7g7+jLJch#UN{7k^>Rq6S_}AF5qs>6=CDU47jA%SgjHN%pb{ z^#N_ycl6(Fd-^N%&``fDqBI3xS#)EBn(km^LwRlh+ICuE0xC_eZ>dT( zNn~D7!=YLJ9E%}`LhqI(>2W`Vguf9X^Nu>^ccZ7jfE6aR<;;<~80N&NIP~ zFE}FJ8tE?5$1jxsK>mbH^YSbUYW&6*XfKr0Vx!7EjqCDSCb8{x@*dXs)`G&DMJmUL zK@2~+IQx|;&83yxkSpPhiMV;R>xLHG&7+eu=U|1hq{)osn4boi@F8s>j$1$^tmT>Y z9P5vJH!qt>NJ}$%Onx=-i|VehlfxX6M7X@YcwKqKPcF{L4PyHbUyG*NhCedfvYMF{ z#NT$ozCOgj0t1W0{>bp>9@XSUQj`ONMv(&_eZrNGO?PR2kHp!+1UqXd6AU8|VtO3p zM$mj*AliU<83q+sabxwtofo`Pe#5ogun})xE27OO%o;1G?`Wxrmh|I!KsO!1-MKmr ztfjgL|L9j;K=dE^rqe7@%yeS&ae$UZbkGbT)(#(fvId~gA;7L8k|-xi=04mO4Cpt| zA=o{4%{J>}(;JL>gVEPyFv7#%TZ`7e`PEvB?tQBBA|YRQG{WC#a;*)W)^eIxIUgS= zMB(+jt%4L5uUAEd&Y&g}q#VJdEGz%S#LZiKxBl~Aqu`(Vz$PP${!i=H)KgL#2x7odG`ml4Q58>R%!JYpX`76p35KNMYH$^NrRJy^9JW!Tr_zUo}BhKAXB zwG(IcF>T_~KdFS+S?okRI$3$rQrWAS)5K$ z$aF+bX)*&#dm3@8LZ(rRe(K-F#!#Tghf?A|8ukDrRAA)Vgem3J@DTsjY%jVb{X$72 z6WL5>UD4(nUWR2BNNf(bzr48^kgL}h1FNlGzP`Fx3^}`ceen=cXAi8k)US~*r@oxp z+Z<4?BaY(;c7@Q)z@wBJ=yanu zzJI$a9nk4&T9pOZsZs#l)^6J@&A(6W?^FBx)c%J_?eCP$wMpCG^;G?bKuqH_{66*m zAyV&mO0#Q_KHnrI{EIlQXqs{t=jX@^FWHCD`o4_9w_rI2ON?7=u*HCZC8u*R?qD}J zENn04aYA=x*6B(Yq__GsquTJ~Z<$Q4FClk#Gf^s9}Wo#}d#UzcN+F*72I zqb5`kkRB?2X5X<=#i0|2MZ!kmC0{7f$rwc53a0do7bK^GP8qN`U^1sab5VXKie+@n zGA^bMmcBR9S9mNokKjTOzD#aa=MjTxTuhH6TA_s{9AW_V_xSaQ>R_kjCNB6}Kl^rXu0)@2kI$ss_g3MYpz zL=###n-H0EW4!#HR>i(UiP7=gLqW51wcl?;AUGEC*C~BDfMK+YEvnCnYVvXKr6q<- zFM$l=SyoR@qzWMIWIpa4S&0FgT>&%57`Bal6cbBrNtRh4OH`&w>PRdA6yJP;RF z2i;XbIhsh71Wm~4)65vx^(?l$?#vl%6+6}x%Q(riH(O!Z0|B!hx@XSbcvf7Mc zoC$nS-cUnPU_%Za`GG;E0lzo?R5fsYxT*v+nQ<|FC)4d@n+T4-&Y(fG8IVO$~>=G7! z`Ea&15`Ot`=5b*El#{2i{7$9)w+rHVCBan*4T~atbNPMLwdB4ldvMLgc5U1(fU5H< z$WiDfyqr-;*$PeQfCMc~YJ2H>Vk9(4fDe;53=Pofu@6BDZ>)ad9q6g)F@c-JsjX>5 z`!CR%F2YarhVqQMJPggu!Kh|%)-dH=*_v)8+$B#Jc~O}L4n~!0269Ulgy0YN3BeC9 zuzn%&DO^-7S^92DTb4;~E^R@twN=s<{BY^YhwXyE)$P$qpZL*fl|;FtTERcqkq{czeOuqy?)XPfZhz z=&LotcaEJVte8zU>rzznFT7^OES6mzi?k;squTgBd=m!!Zn24(OyRYO4mNxjPJE{+ zU#iEn9+sLZmooTe(f=SK znNNk>3i&_Fgl1Tu??b3x90XJ*WI3Gy+Ek7)ZAOxep}Wxa4X)KbPF>MH-=H-(^Pz-7 zL6dfd*lmi3^d&LAzLFRZDjV#0r60@9wmRz;fTcGX%Ld9bS4C3^xd&L%t;SMmnsf1l zSm+m0^Md5Rdpa8zX+!F{Q)fdsJ|rV{Sidirf%Le zL1DEq|6s9Q-Fkc;F=A_xf8=xh?`()vHZ0PLf$WOZ^_0x3kB;yM)G~TGckR2qoZHK} zt!A|2a&EVQccpeYUMUmCN1axY`^for{BHU};_U9m&xKlIn|X9oTA&9abilxhQ;sem zv*F66D}mtan4+O-%1rgzzQ$-fbI(22{~%+JHL;wngFQ8v^yn}?oM5gb~{czBx( zNGYJX5;T=EEZ2l(D9Cb63R#pHB>w@=bn;e0a#|EzOkwgcl96CQ)1zqJyC^L?p=j%n z!3a)W>&@*qV{UX{4w@NKFqLzyxfGg6K@yiyiJLYKvRWi!3nCLkGj}_UnYm?5kfWoc zBS6{F4?p}sq#~50EaCa`gYeXMFJF$xKTh8L3@JmFF2~Z$9Ax`I?PWb6|M%tlbAR>f zg$0e$ zPLH*INVT*R%}nV~gBj$G7ju`%uCA>v;CRc3T-Zs5#Ba+jt+0&60qDF|FvSkCKN{`h z;gbpz*6}3S?^{v(hOXDe+7h&YCU)2w(6vmXwKU^!Nw#fny@iSc?{8WQoUDr6M7l6l zUpPm3o7DLx+e-Unv(^iHdD|PZ_V!Z1LAv07YjjPz+61-sqq~1EuI}ILPJApk#BH0O z)b&@}>dmjh8kmi)#rU%ck++VBsJ*==Is(z{cym!}HI<G44w9~*U-Sls5&4@@`gN2<4IG4Um{Ejl%JX}-PV);VgymEi(L zgK5fp4+kMx2#S_eg^^!ho{?1Xo3({JYtz`s=7Z3;GWP%of4hr_p;XgHp$sd&X*}{y zo3Ydf;uoC$xh$0ndhjK56RDIHfnjRGMLZU&V;E5rHTSW%h*Qb&_?6^V%f_mQSO}UI+eG=-Y_Q@&5BfO8l_UE8Si)Bl0Hx>T7lcuQF*HNlI*z(!kN%)+pZlj(gwnj{1(z z(06Q^M8-ALhfbII0O0%a-H%JWZL#daf{KIZtRj$z-}!>zAo@SHs}crntMk<$EOIco zc-~sD%iWoU-MC+wvh0VYm7m}8nDJIl%`Nc|;Lw7*`E3PsR z96na|H4F=1GL>6(ZBUE8{yBuW{k^J3*}~${svrmdvUa z+CD=ggjxVM!QI&%v~Kj~hMTdS-zz|=wsRvGExlS{*p1cg8k9~{@A&h@<0LkXj~K*# z-*#R0>*FIf0rT|ZBdSUx{^DE_DiOO@e7wY%d8KDmbq2Gv?jt3nS{?URsYIoj4F61+ zNMwq%WT7i2M0~=xOx%zgsx~pS z*JiQ{(qqbRxR&i)u`2;d!QM}{5`Fw(!dw4#4aqDZ7ZI+_|tah)sCIw=W9f!yHoQ z9+-nnL|xjN-RaM@B zW_TD3l`|@W;|gNjWXkq+cp8D%d`!48F2ekUd+@+2WA8x3-@2U$43P3Bae)DK4_XwB z|A+m|b8g!0=4P_$2A+Yf!fM)a)h%YXi5%Jd25TlC?jXY~W-Mo_VF>g+9Mi+9_2A+< zbR!1YFE}5T zCR9TUFz4Ai^$3iEARaAfF=vLR)X+`>7ty)*4jQ~`;z2w6XqJUGQE6nS0n68n-Z0-h zn2RJUQwCv*0cE9T$~}wLxlJsjU6^h5s1OpPkhXOtb`kcq1a&72FAGH~DvW`|Vs4Lrd)z8o6igASWGPYtZQJ2jWFJl(*CEXzr%KOg=4$kz zpGldwD8$!cwH$K)MokgL8nQ%%3welc}!yi9$j5f+pAYR+EznQ?23a?gSWDf{im3auyWRg%p~PA$l(_q+q@W z2(T68DVRhCkis|_*I4BRlfo8xiX*0KqC$$H;MoA+aOMhcagAY+aR+h7$42CBz^WIb z3ME}zca)cq;c)>i-lc*{a^$`JuO0II{S{#X3U*rQD50eWhRKCNjYkvBr-Dy-LWLoU z>uWR?mB}@!wsaKzjmHw3wP6U>0LF$hgYsV$fC8&hOyYbhYz1(*cCMp!ae?cAh!2M$ z*HJmeVlbMUlKL*v$OkY#((hipr+%N&lV1(&!T|jEx0D-S&z}NPXhvROh#5$^gGzA4 zTV+6`!WfVPuRl7adHqCaymD&l(-^q;5?4r-l9bUjlgagn{Km~pmZsWEz!1#0+8E2z zCW?V`2r*7`DW)2DSFTxhW0fVOMslG#ujMGc$I(MqhQ8~VF8y&0y=5}9e=yK4#3!rky=1laNS z5ED@-HsPNKXy9?xra>>XY()}3CqjKsYzQfOfBy47$l2SfpDmvM8PzVDh>0LII9?X# zcG|%PRqnT9rc|OzmP#^id4d;KQ$E2I(W?CoyoMQ8E|d)wYi zK;fEeR@Ghe({n8eaSx!pHmJ%|ALE7~HOQ1a^NF97SBCzU=-*$vAMHJ=WtN@m6(+lI|AS(b=q|1Keg91Z=I+sa-*v??K5O(67^ zW*R6>8*12yT!h-A{**hFuUFUN!NG&s8$Q>}VYvn&O2NJcA&N~dP#GI&VhFJJA4oN& zg8v7Nk(OOfrLzBgp%Ym+6D5S}97J|VIw!fkpxsYWK?=WOMaEr;6kt3u%RssV7|`Xl zYa^y3jwforbQNPD$h2eSGlooZT4-YNH_7DfkmD`o(o6gmuNioUCiq53nvROvpknEu zxJ#aEl1pte3|p}L0o06{EH%4ktl(nmijIOe#mozy&@7ufv$xncM6fFUA1Z{VOlgDn zsJ~-J3}_NUH>QE&)phOQcyuF;XNfU=0cAZ0FK5JUXoipNM7*o{L6 z?&BW$-=#K4*kJyX#W1ttUzG0XkJcHQcv!-;rV0wW8imm{wfWI#CXqoV0Y?(V%#=pv z)VLE4BBe5{QMc|!7~R1bWK1w?Un}ZPmFZ;%KRN!Zy^{ZH ze_*dl#R&d$u>hTCIe;L<4NMN!ZNIa#-@iHjD^P3%4gc-IvClLyGvtzEznObnQ^5yAP>Zl1}w@lbauQ6s>1)7|ZpUptA&DI2tN2&`qw!l?y9%3YX zE>lQvTNVk;-DPDzB_M1cZy#_WbzsNU4F~6yhN|K+R1i*rUGKtZA5PzZYzLJ=+KlUu zQZ*r~ocxwI1!PU^Yd3r!i6|8g44afvAwBr=*@?oAi*GQ6>%arjeG3Z74nE!9ki4Ek z6Ev@bKe5JvZzohj4wG|L#xlYEh}p4V!P(6B389Hz!I7n8(1IFMbRdb5P#5gg66i5Z z!l;F_s30`Ua+&4a93zP99lC#JK607mJf%5@R>ztNCoEjr=)r#v9zp+aZj}mC3CN>xBjGQ>L)sGMy7yl^u zEluolGeoZ)aOL$;c`2eyhd){ME}}vTv*1c&m*QHvkh)UMVGgS>)IVng0$esPs~pud zNC2p+Zm7mf#XM1`WFellv8YSb%hQXiKi;4GboTy{)~y-*vt71O$m+q_hYf|jw@8g{ z(qfjO6mlS&HZViZ7v$vqdw*S+Ww)ZY40C8~%I2h!=Iz$OlIC-x);s=&p^8 z#Fk(Py5U?Om8rNsbJ^WkN{fwT^|D2iQ^Tb6l-3En!*p%=q##)_rmFzStQ>Rv@ zaw(4gRKCO1C9lKjypngQt5)T(%S@nnW`nFOy>TLTxyiP5v?uN};~Uxn%*baBsQN3&Gq_KP$Gm$nS<|^ zP7Mm~`wX#N%F}26+oZNu;ehpCse#YK%76}%^EX_?d*k`vxv2L~)_YH5HEdQ>^Ip56 z%lX$j#1m#`mqUeGtIj|NXm?j$;t;2);QQNNU(Qb-Ws(Yhz+34_U8;lNx_N4WK0cIW zA4<>+v=ers(i6bW4`2`=J5OzJKs)z2Q1`ld#T&L(J1_O!7QzmT;GUR4O0$8B*f3uP zJMhCBe^WJbE`~6K`(P8sg~*KhY$yyO25C*^xbr#Z^-Nj^!BDSxn6GVw12p}zKPJRX zobwMHeppQ!W4(jB-PoBj(>&!$^T-$nm`NF}C-w%Q36^RJzkUbR5@mLY6d}|MG$hej zLSZ8^GxE+368up*XBa84b~=5IvKdcMVOiY1Hp zT-*%0`%cY9g96I8#67?^KVnN7t%IJ5LFOU)I}<6EEGOBPW%6A4ysHY|q_*2omW}Lk zff*7|GX)M~6n!;h8JD$R7SxmlrJohRtjYQ>op zDhYA3TI2+;23MDW;lU?Vhr`k(jv7SUgZucEg@{ zU#;0UUSzk-X3v}hV8e!CfK1>#P*z*5ZsHwuL*X0Mmr!yJg<-iAI_CDaAD^lQ=b z$OxK~%X54p<|so}C=@8^70=_Tu`|{%b81p~nscEI5oQ_GySS@waInZqV^pP9!mxFA zzcsE77WQZidDIFBo)1@_^S@vv|D48hgi%LP2Stz`oNfANd^m>kp{LQIBMYX$-lMahzCc1PDU z!L)T6x^RI%O@7I#&_VvSuL7`A%;if2PtnpA!@wZ?_b-%9iZs7N-{6oy#4y9rd{ujR zETbZIwFw}ZW2Pxj)Qr45NwO7vg=k9XM)z%o4W)OvRLV0Fooc84G$sp10WD$)2O*R- zFhS?ZAFStg%w$Wq?;l!%1*}0Xyz{$gFG4_e>&4Y0cB|PPN zsMP*_U>|zw!!@dPpJ4{(K7(hOxz7L@f$p=XHy)~?t^4ejU*|sk8{GPF3~;b*)QFk= zR+Aek{mRoKB{Y?VfE*}7?HpmL6uBN_N!Zkro%$x->UhXwdY7iLF{Xm@QCYV9a?f_ArwNK@ia@AH<_jmlnioVX5~n1bsGB`F&5j0eNVFZNu%9Q zVM;i>>47ob0Y=(`S=%Hx_zs%&5qS&niknHApV7lwB=7@ZV!sDSYTJlFN2{~1S6vc@_-1nXTv?!R+KYxLPU`y+b$K-UwJ47O#RLG;$PZeFV35-_pdQ4H2U1U z1!iD5Ged0hVRBoxz4yj?4c^4|IC8&W_OlD8VCL`y5hXD>89I-!ocfCq&P%xp-vB;- zu6Rz7L0Wy)mF?pz|HMCAIhI@M|}y3V_x9 zLg7j_a$&_Y+kFe=w_VQUH%NYWBv1yNiwU`q+WhAXdbYp@IF(FYNDbe7mlKLC+xv9d z(gwstg>1T@n}wS;+lb9iJy+yh5ShDq^Y}f=l5k;5A;lD-dYWk1>6UqAw(lWlNrC4c ze}U*ime7dBBrb9bn2hx~JR(q?L!fGB@I^H2iBloHuk}fWU87{kOw2~&`^nC1`V3=@ z4#eDHOItlvb6W4?$Qj0v|AvvRhu$N5-WR(%90Q~5Irtn85xJnr?y_cX2yXu$#;Sm$ z^8b*G@*E6T#lK^S_0ym1{^dlPa8V0<1!AN!!(u=VxPWaD(d zJ~|iXdsmQIInlj=1jTIEsD`*kKzlS3zd2vfx03H@L&onCipdv)x|{06o3P5Sf@{i* z6E+QMgKD~cAp&S2HhZ}?7BvErznIHH*eSDNj|W}=nrGoQ zE;pi`$N;^QFU+{GYpl0cg9MfZ%N>yInl!FV5=(|0Va|@_YRjvHg9As&CBu~hok}N! z0!kV}n!3?rb33GRg{=oH3LfGBsv=quSWJG{?sa+!E_}^txyq*?x0pI6FMnd1z9L_2 zH-qL>y5@=5oGb3W=p8NEVH|AcPXwWbpZPpz zC6=;H8WMMDa*HS(l zB}F%Yt@ z#qYmgbn|W2d03L!w(#y`p2T-Nw&g+OrMdW37e4fhef3sSx*X-5u}P zfWAJ@K%qLn&OKq~m%s#2p8(+pAe4fS|@Bw{EMQ*rAb? zyyc2Z!Qx}8HH}s*wha`iAnYrP$ebz`lPoEgT7%Xj&e1fxmGj zlUNbCy|IKgq-(S9*pE`h3Gz4e0XDJd(1T?zOiz@TSbfN|?vzziBFoi1;3P<}BHe>^5 zbILR|-;(LSSv_A=t~46HV_nHnfJBd(r4f4|@I%o$gLN`lk_3 zwxgmse-g7s{G;22eFzk-H~@WUov(Sy)Xb9kh66x#L)z{(drE-2#b~#86w^ShA^w?X zZ^@ZZMb65Ct2!yJI+*1&%@U^G4jnAoEx$$mX&JFHHOMT?Ly@}BAf$5x)A~B_RGh>O zz7TB|!ui6LpH~yFxbhd3Sy6E4g_HfW^!mtg%x;fWOy5l4F*t+k+L)*!*GF&6O1R=F zPiUU3C*df|E6q{rNMg$I>+2)(QszM2NQH#aTeQgR9$cdt@#<;U%%KMHvUq1*2}uM; zcj)W9JguH8@6KlAi%sJ69iz279o!Y)>h2!aA=JyY)6{175ZK+#ee^`uq}?qCXH71- z{=_o5yG9ru3tR=gg(~gu;bPFrmmHdfNyW9y*E8~q{dX4=vEeRvd4u+4G|(m{CE_%rSAwp^-Hd#+(bT-}xJ{%s-LB zrn;6H4ud|exU-TcyBf^&!IqmH!0((csN{4B`CkgQy*eCW{T~L zK|3=|bB&ySF`K=Z5u;DMn7weSW8!o0?RqPTx-@A3S*|TE^3fsKOpHEQOXv5Q`bpx) zvPs3;9K}3*s9oGke#->D*x?)*Zs-;T|yr z>+M2H2afN{jADxN#7ncnexYXMg59#b`Xph#f{Rp@dYMa6Cw+tMB z3%(3hF)e)%Q|16Rob!0&^?~(wGQUYAjRUXfUjY^i2q*lzYk6<=u0zV|h*mT^DfH@;tH`Xn-A>O9Y5^()gCZ~Y z?i@H$Uia?TlS@Jiy)rvF0;zv6S>Eogt`K%?5Dr;d5Aerbb;#V=dm+x48&t89P^uk> zCc*{RoNAfxoTgEs5&fIjT`ZnesHO-O=|_p!w4IuN>?W!BKSV9IimdwY1x=8} z7l#yxtWNcAZ(dzBmI>t&x$xl$w5x>WjLxZ0X5Cb6ju%$3dqH06DC-0vb?`_Mfx(YF z_>4>Cy@!(M^tuO|h6ci5w{VxG;g?g$u1olhyyr?|GBREaMNL>7Z`9CBV;b=64;sh$ zThtP)g8=?kzUwj--k5l)*BOs!lB~(+cb9ObB7ghqYtS=){Nb;!yRFBuMt;Yk9%zo; z!Dy3XMdbtcjun+-MP;WEJyk_zCy*gL00)2>y7UKU!vTwD>*ax-trJS66W-IrJj$u0~&pJacYr>=Nbw)HI+t>0_tU-rMuuv?2 zp~&TL?P2-{=APdr$Y$qq&xzNcffu|L|n$N@^(v z$KwF1ke_9Hl$6^53#9j+<@ar&K0aR*@+{sFcE=EKb8voY&oPIoqaI#r->OCjj6FPg zB6EEw^Iaf!FDoRP@`c?MkCrk#gfO`RVG_K@eL`hlGUYi-l3{g~?*w-gcgT(+*b%Wl zN3(QF0lcvtzg2Wp>ouJSitzQL^q0;sJMI=Wb&gAP*%Shy>cEbBxTn zR+VOpfg_GcQKn}ZDI4@}3$!{xWTa_ggN<{h?-�_3PIdzIpv$|LcE+jCc~Wh^Lzu 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�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 Rf&_3p4EH;8=6QYB$jR55E5E7+Qjkjo=lP(TgjC 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 literal 0 HcmV?d00001 diff --git a/charts/redhat/redhat/redhat-trusted-profile-analyzer/1.1.1/report.yaml b/charts/redhat/redhat/redhat-trusted-profile-analyzer/1.1.1/report.yaml new file mode 100644 index 000000000..1ebcd7853 --- /dev/null +++ b/charts/redhat/redhat/redhat-trusted-profile-analyzer/1.1.1/report.yaml @@ -0,0 +1,103 @@ +apiversion: v1 +kind: verify-report +metadata: + tool: + verifier-version: 1.13.13 + profile: + VendorType: redhat + version: v1.3 + reportDigest: uint64:4352816472835522721 + chart-uri: ./redhat-trusted-profile-analyzer-1.1.1.tgz + digests: + chart: sha256:99780754a7923938815dad479cd751deab6baecd4c08012b04cbbc838487d9ae + package: 6604314a484f4a86c0e6aa40a59a00c2f257c0eded39f5748ab4a81ebc6cc5a7 + lastCertifiedTimestamp: "2025-09-10T18:30:22.718861+02:00" + testedOpenShiftVersion: "4.19" + supportedOpenShiftVersions: '>=4.12' + webCatalogOnly: false + chart: + name: redhat-trusted-profile-analyzer + home: https://access.redhat.com/products/red-hat-trusted-profile-analyzer + sources: [] + version: 1.1.1 + description: An Helm chart for deploying Red Hat Trusted Profile Analyzer (RHTPA) + keywords: [] + maintainers: + - name: Red Hat + email: rhtpa-support@redhat.com + url: https://www.redhat.com + icon: data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjM4IiBoZWlnaHQ9IjM4IiB2aWV3Qm94PSIwIDAgMzggMzgiPjxkZWZzPjxzdHlsZT4uZHtmaWxsOiNlMDA7fS5le2ZpbGw6I2ZmZjt9LmZ7ZmlsbDojZTBlMGUwO308L3N0eWxlPjwvZGVmcz48ZyBpZD0iYSI+PHJlY3QgY2xhc3M9ImUiIHg9IjEiIHk9IjEiIHdpZHRoPSIzNiIgaGVpZ2h0PSIzNiIgcng9IjkiIHJ5PSI5Ii8+PHBhdGggY2xhc3M9ImYiIGQ9Im0yOCwyLjI1YzQuMjczNCwwLDcuNzUsMy40NzY2LDcuNzUsNy43NXYxOGMwLDQuMjczNC0zLjQ3NjYsNy43NS03Ljc1LDcuNzVIMTBjLTQuMjczNCwwLTcuNzUtMy40NzY2LTcuNzUtNy43NVYxMGMwLTQuMjczNCwzLjQ3NjYtNy43NSw3Ljc1LTcuNzVoMThtMC0xLjI1SDEwQzUuMDI5NCwxLDEsNS4wMjk0LDEsMTB2MThjMCw0Ljk3MDYsNC4wMjk0LDksOSw5aDE4YzQuOTcwNiwwLDktNC4wMjk0LDktOVYxMGMwLTQuOTcwNi00LjAyOTQtOS05LTloMFoiLz48L2c+PGcgaWQ9ImIiPjxwYXRoIGNsYXNzPSJkIiBkPSJtMjguNDQyNCwyNy41NTgxbC00LjgxODUtNC44MTg1Yy43MTM1LS42OTQ2LDEuMjc3Ni0xLjU1MjcsMS42MjMyLTIuNTMxNi4xMTUyLS4zMjUyLS4wNTU3LS42ODIxLS4zODA5LS43OTc0LS4zMjIzLS4xMTYyLS42ODI2LjA1NTItLjc5NjkuMzgxMy0uNzU3OCwyLjE0MzEtMi43OTQ5LDMuNTgzLTUuMDY5MywzLjU4My0yLjk2MzksMC01LjM3NS0yLjQxMTEtNS4zNzUtNS4zNzVzMi40MTExLTUuMzc1LDUuMzc1LTUuMzc1Yy4zNDQ3LDAsLjYyNS0uMjc5OC42MjUtLjYyNXMtLjI4MDMtLjYyNS0uNjI1LS42MjVjLTMuNjUzMywwLTYuNjI1LDIuOTcyMi02LjYyNSw2LjYyNXMyLjk3MTcsNi42MjUsNi42MjUsNi42MjVjMS4zMjUxLDAsMi41Nzc3LS40MDc0LDMuNjM2Mi0xLjEwNDVsNC45MjE0LDQuOTIxNGMuMTIyMS4xMjIxLjI4MjIuMTgzMS40NDI0LjE4MzFzLjMyMDMtLjA2MS40NDI0LS4xODMxYy4yNDMyLS4yNDQxLjI0MzItLjYzOTYsMC0uODgzOFoiLz48cGF0aCBkPSJtMjAuNDQyNCwyNy41NTgxbC0yLTJjLS4yNDQxLS4yNDQxLS42NDA2LS4yNDQxLS44ODQ4LDAtLjI0MzIuMjQ0MS0uMjQzMi42Mzk2LDAsLjg4MzhsLjkwNjIuOTA1OWMtNC45MTkxLS4yODA0LTguODM4OC00LjM1OTQtOC44Mzg4LTkuMzQ3OCwwLTUuMTY5NCw0LjIwNjEtOS4zNzUsOS4zNzUtOS4zNzUuMzQ0NywwLC42MjUtLjI3OTguNjI1LS42MjVzLS4yODAzLS42MjUtLjYyNS0uNjI1Yy01Ljg1ODQsMC0xMC42MjUsNC43NjY2LTEwLjYyNSwxMC42MjUsMCw1LjY5NDksNC41MDc3LDEwLjM0NDUsMTAuMTQwNiwxMC42MDA1bC0uOTU3OS45NTc2Yy0uMjQzMi4yNDQxLS4yNDMyLjYzOTYsMCwuODgzOC4xMjIxLjEyMjEuMjgyMi4xODMxLjQ0MjQuMTgzMXMuMzIwMy0uMDYxLjQ0MjQtLjE4MzFsMi0yYy4yNDMyLS4yNDQxLjI0MzItLjYzOTYsMC0uODgzOFoiLz48cGF0aCBkPSJtMjUuNSwxNy42MjVjLTIuMjc0NCwwLTQuMTI1LTEuODUwNi00LjEyNS00LjEyNXYtNC4wMjg4YzAtLjI5NDkuMjA2MS0uNTQ5OC40OTUxLS42MTEzbDMuNS0uNzQ0MWMuMDg1OS0uMDE4Ni4xNzM4LS4wMTg2LjI1OTgsMGwzLjUuNzQ0MWMuMjg5MS4wNjEuNDk1MS4zMTY0LjQ5NTEuNjExM3Y0LjAyODhjMCwyLjI3NDQtMS44NTA2LDQuMTI1LTQuMTI1LDQuMTI1Wm0tMi44NzUtNy42NDc5djMuNTIyOWMwLDEuNTg1NCwxLjI5LDIuODc1LDIuODc1LDIuODc1czIuODc1LTEuMjg5NiwyLjg3NS0yLjg3NXYtMy41MjI5bC0yLjg3NS0uNjEwOC0yLjg3NS42MTA4WiIvPjxwYXRoIGNsYXNzPSJkIiBkPSJtMjUsMTQuMzUyMWMtLjE2MDIsMC0uMzIwMy0uMDYxLS40NDI0LS4xODMxbC0xLTFjLS4yNDMyLS4yNDQxLS4yNDMyLS42Mzk2LDAtLjg4MzguMjQ0MS0uMjQ0MS42NDA2LS4yNDQxLjg4NDgsMGwuNTU3Ni41NTgxLDEuNTU3Ni0xLjU1ODFjLjI0NDEtLjI0NDEuNjQwNi0uMjQ0MS44ODQ4LDAsLjI0MzIuMjQ0MS4yNDMyLjYzOTYsMCwuODgzOGwtMiwyYy0uMTIyMS4xMjIxLS4yODIyLjE4MzEtLjQ0MjQuMTgzMVoiLz48L2c+PC9zdmc+ + apiversion: v2 + condition: "" + tags: "" + appversion: 2.1.1 + deprecated: false + annotations: + charts.openshift.io/archs: x86_64 + charts.openshift.io/name: Red Hat Trusted Profile Analyzer + charts.openshift.io/provider: Red Hat + charts.openshift.io/supportURL: https://access.redhat.com/support + kubeversion: ^1.25.0 + dependencies: [] + type: application + chart-overrides: "" +results: + - check: v1.0/required-annotations-present + type: Mandatory + outcome: PASS + reason: All required annotations present + - check: v1.0/signature-is-valid + type: Mandatory + outcome: SKIPPED + reason: 'Chart is not signed : Signature verification not required' + - check: v1.0/chart-testing + type: Mandatory + outcome: PASS + reason: Chart tests have passed + - check: v1.0/contains-test + type: Mandatory + outcome: PASS + reason: Chart test files exist + - check: v1.1/has-kubeversion + type: Mandatory + outcome: PASS + reason: Kubernetes version specified + - check: v1.0/helm-lint + type: Mandatory + outcome: PASS + reason: Helm lint successful + - check: v1.1/images-are-certified + type: Mandatory + outcome: PASS + reason: |- + Image certification skipped : registry.redhat.io/rhtpa/rhtpa-trustification-service-rhel9@sha256:d5cf4a5bff94b59197f668a63d29591e3bc92ee89402edc70039e592d75cb84e + Image is Red Hat certified : registry.access.redhat.com/ubi9/ubi-minimal:latest + - check: v1.0/is-helm-v3 + type: Mandatory + outcome: PASS + reason: API version is V2, used in Helm 3 + - check: v1.0/not-contains-crds + type: Mandatory + outcome: PASS + reason: Chart does not contain CRDs + - check: v1.0/contains-values-schema + type: Mandatory + outcome: PASS + reason: Values schema file exist + - check: v1.0/contains-values + type: Mandatory + outcome: PASS + reason: Values file exist + - check: v1.0/has-readme + type: Mandatory + outcome: PASS + reason: Chart has a README + - check: v1.0/has-notes + type: Optional + outcome: PASS + reason: Chart does contain NOTES.txt + - check: v1.0/not-contain-csi-objects + type: Mandatory + outcome: PASS + reason: CSI objects do not exist +

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 literal 0 HcmV?d00001 diff --git a/charts/redhat/redhat/redhat-developer-hub/1.6.5/redhat-developer-hub-1.6.5.tgz b/charts/redhat/redhat/redhat-developer-hub/1.6.5/redhat-developer-hub-1.6.5.tgz new file mode 100644 index 0000000000000000000000000000000000000000..c02a960770e9ef297c57df13912dba6168952b3e GIT binary patch literal 240759 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 GP}f$ZMV>=xoOsybODcebIdaXuYrbe)N-)g%(_ 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