From 23f9f72175110af5668f9051c9432fea50d000f7 Mon Sep 17 00:00:00 2001 From: Jarek Potiuk Date: Sat, 11 Jun 2022 22:44:27 +0200 Subject: [PATCH] Vendor in the bitnami chart After the Bitnami fiasco https://github.com/bitnami/charts/issues/10539 We lost trust in bitnami index being good and reliable source of charts. That's why we vendored-in the postgres chart needed for our Helm chart. Fixes: #24037 --- .gitignore | 3 --- chart/.gitignore | 3 --- chart/Chart.lock | 3 +-- chart/Chart.yaml | 7 ------ chart/INSTALL | 3 --- chart/NOTICE | 11 ++++++++++ chart/charts/postgresql-10.5.3.tgz | Bin 0 -> 50647 bytes scripts/ci/libraries/_kind.sh | 4 +--- tests/charts/conftest.py | 33 ----------------------------- 9 files changed, 13 insertions(+), 54 deletions(-) create mode 100644 chart/charts/postgresql-10.5.3.tgz diff --git a/.gitignore b/.gitignore index fe3d74aa2344a4..b9de02c90e052f 100644 --- a/.gitignore +++ b/.gitignore @@ -206,9 +206,6 @@ log.txt* # Terraform variables *.tfvars -# Chart dependencies -**/charts/*.tgz - # Might be generated when you build wheels pip-wheel-metadata diff --git a/chart/.gitignore b/chart/.gitignore index f14564f2f43f65..77eb66a866f10a 100644 --- a/chart/.gitignore +++ b/chart/.gitignore @@ -5,8 +5,5 @@ config.yml # Build dir repository -# Chart dependencies -**/charts/*.tgz - # Never check in tmpcharts tmpcharts diff --git a/chart/Chart.lock b/chart/Chart.lock index 3823eed401e491..bf25c5d6c7911c 100644 --- a/chart/Chart.lock +++ b/chart/Chart.lock @@ -1,6 +1,5 @@ dependencies: - name: postgresql - repository: https://raw.githubusercontent.com/bitnami/charts/eb5f9a9513d987b519f0ecd732e7031241c50328/bitnami version: 10.5.3 digest: sha256:7104938113e866364a96f78802697be6bd121526cccbd06cae6a38827b7b36f9 -generated: "2022-06-02T16:31:53.771359036+02:00" +generated: "2022-06-11T22:19:11.389661+02:00" diff --git a/chart/Chart.yaml b/chart/Chart.yaml index 6b430230bdbcff..f748a8b0799469 100644 --- a/chart/Chart.yaml +++ b/chart/Chart.yaml @@ -35,13 +35,6 @@ keywords: dependencies: - name: postgresql version: 10.5.3 - # In order to react to a sudden, totally breaking change by bitnami in - # https://github.com/bitnami/charts/issues/10539 - # we need to use the version of index from just before the change. However we hope - # it is only temporary change as it breaks all our charts we released so far - # see comment here https://github.com/bitnami/charts/issues/10539#issuecomment-1144869092 - repository: >- - https://raw.githubusercontent.com/bitnami/charts/eb5f9a9513d987b519f0ecd732e7031241c50328/bitnami condition: postgresql.enabled maintainers: - email: dev@airflow.apache.org diff --git a/chart/INSTALL b/chart/INSTALL index 53ef754ab968ca..86f4cdfdc81b4e 100644 --- a/chart/INSTALL +++ b/chart/INSTALL @@ -3,9 +3,6 @@ # The Assumption here is that you have a running Kubernetes cluster # and helm installed & configured to talk with the cluster -# Run `helm dependency update` Command to install dependencies (postgresql) -helm dependency update - # Run `helm install` Command helm install airflow . diff --git a/chart/NOTICE b/chart/NOTICE index 0ae7e64babc488..3f68897ba6559b 100644 --- a/chart/NOTICE +++ b/chart/NOTICE @@ -4,3 +4,14 @@ Copyright 2016-2021 The Apache Software Foundation This product includes software developed at The Apache Software Foundation (http://www.apache.org/). ======================================================================= + +postgresql: +----- +This product contains vendored-in postgresql Helm chart. + +Copyright © 2022 Bitnami + +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/chart/charts/postgresql-10.5.3.tgz b/chart/charts/postgresql-10.5.3.tgz new file mode 100644 index 0000000000000000000000000000000000000000..aac3fa60fce21354627dd3514cb4a55808f6dc7d GIT binary patch literal 50647 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 literal 0 HcmV?d00001 diff --git a/scripts/ci/libraries/_kind.sh b/scripts/ci/libraries/_kind.sh index 875cd18a762cd9..65f2998a88cd0c 100644 --- a/scripts/ci/libraries/_kind.sh +++ b/scripts/ci/libraries/_kind.sh @@ -69,7 +69,7 @@ function kind::make_sure_kubernetes_tools_are_installed() { kubectl_url="https://storage.googleapis.com/kubernetes-release/release/${KUBECTL_VERSION}/bin/${system}/${machine}/kubectl" if [[ -f "${KUBECTL_BINARY_PATH}" ]]; then local downloaded_kubectl_version - downloaded_kubectl_version="$(${KUBECTL_BINARY_PATH} version --client=true --short | awk '{ print $3 }')" + downloaded_kubectl_version="$(${KUBECTL_BINARY_PATH} version --client=true | awk '{ print $3 }')" echo "Currently downloaded kubectl version = ${downloaded_kubectl_version}" fi if [[ ! -f "${KUBECTL_BINARY_PATH}" || ${downloaded_kubectl_version} != "${KUBECTL_VERSION}" ]]; then @@ -349,7 +349,6 @@ function kind::deploy_airflow_with_helm() { pushd "${chartdir}/chart" >/dev/null 2>&1 || exit 1 helm repo add stable https://charts.helm.sh/stable/ - helm dep update helm install airflow . \ --timeout 10m0s \ --namespace "${HELM_AIRFLOW_NAMESPACE}" \ @@ -384,7 +383,6 @@ function kind::upgrade_airflow_with_helm() { pushd "${chartdir}/chart" >/dev/null 2>&1 || exit 1 helm repo add stable https://charts.helm.sh/stable/ - helm dep update helm upgrade airflow . --namespace "${HELM_AIRFLOW_NAMESPACE}" \ --set "defaultAirflowRepository=${AIRFLOW_IMAGE_KUBERNETES}" \ --set "images.airflow.repository=${AIRFLOW_IMAGE_KUBERNETES}" \ diff --git a/tests/charts/conftest.py b/tests/charts/conftest.py index fca94adc1a5517..4243b7752d1661 100644 --- a/tests/charts/conftest.py +++ b/tests/charts/conftest.py @@ -15,43 +15,10 @@ # specific language governing permissions and limitations # under the License. -import subprocess -from pathlib import Path - import pytest -from filelock import FileLock - -chart_dir = (Path(__file__).parent / ".." / ".." / "chart").resolve() @pytest.fixture(autouse=True, scope="session") def initialize_airflow_tests(request): # Skip airflow tests initialization for all Helm tests return - - -@pytest.fixture(autouse=True, scope="session") -def upgrade_helm(tmp_path_factory, worker_id): - """ - Upgrade Helm repo - """ - - def _upgrade_helm(): - subprocess.check_output( - ["helm", "repo", "add", "stable", "https://charts.helm.sh/stable/"], cwd=chart_dir - ) - subprocess.check_output(["helm", "dep", "update", chart_dir], cwd=chart_dir) - - if worker_id == "main": - # not executing in with multiple workers, just update - _upgrade_helm() - return - - root_tmp_dir = tmp_path_factory.getbasetemp().parent - lock_fn = root_tmp_dir / "upgrade_helm.lock" - flag_fn = root_tmp_dir / "upgrade_helm.done" - - with FileLock(str(lock_fn)): - if not flag_fn.is_file(): - _upgrade_helm() - flag_fn.touch()