ArgoCD
Foundation
ArgoCD is installed for both Kubernetes cluster admin deployments of global services and components and for individual developers to use for app development. The ArgoCD applications defined by the admin in the default
project follow the “app of apps” pattern by creating a parent root
app that includes separately defined apps in a hierarchical way.
Following this documentation, GitHub/GitLab has been added as an identity provider for authentication to the ArgoCD service.
App development
Members of select GitHub/GitLab organizations/groups can use the “Log in via GitHub/GitLab” button. They have shared access to the ArgoCD application project associated with that org/group, allowing them to create applications from independent git repositories. The application definitions must:
Reside in a namespace with the prefix of the project
my-project-*
(e.g.my-project-my-app
)Reference a git repository specially allowed by the ArgoCD application project configuration.
Command line access
To use the local ArgoCD CLI, use the more complex login command, which will open a browser window to complete the GitHub/GitLab authentication:
$ argocd login lsst-sandbox.ncsa.illinois.edu --grpc-web-root-path /argo-cd --sso
Opening browser for authentication
Performing authorization_code flow login: https://lsst-sandbox.ncsa.illinois.edu/argo-cd/api/dex/auth?access_type=offline&client_id=argo-cd-cli&code_challenge=_WcC...xU&code_challenge_method=S256&redirect_uri=http%3A%2F%2Flocalhost%3A8085%2Fauth%2Fcallback&response_type=code&scope=openid+profile+email+groups+offline_access&state=XFlqXMCGVO
Authentication successful
'manninga@illinois.edu' logged in successfully
Context 'lsst-sandbox.ncsa.illinois.edu:443/argo-cd' updated