Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs: feature maturity page for alpha and beta features (#20336) #20337

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion docs/developer-guide/extensions/proxy-extensions.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
# Proxy Extensions
*Current Status: [Alpha][1] (Since v2.7.0)*

!!! warning "Alpha Feature (Since 2.7.0)"
This is an experimental, [alpha-quality](https://github.com/argoproj/argoproj/blob/main/community/feature-status.md#alpha)
feature. It may be removed in future releases or modified in backwards-incompatible ways.

## Overview

Expand Down
7 changes: 5 additions & 2 deletions docs/operator-manual/app-sync-using-impersonation.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
# Application Sync using impersonation

!!! warning "Alpha Feature"
This is an experimental, alpha-quality feature that allows you to control the service account used for the sync operation. The configured service account could have lesser privileges required for creating resources compared to the highly privileged access required for the control plane operations.
!!! warning "Alpha Feature (Since 2.13.0)"
This is an experimental, [alpha-quality](https://github.com/argoproj/argoproj/blob/main/community/feature-status.md#alpha)
feature that allows you to control the service account used for the sync operation. The configured service account
could have lesser privileges required for creating resources compared to the highly privileged access required for
the control plane operations.

!!! warning
Please read this documentation carefully before you enable this feature. Misconfiguration could lead to potential security issues.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
# ApplicationSet in any namespace

**Current feature state**: Beta
!!! warning "Beta Feature (Since v2.8.0)"
This feature is in the [Beta](https://github.com/argoproj/argoproj/blob/main/community/feature-status.md#beta) stage.
It is generally considered stable, but there may be unhandled edge cases.

!!! warning
Please read this documentation carefully before you enable this feature. Misconfiguration could lead to potential security issues.
Expand Down
6 changes: 4 additions & 2 deletions docs/operator-manual/applicationset/Progressive-Syncs.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
# Progressive Syncs

!!! warning "Alpha Feature"
This is an experimental, alpha-quality feature that allows you to control the order in which the ApplicationSet controller will create or update the Applications owned by an ApplicationSet resource. It may be removed in future releases or modified in backwards-incompatible ways.
!!! warning "Alpha Feature (Since v2.6.0)"
This is an experimental, [alpha-quality](https://github.com/argoproj/argoproj/blob/main/community/feature-status.md#alpha)
feature that allows you to control the order in which the ApplicationSet controller will create or update the Applications
owned by an ApplicationSet resource. It may be removed in future releases or modified in backwards-incompatible ways.

## Use Cases
The Progressive Syncs feature set is intended to be light and flexible. The feature only interacts with the health of managed Applications. It is not intended to support direct integrations with other Rollout controllers (such as the native ReplicaSet controller or Argo Rollouts).
Expand Down
6 changes: 4 additions & 2 deletions docs/operator-manual/dynamic-cluster-distribution.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
# Dynamic Cluster Distribution

!!! warning "Alpha Feature (Since v2.9.0)"
This is an experimental, [alpha-quality](https://github.com/argoproj/argoproj/blob/main/community/feature-status.md#alpha) feature.
It may be removed in future releases or modified in backwards-incompatible ways.

*Current Status: [Alpha][1] (Since v2.9.0)*

By default, clusters are assigned to shards indefinitely. For users of the default, hash-based sharding algorithm, this
Expand Down Expand Up @@ -49,5 +53,3 @@ The new sharding mechanism does not monitor the environment variable `ARGOCD_CON
In the scenario when the number of Application Controller replicas increases, a new entry is added to the list of mappings in the `argocd-app-controller-shard-cm` ConfigMap and the cluster distribution is triggered to re-distribute the clusters.

In the scenario when the number of Application Controller replicas decreases, the mappings in the `argocd-app-controller-shard-cm` ConfigMap are reset and every controller acquires the shard again thus triggering the re-distribution of the clusters.

[1]: https://github.com/argoproj/argoproj/blob/master/community/feature-status.md
24 changes: 24 additions & 0 deletions docs/operator-manual/feature-maturity.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# Feature Maturity

Argo CD features may be marked with a certain [status](https://github.com/argoproj/argoproj/blob/main/community/feature-status.md)
to indicate their stability and maturity. These are the statuses of non-stable features in Argo CD:

| Feature | Introduced | Status |
|-------------------------------------|------------|--------|
| [Structured Merge Diff Strategy][1] | v2.5.0 | Beta |
| [AppSet Progressive Syncs][2] | v2.6.0 | Alpha |
| [Proxy Extensions][3] | v2.7.0 | Alpha |
| [Skip Application Reconcile][4] | v2.7.0 | Alpha |
| [AppSets in any Namespace][5] | v2.8.0 | Beta |
| [Dynamic Cluster Distribution][6] | v2.9.0 | Alpha |
| [Server Side Diff][7] | v2.10.0 | Beta |
| [Service Account Impersonation][8] | v2.13.0 | Alpha |

[1]: ../user-guide/diff-strategies.md#structured-merge-diff
[2]: applicationset/Progressive-Syncs.md
[3]: ../developer-guide/extensions/proxy-extensions.md
[4]: ../user-guide/skip_reconcile.md
[5]: applicationset/Appset-Any-Namespace.md
[6]: dynamic-cluster-distribution.md
[7]: ../user-guide/diff-strategies.md#server-side-diff
[8]: app-sync-using-impersonation.md
8 changes: 6 additions & 2 deletions docs/user-guide/diff-strategies.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,9 @@ Argo CD currently has 3 different strategies to calculate diffs:
in dryrun mode in order to generate the predicted live state.

## Structured-Merge Diff
*Current Status: [Beta][1] (Since v2.5.0)*

!!! warning "Beta Feature (Since v2.5.0)"
This feature is in the [Beta][1] stage. It is generally considered stable, but there may be unhandled edge cases.

This diff strategy is automatically used when Server-Side Apply
sync option is enabled. It uses the [structured-merge-diff][2] library
Expand All @@ -27,7 +29,9 @@ the community, this strategy is being discontinued in favour of
Server-Side Diff.

## Server-Side Diff
*Current Status: [Beta][1] (Since v2.10.0)*

!!! warning "Beta Feature (Since v2.10.0)"
This feature is in the [Beta][1] stage. It is generally considered stable, but there may be unhandled edge cases.

This diff strategy will execute a Server-Side Apply in dryrun mode for
each resource of the application. The response of this operation is then
Expand Down
4 changes: 2 additions & 2 deletions docs/user-guide/skip_reconcile.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Skip Application Reconcile

!!! warning "Alpha Feature"
This is an experimental, alpha-quality feature.
!!! warning "Alpha Feature (Since v2.7.0)"
This is an experimental, [alpha-quality](https://github.com/argoproj/argoproj/blob/main/community/feature-status.md#alpha) feature.
The primary use case is to provide integration with third party projects.
This feature may be removed in future releases or modified in backwards-incompatible ways.

Expand Down
1 change: 1 addition & 0 deletions mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ nav:
- operator-manual/index.md
- operator-manual/architecture.md
- operator-manual/installation.md
- operator-manual/feature-maturity.md
- operator-manual/core.md
- operator-manual/declarative-setup.md
- operator-manual/app-any-namespace.md
Expand Down