@@ -17,20 +17,20 @@ type Annotator[T any] interface {
17
17
type EnsureComponentByHash [K KubeObject , A Annotator [A ]] struct {
18
18
* HashableComponent [K ]
19
19
ctrls * ContextKey [ControlAll ]
20
- nn types.NamespacedName
20
+ nn MustValueContext [ types.NamespacedName ]
21
21
applyObject func (ctx context.Context , apply A ) (K , error )
22
- deleteObject func (ctx context.Context , name string ) error
22
+ deleteObject func (ctx context.Context , nn types. NamespacedName ) error
23
23
newObj func (ctx context.Context ) A
24
24
}
25
25
26
26
var _ handler.ContextHandler = & EnsureComponentByHash [* corev1.Service , * applycorev1.ServiceApplyConfiguration ]{}
27
27
28
28
func NewEnsureComponentByHash [K KubeObject , A Annotator [A ]](
29
29
component * HashableComponent [K ],
30
- owner types.NamespacedName ,
30
+ owner MustValueContext [ types.NamespacedName ] ,
31
31
ctrls * ContextKey [ControlAll ],
32
32
applyObj func (ctx context.Context , apply A ) (K , error ),
33
- deleteObject func (ctx context.Context , name string ) error ,
33
+ deleteObject func (ctx context.Context , nn types. NamespacedName ) error ,
34
34
newObj func (ctx context.Context ) A ,
35
35
) * EnsureComponentByHash [K , A ] {
36
36
return & EnsureComponentByHash [K , A ]{
@@ -44,7 +44,7 @@ func NewEnsureComponentByHash[K KubeObject, A Annotator[A]](
44
44
}
45
45
46
46
func (e * EnsureComponentByHash [K , A ]) Handle (ctx context.Context ) {
47
- ownedObjs := e .List (e .nn )
47
+ ownedObjs := e .List (ctx , e .nn . MustValue ( ctx ) )
48
48
49
49
newObj := e .newObj (ctx )
50
50
hash , err := e .Hash (newObj )
@@ -80,7 +80,10 @@ func (e *EnsureComponentByHash[K, A]) Handle(ctx context.Context) {
80
80
if len (matchingObjs ) == 1 {
81
81
// delete extra objects
82
82
for _ , o := range extraObjs {
83
- if err := e .deleteObject (ctx , o .GetName ()); err != nil {
83
+ if err := e .deleteObject (ctx , types.NamespacedName {
84
+ Namespace : o .GetNamespace (),
85
+ Name : o .GetName (),
86
+ }); err != nil {
84
87
e .ctrls .MustValue (ctx ).RequeueErr (err )
85
88
return
86
89
}
0 commit comments