Skip to content
Merged
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
46 changes: 23 additions & 23 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,29 +48,29 @@ covers individual newer features separately.

#### Feature-wise production readiness table:

| Feature | Operator Version | ArangoDB Version | ArangoDB Edition | Introduced | State | Enabled | Flag | Remarks |
|-----------------------------------------|------------------|------------------|-----------------------|------------|--------------|---------|-------------------------------------------------------|------------------------------------------------------------------------------------------------------------------|
| Pod Disruption Budgets | 0.3.11 | Any | Community, Enterprise | 0.3.10 | Production | True | N/A | N/A |
| Volume Resizing | 0.3.11 | Any | Community, Enterprise | 0.3.10 | Production | True | N/A | N/A |
| Disabling of liveness probes | 0.3.11 | Any | Community, Enterprise | 0.3.10 | Production | True | N/A | N/A |
| Volume Claim Templates | 1.0.0 | Any | Community, Enterprise | 0.3.10 | Production | True | N/A | N/A |
| Prometheus Metrics Exporter | 1.0.0 | Any | Community, Enterprise | 0.3.10 | Production | True | N/A | Prometheus required |
| Sidecar Containers | 1.0.0 | Any | Community, Enterprise | 0.3.10 | Production | True | N/A | N/A |
| Operator Single Mode | 1.0.4 | Any | Community, Enterprise | 1.0.4 | Production | False | --mode.single | Only 1 instance of Operator allowed in namespace when feature is enabled |
| TLS SNI Support | 1.0.3 | >= 3.7.0 | Enterprise | 1.0.3 | Production | True | --deployment.feature.tls-sni | N/A |
| TLS Runtime Rotation Support | 1.1.0 | > 3.7.0 | Enterprise | 1.0.4 | Production | True | --deployment.feature.tls-rotation | N/A |
| JWT Rotation Support | 1.1.0 | > 3.7.0 | Enterprise | 1.0.3 | Production | True | --deployment.feature.jwt-rotation | N/A |
| Encryption Key Rotation Support | 1.2.0 | > 3.7.0 | Enterprise | 1.0.3 | NotSupported | False | --deployment.feature.encryption-rotation | N/A |
| Version Check | 1.1.4 | >= 3.6.0 | Community, Enterprise | 1.1.4 | Alpha | False | --deployment.feature.upgrade-version-check | N/A |
| Version Check | 1.2.23 | >= 3.6.0 | Community, Enterprise | 1.1.4 | Production | True | --deployment.feature.upgrade-version-check | N/A |
| Operator Maintenance Management Support | 1.2.0 | >= 3.6.0 | Community, Enterprise | 1.0.7 | Production | True | --deployment.feature.maintenance | N/A |
| Graceful Restart | 1.2.5 | >= 3.6.0 | Community, Enterprise | 1.0.7 | Production | True | --deployment.feature.graceful-shutdown | N/A |
| Optional Graceful Restart | 1.2.25 | >= 3.6.0 | Community, Enterprise | 1.2.5 | Beta | True | --deployment.feature.optional-graceful-shutdown | N/A |
| Operator Internal Metrics Exporter | 1.2.0 | >= 3.6.0 | Community, Enterprise | 1.2.0 | Production | True | --deployment.feature.metrics-exporter | N/A |
| Operator Ephemeral Volumes | 1.2.2 | >= 3.7.0 | Community, Enterprise | 1.2.2 | Alpha | False | --deployment.feature.ephemeral-volumes | N/A |
| Failover Leader service | 1.2.13 | >= 3.7.0 | Community, Enterprise | 1.2.13 | Production | False | --deployment.feature.failover-leadership | [doc](./docs/design/features/failover_leader_service.md) |
| Spec Default Restore | 1.2.21 | >= 3.7.0 | Community, Enterprise | 1.2.21 | Beta | True | --deployment.feature.deployment-spec-defaults-restore | If set to False Operator will not change ArangoDeployment Spec |
| Force Rebuild Out Synced Shards | 1.2.27 | >= 3.8.0 | Community, Enterprise | 1.2.27 | Beta | False | --deployment.feature.force-rebuild-out-synced-shards | It should be used only if user is aware of the risks. [doc](./docs/design/features/rebuild_out_synced_shards.md) |
| Feature | Operator Version | ArangoDB Version | ArangoDB Edition | Introduced | State | Enabled | Flag | Remarks |
|--------------------------------------------------------------------------------------|------------------|------------------|-----------------------|------------|--------------|---------|-------------------------------------------------------|--------------------------------------------------------------------------|
| Pod Disruption Budgets | 0.3.11 | Any | Community, Enterprise | 0.3.10 | Production | True | N/A | N/A |
| Volume Resizing | 0.3.11 | Any | Community, Enterprise | 0.3.10 | Production | True | N/A | N/A |
| Disabling of liveness probes | 0.3.11 | Any | Community, Enterprise | 0.3.10 | Production | True | N/A | N/A |
| Volume Claim Templates | 1.0.0 | Any | Community, Enterprise | 0.3.10 | Production | True | N/A | N/A |
| Prometheus Metrics Exporter | 1.0.0 | Any | Community, Enterprise | 0.3.10 | Production | True | N/A | Prometheus required |
| Sidecar Containers | 1.0.0 | Any | Community, Enterprise | 0.3.10 | Production | True | N/A | N/A |
| Operator Single Mode | 1.0.4 | Any | Community, Enterprise | 1.0.4 | Production | False | --mode.single | Only 1 instance of Operator allowed in namespace when feature is enabled |
| TLS SNI Support | 1.0.3 | >= 3.7.0 | Enterprise | 1.0.3 | Production | True | --deployment.feature.tls-sni | N/A |
| TLS Runtime Rotation Support | 1.1.0 | > 3.7.0 | Enterprise | 1.0.4 | Production | True | --deployment.feature.tls-rotation | N/A |
| JWT Rotation Support | 1.1.0 | > 3.7.0 | Enterprise | 1.0.3 | Production | True | --deployment.feature.jwt-rotation | N/A |
| Encryption Key Rotation Support | 1.2.0 | > 3.7.0 | Enterprise | 1.0.3 | NotSupported | False | --deployment.feature.encryption-rotation | N/A |
| Version Check | 1.1.4 | >= 3.6.0 | Community, Enterprise | 1.1.4 | Alpha | False | --deployment.feature.upgrade-version-check | N/A |
| Version Check | 1.2.23 | >= 3.6.0 | Community, Enterprise | 1.1.4 | Production | True | --deployment.feature.upgrade-version-check | N/A |
| Operator Maintenance Management Support | 1.2.0 | >= 3.6.0 | Community, Enterprise | 1.0.7 | Production | True | --deployment.feature.maintenance | N/A |
| Graceful Restart | 1.2.5 | >= 3.6.0 | Community, Enterprise | 1.0.7 | Production | True | --deployment.feature.graceful-shutdown | N/A |
| Optional Graceful Restart | 1.2.25 | >= 3.6.0 | Community, Enterprise | 1.2.5 | Beta | True | --deployment.feature.optional-graceful-shutdown | N/A |
| Operator Internal Metrics Exporter | 1.2.0 | >= 3.6.0 | Community, Enterprise | 1.2.0 | Production | True | --deployment.feature.metrics-exporter | N/A |
| Operator Ephemeral Volumes | 1.2.2 | >= 3.7.0 | Community, Enterprise | 1.2.2 | Alpha | False | --deployment.feature.ephemeral-volumes | N/A |
| [Failover Leader service](docs/design/features/failover_leader_service.md) | 1.2.13 | >= 3.7.0 | Community, Enterprise | 1.2.13 | Production | False | --deployment.feature.failover-leadership | N/A |
| [Spec Default Restore](docs/design/features/deployment_spec_defaults.md) | 1.2.21 | >= 3.7.0 | Community, Enterprise | 1.2.21 | Beta | True | --deployment.feature.deployment-spec-defaults-restore | If set to False Operator will not change ArangoDeployment Spec |
| [Force Rebuild Out Synced Shards](docs/design/features/rebuild_out_synced_shards.md) | 1.2.27 | >= 3.8.0 | Community, Enterprise | 1.2.27 | Beta | False | --deployment.feature.force-rebuild-out-synced-shards | It should be used only if user is aware of the risks. |

