client-go
client-go copied to clipboard
Dynamic client apply full deploymentObject to update got out of order environment variables
version
k8s.io/client-go v0.27.4 apiserver:v1.20.4
code segment
if namespaced {
dyObj, err = cli.Dynamic.Resource(gvr).Namespace(dyObj.GetNamespace()).Apply(ctx, dyObj.GetName(), dyObj, metav1.ApplyOptions{FieldManager: knightmeta.AppName, Force: true, DryRun: cli.DryRun(dryRun)})
//_, err = cli.Dynamic.Resource(gvr).Namespace(dyObj.GetNamespace()).Patch(ctx, dyObj.GetName(), types.ApplyPatchType, manifest, metav1.PatchOptions{FieldManager: knightmeta.AppName, Force: &forceApply, DryRun: cli.DryRun(dryRun)})
} else {
//_, err = cli.Dynamic.Resource(gvr).Patch(ctx, dyObj.GetName(), types.ApplyPatchType, manifest, metav1.PatchOptions{FieldManager: knightmeta.AppName, Force: &forceApply, DryRun: cli.DryRun(dryRun)})
dyObj, err = cli.Dynamic.Resource(gvr).Apply(ctx, dyObj.GetName(), dyObj, metav1.ApplyOptions{FieldManager: knightmeta.AppName, Force: true, DryRun: cli.DryRun(dryRun)})
}
description
I found the result deployment object's env slice is in stable order but totally out of order compared to where older obj or expected dyObj