One of the use cases I’ve been working for in my group is automating the installs of OpenDistro in Kubernetes Clusters to act as centralized logging services for cluster users.
The Helm chart works really well for most of this, and I’ve been able to use the opendistro helm chart and the fluentd-elasticsearch helm chart as subcharts to create a single configurable package for installing things.
One thing I would like to automate further is to setup certain things like ISM policies, Index templates, and Index patterns. This essentially would be to apply standard retention/management policies for the fluentd logs upon startup.
In the Prometheus world, there’s both an Operator pattern for managing Prometheus installs, but there’s additional Custom Resource Definitions for lower-level config items like ServiceMontors and Alerts.
Would there be any interesting in following a similar path, even if it’s just for a subset of Configuration? I would invision something where there are some Kubernetes CRDs which define things like ISM policies, and a pod that can be included with the HelmChart that would read these items from a ConfigMap and keep them synced up in OpenDistro.
It would make it much easier to apply some of this additional configuration “out-of-the-box” and also manage these defaults with code.