MCPcopy Index your code
hub / github.com/arangodb/kube-arangodb

github.com/arangodb/kube-arangodb @1.4.3

Chat with this repo
repository ↗ · DeepWiki ↗ · release 1.4.3 ↗ · + Follow
18,372 symbols 68,951 edges 2,948 files 5,292 documented · 29%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

ArangoDB Kubernetes Operator

Docker Pulls CircleCI

The ArangoDB Kubernetes Operator (kube-arangodb) is a set of operators that you deploy in your Kubernetes cluster to: - Manage deployments of the ArangoDB database - Manage backups - Provide PersistentVolumes on local storage of your nodes for optimal storage performance. - Configure ArangoDB Datacenter-to-Datacenter Replication

Each of these uses involves a different custom resource: - Use an ArangoDeployment resource to create an ArangoDB database deployment. - Use an ArangoMember resource to observe and adjust individual deployment members. - Use an ArangoBackup and ArangoBackupPolicy resources to create ArangoDB backups. - Use an ArangoLocalStorage resource to provide local PersistentVolumes for optimal I/O performance. - Use an ArangoDeploymentReplication resource to configure ArangoDB Datacenter-to-Datacenter Replication. - Use an ArangoPlatformChart and ArangoProfile resources to customize ArangoDB Platform deployments.

Continue with Using the ArangoDB Kubernetes Operator to learn how to install the ArangoDB Kubernetes operator and create your first deployment.

State

The ArangoDB Kubernetes Operator is Production ready.

Documentation

Limits

Limit Description Community Enterprise
Cluster size limit Limits of the nodes (DBServers & Coordinators) supported in the Cluster mode 64 1024

Production readiness state

Beginning with Version 0.3.11 we maintain a production readiness state for individual new features, since we expect that new features will first be released with an "alpha" or "beta" readiness state and over time move to full "production readiness".

Operator will support Kubernetes versions supported on providers and maintained by Kubernetes. Once version is not supported anymore it will go into "Deprecating" state and will be marked as deprecated on Minor release.

Kubernetes versions starting from 1.18 are supported and tested, charts and manifests can use API Versions which are not present in older versions.

The following table has the general readiness state, the table below covers individual newer features separately.

Platform State Kubernetes Version ArangoDB Version Remarks Provider Remarks
Google GKE Production 1.28-1.34 >= 3.11.0 Don't use micro nodes
EOL 1.25-1.27 3.9.0-3.10.0 Don't use micro nodes
NotSupported < 1.25 < 3.8.0 Don't use micro nodes
Azure AKS Production 1.28-1.34 >= 3.11.0
EOL 1.25-1.27 3.9.0-3.10.0
NotSupported < 1.25 < 3.8.0
Amazon EKS Production 1.28-1.34 >= 3.11.0 Amazon EKS
EOL 1.25-1.27 3.9.0-3.10.0 Amazon EKS
NotSupported < 1.25 < 3.8.0 Amazon EKS
IBM Cloud Production 1.29-1.31 >= 3.11.0
EOL 1.25-1.28 3.9.0-3.10.0
NotSupported < 1.25 < 3.8.0
OpenShift Production 4.11-4.17 >= 3.11.0
EOL 4.2-4.11 3.9.0-3.10.0
NotSupported < 4.2 < 3.8.0
BareMetal (kubeadm) Production 1.28-1.34 >= 3.11.0
EOL 1.25-1.27 3.9.0-3.10.0
NotSupported < 1.25 < 3.8.0
Minikube Devel Only 1.28-1.34 >= 3.11.0
EOL 1.25-1.27 3.9.0-3.10.0
NotSupported < 1.25 < 3.8.0
Other Production 1.28-1.34 >= 3.11.0
EOL 1.25-1.27 3.9.0-3.10.0
NotSupported < 1.25 < 3.8.0

Operator Features

