Provisioing: Update provisioned folder with a manager identity (#110988)

This commit is contained in:
Ryan McKinley
2025-09-12 10:50:10 +03:00
committed by GitHub
parent 0b9e0ef4dc
commit 1944d2dd0e
12 changed files with 123 additions and 67 deletions
+12 -4
View File
@@ -97,6 +97,10 @@ func (ss *FolderUnifiedStoreImpl) Update(ctx context.Context, cmd folder.UpdateF
return nil, err
}
updated := obj.DeepCopy()
meta, err := utils.MetaAccessor(updated)
if err != nil {
return nil, err
}
if cmd.NewTitle != nil {
err = unstructured.SetNestedField(updated.Object, *cmd.NewTitle, "spec", "title")
@@ -111,10 +115,6 @@ func (ss *FolderUnifiedStoreImpl) Update(ctx context.Context, cmd folder.UpdateF
}
}
if cmd.NewParentUID != nil {
meta, err := utils.MetaAccessor(updated)
if err != nil {
return nil, err
}
meta.SetFolder(*cmd.NewParentUID)
} else {
// only compare versions if not moving the folder
@@ -123,6 +123,14 @@ func (ss *FolderUnifiedStoreImpl) Update(ctx context.Context, cmd folder.UpdateF
}
}
// nolint:staticcheck
if cmd.ManagerKindClassicFP != "" {
meta.SetManagerProperties(utils.ManagerProperties{
Kind: utils.ManagerKindClassicFP,
Identity: cmd.ManagerKindClassicFP,
})
}
out, err := ss.k8sclient.Update(ctx, updated, cmd.OrgID, v1.UpdateOptions{
FieldValidation: v1.FieldValidationIgnore,
})