Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[index] cleanup: remove any chart version older than January 1st 2022 #10530

Merged
merged 1 commit into from
Jun 2, 2022

Conversation

aruiz14
Copy link
Contributor

@aruiz14 aruiz14 commented Jun 1, 2022

Signed-off-by: Alejandro Ruiz alejandroruiz@vmware.com

Description of the change

There are problems related to the size of the index.yaml, so we have decided to drop releases older than 2022, which reduces the size from +14MB to 3.5MB

Benefits

  • Faster repo updates and maintainability.
  • Remove deprecated apps.

Possible drawbacks

  • Possibly miss some old app versions
  • The chart packages are not being removed, so they can still be downloaded.
  • The commit previous to the commit that merges this PR will still be in the Git history.

Checklist


You can find more information and workarounds to use the previous versions of the index.yaml at #10539

@carrodher carrodher force-pushed the trim-index branch 2 times, most recently from fd891e9 to 1e8c10a Compare June 1, 2022 17:25
Signed-off-by: Alejandro Ruiz <alejandroruiz@vmware.com>
@aruiz14 aruiz14 merged commit 3b01dc9 into index Jun 2, 2022
@aruiz14 aruiz14 deleted the trim-index branch June 2, 2022 09:16
krajorama added a commit to grafana/helm-charts that referenced this pull request Jun 2, 2022
Bitnami has removed packages older than 6 months from their helm
repo , breaking the build. We're in the middle of a release, enable
workaround to unblock us. Eventually we want to get rid of the bitnami
chart for memcached anyway, see issue 1315

See:
bitnami/charts#10530
bitnami/charts#10539
#1315
krajorama added a commit to grafana/helm-charts that referenced this pull request Jun 2, 2022
Bitnami has removed packages older than 6 months from their helm
repo , breaking the build. We're in the middle of a release, enable
workaround to unblock us. Eventually we want to get rid of the bitnami
chart for memcached anyway, see issue 1315

See:
bitnami/charts#10530
bitnami/charts#10539
#1315

Signed-off-by: György Krajcsovits <gyorgy.krajcsovits@grafana.com>
krajorama added a commit to grafana/helm-charts that referenced this pull request Jun 2, 2022
Bitnami has removed packages older than 6 months from their helm
repo , breaking the build. We're in the middle of a release, enable
workaround to unblock us. Eventually we want to get rid of the bitnami
chart for memcached anyway, see issue 1315

See:
bitnami/charts#10530
bitnami/charts#10539
#1315

Signed-off-by: György Krajcsovits <gyorgy.krajcsovits@grafana.com>
@czomo
Copy link

czomo commented Jun 2, 2022

Is there any official announcement of removal old charts? This is joke

@adawalli
Copy link

adawalli commented Jun 2, 2022

This was horribly misguided - seriously...older than less than 6 months ago? Do you have any idea how many charts from you are used in production systems that just broke?

@beltran-rubo
Copy link
Contributor

beltran-rubo commented Jun 2, 2022

All the previous Chart versions still exist and they are available, please check this post. This change only affects the index.yaml listing. You can see there a workaround to still continue using older versions as part of your Helm charts.

$ helm repo add bitnami-pre-2022 https://raw.githubusercontent.com/bitnami/charts/eb5f9a9513d987b519f0ecd732e7031241c50328/bitnami
"bitnami-pre-2022" has been added to your repositories

@potiuk
Copy link

potiuk commented Jun 2, 2022

I think you are wrong with your judgment @beltran-rubo. The problem is that other charts used the index indirectly by specifying name ot the charts and version as dependency and "helm dependency update" gets broken if the index does not have that version. So you did - in fact - broke probably thousands of charts that were using bitnami as sources of dependencies.

While there is nothing to prevent you from doing it, it might irreparably break the trust in bitnami as source of charts. Up to you, really.

Let me just repeat what I wrote in this post you referred other people to:

This is TERRIBLY wrong. For example, we released Helm Chart to our users https://airflow.apache.org/docs/helm-chart/stable/index.html with bitnami's Postgres 10.5.3 and all the charts our users are using are useless now if they use embedded Postgres.

How is it possible you do such a breaking change in such a way ? This must be some kind of a joke.

This totally undermines any trust in bitnami as a source of charts - You basically rendered all historical charts released by likely huge number of projects useless.

@potiuk
Copy link

potiuk commented Jun 2, 2022

For example look at this line of the chart which was in every release of Airflow Chart we made - your "fix" made the charts broken.

@Almenon
Copy link

Almenon commented Jun 2, 2022