## Operator Community Edition (CE)

Expand Down
3 changes: 2 additions & 1 deletion docs/design/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,4 +21,5 @@

## Features
- [Force rebuild out-synced Shards with broken Merkle Tree](./features/rebuild_out_synced_shards.md)
- [Failover Leader service](./features/failover_leader_service.md)
- [Failover Leader service](./features/failover_leader_service.md)
- [Restore defaults from last accepted state of deployment](./features/deployment_spec_defaults.md)
20 changes: 20 additions & 0 deletions docs/design/features/deployment_spec_defaults.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Restore defaults from last accepted state of deployment

## Overview

ArangoDeployment has a lot of fields, which have default values.
If `--deployment.feature.deployment-spec-defaults-restore` is enabled (which is by default),
then the operator will restore the default values from the last accepted state of the deployment.

E.g., if user removes the `spec.dbservers` field from the deployment,
then the operator will restore the default value of this field back.

## How to use

To disable this feature use `--deployment.feature.deployment-spec-defaults-restore=false` arg, which needs be passed to the operator:

```shell
helm upgrade --install kube-arangodb \
https://github.com/arangodb/kube-arangodb/releases/download/$VER/kube-arangodb-$VER.tgz \
--set "operator.args={--deployment.feature.deployment-spec-defaults-restore=false}"
```