Skip to content

Commit

Permalink
Merge pull request #186 from lsviben/conversion-missing-to-field-path
Browse files Browse the repository at this point in the history
fix missing ToFieldPath in conversion
  • Loading branch information
phisco authored Jan 29, 2024
2 parents 389f48b + e591f32 commit b58bfdf
Show file tree
Hide file tree
Showing 3 changed files with 39 additions and 0 deletions.
2 changes: 2 additions & 0 deletions apis/object/v1alpha1/conversion.go
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,7 @@ func (src *Object) ConvertTo(dstRaw conversion.Hub) error { // nolint:golint //
FieldPath: r.PatchesFrom.FieldPath,
}
}
ref.ToFieldPath = r.ToFieldPath
references = append(references, ref)
}

Expand Down Expand Up @@ -148,6 +149,7 @@ func (dst *Object) ConvertFrom(srcRaw conversion.Hub) error { // nolint:golint,
FieldPath: r.PatchesFrom.FieldPath,
}
}
ref.ToFieldPath = r.ToFieldPath
references = append(references, ref)
}

Expand Down
4 changes: 4 additions & 0 deletions apis/object/v1alpha1/conversion_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,7 @@ func TestConvertTo(t *testing.T) {
},
FieldPath: pointer.String("data.password"),
},
ToFieldPath: pointer.String("data"),
},
},
Readiness: v1alpha1.Readiness{Policy: v1alpha1.ReadinessPolicySuccessfulCreate},
Expand Down Expand Up @@ -133,6 +134,7 @@ func TestConvertTo(t *testing.T) {
},
FieldPath: pointer.String("data.password"),
},
ToFieldPath: pointer.String("data"),
},
},
Readiness: v1alpha2.Readiness{Policy: v1alpha2.ReadinessPolicySuccessfulCreate},
Expand Down Expand Up @@ -333,6 +335,7 @@ func TestConvertFrom(t *testing.T) {
},
FieldPath: pointer.String("data.password"),
},
ToFieldPath: pointer.String("data"),
},
},
Readiness: v1alpha2.Readiness{Policy: v1alpha2.ReadinessPolicySuccessfulCreate},
Expand Down Expand Up @@ -378,6 +381,7 @@ func TestConvertFrom(t *testing.T) {
},
FieldPath: pointer.String("data.password"),
},
ToFieldPath: pointer.String("data"),
},
},
Readiness: v1alpha1.Readiness{Policy: v1alpha1.ReadinessPolicySuccessfulCreate},
Expand Down
33 changes: 33 additions & 0 deletions examples/object/deprecated/patches-from-resource.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
---
apiVersion: kubernetes.crossplane.io/v1alpha1
kind: Object
metadata:
name: foo
spec:
references:
# Use patchesFrom to patch field from other k8s resource to this object
- patchesFrom:
apiVersion: v1
kind: ConfigMap
name: bar
namespace: default
fieldPath: data.sample-key
toFieldPath: data.sample-key-from-bar
forProvider:
manifest:
apiVersion: v1
kind: ConfigMap
metadata:
namespace: default
data:
sample-key: sample-value
providerConfigRef:
name: kubernetes-provider
---
apiVersion: v1
kind: ConfigMap
metadata:
name: bar
namespace: default
data:
sample-key: sample-value

0 comments on commit b58bfdf

Please sign in to comment.