docs: update 2021 roadmap (#6386)

* docs: update 2021 roadmap

Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>

* Apply reviewer notes

Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
This commit is contained in:
Alexander Matyushentsev 2021-06-17 08:48:51 -07:00 committed by GitHub
parent 9476ab5e18
commit 170b657a79
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -1,21 +1,79 @@
# Roadmap
- [Roadmap](#roadmap)
- [v2.1](#v21)
- [Config Management Tools Integrations (proposal)](#config-management-tools-integrations-proposal)
- [Argo CD Extensions (proposal)](#argo-cd-extensions-proposal)
- [Project scoped repository and clusters (proposal)](#project-scoped-repository-and-clusters-proposal)
- [Headless Argo CD (aka GitOps Agent) (proposal)](#headless-argo-cd-aka-gitops-agent-proposal)
- [v2.2 and beyond](#v22-and-beyond)
- [Application Details Page Usability](#application-details-page-usability)
- [Cluster Management User Interface](#cluster-management-user-interface)
- [GitOps Engine Enhancements](#gitops-engine-enhancements)
- [Completed](#completed)
- [Core Functionality Bug Fixes](#core-functionality-bug-fixes)
- [Performance](#performance)
- [ApplicationSet](#applicationset)
- [Large Applications support](#large-applications-support)
- [Serviceability](#serviceability)
- [GitOps Engine Enhancements](#gitops-engine-enhancements)
- [GitOps Agent](#gitops-agent)
- [Config Management Tools Integrations](#config-management-tools-integrations)
- [Resource Actions Revamp](#resource-actions-revamp)
- [Argo CD Notifications](#argo-cd-notifications)
- [Automated Registry Monitoring](#automated-registry-monitoring)
- [Application Details Page Usability](#application-details-page-usability)
- [Cluster Management User Interface](#cluster-management-user-interface)
- [Projects Enhancements](#projects-enhancements)
## v2.1
### Config Management Tools Integrations ([proposal](https://github.com/argoproj/argo-cd/pull/5927))
The community likes the first class support of Helm, Kustomize and keeps requesting support for more tools.
Argo CD provides a mechanism to integrate with any config management tool. We need to investigate why
it is not enough and implement missing features.
### Argo CD Extensions ([proposal](https://github.com/argoproj/argo-cd/pull/6240))
Argo CD supports customizing handling of Kubernetes resources via diffing customizations,
health checks, and custom actions. The Argo CD Extensions proposal takes it to next
level and allows to deliver the resource customizations along with custom visualization in Argo CD
via Git repository.
### Project scoped repository and clusters ([proposal](https://github.com/argoproj/argo-cd/blob/master/docs/proposals/project-repos-and-clusters.md))
The feature streamlines the process of adding repositories and clusters to the project and makes it self-service.
Instead of asking an administrator to change Argo CD settings end users can perform the change independently.
### Headless Argo CD (aka GitOps Agent) ([proposal](https://github.com/argoproj/argo-cd/pull/6385))
Headless Argo CD allows to installation and use of lightweight Argo CD that includes only the backend without exposing the API or UI.
The Headless Argo CD provides a better experience to users who need only core Argo CD features and don't want to deal with multi-tenancy features.
## v2.2 and beyond
### Application Details Page Usability
Application details page has accumulated multiple usability and feature requests such as
[Node view](https://github.com/argoproj/argo-cd/issues/1483),
Network view ([1](https://github.com/argoproj/argo-cd/issues/2892), [2](https://github.com/argoproj/argo-cd/issues/2338))
[etc](https://github.com/argoproj/argo-cd/issues/2199).
### Cluster Management User Interface
Argo CD has information about whole clusters, not just applications in it.
We need to provide a user interface for cluster administrators that visualize cluster level resources.
### GitOps Engine Enhancements
The [GitOps Engine](https://github.com/argoproj/gitops-engine) is a library that implements core GitOps functions such as K8S resource reconciliation and diffing.
A lot of Argo CD features are still not available in GitOps engine. The following features have to be contributed to the GitOps Engine:
* an ability to customize resources health assessment and existing CRD health [assessment functions](https://github.com/argoproj/argo-cd/tree/master/resource_customizations).
* resource diffing [customization](../user-guide/diffing/).
* config management [tools](../user-guide/application_sources/) integration.
* unified syncing annotations [argoproj/gitops-engine#43](https://github.com/argoproj/gitops-engine/issues/43).
## Completed
### Core Functionality Bug Fixes
The core GitOps features still have several known bugs and limitations. The full list is available in [v1.9 milestone](
@ -54,35 +112,6 @@ To make Argo CD successful we need to build tools that enable Argo CD administra
That includes more metrics, out of the box alerts and a cluster management user interface.
### GitOps Engine Enhancements
The [GitOps Engine](https://github.com/argoproj/gitops-engine) is a library that implements core GitOps functions such as K8S resource reconciliation and diffing.
A lot of Argo CD features are still not available in GitOps engine. The following features have to be contributed to the GitOps Engine:
* an ability to customize resources health assessment and existing CRD health [assessment functions](https://github.com/argoproj/argo-cd/tree/master/resource_customizations).
* resource diffing [customization](../user-guide/diffing/).
* config management [tools](../user-guide/application_sources/) integration.
* unified syncing annotations [argoproj/gitops-engine#43](https://github.com/argoproj/gitops-engine/issues/43).
### GitOps Agent
[GitOps Agent](https://github.com/argoproj/gitops-engine/tree/master/agent) is a continuation of GitOps engine work. The GitOps Agent leverages the GitOps Engine and provides
access to many engine features via a simple CLI interface.
### Config Management Tools Integrations
The community likes the first class support of Helm, Kustomize and keeps requesting support for more tools.
Argo CD provides a mechanism to integrate with any config management tool. We need to investigate why
it is not enough and implement missing features.
### Resource Actions Revamp
Resource actions is very powerful but literally hidden feature. Documentation is missing and therefore
adoption is poor. We need to document and promote it, and then iterate and work on enhancements:
* hard to configure unless you are Argo CD ninja
* half done parameters support: we have backend but no UI/CLI for it
* configuration issue: it is impossible to share actions as a YAML file since ALL resource customizations are stored in one config map key
### Argo CD Notifications
@ -94,18 +123,6 @@ changes as well as implement integrations such as update Github commit status, t
[Argo CD Image Updater](https://github.com/argoproj-labs/argocd-image-updater) provides an ability to monitor Docker registries and automatically
update image versions in the deployment repository. See [https://github.com/argoproj/argo-cd/issues/1648](https://github.com/argoproj/argo-cd/issues/1648).
### Application Details Page Usability
Application details page has accumulated multiple usability and feature requests such as
[Node view](https://github.com/argoproj/argo-cd/issues/1483),
Logs ([1](https://github.com/argoproj/argo-cd/issues/781), [2](https://github.com/argoproj/argo-cd/issues/3382)),
Network view ([1](https://github.com/argoproj/argo-cd/issues/2892), [2](https://github.com/argoproj/argo-cd/issues/2338))
[etc](https://github.com/argoproj/argo-cd/issues/2199).
### Cluster Management User Interface
Argo CD has information about whole clusters, not just applications in it.
We need to provide a user interface for cluster administrators that visualize cluster level resources.
### Projects Enhancements
@ -113,4 +130,4 @@ Argo CD projects accumulated a lot of debt:
* Users don't know how to use project roles and SSO. It is one of the key features but not documented well. We need to document and promote it
* Project management UI has evolved organically and needs a complete redesign. We packaged everything into one sliding panel which is painful to use
* Enhancements: [#3598](https://github.com/argoproj/argo-cd/issues/3598)
* Enhancements: [#3598](https://github.com/argoproj/argo-cd/issues/3598)