This broke our releases. Was this announced in advance? Maybe I missed an announcement, but if there was no announcement this is a thing that really should be announced in advance so one could upgrade or use the workaround ahead of time.

To counteract the negativity that's in this thread, thanks for creating and maintaining all these charts. :)

@carrodher
Copy link
Member

For example look at this line of the chart which was in every release of Airflow Chart we made - your "fix" made the charts broken.

Already released charts are not broken since the charts contain the dependencies already bundled in the charts\ directory. So a Helm chart is an immutable package that can be installed in an isolated environment without relying on external connections.

Using a random old airflow version:

$ helm search repo apache-airflow -l
NAME                  	CHART VERSION	APP VERSION	DESCRIPTION
apache-airflow/airflow	1.6.0        	2.3.0      	The official Helm chart to deploy Apache Airflo...
apache-airflow/airflow	1.5.0        	2.2.4      	The official Helm chart to deploy Apache Airflo...
apache-airflow/airflow	1.4.0        	2.2.3      	The official Helm chart to deploy Apache Airflo...
apache-airflow/airflow	1.3.0        	2.2.1      	The official Helm chart to deploy Apache Airflo...
apache-airflow/airflow	1.2.0        	2.1.4      	The official Helm chart to deploy Apache Airflo...
apache-airflow/airflow	1.1.0        	2.1.2      	The official Helm chart to deploy Apache Airflo...
apache-airflow/airflow	1.0.0        	2.0.2      	Helm chart to deploy Apache Airflow, a platform...

$ helm fetch apache-airflow/airflow --version 1.3.0 --untar

$ ls airflow/charts
postgresql

$ cat airflow/charts/postgresql/Chart.lock
dependencies:
- name: common
  repository: https://charts.bitnami.com/bitnami
  version: 1.7.0
digest: sha256:905ccb15952f5bfe132dd73e85c1d984a7c3cc0fc089cd6c272de42093327284
generated: "2021-07-06T00:45:47.873160401Z"

$ helm install apache-airflow/airflow --version 1.3.0 --dry-run --generate-name
NOTES:
Thank you for installing Apache Airflow 2.2.1!

Your release is named airflow-1654186114.
You can now access your dashboard(s) by executing the following command(s) and visiting the corresponding port at localhost in your browser:

Airflow Webserver:     kubectl port-forward svc/airflow-1654186114-webserver 8080:8080 --namespace default
Flower dashboard:      kubectl port-forward svc/airflow-1654186114-flower 5555:5555 --namespace default
Default Webserver (Airflow UI) Login credentials:
    username: admin
    password: admin
Default Postgres connection credentials:
    username: postgres
    password: postgres
    port: 5432

You can get Fernet Key value by running the following:

    echo Fernet Key: $(kubectl get secret --namespace default airflow-1654186114-fernet-key -o jsonpath="{.data.fernet-key}" | base64 --decode)

###########################################################
#  WARNING: You should set a static webserver secret key  #
###########################################################

You are using a dynamically generated webserver secret key, which can lead to
unnecessary restarts of your Airflow components.

Information on how to set a static webserver secret key can be found here:
https://airflow.apache.org/docs/helm-chart/stable/production-guide.html#webserver-secret-key

@carrodher
Copy link
Member

This broke our releases. Was this announced in advance? Maybe I missed an announcement, but if there was no announcement this is a thing that really should be announced in advance so one could upgrade or use the workaround ahead of time.

It was announced in this pinned issue (#10539), although there is not a proper notification system so creating an issue doesn't reach users unless they are actively checking this page

@adawalli
Copy link

adawalli commented Jun 2, 2022

The referenced issue was only opened 8 hours ago - I'm sorry, but that is not an announcement.

Bitnami folks, we are all very grateful for these charts, but it seems right now that there is greater interest in defending these ABRUPT decisions as normal/rational. I don't see any understanding from comments on the bitnami team - just defense. This is not a good idea if you want production-grade teams to use your work.

@deprecastor
Copy link

We had your charts in prod, I will now move to zalando postgresql operator because of this. Was not announced visibly for me and catches me cold on this Friday, so much work now. Cannot imagine that I will ever use a bitnami helm chart ever again.
Thanks so much for the charts in all the time, but this is not acceptable for me an my coworkers. Very sad.

anothertobi added a commit to appuio/charts that referenced this pull request Jun 9, 2022
Bitnami cleaned up their upstream index.yaml in
bitnami/charts#10530 which makes old charts
unresolvable.

Fixes #426
This pull request was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.