Feature Operator Version Introduced ArangoDB Version ArangoDB Edition State Enabled Flag Remarks
ArangoPlatform OpenID SSO 1.2.49 1.2.49 >= 3.8.0 Community, Enterprise Beta True N/A Support for ArangoPlatform SSO with OpenID
ArangoPlatform OpenID SSO Refresh 1.2.49 1.2.49 >= 3.8.0 Community, Enterprise Alpha True N/A Support for ArangoPlatform SSO with OpenID Refresh
ArangoPlatform 1.2.49 1.2.43 >= 3.8.0 Community, Enterprise Beta True N/A ArangoPlatform Solution with support for ArangoDeployment Gateway Group
Cleanup Imported Backups 1.2.41 1.2.41 >= 3.8.0 Community, Enterprise Production False --deployment.feature.backup-cleanup Cleanup backups created outside of the Operator and imported into Kubernetes ArangoBackup
Upscale resources spec in init containers 1.2.36 1.2.36 >= 3.8.0 Community, Enterprise Production True --deployment.feature.init-containers-upscale-resources Upscale resources spec to built-in init containers if they are not specified or lower
Create backups asynchronously 1.2.35 1.2.41 >= 3.8.0 Community, Enterprise Production True --deployment.feature.async-backup-creation Create backups asynchronously to avoid blocking the operator and reaching the timeout
Enforced ResignLeadership 1.2.34 1.2.34 >= 3.8.0 Community, Enterprise Production True --deployment.feature.enforced-resign-leadership Enforce ResignLeadership and ensure that Leaders are moved from restarted DBServer
Copy resources spec to init containers 1.2.33 1.2.33 >= 3.8.0 Community, Enterprise Production True --deployment.feature.init-containers-copy-resources Copy resources spec to built-in init containers if they are not specified
Rebalancer V2 1.2.31 1.2.31 >= 3.10.0 Community, Enterprise Alpha False --deployment.feature.rebalancer-v2 N/A
Secured containers 1.2.31 1.2.31 >= 3.8.0 Community, Enterprise Alpha False --deployment.feature.secured-containers If set to True Operator will run containers in secure mode
Version Check V2 1.2.31 1.2.31 >= 3.8.0 Community, Enterprise Alpha False --deployment.feature.upgrade-version-check-V2 N/A
Operator Ephemeral Volumes 1.2.31 1.2.2 >= 3.8.0 Community, Enterprise Beta False --deployment.feature.ephemeral-volumes N/A
Force Rebuild Out Synced Shards 1.2.27 1.2.27 >= 3.8.0 Community, Enterprise Production False --deployment.feature.force-rebuild-out-synced-shards It should be used only if user is aware of the risks.
Spec Default Restore 1.2.25 1.2.21 >= 3.8.0 Community, Enterprise Beta True --deployment.feature.deployment-spec-defaults-restore If set to False Operator will not change ArangoDeployment Spec
Version Check 1.2.23 1.1.4 >= 3.8.0 Community, Enterprise Production True --deployment.feature.upgrade-version-check N/A
Failover Leader service 1.2.13 1.2.13 < 3.12.0 Community, Enterprise Production False --deployment.feature.failover-leadership N/A
Graceful Restart 1.2.5 1.0.7 >= 3.8.0 Community, Enterprise Production True ---deployment.feature.graceful-shutdown N/A
Optional Graceful Restart 1.2.0 1.2.5 >= 3.8.0 Community, Enterprise Production False --deployment.feature.optional-graceful-shutdown N/A
Operator Internal Metrics Exporter 1.2.0 1.2.0 >= 3.8.0 Community, Enterprise Production True --deployment.feature.metrics-exporter N/A
Operator Maintenance Management Support 1.2.0 1.0.7 >= 3.8.0 Community, Enterprise Production True --deployment.feature.maintenance N/A
Encryption Key Rotation Support 1.2.0 1.0.3 >= 3.8.0 Enterprise NotSupported False --deployment.feature.encryption-rotation N/A
TLS Runtime Rotation Support 1.1.0 1.0.4 >= 3.8.0 Enterprise Production True --deployment.feature.tls-rotation N/A
JWT Rotation Support 1.1.0 1.0.3 >= 3.8.0 Enterprise Production True --deployment.feature.jwt-rotation N/A
Operator Single Mode 1.0.4 1.0.4 >= 3.8.0 Community, Enterprise Production False --mode.single Only 1 instance of Operator allowed in namespace when feature is enabled
TLS SNI Support 1.0.3 1.0.3 >= 3.8.0 Enterprise Production True --deployment.feature.tls-sni N/A
ActiveFailover Support 1.0.0 1.0.0 < 3.12.0 Community, Enterprise Production True --deployment.feature.active-failover N/A
Disabling of liveness probes 0.3.11 0.3.10 >= 3.8.0 Community, Enterprise Production True N/A N/A
Pod Disruption Budgets 0.3.11 0.3.10 >= 3.8.0 Community, Enterprise Production True N/A N/A
Prometheus Metrics Exporter 0.3.11 0.3.10 >= 3.8.0 Community, Enterprise Production True N/A Prometheus required
Sidecar Containers 0.3.11 0.3.10 >= 3.8.0 Community, Enterprise Production True N/A N/A
Volume Claim Templates 0.3.11 0.3.10 >= 3.8.0 Community, Enterprise Production True N/A N/A
Volume Resizing 0.3.11 0.3.10 >= 3.8.0 Community, Enterprise Production True N/A N/A

