-
Notifications
You must be signed in to change notification settings - Fork 6
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
feat: load secrets for OpenStack Helm via a values file #19
Conversation
I realize now this wouldn't work because the MariaDB and RabbitMQ operator need to read the secret. So we would need to still create the secret from this data. So still more to iterate here. |
https://github.com/jkroepke/helm-secrets can use sops and it can generate both plain values, Secrets or whatever else. The downside over sealed secrets is that whoever has the key can view the credentials locally. Can be partially mitigated if we use non-gpg backend |
Yeah maybe the docs give a couple of suggested options and that's one? |
2ff8e7f
to
8cec26c
Compare
12c62a4
to
eb61015
Compare
The goal with this is to make it easier for folks to run the helm commands and to be less opinionated about the secrets storage. |
So to provide some more context:
This should make us less opinionated and easier to use. |
Ultimately the helm commands go from: helm --namespace openstack template \
ironic \
./openstack-helm/ironic/ \
-f components/13-ironic/aio-values.yaml \
--set endpoints.identity.auth.admin.password="$(kubectl --namespace openstack get secret keystone-admin -o jsonpath='{.data.password}' | base64 -d)" \
--set endpoints.oslo_db.auth.ironic.password="$(kubectl --namespace openstack get secret ironic-db-password -o jsonpath='{.data.password}' | base64 -d)" \
--set endpoints.oslo_messaging.auth.ironic.password="$(kubectl --namespace openstack get secret ironic-rabbitmq-password -o jsonpath='{.data.password}' | base64 -d)" \
--set endpoints.identity.auth.ironic.password="$(kubectl --namespace openstack get secret ironic-keystone-password -o jsonpath='{.data.password}' | base64 -d)" \
| kubectl -n openstack apply -f - to helm --namespace openstack template \
ironic \
./openstack-helm/ironic/ \
-f components/13-ironic/aio-values.yaml \
-f secret-openstack.yaml \
| kubectl -n openstack apply -f - I also wrapped up the helm call with |
eb61015
to
f143722
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
previous review was supposed to be with Approve, not Request changes, sorry
Move the loading of the OpenStack secrets into populating a values file that can be supplied to the helm command. In theory now a user could supply this file separately and use GitOps to install the OpenStack Helm components.
Since we're applying this immediately and not storing it, we don't need to run this through sealed secrets.
Switched to the published helm chart repo for the OpenStack components and change to using kustomize to execute helm like the other components are.
Co-authored-by: Marek Skrobacki <[email protected]>
6ef39b3
to
0656c60
Compare
Generate a helm values file with the secrets in it. That can then be stored and used via tools like https://github.com/jkroepke/helm-secrets Then switch to using the OpenStack Helm charts via their repo so that we can execute their helm charts like we do the other components.