feat: Implement ArgoCD as a Deployment Tool
Introduce ArgoCD as a supported deployment tool alongside Kubectl and Flux. Update the deployment tool enumeration and related logic to handle ArgoCD appropriately. Adjust the bootstrap and update command handlers to accommodate the new deployment option.
Fixes #875
Blocked, due to ArgoCD not supporting OCI images as a Source for the Application CR. Making local development with GitOps great works the best if the source of truth is an OCI image repo. This is easy to setup, and push to, and it allows syncing changes to a cluster via the GitOps agent without any remote dependencies. The alternative is a local Git server, but it is a lot more code to support it well programatically.
I will revisit ArgoCD, when they have added OCI images as a source for the Application CR: https://github.com/argoproj/argo-cd/pull/18646.
If you really miss ArgoCD as a Deployment Tool in KSail, please comment or like this PR, or its linked issue. If there is a demand, I might reconsider implementing a solution with a local Git server to support ArgoCD in its current state.
https://blog.argoproj.io/announcing-argo-cd-v3-1-f4389bc783c8
I should be able to implement this with argcd-core now.
Reworking KSail as a Golang project. See https://github.com/devantler-tech/ksail/pull/1352.
ArgoCD will be added to that version, when it has been merged with feature parity. KSail as a .NET project will be abandoned. As a user you should just experience having to download a new version via Homebrew or other means, where the actual CLI will have a comparable UX.