OperatorConfig CRD supports more of alertmanager_config #47
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is the bulk of Alertmanager support for our CRD as it pertains to setting up the managed rule-evaluator.
alertmanger_config
fields, including:authorization
via pulling thecredentials
payload from a secret selector.tls_config
via pullingca_file
,cert_file
,key_file
fields from configmap/secret selectors (in other namespaces). Fortls_config
in particular, we have to mirror the provided secrets to our namespace and mount them as files to the rule-evaluator deployment. This is because:tls_config
uses filepaths to configure client TLS connections instead of raw bytes or strings.kubernetes_sd_configs
to permit the rule-evaluator to use Kubernetes service-discovery to discover any configured Alertmanager endpoints. prometheus-operator inspired the changes here. Note: no authorization configuration to the K8s apiserver is provided at this time, so this will only be supported on GKE for the time being.relabel_configs
to filter only the specified Alertmanagers in the CRD (i.e. if there are other Alertmanagers discovered in the K8s cluster). prometheus-operator inspired the changes here.alertmanager_config
s via configmap/secret selectors.kubernetes_sd_config
configuration field. See this comment and the imported init.