This commit relaxes URL validation for Webhook and Pushover
configurations because they support Go template syntax.
Signed-off-by: Simon Pasquier <spasquie@redhat.com>
This commit removes the `dispatchStartDelay` field from the Alertmanager
CRD and uses instead the `minReadySeconds` value as the default
duration to delay the first flush of aggregation groups.
When Kubernetes performs pod updates (due to spec updates or pod
eviction),`minReadySeconds` defines how long a statefulset's pod should
be ready before kube-controller-manager can proceed with the next pod
update. The main use case of `minReadySeconds` is to ensure that
Prometheus has resent all alerts before updating the next pod hence it
makes sense for Alertmanager to wait the same amount of time before
sending alert notifications. Users who want to use another value for
`--dispatch.start-delay` can customize it using the
`.spec.additionalArgs` field.
The removal of `dispatchStartDelay` is possible because the field hasn't
been made available in any public release.
Signed-off-by: Simon Pasquier <spasquie@redhat.com>
This commit introduces a new `updateStrategy` field for
statefulset-based workloads (Prometheus, PrometheusAgent, Alertmanager
and ThanosRuler). While for now, there's a 1:1 mapping with StatefulSet
strategies, it paves the way to the introduction of custom strategies
which may be required to streamline operations in case of broken updates
(similar to the scenario explained in
https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#forced-rollback).
Closes #5435
Signed-off-by: Simon Pasquier <spasquie@redhat.com>
This commit introduces a new `podManagementPolicy` field for
statefulset-based workloads (Prometheus, PrometheusAgent, Alertmanager
and ThanosRuler). While the default will still be `Parallel`, users have
expressed the need to use `OrderedReady` in specific situations.
Closes #2753
Signed-off-by: Simon Pasquier <spasquie@redhat.com>
When a Prometheus selects no scrape resources, the operator (by default)
expects that users provide the configuration secret themselves. More
often than not this type of situation is unintentional and users have a
hard time figuring out why the generated configuration remains empty.
When the Prometheus configuration is unmanaged, this change sets
`reason: ConfigurationUnmanaged` on the `Reconciled` condition to
improve the user experience. Eventually we may want to make unmanaged
configuration an opt-in feature (e.g. having
`--disable-unmanaged-prometheus-configuration=true` by default).
Closes #7649
Signed-off-by: Simon Pasquier <spasquie@redhat.com>
This change adds the `terminationGracePeriodSeconds` field to the
Alertmanager, Prometheus, PrometheusAgent and ThanosRuler CRDs.
Closes #3433
Signed-off-by: Simon Pasquier <spasquie@redhat.com>
* [BUGFIX] Fixing pod and service monitor selector validation
Signed-off-by: Nicolas Takashi <nicolas.tcs@hotmail.com>
Co-authored-by: Simon Pasquier <spasquie@redhat.com>