Skip to content

Commit

Permalink
docs: document all unstable configurations (#20336) (#20438)
Browse files Browse the repository at this point in the history
* overview

Signed-off-by: Alexandre Gaudreault <[email protected]>

* 12

Signed-off-by: Alexandre Gaudreault <[email protected]>

* document fields

Signed-off-by: Alexandre Gaudreault <[email protected]>

* spec path wildcard

Signed-off-by: Alexandre Gaudreault <[email protected]>

* order

Signed-off-by: Alexandre Gaudreault <[email protected]>

* move links to bottom

Signed-off-by: Alexandre Gaudreault <[email protected]>

---------

Signed-off-by: Alexandre Gaudreault <[email protected]>
  • Loading branch information
agaudreault authored Oct 21, 2024
1 parent fdf2503 commit aff5e61
Showing 1 changed file with 76 additions and 15 deletions.
91 changes: 76 additions & 15 deletions docs/operator-manual/feature-maturity.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,22 +3,83 @@
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
!!! danger "Using Alpha/Beta features risks"

Aplha and Beta features do not guarantee backward compatibility and are subject to breaking changes in the future releases.
It is highly suggested for Argo users not to rely on these features in production environments, especially if you do not have
control over the Argo CD upgrades.

Furthermore, removal of Alpha features may modify your resources to an unpredictable state after Argo CD is upgraded.
You should make sure to document which features are in use and review the [release notes](./upgrading/overview.md) before upgrading.

## Overview

| Feature | Introduced | Status |
| ----------------------------------------- | ---------- | ------ |
| [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 |
| [Cluster Sharding: round-robin][6] | v2.8.0 | Alpha |
| [Dynamic Cluster Distribution][7] | v2.9.0 | Alpha |
| [Server Side Diff][8] | v2.10.0 | Beta |
| [Cluster Sharding: consistent-hashing][9] | v2.12.0 | Alpha |
| [Service Account Impersonation][10] | v2.13.0 | Alpha |

## Unstable Configurations

### Application CRD

| Feature | Property | Status |
| ------------------------------- | --------------------------------------------------------------------------------------- | ------ |
| [Server Side Diff][8] | `metadata.annotations[argocd.argoproj.io/compare-options]: ServerSideDiff=true` | Beta |
| [Server Side Diff][8] | `metadata.annotations[argocd.argoproj.io/compare-options]: IncludeMutationWebhook=true` | Beta |
| [Skip Application Reconcile][4] | `metadata.annotations[argocd.argoproj.io/skip-reconcile]` | Alpha |

### AppProject CRD

| Feature | Property | Status |
| ----------------------------------- | ----------------------------------- | ------ |
| [Service Account Impersonation][10] | `spec.destinationServiceAccounts.*` | Alpha |

### ApplicationSet CRD

| Feature | Property | Status |
| ----------------------------- | ---------------------------- | ------ |
| [AppSet Progressive Syncs][2] | `spec.strategy.*` | Alpha |
| [AppSet Progressive Syncs][2] | `status.applicationStatus.*` | Alpha |

### Configuration

| Feature | Resource | Property / Variable | Status |
| ----------------------------------------- | --------------------------------------------- | ----------------------------------------------------------- | ------ |
| [AppSets in any Namespace][5] | `Deployment/argocd-applicationset-controller` | `ARGOCD_APPLICATIONSET_CONTROLLER_ALLOWED_SCM_PROVIDERS` | Beta |
| [AppSets in any Namespace][5] | `ConfigMap/argocd-cmd-params-cm` | `applicationsetcontroller.allowed.scm.providers` | Beta |
| [AppSets in any Namespace][5] | `ConfigMap/argocd-cmd-params-cm` | `applicationsetcontroller.enable.scm.providers` | Beta |
| [AppSets in any Namespace][5] | `Deployment/argocd-applicationset-controller` | `ARGOCD_APPLICATIONSET_CONTROLLER_ENABLE_SCM_PROVIDERS` | Beta |
| [AppSets in any Namespace][5] | `Deployment/argocd-applicationset-controller` | `ARGOCD_APPLICATIONSET_CONTROLLER_NAMESPACES` | Beta |
| [AppSets in any Namespace][5] | `ConfigMap/argocd-cmd-params-cm` | `applicationsetcontroller.namespaces` | Beta |
| [Server Side Diff][8] | `ConfigMap/argocd-cmd-params-cm` | `controller.diff.server.side` | Beta |
| [Server Side Diff][8] | `StatefulSet/argocd-application-controller` | `ARGOCD_APPLICATION_CONTROLLER_SERVER_SIDE_DIFF` | Beta |
| [AppSet Progressive Syncs][2] | `ConfigMap/argocd-cmd-params-cm` | `applicationsetcontroller.enable.progressive.syncs` | Alpha |
| [AppSet Progressive Syncs][2] | `Deployment/argocd-applicationset-controller` | `ARGOCD_APPLICATIONSET_CONTROLLER_ENABLE_PROGRESSIVE_SYNCS` | Alpha |
| [Proxy Extensions][3] | `ConfigMap/argocd-cmd-params-cm` | `server.enable.proxy.extension` | Alpha |
| [Proxy Extensions][3] | `Deployment/argocd-server` | `ARGOCD_SERVER_ENABLE_PROXY_EXTENSION` | Alpha |
| [Proxy Extensions][3] | `ConfigMap/argocd-cm` | `extension.config` | Alpha |
| [Dynamic Cluster Distribution][7] | `Deployment/argocd-application-controller` | `ARGOCD_ENABLE_DYNAMIC_CLUSTER_DISTRIBUTION` | Alpha |
| [Dynamic Cluster Distribution][7] | `Deployment/argocd-application-controller` | `ARGOCD_CONTROLLER_HEARTBEAT_TIME` | Alpha |
| [Cluster Sharding: round-robin][6] | `ConfigMap/argocd-cmd-params-cm` | `controller.sharding.algorithm: round-robin` | Alpha |
| [Cluster Sharding: round-robin][6] | `StatefulSet/argocd-application-controller` | `ARGOCD_CONTROLLER_SHARDING_ALGORITHM=round-robin` | Alpha |
| [Cluster Sharding: consistent-hashing][9] | `ConfigMap/argocd-cmd-params-cm` | `controller.sharding.algorithm: consistent-hashing` | Alpha |
| [Cluster Sharding: consistent-hashing][9] | `StatefulSet/argocd-application-controller` | `ARGOCD_CONTROLLER_SHARDING_ALGORITHM=consistent-hashing` | Alpha |
| [Service Account Impersonation][10] | `ConfigMap/argocd-cm` | `application.sync.impersonation.enabled` | Alpha |

[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
[6]: ./high_availability.md#argocd-application-controller
[7]: dynamic-cluster-distribution.md
[8]: ../user-guide/diff-strategies.md#server-side-diff
[9]: ./high_availability.md#argocd-application-controller
[10]: app-sync-using-impersonation.md

0 comments on commit aff5e61

Please sign in to comment.