argo-cd/pkg/diff/testdata/data.go

54 lines
1.3 KiB
Go
Raw Normal View History

feat: Add server-side apply manager config (#418) * feat: Add server-side apply manager config Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com> * Force conflicts when SSA Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com> * Implement strategic-merge patch in diff Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com> * Implement structured merge diff Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com> * Implement structured merge in diff Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com> * Fix parseable type conversion Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com> * Handle structured merge diff for create/delete operations Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com> * User NormalizeUnionsApply instead of Merge for structured-merge diff Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com> * NormalizeUnions Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com> * merge first than normalize union Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com> * calculate diff with fieldsets Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com> * extract managed fields Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com> * remove managed fields then merge Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com> * Just remove fields if manager is found Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com> * remove config fieldset instead of using managed fields Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com> * Structure merge diff with defaults Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com> * tests Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com> * Normalize union at the end Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com> * test Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com> * test Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com> * Remove fields after merging Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com> * test Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com> * test Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com> * apply defaults when building diff result Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com> * fix default func call Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com> * Fix diff default Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com> * fix merged object Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com> * keep diff order Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com> * apply default with patch Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com> * handle ssa diffs with resource annotations Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com> * use managed fields to calculate diff Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com> * Implement unit tests Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com> * fix bad merge Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com> * add test to validate service with multiple ports Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com> * resolveFromStaticParser optimization Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com> * try without reordering while patching default values Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>
2022-08-02 18:48:09 +00:00
package testdata
import _ "embed"
var (
//go:embed smd-service-config.yaml
ServiceConfigYAML string
//go:embed smd-service-live.yaml
ServiceLiveYAML string
//go:embed smd-service-config-2-ports.yaml
ServiceConfigWith2Ports string
//go:embed smd-service-live-with-type.yaml
LiveServiceWithTypeYAML string
//go:embed smd-service-config-ports.yaml
ServiceConfigWithSamePortsYAML string
//go:embed smd-deploy-live.yaml
DeploymentLiveYAML string
//go:embed smd-deploy-config.yaml
DeploymentConfigYAML string
fix: Server side diff now works correctly with fields removal (#640) * fix: Server side diff now works correctly with some fields removal Helps with https://github.com/argoproj/argo-cd/issues/20792 Removed and modified sets may only contain the fields that changed, not including key fields like "name". This can cause merge to fail, since it expects those fields to be present if they are present in the predicted live. Fortunately, we can inspect the set and derive the key fields necessary. Then they can be added to the set and used during a merge. Also, have a new test which fails before the fix, but passes now. Failure of the new test before the fix ``` Error: Received unexpected error: error removing non config mutations for resource Deployment/nginx-deployment: error reverting webhook removed fields in predicted live resource: .spec.template.spec.containers: element 0: associative list with keys has an element that omits key field "name" (and doesn't have default value) Test: TestServerSideDiff/will_test_removing_some_field_with_undoing_changes_done_by_webhook ``` Signed-off-by: Andrii Korotkov <andrii.korotkov@verkada.com> * Use new version of structured merge diff with a new option Signed-off-by: Andrii Korotkov <andrii.korotkov@verkada.com> * Add DCO Signed-off-by: Andrii Korotkov <andrii.korotkov@verkada.com> * Try to fix sonar exclusions config Signed-off-by: Andrii Korotkov <andrii.korotkov@verkada.com> --------- Signed-off-by: Andrii Korotkov <andrii.korotkov@verkada.com>
2024-12-11 20:28:47 +00:00
//go:embed smd-deploy2-live.yaml
Deployment2LiveYAML string
//go:embed smd-deploy2-config.yaml
Deployment2ConfigYAML string
//go:embed smd-deploy2-predicted-live.json
Deployment2PredictedLiveJSONSSD string
// OpenAPIV2Doc is a binary representation of the openapi
// document available in a given k8s instance. To update
// this file the following commands can be executed:
// kubectl proxy --port=7777 &
// curl -s -H Accept:application/com.github.proto-openapi.spec.v2@v1.0+protobuf http://localhost:7777/openapi/v2 > openapiv2.bin
//
//go:embed openapiv2.bin
OpenAPIV2Doc []byte
feat: Implement Server-Side Diffs (#522) * feat: Implement Server-Side Diffs Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com> * trigger build Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com> * chore: remove unused function Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com> * make HasAnnotationOption more generic Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com> * add server-side-diff printer option Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com> * remove managedFields during server-side-diff Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com> * add ignore mutation webhook logic Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com> * fix configSet Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com> * Fix comparison Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com> * merge typedconfig in typedpredictedlive Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com> * handle webhook diff conflicts Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com> * Fix webhook normalization logic Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com> * address review comments 1/2 Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com> * address review comments 2/2 Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com> * fix lint Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com> * remove kubectl getter from cluster-cache Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com> * fix query param verifier instantiation Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com> * Add server-side-diff unit tests Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com> --------- Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com> Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com> Co-authored-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2023-12-18 19:45:13 +00:00
//go:embed ssd-service-config.yaml
ServiceConfigYAMLSSD string
//go:embed ssd-service-live.yaml
ServiceLiveYAMLSSD string
//go:embed ssd-service-predicted-live.json
ServicePredictedLiveJSONSSD string
feat: Add server-side apply manager config (#418) * feat: Add server-side apply manager config Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com> * Force conflicts when SSA Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com> * Implement strategic-merge patch in diff Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com> * Implement structured merge diff Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com> * Implement structured merge in diff Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com> * Fix parseable type conversion Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com> * Handle structured merge diff for create/delete operations Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com> * User NormalizeUnionsApply instead of Merge for structured-merge diff Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com> * NormalizeUnions Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com> * merge first than normalize union Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com> * calculate diff with fieldsets Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com> * extract managed fields Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com> * remove managed fields then merge Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com> * Just remove fields if manager is found Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com> * remove config fieldset instead of using managed fields Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com> * Structure merge diff with defaults Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com> * tests Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com> * Normalize union at the end Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com> * test Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com> * test Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com> * Remove fields after merging Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com> * test Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com> * test Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com> * apply defaults when building diff result Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com> * fix default func call Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com> * Fix diff default Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com> * fix merged object Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com> * keep diff order Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com> * apply default with patch Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com> * handle ssa diffs with resource annotations Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com> * use managed fields to calculate diff Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com> * Implement unit tests Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com> * fix bad merge Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com> * add test to validate service with multiple ports Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com> * resolveFromStaticParser optimization Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com> * try without reordering while patching default values Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>
2022-08-02 18:48:09 +00:00
)