Argo CD
Argo CD
by Intuit

Version 1.2.5

KUBERNETESDEVELOPER TOOLS

Description

Argo CD is a GitOps continuous delivery tool for Kubernetes. It extends the benefits of declarative specifications and Git-based configuration management to accelerate deployment and lifecycle management of applications without compromising security and compliance.

How it works

Argo CD follows the GitOps pattern of using Git repositories as the source of truth for defining desired application states. Kubernetes manifests can be specified in several ways: 

  • kustomize applications 
  • Helm charts 
  • ksonnet applications 
  • jsonnet files 
  • Plain directory of YAML/json manifests 
  • Any custom config management tool configured as a config management plugin

Argo CD then automates the deployment of the desired application states in the specified target environments. Application deployments can track updates to branches, tags, or be pinned to a specific version of manifests at a Git commit.

Software Included

Getting started after deploying Argo CD

After you have downloaded your kube config file, and are able to successfully connect to your Kubernetes cluster (see https://cloud.digitalocean.com/kubernetes/clusters/ if you haven’t connected to your cluster) follow the instructions below to start using Argo CD.

Argo CD CLI

Download and install the latest Argo CD version from https://github.com/argoproj/argo-cd/releases/latest.

Also available in Mac Homebrew; this can be installed with the following commands:

brew tap argoproj/tap

followed by

brew install argoproj/tap/argocd

Login using the Argo CD CLI

Login as the admin user. The initial password is autogenerated to be the pod name of the Argo CD API server. This can be retrieved with the command:

kubectl get pods --all-namespaces

You'll see output similar to the following:

NAMESPACE             NAME                                           READY   STATUS    RESTARTS   AGE
argocd                argocd-application-controller-df7d7867-nfsdw   1/1     Running   0          6m2s
argocd                argocd-dex-server-c54bcbcb4-rztdb              1/1     Running   0          6m2s
argocd                argocd-redis-78c9595d44-8cdkr                  1/1     Running   0          6m2s
argocd                argocd-repo-server-759bbb5f59-lz5lx            1/1     Running   0          6m2s
argocd                argocd-server-754cd4956f-wz48w                 1/1     Running   0          6m2s
kube-system           cilium-7zmcm                                   1/1     Running   0          4h10m
kube-system           cilium-kbx9c                                   1/1     Running   0          4h9m
...etc

The argocd-server-xxxxxxxxxx-xxxxx is the initial password. Using the initial password, login to Argo CD's LoadBalancer IP or hostname:

argocd login <ARGOCD_CLUSTER>

Change the password using the command:

argocd account update-password

Login using the web UI

Visit your Argo CD 1-Click App web UI on the LoadBalancer IP or hostname. Login using the same credentials as above.

Using Argo CD

You're now ready to define your applications, configurations, and environments. Get started via the Argo CD documentation here: https://argoproj.github.io/argo-cd/

API Creation

In addition to creating Argo CD via the control panel, you can also use the DigitalOcean API.

As an example, to create a 3 node DigitalOcean Kubernetes cluster made up of Basic Droplets in the SFO2 region, you can use the following curl command. You’ll need to either save your API access token to an environment variable or substitute it into the command below.


  curl -X POST -H "Content-Type: application/json" \
      -H "Authorization: Bearer '$TOKEN'" -d \
      '{"name": "choose-a-name","region": "sfo2","version": "1.17.5-do.0","node_pools": [{"size": "s-1vcpu-2gb","count": 3,"name": "choose-a-name"}]}' \
      "https://api.digitalocean.com/v2/kubernetes/clusters"
      

Support Details

Supported By:IntuitIntuit
Support URL:https://argoproj.github.io/community/join-slack

More DigitalOcean Links

DigitalOcean Community

Developers supporting developers

Ask a Question

Ask anything related to system administration, programming, devops, open source, or the DigitalOcean platform.

List your 1-Click App in the DigitalOcean Marketplace

Partner with us to build traction for your open source project or software company