1
0
Fork 0
mirror of https://github.com/prometheus-operator/prometheus-operator.git synced 2025-04-21 11:48:53 +00:00

prometheus: do not delete secret when not managed by Operator

This commit is contained in:
Frederic Branczyk 2017-05-04 10:36:02 +02:00
parent cdb253c79b
commit 2f2e0f2904
No known key found for this signature in database
GPG key ID: CA14788B1E48B256
2 changed files with 20 additions and 6 deletions

View file

@ -831,11 +831,23 @@ func (c *Operator) destroyPrometheus(key string) error {
}
// Delete the auto-generate configuration.
// TODO(fabxc): add an ownerRef at creation so we don't delete config maps
// TODO(fabxc): add an ownerRef at creation so we don't delete Secrets
// manually created for Prometheus servers with no ServiceMonitor selectors.
s := c.kclient.Core().Secrets(sset.Namespace)
if err := s.Delete(sset.Name, nil); err != nil {
return errors.Wrap(err, "deleting config file failed")
secret, err := s.Get(sset.Name)
if err != nil && !apierrors.IsNotFound(err) {
return errors.Wrap(err, "retrieving config Secret failed")
}
if apierrors.IsNotFound(err) {
// Secret does not exist so nothing to clean up
return nil
}
value, found := secret.Labels[managedByOperatorLabel]
if found && value == managedByOperatorLabelValue {
if err := s.Delete(sset.Name, nil); err != nil {
return errors.Wrap(err, "deleting config Secret failed")
}
}
return nil

View file

@ -41,9 +41,11 @@ const (
)
var (
minReplicas int32 = 1
managedByOperatorLabels = map[string]string{
"managed-by": "prometheus-operator",
minReplicas int32 = 1
managedByOperatorLabel = "managed-by"
managedByOperatorLabelValue = "prometheus-operator"
managedByOperatorLabels = map[string]string{
managedByOperatorLabel: managedByOperatorLabelValue,
}
probeTimeoutSeconds int32 = 3
)