diff --git a/docs/roadmap.md b/docs/roadmap.md index 74e36cae8d..e649a4d950 100644 --- a/docs/roadmap.md +++ b/docs/roadmap.md @@ -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) \ No newline at end of file