do not filter out compositionRevisionRef is updatePolicy is Manual

Signed-off-by: Miguel Ángel Ducanto Hadad <dukanto@gmail.com>
This commit is contained in:
Miguel Ángel Ducanto Hadad 2023-07-26 17:23:38 +02:00
parent 4db45cdc17
commit 2638840af5
No known key found for this signature in database
GPG Key ID: 3DF413470E0C6B40
2 changed files with 6 additions and 2 deletions

View File

@ -121,9 +121,10 @@ func (c *APIDryRunCompositeConfigurator) Configure(ctx context.Context, cm resou
// CompositionRevision is a special field which needs to be propagated
// based on the Update policy. If the policy is `Manual`, we need to
// overwrite the composite's value with the claim's
// remove CompositionRevisionRef from wellKnownClaimFields, so it
// does not get filtered out and is set correctly in composite
if cp.GetCompositionUpdatePolicy() != nil && *cp.GetCompositionUpdatePolicy() == xpv1.UpdateManual {
cp.SetCompositionRevisionReference(cm.GetCompositionRevisionReference())
delete(wellKnownClaimFields, xcrd.CompositionRevisionRef)
}
claimSpecFilter := xcrd.GetPropFields(wellKnownClaimFields)

View File

@ -25,6 +25,9 @@ const (
LabelKeyClaimNamespace = "crossplane.io/claim-namespace"
)
// CompositionRevisionRef should be propagated dynamically
var CompositionRevisionRef = "compositionRevisionRef"
// PropagateSpecProps is the list of XRC spec properties to propagate
// when translating an XRC into an XR and vice-versa.
var PropagateSpecProps = []string{"compositionRef", "compositionSelector", "compositionUpdatePolicy", "compositionRevisionSelector"}