Open lindhe opened 5 days ago
I would be happy to work on this feature. As I mentioned, I have already done the ground work. I just need to know if such a PR would be welcome, before I start working on a contribution.
Hi!
Thank you so much for the feature request and for wanting to contribute, of course it would be welcome! In other charts we have jobs for initializing like in Minio or Kafka. You can use them as examples for your contribution.
That's great! I'm on it. Thanks for the pointers.
I'll need to send some REST calls to the API. In my working PoC I use docker.io/curlimages/curl:8.10.1
for that, but I know Bitnami tend to use your own images for everything. Do you have a curl image or some other image you recommend that has curl installed?
Yo can use the bitnami/os-shell image, which is present in most of the charts and has curl.
Name and Version
bitnami/opensearch 1.3.4
What is the problem this feature will solve?
To enable consistent backups, OpenSearch uses Snapshots. It is pretty easy to configure snapshots using the OpenSearch dashboard, but this requires manual intervention and is hard to automate. As far as I can tell, there is no mechanism to configure this using declarative configuration in OpenSearch, so the user must interact with the OpenSearch API.
This is a pretty involved process where the user must first send a request to "register a repository" to store the snapshots in and then configure snapshot policy, all using the OpenSearch REST API. Even advanced users, who are already familiar with this process and how to use the API, have no easy way to automate this process today.
What is the feature you are proposing to solve the problem?
I suggest we implement a
post-install
chart hook that performs registration of a repository and then (optionally) creates a snapshot policy.If we implement this as opt-in, this should be a non-breaking change.
In the future, this could be expanded upon to also include policy changes during upgrade/rollback operations or creating multiple policies.
What alternatives have you considered?
I have written a Job that does this already, but since it's not integrated into the Helm chart it's a semi-automatic process that I need to manually trigger after installing the chart. It would be nicer if it was available out-of-the-box.