Skip to content

Commit

Permalink
normalize fields added by K8s that will cause a perpetual diff (#259)
Browse files Browse the repository at this point in the history
  • Loading branch information
SparkYuan committed Mar 2, 2023
1 parent 7ede4e1 commit ff2f377
Showing 1 changed file with 13 additions and 7 deletions.
20 changes: 13 additions & 7 deletions pkg/engine/runtime/kubernetes/kubernetes_runtime.go
Original file line number Diff line number Diff line change
Expand Up @@ -234,13 +234,7 @@ func (k *KubernetesRuntime) Import(ctx context.Context, request *runtime.ImportR
}
}
}

const metadata = "metadata"
unstructured.RemoveNestedField(ur.Object, "status")
unstructured.RemoveNestedField(ur.Object, metadata, "resourceVersion")
unstructured.RemoveNestedField(ur.Object, metadata, "creationTimestamp")
unstructured.RemoveNestedField(ur.Object, metadata, "selfLink")
unstructured.RemoveNestedField(ur.Object, metadata, "uid")
normalizeServerSideFields(ur)
}
response.Resource.Attributes = ur.Object
return &runtime.ImportResponse{
Expand All @@ -249,6 +243,18 @@ func (k *KubernetesRuntime) Import(ctx context.Context, request *runtime.ImportR
}
}

// normalize fields added by K8s that will cause a perpetual diff
func normalizeServerSideFields(ur *unstructured.Unstructured) {
const metadata = "metadata"
unstructured.RemoveNestedField(ur.Object, "status")
unstructured.RemoveNestedField(ur.Object, metadata, "resourceVersion")
unstructured.RemoveNestedField(ur.Object, metadata, "creationTimestamp")
unstructured.RemoveNestedField(ur.Object, metadata, "selfLink")
unstructured.RemoveNestedField(ur.Object, metadata, "uid")
unstructured.RemoveNestedField(ur.Object, metadata, "generation")
unstructured.RemoveNestedField(ur.Object, metadata, "managedFields")
}

func normalizeService(ur *unstructured.Unstructured) error {
target := &corev1.Service{}
if err := k8sruntime.DefaultUnstructuredConverter.FromUnstructured(ur.Object, target); err != nil {
Expand Down

0 comments on commit ff2f377

Please sign in to comment.