* feat: support background propagation policy
Currently, Argo CD only supports foreground propagation policy ie. delete all the resources in the foreground and then delete the application in the end. This PR introduces a new flag `propagation-policy` to decide the type of policy when cascading is enabled. It also adds an annotation `propagation-policy.argocd.argoproj.io`, which is used by the application controller to decide the order of deletion.
Fixes: #5216
Signed-off-by: Chetan Banavikalmutt <chetanrns1997@gmail.com>
* fix lint and doc errors
Signed-off-by: Chetan Banavikalmutt <chetanrns1997@gmail.com>
* update logs to display the application name
Signed-off-by: Chetan Banavikalmutt <chetanrns1997@gmail.com>
* address review comments
* remove application name from logs since it's already present
* update the propagation policy annotation key
Signed-off-by: Chetan Banavikalmutt <chetanrns1997@gmail.com>
* Add radio buttons in the UI to select propagation policy
Signed-off-by: Chetan Banavikalmutt <chetanrns1997@gmail.com>
* inject finalizers instead of annotations for specifying propagation policy
Signed-off-by: Chetan Banavikalmutt <chetanrns1997@gmail.com>
* rebase branch on master
Signed-off-by: Chetan Banavikalmutt <chetanrns1997@gmail.com>
* update the controller to set the policy only for application's resources
Signed-off-by: Chetan Banavikalmutt <chetanrns1997@gmail.com>
* fix the label of policy radio button
Signed-off-by: Chetan Banavikalmutt <chetanrns1997@gmail.com>
* fix: controller should load application related nodes from target cluster
Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
* fix: make sure node capasity and pod requests are in same unit, improve unit formatting
Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
* fix: application hosts should include info about resources requested by app neighbors
Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
* apply reviewer notes
Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
An application can be created by specifying only cluster name. Since cluster URL is used for queries, it should inferred. ValidateDestination() method will infer the cluster URL if cluster name is present.
Fixes: #4534
* 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: delete in reverse order of sync waves
Signed-off-by: darshanime <deathbullet@gmail.com>
* feat: add tests for deletion in order
Signed-off-by: darshanime <deathbullet@gmail.com>
* feat: fix lint for appcontroller.go
Signed-off-by: darshanime <deathbullet@gmail.com>
* feat: add comment to explain early return
Signed-off-by: darshanime <deathbullet@gmail.com>
* Include sub and and iat in PermissionDenied message
* iat fromat changing
* Adding MapClaims convertion
* Adding Orphaned exception list
* Adding group kind label
* Fixed lint errors
* Method rename
* fix: don't refresh if dry run
Signed-off-by: darshanime <deathbullet@gmail.com>
* fix: add e2e test for sync with dry-run
Signed-off-by: darshanime <deathbullet@gmail.com>
* fix: refresh only if not dryRun for sync command
Signed-off-by: darshanime <deathbullet@gmail.com>