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

helm 3 seems to double base64 release data. #6409

Closed
paulczar opened this issue Sep 11, 2019 · 2 comments
Closed

helm 3 seems to double base64 release data. #6409

paulczar opened this issue Sep 11, 2019 · 2 comments

Comments

@paulczar
Copy link
Contributor

Helm version v3.0.0-beta.2

after some experimenting I need to double base64 decode before I can gunzip the release data. There might be a valid reason for the double encoding, but it's not obvious to me so I'm going to suggest its a bug to be doing it.

$ kubectl get secrets my-app.v1 -o json | jq .data.release -r | base64 --decode | base64 --decode | gunzip -
@bacongobbler
Copy link
Member

bacongobbler commented Sep 11, 2019

This is because there are more storage layers than the secrets backend. ConfigMaps, Postgresql (only in Helm 2 at the moment), in-memory, etc. It's difficult to pass gzipped binary data to a secret (or any backend, really) as a string without escape characters being lost, so we have to base64-encode the data before storing it, which then the secrets API will base64-encode the data a second time.

It seems awkward, but it's definitely intentional from what I understand.

@paulczar
Copy link
Contributor Author

ahhhhha! I knew there would be a reason.

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

No branches or pull requests

2 participants