mirror of
https://github.com/argoproj/argo-cd
synced 2026-04-21 17:07:16 +00:00
* Generate swagger files * Add basic Swagger definitions * Add reposerver swagger file * Consolidate swagger files * Move swagger files to swagger-ui directory instead * Put swagger files in swagger-ui * Fix order of operations * Move back to swagger directory * Serve API server swagger files raw for now * Serve reposerver swagger files from API server * Move back to subdirectories, thanks @alexmt * Fix comment on application Rollback * Update two more comments * Fix comment in session.proto * Update generated code * Update generated swagger docs * Fix comment for delete actions in cluster and repository swagger * Set expected collisions and invoke mixins * Update generated code * Create swagger mixins from codegen * Move swagger.json location, thanks @jazminGonzalez-Rivero * Add ref cleanup for swagger combined * Make fewer temp files when generating swagger * Delete intermediate swagger files * Serve new file at /swagger.json * Set up UI server * Update package lock * Commit generated swagger.json files * Add install commands for swagger * Use ReDoc server instead of Swagger UI server * Update lockfile * Make URL paths more consistent * Update package lock * Separate out handlers for Swagger UI, JSON * Rm unnecessary CORS headers ...since we're serving from the app server * Simplify serving * Further simplify serving code * Update package lock * Factor out swagger serving into util * Add test for Swagger server * Use ServeSwaggerUI method to run tests * Update package lock * Don't generate swagger for reposerver * Reset to master Gopkg.lock and server/server.go * Merge in prev change to server/server.go * Redo changes to Gopkg.lock * Fix number of conflicts * Update generated swagger.json for server * Fix issue with project feature error
2.5 KiB
2.5 KiB
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 toolmake server- Make the API/repo/controller servermake codegen- Builds protobuf and swagger filesmake 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
kubectlis connected to your cluster (e.g.kubectl get podsshould 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