Skip to content

Commit

Permalink
remove owner references from grafana config map
Browse files Browse the repository at this point in the history
  • Loading branch information
jonathankingfc committed Mar 30, 2021
1 parent ef2d623 commit 545dc89
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 4 deletions.
10 changes: 10 additions & 0 deletions apis/quay/v1/quayregistry_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -357,6 +357,16 @@ func EnsureOwnerReference(quay *QuayRegistry, obj runtime.Object) (runtime.Objec
return obj, nil
}

// RemoveOwnerReference removes the `ownerReference` on the given object.
func RemoveOwnerReference(obj runtime.Object) (runtime.Object, error) {
objectMeta, err := meta.Accessor(obj)
if err != nil {
return nil, err
}
objectMeta.SetOwnerReferences([]metav1.OwnerReference{})
return obj, nil
}

const ManagedKeysName = "quay-registry-managed-secret-keys"

// ManagedKeysSecretNameFor returns the name of the `Secret` in which generated secret keys are stored.
Expand Down
16 changes: 12 additions & 4 deletions controllers/quay/quayregistry_controller.go
Original file line number Diff line number Diff line change
Expand Up @@ -69,9 +69,9 @@ const (
// QuayRegistryReconciler reconciles a QuayRegistry object
type QuayRegistryReconciler struct {
client.Client
Log logr.Logger
Scheme *runtime.Scheme
EventRecorder record.EventRecorder
Log logr.Logger
Scheme *runtime.Scheme
EventRecorder record.EventRecorder
WatchNamespace string
}

Expand Down Expand Up @@ -475,10 +475,18 @@ func (r *QuayRegistryReconciler) createOrUpdateObject(ctx context.Context, obj k
obj, err := v1.EnsureOwnerReference(&quay, obj)
if err != nil {
log.Error(err, "could not ensure `ownerReferences` before creating object", objectMeta.GetName(), "GroupVersionKind", groupVersionKind)

return err
}

// Remove owner reference to prevent cross-namespace owner reference
if isGrafanaConfigMap(obj) {
obj, err = v1.RemoveOwnerReference(obj)
if err != nil {
log.Error(err, "could not remove `ownerReferences` before creating object", objectMeta.GetName(), "GroupVersionKind", groupVersionKind)
return err
}
}

// managedFields cannot be set on a PATCH.
objectMeta.SetManagedFields([]metav1.ManagedFieldsEntry{})

Expand Down

0 comments on commit 545dc89

Please sign in to comment.