-
Notifications
You must be signed in to change notification settings - Fork 717
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
Expose Kibana keystore for secure settings #1063
Conversation
This will help a lot for testing when a function is supposed to register (or clear) some watches.
Kibana needs it as well!
./bin/kibana-keystore add "$key" --stdin < "$filename" | ||
done | ||
|
||
echo "Keystore initialization successful." |
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.
Are we not moving all of those scripts into config maps?
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.
We could do that, yes. I have mixed feelings though: that's another configmap to manage (a single one for multiple clusters?) + another volume to mount in the ES pod + another VolumeMount to setup in the init container to avoid 10 lines of bash in the pod spec (but probably adds more than 10 lines in the json-prettified pod spec because of additional volumes).
I can also reduce this to ~5 lines of bash.
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.
LGTM!
Expose Kibana keystore the same way it's done in Elasticsearch through a user-provided secret reference:
Contrary to Elasticsearch, we don't reconcile the user secret contents into our own secret, but we mount the user secret into the pod directly.
Kibana being stateless and secure settings being loaded at Kibana startup, it's simpler to just recreate Kibana pods if there is any changes in secure settings. This is done through propagating the user secret resource version into the pod labels.
The user secret needs to be in the same namespace as Kibana, and will be watched by the operator dynamic watches for reconciliation.
Fixes #755.