Operator Enterprise Only Features

To upgrade to the Enterprise Edition, you need to get in touch with the ArangoDB team. Contact us for more details.

Feature Operator Version Introduced ArangoDB Version ArangoDB Edition State Enabled Flag Remarks
ArangoML integration 1.2.36 1.2.36 >= 3.8.0 Enterprise Alpha True N/A Support for ArangoML CRDs
AgencyCache 1.2.30 1.2.30 >= 3.8.0 Enterprise Production True N/A Enable Agency Cache mechanism in the Operator (Increase limit of the nodes)
Member Maintenance Support 1.2.25 1.2.16 >= 3.8.0 Enterprise Production True N/A Enable Member Maintenance during planned restarts
Rebalancer 1.2.15 1.2.5 >= 3.8.0 Enterprise Production True N/A N/A
TopologyAwareness 1.2.4 1.2.4 >= 3.8.0 Enterprise Production True N/A N/A

Flags

``` Flags: --action.PVCResize.concurrency int Define limit of concurrent PVC Resizes on the cluster (default 32) --agency.refresh-delay duration The Agency refresh delay (0 = no delay) (default 500ms) --agency.refresh-interval duration The Agency refresh interval (0 = do not refresh) --agency.retries int The Agency retries (0 = no retries) (default 1) --api.basic-secret-name string Name of secret containing username + password for login to the dashboard (default "arangodb-operator-credentials") --api.grpc-port int gRPC API port to listen on (default 8728) --api.http-port int HTTP API port to listen on (default 8528) --api.secondary-name stringArray Secondary names for a certificate --api.tls-ca-secret-name string Name of secret containing ca.crt & ca.key for HTTPS API (if does not exist, new one is generated) (default "arangodb-operator-ca") --backup-concurrent-uploads int Number of concurrent uploads per deployment (default 4) --chaos.allowed Set to allow chaos in deployments. Only activated when allowed and enabled in deployment --crd.install Install missing CRD if access is possible (default true) --crd.preserve-unknown-fields stringArray Controls which CRD should have enabled preserve unknown fields in validation schema =

Extension points exported contracts — how you extend this code

ActionCore (Interface)
ActionCore executes a single Plan item. [30 implementers]
pkg/deployment/reconcile/action.go
Starter (Interface)
Starter interface used by Operator to start new GoRoutines [85 implementers]
pkg/operatorV2/operator.go
APIObject (Interface)
APIObject helps to abstract an object from our custom API. [5 implementers]
pkg/util/k8sutil/events.go
WrapObj (Interface)
(no doc) [13 implementers]
pkg/logging/wrap.go
Core (Interface)
(no doc) [50 implementers]
pkg/apis/scheduler/v1beta1/interfaces/interfaces.go
Fill (Interface)
(no doc) [7 implementers]
pkg/integrations/shared/fill.go
ValidationHandler (Interface)
(no doc) [258 implementers]
pkg/webhook/handler.go
AuthHandler (Interface)
(no doc) [26 implementers]
integrations/envoy/auth/v3/shared/handler.go

Core symbols most depended-on inside this repo

Run
called by 2146
pkg/util/globals/timeout.go
Background
called by 951
pkg/util/svc/background.go
Equal
called by 938
pkg/apis/shared/v1/hash.go
Errorf
called by 774
pkg/util/errors/errors.go
WithStack
called by 742
pkg/util/errors/errors.go
Str
called by 715
pkg/logging/logger.go
Error
called by 688
pkg/logging/logger.go
Err
called by 663
pkg/logging/logger.go

Shape

Method 10,332
Function 4,836
Struct 1,920
Interface 755
TypeAlias 356
FuncType 173

Languages

Go100%

Modules by API surface

pkg/apis/deployment/v2alpha1/zz_generated.deepcopy.go230 symbols
pkg/apis/deployment/v1/zz_generated.deepcopy.go230 symbols
integrations/scheduler/v2/definition/helm.pb.go210 symbols
integrations/scheduler/v1/definition/definition.pb.go210 symbols
integrations/storage/v2/definition/storage.pb.go111 symbols
integrations/inventory/v1/definition/inventory.pb.go100 symbols
pkg/logging/logger.go98 symbols
integrations/scheduler/v2/definition/definition_grpc.pb.go96 symbols
integrations/authentication/v1/definition/definition.pb.go92 symbols
integrations/meta/v1/definition/definition.pb.go90 symbols
pkg/deployment/reconcile/plan_builder_test.go88 symbols
integrations/scheduler/v2/definition/kubernetes.pb.go88 symbols

Datastores touched

_systemDatabase · 1 repos

For agents

$ claude mcp add kube-arangodb \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page