Skip to content

Latest commit

 

History

History
56 lines (44 loc) · 2.53 KB

CONTRIBUTING.md

File metadata and controls

56 lines (44 loc) · 2.53 KB

Requirements

Make sure you have following tools installed docker, golang, dep, protobuf, ksonnet, go-swagger, and jq kubectl.

$ brew tap go-swagger/go-swagger
$ brew install go dep protobuf kubectl ksonnet/tap/ks jq go-swagger
$ go get -u github.com/golang/protobuf/protoc-gen-go
$ go get -u github.com/go-swagger/go-swagger/cmd/swagger
$ go get -u github.com/grpc-ecosystem/grpc-gateway/protoc-gen-grpc-gateway
$ go get -u github.com/grpc-ecosystem/grpc-gateway/protoc-gen-swagger

Nice to have gometalinter and goreman:

$ go get -u gopkg.in/alecthomas/gometalinter.v2 github.com/mattn/goreman && gometalinter.v2 --install

Building

$ go get -u github.com/argoproj/argo-cd
$ dep ensure
$ make

NOTE: The make command can take a while, and we recommend building the specific component you are working on

  • make cli - Make the argocd CLI tool
  • make server - Make the API/repo/controller server
  • make codegen - Builds protobuf and swagger files
  • make argocd-util - Make the administrator's utility, used for certain tasks such as import/export

Running locally

You need to have access to kubernetes cluster (including minikube or docker edge ) in order to run Argo CD on your laptop:

  • install kubectl: brew install kubectl
  • make sure kubectl is connected to your cluster (e.g. kubectl get pods should work).
  • install application CRD using following command:
$ kubectl create -f install/manifests/01_application-crd.yaml
  • start Argo CD services using goreman:
$ goreman start

Troubleshooting

  • Ensure argocd is installed: ./dist/argocd install
  • Ensure you're logged in: ./dist/argocd login --username admin --password localhost:8080
  • Ensure that roles are configured: kubectl create -f install/manifests/02c_argocd-rbac-cm.yaml
  • Ensure minikube is running: minikube stop && minikube start
  • Ensure Argo CD is aware of minikube: ./dist/argocd cluster add minikube