* feat: prune last
fixes: #5080.
If sync option has PruneLast=true, or individual resource has annotation argocd.argoproj.io/sync-options: PruneLast=true, these prune tasks get assigned with a new sync wave.
the new sync wave is the last sync wave of non-prune tasks which is in sync phase + 1, so that these resources will be pruned after all sync phase resources are synced and healthy.
Signed-off-by: May Zhang <may_zhang@intuit.com>
* fix: go mod tidy
Signed-off-by: May Zhang <may_zhang@intuit.com>
* feat: global project
* feat: revert back argocd-cm.yaml
* feat: remove commented code.
* feat: check err
* feat: corrected comments.
* feat: merge sync windows
* feat: getProject
* feat: fix lint error
* feat: update existing test case
* feat: minor comments
* feat: Fixed for sync window which is also called from API server.
* feat: fix application tests
* feat: block by sync window
* feat: test using sync window
* feat: updated based on code review
* feat: fixed comment
* feat: add time taken to complete deployment
Signed-off-by: darshanime <deathbullet@gmail.com>
* feat: add test for adding deploy started at time
Signed-off-by: darshanime <deathbullet@gmail.com>
* feat: use hourglass for time to deploy
Signed-off-by: darshanime <deathbullet@gmail.com>
* feat: add comments to RevisionHistory fields
Signed-off-by: darshanime <deathbullet@gmail.com>
* support partial sync with namespace.
* corrected test folder name
* Trying to fix lint error
* 1. in test, delete ns after test
2. in test, created new methods for ResourceSyncStatusWithNamespaceIs and ResourceHealthWithNamespaceIs.
* reformat imports
* simplify code
* remove timeout
* Move utils packages that are required for gitops engine under engine/pkg/utils package.
Following changes were implemented:
* util/health package is split into two parts: resource health assessement & resource health assessement and moved into engine/pkg/utils
* utils packages moved: Closer and Close method of util package moved into engine/pkg/utils/io package
* packages diff, errors, exec, json, kube and tracing moved into engine/pkg/utils
* Move single cluster caching into engine/kube/cache package
* move sync functionality to engine/kube/sync package
* remove dependency on metrics package from engine/pkg/utils/kube/cache
* move annotation label definitions into engine/pkg/utils/kube/sync
* make sure engine/pkg has no dependencies on other argo-cd packages
* allow importing engine as a go module
* implement a high-level interface that might be consumed by flux
* fix deadlock caused by cluster cache event handler
* ClusterCache should return error if requested group kind not found
* remove obsolete tests
* apply reviewer notes
* Deprecate componentParameterOverrides in favor of source specific config
* Support rollback when application source changes
* Removes the legacy spec.source.environment and spec.source.valuesFiles which were deprecated in v0.11
* Fix issue where argocd app create APPNAME --file didn't fail when there were name conflicts
* Fix issue where auto-sync and app deletion would cause infighting