github.com/argoproj/argo-cd/v3@v3.2.1/docs/operator-manual/core.md (about) 1 # Argo CD Core 2 3 ## Introduction 4 5 Argo CD Core is a different installation that runs Argo CD in headless 6 mode. With this installation, you will have a fully functional GitOps 7 engine capable of getting the desired state from Git repositories and 8 applying it in Kubernetes. 9 10 The following groups of features won't be available in this 11 installation: 12 13 - Argo CD RBAC model 14 - Argo CD API 15 - Argo CD Notification Controller 16 - OIDC based authentication 17 18 The following features will be partially available (see the 19 [usage](#using) section below for more details): 20 21 - Argo CD Web UI 22 - Argo CD CLI 23 - Multi-tenancy (strictly GitOps based on git push permissions) 24 25 A few use-cases that justify running Argo CD Core are: 26 27 - As a cluster admin, I want to rely on Kubernetes RBAC only. 28 - As a devops engineer, I don't want to learn a new API or depend on 29 another CLI to automate my deployments. I want to rely on the 30 Kubernetes API only. 31 - As a cluster admin, I don't want to provide Argo CD UI or Argo CD 32 CLI to developers. 33 34 ## Architecture 35 36 Because Argo CD is designed with a component based architecture in 37 mind, it is possible to have a more minimalist installation. In this 38 case fewer components are installed and yet the main GitOps 39 functionality remains operational. 40 41 In the diagram below, the Core box, shows the components that will be 42 installed while opting for Argo CD Core: 43 44  45 46 Note that even if the Argo CD controller can run without Redis, it 47 isn't recommended. The Argo CD controller uses Redis as an important 48 caching mechanism reducing the load on Kube API and in Git. For this 49 reason, Redis is also included in this installation method. 50 51 ## Installing 52 53 Argo CD Core can be installed by applying a single manifest file that 54 contains all the required resources. 55 56 Example: 57 58 ``` 59 export ARGOCD_VERSION=<desired argo cd release version (e.g. v2.7.0)> 60 kubectl create namespace argocd 61 kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/$ARGOCD_VERSION/manifests/core-install.yaml 62 ``` 63 64 ## Using 65 66 Once Argo CD Core is installed, users will be able to interact with it 67 by relying on GitOps. The available Kubernetes resources will be the 68 `Application` and the `ApplicationSet` CRDs. By using those resources, 69 users will be able to deploy and manage applications in Kubernetes. 70 71 It is still possible to use Argo CD CLI even when running Argo CD 72 Core. In this case, the CLI will spawn a local API server process that 73 will be used to handle the CLI command. Once the command is concluded, 74 the local API Server process will also be terminated. This happens 75 transparently for the user with no additional command required. Note 76 that Argo CD Core will rely only on Kubernetes RBAC and the user (or 77 the process) invoking the CLI needs to have access to the Argo CD 78 namespace with the proper permission in the `Application` and 79 `ApplicationSet` resources for executing a given command. 80 81 To use [Argo CD CLI](https://argo-cd.readthedocs.io/en/stable/cli_installation) in core mode, it is required to pass the `--core` 82 flag with the `login` subcommand. The `--core` flag is responsible for spawning a local Argo CD API server 83 process that handles CLI and Web UI requests. 84 85 Example: 86 87 ```bash 88 kubectl config set-context --current --namespace=argocd # change current kube context to argocd namespace 89 argocd login --core 90 ``` 91 92 Similarly, users can also run the Web UI locally if they prefer to 93 interact with Argo CD using this method. The Web UI can be started 94 locally by running the following command: 95 96 ``` 97 argocd admin dashboard -n argocd 98 ``` 99 100 Argo CD Web UI will be available at `http://localhost:8080`