mirror of
https://github.com/prometheus-operator/prometheus-operator.git
synced 2025-04-21 11:48:53 +00:00
add ownerReferences to created Service object
This commit is contained in:
parent
741df79979
commit
8b1c045c73
3 changed files with 30 additions and 0 deletions
pkg
|
@ -146,6 +146,14 @@ func makeStatefulSetService(p *monitoringv1.Alertmanager, config Config) *v1.Ser
|
|||
Labels: config.Labels.Merge(map[string]string{
|
||||
"operated-alertmanager": "true",
|
||||
}),
|
||||
OwnerReferences: []metav1.OwnerReference{
|
||||
metav1.OwnerReference{
|
||||
Name: p.GetName(),
|
||||
Kind: p.Kind,
|
||||
APIVersion: p.APIVersion,
|
||||
UID: p.GetUID(),
|
||||
},
|
||||
},
|
||||
},
|
||||
Spec: v1.ServiceSpec{
|
||||
ClusterIP: "None",
|
||||
|
|
|
@ -133,6 +133,7 @@ func CreateOrUpdateService(sclient clientv1.ServiceInterface, svc *v1.Service) e
|
|||
}
|
||||
} else {
|
||||
svc.ResourceVersion = service.ResourceVersion
|
||||
svc.SetOwnerReferences(mergeOwnerReferences(service.GetOwnerReferences(), svc.GetOwnerReferences()))
|
||||
_, err := sclient.Update(svc)
|
||||
if err != nil && !apierrors.IsNotFound(err) {
|
||||
return errors.Wrap(err, "updating service object failed")
|
||||
|
@ -203,3 +204,16 @@ func SanitizeVolumeName(name string) string {
|
|||
}
|
||||
return strings.Trim(name, "-")
|
||||
}
|
||||
|
||||
func mergeOwnerReferences(old []metav1.OwnerReference, new []metav1.OwnerReference) []metav1.OwnerReference {
|
||||
existing := make(map[metav1.OwnerReference]bool)
|
||||
for _, ownerRef := range old {
|
||||
existing[ownerRef] = true
|
||||
}
|
||||
for _, ownerRef := range new {
|
||||
if _, ok := existing[ownerRef]; !ok {
|
||||
old = append(old, ownerRef)
|
||||
}
|
||||
}
|
||||
return old
|
||||
}
|
||||
|
|
|
@ -254,6 +254,14 @@ func makeStatefulSetService(p *monitoringv1.Prometheus, config Config) *v1.Servi
|
|||
svc := &v1.Service{
|
||||
ObjectMeta: metav1.ObjectMeta{
|
||||
Name: governingServiceName,
|
||||
OwnerReferences: []metav1.OwnerReference{
|
||||
metav1.OwnerReference{
|
||||
Name: p.GetName(),
|
||||
Kind: p.Kind,
|
||||
APIVersion: p.APIVersion,
|
||||
UID: p.GetUID(),
|
||||
},
|
||||
},
|
||||
Labels: config.Labels.Merge(map[string]string{
|
||||
"operated-prometheus": "true",
|
||||
}),
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue