-
Notifications
You must be signed in to change notification settings - Fork 5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: Headless Argo CD (aka GitOps Agent) #6361
Conversation
a1ca270
to
09be7ae
Compare
Codecov Report
@@ Coverage Diff @@
## master #6361 +/- ##
==========================================
- Coverage 41.00% 40.90% -0.11%
==========================================
Files 156 157 +1
Lines 20872 20921 +49
==========================================
- Hits 8558 8557 -1
- Misses 11101 11151 +50
Partials 1213 1213
Continue to review full report at Codecov.
|
35c774c
to
37f45c2
Compare
2c85bc4
to
1f15182
Compare
2904b39
to
bc61f6e
Compare
cmd/argocd/commands/login.go
Outdated
@@ -45,16 +45,26 @@ func NewLoginCommand(globalClientOpts *argocdclient.ClientOptions) *cobra.Comman | |||
Use: "login SERVER", | |||
Short: "Log in to Argo CD", | |||
Long: "Log in to Argo CD", | |||
Example: `# Login to Argo CD using a username and password | |||
argo login cd.argoproj.io |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should this be argocd login
instead of argo login
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
good catch. Thank you! fixed
Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
} | ||
|
||
if len(pods.Items) > 0 { | ||
pod = &pods.Items[0] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we want to break out of this for loop once we found a pod?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
thank you! fixed
Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
The documentation shows the use of /shared/app folder for custom styles, which is being defined with the staticassets flag. If this is not the correct approach what are the alternatives for custom-styling? https://argoproj.github.io/argo-cd/operator-manual/custom-styles/ |
Signed-off-by: Alexander Matyushentsev AMatyushentsev@gmail.com
Summary
PR makes it possible to use
argocd
CLI commands in a headless mode with Kubectl access only and without Argo CD API server using--headless
flag. So it is possible to runargocd app list --headless
without logging to Argo CD assuming that current kubecontext points argocd namespace.The second commit of the PR adds
argocd admin dashboard
command that starts Argo CD UI locally.Why?
This change enables two use cases.
Argo CD admins have full access to Argo CD settings either way but still have to set up an admin account to manage settings. Instead, we can suggest using
argocd --headess
CLI to manage all Argo CD settings using only Kubectl access.Argo CD provides awesome features like SSO, RBAC for multi-tenant environments. At the same time, some users who don't need multi-tenancy view these features as a disadvantage and consider Argo CD too heavyweight. That is not correct because of Argo CD UI/API/SSO part is totally optional. Using the
argocd --headless
flag we can offer Headless Argo CD that consists only of the backend (controller + repo-server).Long story short: