-
Notifications
You must be signed in to change notification settings - Fork 10.4k
Description
Name and Version
bitnami/thanos
What is the problem this feature will solve?
Currently, Thanos Ruler can be only be deployed in thanos chart by means of a Statefulset.
Prometheus Operator supports creation of Thanos Ruler using a CR.
Using a CR takes away complexity from the Statefulset, but also allows the usage of PrometheusRule objects to define rules in a more flexible manner (using rule selectors to state which Thanos Ruler is the target for a given rule).
This is already the way kube-prometheus-stack deploys it.
This issue relates to #28525
What is the feature you are proposing to solve the problem?
Given we probably don't want to get rid of the Satefulset deployment for backwards compatibility, we should probably add a new template to deploy it using the ThanosRuler CR, and then put it behind a feature flag that selects how ruler will be deployed.
What alternatives have you considered?
Having the CR created as additional resources, but it is not pretty since the auxiliary resources (secret, service, etc...) are controlled by the same feature flag that enables ruler.
We could maybe change that logic to allow creating all those resources but skipping Statefulset creation (and then one can add the CR as extra manifests), but I think having the CR inside as an option would be a best choice.