Files
capsule/internal/controllers/resources/replication_context.go
T
Oliver Bähler da74cfdab7 fix: allow replications to own replications without blocking controller updates (#2107)
* chore

* perfromance improvements

Signed-off-by: Oliver Baehler <oliver@sudo-i.net>

* perfromance improvements

Signed-off-by: Oliver Baehler <oliver@sudo-i.net>

* feat(performance): removed duplicate client calls from all admission paths

Signed-off-by: Oliver Baehler <oliver@sudo-i.net>

* feat(performance): removed duplicate client calls from all admission paths

Signed-off-by: Oliver Baehler <oliver@sudo-i.net>

* feat(performance): removed duplicate client calls from all admission paths

Signed-off-by: Oliver Baehler <oliver@sudo-i.net>

* feat(performance): removed duplicate client calls from all admission paths

Signed-off-by: Oliver Baehler <oliver@sudo-i.net>

* feat(performance): removed duplicate client calls from all admission paths

Signed-off-by: Oliver Baehler <oliver@sudo-i.net>

* feat(performance): removed duplicate client calls from all admission paths

Signed-off-by: Oliver Baehler <oliver@sudo-i.net>

* feat(performance): removed duplicate client calls from all admission paths

Signed-off-by: Oliver Baehler <oliver@sudo-i.net>

* feat: add globalresourcequota api

Signed-off-by: Oliver Baehler <oliver@sudo-i.net>

* feat: add globalresourcequota api

Signed-off-by: Oliver Baehler <oliver@sudo-i.net>

* feat: add globalresourcequota api

Signed-off-by: Oliver Baehler <oliver@sudo-i.net>

* feat: add globalresourcequota api

Signed-off-by: Oliver Baehler <oliver@sudo-i.net>

* feat: add globalresourcequota api

Signed-off-by: Oliver Baehler <oliver@sudo-i.net>

* feat: add globalresourcequota api

Signed-off-by: Oliver Baehler <oliver@sudo-i.net>

* fix: remove resource rejections checks

Signed-off-by: Oliver Baehler <oliver@sudo-i.net>

* fix: allow replications to own replications without blocking controller updates

Signed-off-by: Oliver Baehler <oliver@sudo-i.net>

* fix: allow replications to own replications without blocking controller updates

Signed-off-by: Oliver Baehler <oliver@sudo-i.net>

* fix: allow replications to own replications without blocking controller updates

Signed-off-by: Oliver Baehler <oliver@sudo-i.net>

---------

Signed-off-by: Oliver Baehler <oliver@sudo-i.net>
2026-08-26 21:59:57 +02:00

43 lines
1.4 KiB
Go

// Copyright 2020-2026 Project Capsule Authors
// SPDX-License-Identifier: Apache-2.0
package resources
import (
"maps"
"slices"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"github.com/projectcapsule/capsule/pkg/utils"
)
const replicationContextKey = "replications"
func newReplicationContext(object metav1.Object) (map[string]any, error) {
annotations := maps.Clone(object.GetAnnotations())
delete(annotations, "kubectl.kubernetes.io/last-applied-configuration")
metadata, err := utils.ToUnstructuredMap(&metav1.ObjectMeta{
Name: object.GetName(),
GenerateName: object.GetGenerateName(),
Namespace: object.GetNamespace(),
SelfLink: object.GetSelfLink(),
UID: object.GetUID(),
ResourceVersion: object.GetResourceVersion(),
Generation: object.GetGeneration(),
CreationTimestamp: object.GetCreationTimestamp(),
DeletionTimestamp: object.GetDeletionTimestamp(),
DeletionGracePeriodSeconds: object.GetDeletionGracePeriodSeconds(),
Labels: maps.Clone(object.GetLabels()),
Annotations: annotations,
OwnerReferences: slices.Clone(object.GetOwnerReferences()),
Finalizers: slices.Clone(object.GetFinalizers()),
})
if err != nil {
return nil, err
}
return map[string]any{"metadata": metadata}, nil
}