-
Notifications
You must be signed in to change notification settings - Fork 125
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Co-authored-by: jesse-codefresh <[email protected]> Co-authored-by: roi-codefresh <[email protected]> Co-authored-by: Itai Gendler <[email protected]>
- Loading branch information
1 parent
611c58f
commit 41912c6
Showing
8 changed files
with
93 additions
and
43 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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/) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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) |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,34 +1,40 @@ | ||
# Argo-CD Autopilot | ||
<p align="center"><img src="./assets/argo_autopilot.png" alt="Argo Logo"></p> | ||
|
||
## 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. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters