From 41912c66761b1599f7e95d1cf0f52f856461a6d4 Mon Sep 17 00:00:00 2001 From: Noam Gal Date: Wed, 5 May 2021 17:55:22 +0300 Subject: [PATCH] Fix docs v.2 (#39) Co-authored-by: jesse-codefresh <78707504+jesse-codefresh@users.noreply.github.com> Co-authored-by: roi-codefresh <60569147+roi-codefresh@users.noreply.github.com> Co-authored-by: Itai Gendler --- README.md | 7 ++++-- docs/Blogs.md | 3 +++ docs/Development.md | 34 ++++++++++++------------- docs/Getting-Started.md | 10 ++++---- docs/Roadmap.md | 33 +++++++++++++++++++++++++ docs/assets/argo_autopilot.png | Bin 0 -> 17314 bytes docs/index.md | 44 +++++++++++++++++++-------------- mkdocs.yml | 5 ++++ 8 files changed, 93 insertions(+), 43 deletions(-) create mode 100644 docs/Blogs.md create mode 100644 docs/Roadmap.md create mode 100644 docs/assets/argo_autopilot.png diff --git a/README.md b/README.md index 7f99361f..77d3f0a7 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,9 @@ -# Argo-CD Autopilot -[![Codefresh build status]( https://g.codefresh.io/api/badges/pipeline/codefresh-inc/argocd-autopilot%2Frelease?type=cf-1)]( https://g.codefresh.io/public/accounts/codefresh-inc/pipelines/new/60881f8199c9564ef31aac61) [![codecov](https://codecov.io/gh/argoproj-labs/argocd-autopilot/branch/main/graph/badge.svg?token=IDyZNfRUfY)](https://codecov.io/gh/argoproj-labs/argocd-autopilot) [![Documentation Status](https://readthedocs.org/projects/argocd-autopilot/badge/?version=latest)](https://argocd-autopilot.readthedocs.io/en/latest/?badge=latest) +

Argo Logo

+[![Codefresh build status]( https://g.codefresh.io/api/badges/pipeline/codefresh-inc/argocd-autopilot%2Frelease?type=cf-1)]( https://g.codefresh.io/public/accounts/codefresh-inc/pipelines/new/60881f8199c9564ef31aac61) +[![codecov](https://codecov.io/gh/argoproj-labs/argocd-autopilot/branch/main/graph/badge.svg?token=IDyZNfRUfY)](https://codecov.io/gh/argoproj-labs/argocd-autopilot) +[![Documentation Status](https://readthedocs.org/projects/argocd-autopilot/badge/?version=latest)](https://argocd-autopilot.readthedocs.io/en/latest/?badge=latest) +[![slack](https://img.shields.io/badge/slack-argoproj-brightgreen.svg?logo=slack)](https://cloud-native.slack.com/archives/C0207C47D0X) ## Introduction diff --git a/docs/Blogs.md b/docs/Blogs.md new file mode 100644 index 00000000..0e2d8b00 --- /dev/null +++ b/docs/Blogs.md @@ -0,0 +1,3 @@ +# Blogs + +* [Argo CD Autopilot Introduction](https://codefresh.io/about-gitops/launching-argo-cd-autopilot-opinionated-way-manage-applications-across-environments-using-gitops-scale/) diff --git a/docs/Development.md b/docs/Development.md index c44097aa..9ce2a372 100644 --- a/docs/Development.md +++ b/docs/Development.md @@ -1,29 +1,29 @@ # Development This guide is meant for developers who want to contribute or debug `argocd-autopilot`. -### Adding a new feature: -1. Fork the repository. -2. Clone it and add the upstream remote with: `git remote add upstream https://github.com/argoproj-labs/argocd-autopilot.git`. -3. Run `make local` to build the project. -4. Add your feature, run `make pre-commit`, then commit. -5. Run `make pre-push`. -6. Push the changes to the remote branch and create a new PR: `git push --set-upstream upstream `. -7. If you need to get changes from the upstream repo, run: `git pull upstream main`. - -### Adding documentation: +### Adding a New Feature: +1. Fork the repository +2. Clone it and add the upstream remote with `git remote add upstream https://github.com/argoproj-labs/argocd-autopilot.git` +3. Run `make local` to build the project +4. Add your feature, run `make pre-commit`, then commit +5. Run `make pre-push` +6. Push the changes to the remote branch and create a new PR: `git push --set-upstream upstream ` +7. If you need to get changes from the upstream repo, run: `git pull upstream main` + +### Adding Documentation: 1. Fork the repository. 2. Clone it and add the upstream remote with: `git remote add upstream https://github.com/argoproj-labs/argocd-autopilot.git`. 3. Run `make serve-docs` to run a docker container that will server the docs on http://localhost:8000. 4. Edit existing docs in `/docs` directory or add new `X.md` files and add them to the `mkdocs.yml`. 5. When you're ready, push your changes to your fork and submit a PR. -### Releasing a new version: -1. Checkout to a release branch: `v0.X.X`. -2. Change the `VERSION` in the Makefile to match the new version. -3. Add what you need to `./docs/releases/release_notes.md`. -4. Create a new PR to the `main` branch. -5. After CI is green, add a `/release` comment to the PR to trigger the release pipeline (maintainers only). -6. After Release build is finished you can merge back to `main`. +### Releasing a New Version: +1. Checkout to a release branch: `v0.X.X` +2. Change the `VERSION` in the Makefile to match the new version +3. Add what you need to `./docs/releases/release_notes.md` +4. Create a new PR to the `main` branch +5. After CI is green, add a `/release` comment to the PR to trigger the release pipeline (maintainers only) +6. After Release build is finished you can merge back to `main` ### Using pre-commit: With pre-commit installed and properly set-up, both the pre-commit and pre-push hooks will run automatically. diff --git a/docs/Getting-Started.md b/docs/Getting-Started.md index 03671266..6b20a318 100644 --- a/docs/Getting-Started.md +++ b/docs/Getting-Started.md @@ -2,13 +2,13 @@ This guide assumes you are familiar with Argo CD and its basic concepts. See the [Argo CD documentation](https://argoproj.github.io/Argo CD/core_concepts/) for more information. -## Before you begin +## Before you Begin ### Requirements * Installed [kubectl](https://kubernetes.io/docs/tasks/tools/install-kubectl/) command-line tool * Have a [kubeconfig](https://kubernetes.io/docs/tasks/access-application-cluster/configure-access-multiple-clusters/) file (default location is `~/.kube/config`) -### Git authentication +### Git Authentication Make sure to have a [valid token](https://docs.github.com/en/github/authenticating-to-github/creating-a-personal-access-token) ![Github token](assets/github_token.png) ``` @@ -35,7 +35,7 @@ export GIT_INSTALLATION_PATH=some/relative/path All the following commands will use the variables you supplied in order to manage your GitOps repository. -## Set up the GitOps repository +## Set up the GitOps Repository ``` argocd-autopilot repo bootstrap ``` @@ -59,14 +59,14 @@ Execute the port forward command, and browse to http://localhost:8080. Log in us * root - References the `projects` directiry in the repo. The folder contains only an empty `DUMMY` file after the bootstrap command, so no projects will be created ## Add a Project and an Application -Execute the following commands to create a `testing` Project, and add a example Application to it: +Execute the following commands to create a `testing` project, and add a example application to it: ``` argocd-autopilot project create testing argocd-autopilot app create hello-world --app github.com/argoproj-labs/argocd-autopilot/examples/demo-app/ -p testing ``` * notice the trailing slash in the URL -After the application is created, and after Argo CD has finished its sync cycle, your new Project will appear under the *Root* application: +After the application is created, and after Argo CD has finished its sync cycle, your new project will appear under the *Root* application: ![Step 2](assets/getting_started_2.png) diff --git a/docs/Roadmap.md b/docs/Roadmap.md new file mode 100644 index 00000000..9fe00b21 --- /dev/null +++ b/docs/Roadmap.md @@ -0,0 +1,33 @@ +# Roadmap + +### Repo Upgrade and Uninstall +* Support a clear flow to [upgrade](https://github.com/argoproj-labs/argocd-autopilot/issues/45) Argo CD +* Support a clear flow to [uninstall](https://github.com/argoproj-labs/argocd-autopilot/issues/42) Argo CD + +### App Upgrade and Delete +* Support a clear flow to [upgrade](https://github.com/argoproj-labs/argocd-autopilot/issues/44) an app +* Support a clear flow to delete an app + +### Working with and Storing Secrets +* [Git token should also be maintained in a GitOps approach](https://github.com/argoproj-labs/argocd-autopilot/issues/25) +* Addition of destination clusters should be maintained in a GitOps approach +* supporting automatic integration with external secret stores +* provide out of the box secret store solution in case of not bringing an existing one + +### Promote Feature +* Provide a clear way to automate the process of promoting changes between one to another environment +* Provide a clear way to automate the process of promoting changes to all environments after verification on a single environment + +### Multiple Argo CD installations Targeting Specific Environments +In some organizations there is a need to separate production from other testing environments because of regulations and networking restrictions. + +That been said, in most cases you will still want to have a single GitOps repository that contains all your environments. + +So for example you can have an Argo CD installation controlling your production but another Argo CD installation that will target all the rest of environments. + +### Other Templating Choices Besides Kustomize +* Support Helm + +### Additional Git Providers Support for Repo Create +* support [Bitbucket](https://github.com/argoproj-labs/argocd-autopilot/issues/7) +* support [GitLab](https://github.com/argoproj-labs/argocd-autopilot/issues/6) diff --git a/docs/assets/argo_autopilot.png b/docs/assets/argo_autopilot.png new file mode 100644 index 0000000000000000000000000000000000000000..2aa0cd8ef340c37df85306d033a909ed50b72d56 GIT binary patch literal 17314 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%0A&z8 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 Logo

-## Introduction +[![Codefresh build status]( https://g.codefresh.io/api/badges/pipeline/codefresh-inc/argocd-autopilot%2Frelease?type=cf-1)]( https://g.codefresh.io/public/accounts/codefresh-inc/pipelines/new/60881f8199c9564ef31aac61) +[![codecov](https://codecov.io/gh/argoproj-labs/argocd-autopilot/branch/main/graph/badge.svg?token=IDyZNfRUfY)](https://codecov.io/gh/argoproj-labs/argocd-autopilot) +[![Documentation Status](https://readthedocs.org/projects/argocd-autopilot/badge/?version=latest)](https://argocd-autopilot.readthedocs.io/en/latest/?badge=latest) +[![slack](https://img.shields.io/badge/slack-argoproj-brightgreen.svg?logo=slack)](https://cloud-native.slack.com/archives/C0207C47D0X) -The Argo-CD Autopilot is a tool which offers an opinionated way of installing Argo-CD and managing GitOps repositories. -It can: +The Argo CD Autopilot is a tool that offers an opinionated way of installing Argo CD and managing GitOps repositories. -* create a new gitops repository. -* bootstrap a new argo cd installation. -* install and manage argo-cd projects and application with ease. -* install and manage a single application multiple times on different logical environments on different K8S clusters. +It can: -## How it works -The autopilot bootstrap command will deploy an Argo-CD manifest to a target k8s cluster, and will commit an Argo-CD Application manifest under a specific directory in your GitOps repository. This Application will manage the Argo-CD installation itself - so after running this command, you will have an Argo-CD deployment that manages itself through GitOps. +* Create a new GitOps repository +* Bootstrap a new Argo CD installation +* Install and manage Argo CD projects and applications with ease +* Install and manage a single application multiple times on different logical environments on different K8s clusters -From that point on, the user can create Projects and Applications that belong to them. Autopilot will commit the required manifests to the repository. Once committed, Argo-CD will do its magic and apply the Applications to the cluster. -An application can be added to a project from a public git repo + path, or from a directory in the local filesystem. +## How it Works +The autopilot bootstrap command will deploy an Argo CD manifest to a target K8s cluster and will commit an Argo CD Application manifest under a specific directory in your GitOps repository. This Application will manage the Argo CD installation itself - so after running this command, you will have an Argo CD deployment that manages itself through GitOps. + +From that point on, the user can create Projects and Applications that belong to them. Autopilot will commit the required manifests to the repository. Once committed, Argo CD will do its magic and apply the Applications to the cluster. + +An application can be added to a project from a public Git repo + path or a directory in the local filesystem. ## Architecture ![Argo-CD Autopilot Architecture](assets/architecture.png) -Autopilot communicates with the cluster directly **only** during the bootstrap phase, when it deploys Argo-CD. After that, most commands will only require access to the GitOps repository. When adding a Project or Application to a remote k8s cluster, autopilot will require access to the Argo-CD server. +Autopilot communicates with the cluster directly **only** during the bootstrap phase, when it deploys Argo CD. After that, most commands will only require access to the GitOps repository. When adding a project or application to a remote K8s cluster, the autopilot will require access to the Argo CD server. + ## Features -* Opinionated way to build a multi-project multi-application system, using GitOps principles. -* Create a new GitOps repository, or use an existing one. -* Supports creating the entire directory structure under any path the user requires. -* When adding applications from a public repo, allow committing as either a kustomization that references the public repo, or as a "flat" manifest file containing all the required resources. -* Use a different cluster from the one Argo-CD is running on, as a default cluster for a Project, or a target cluster for a specific Application. +* Opinionated way to build a multi-project multi-application system, using GitOps principles +* Create a new GitOps repository, or use an existing one +* Supports creating the entire directory structure under any path the user requires +* When adding applications from a public repo, allow committing as a Kustomization file that references the public repo, or a "flat" manifest file containing all the required resources +* Use a different cluster from the one Argo CD is running on, as a default cluster for a project, or a target cluster for a specific application ## Development Status -Argo-CD autopilot is currently under active development. Some of the basic commands are not yet implemented, but we hope to complete them in the coming weeks. +Argo CD autopilot is currently under active development. Some of the basic commands are not yet implemented, but we hope to complete them in the coming weeks. diff --git a/mkdocs.yml b/mkdocs.yml index 307279a7..b75207a3 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -24,3 +24,8 @@ nav: - Getting Started: Getting-Started.md - Installation: Installation-Guide.md - Development: Development.md + - Roadmap: Roadmap.md + - Blogs: Blogs.md + - Releases ⧉: https://github.com/argoproj-labs/argocd-autopilot/releases + - Issues ⧉: https://github.com/argoproj-labs/argocd-autopilot/issues + - Slack ⧉: https://cloud-native.slack.com/archives/C0207C47D0X