Skip to content

Commit fa2aab5

Browse files
committed
[Feature] [Platform] Docs and Installer improvements
1 parent 02dcf28 commit fa2aab5

32 files changed

+750
-99
lines changed

CHANGELOG.md

+1
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
- (Documentation) Improve Charts and Upgrade Documentation
1010
- (Feature) AutoDiscover Operator Access
1111
- (Feature) (Platform) Adjust Gateway timeouts
12+
- (Feature) (Platform) Docs and Installer improvements
1213

1314
## [1.2.47](https://github.com/arangodb/kube-arangodb/tree/1.2.47) (2025-03-28)
1415
- (Bugfix) Use Profile Annotations

README.md

+2-1
Original file line numberDiff line numberDiff line change
@@ -168,6 +168,7 @@ Flags:
168168
--deployment.feature.enforced-resign-leadership Enforce ResignLeadership and ensure that Leaders are moved from restarted DBServer - Required ArangoDB >= 3.8.0 (default true)
169169
--deployment.feature.ephemeral-volumes Enables ephemeral volumes for apps and tmp directory - Required ArangoDB >= 3.8.0
170170
--deployment.feature.failover-leadership Support for leadership in fail-over mode - Required ArangoDB >= 3.8.0, < 3.12
171+
--deployment.feature.gateway Defines if gateway extension is enabled - Required ArangoDB >= 3.8.0 (default true)
171172
--deployment.feature.init-containers-copy-resources Copy resources spec to built-in init containers if they are not specified - Required ArangoDB >= 3.8.0 (default true)
172173
--deployment.feature.init-containers-upscale-resources Copy resources spec to built-in init containers if they are not specified or lower - Required ArangoDB >= 3.8.0 (default true)
173174
--deployment.feature.local-storage.pass-reclaim-policy [LocalStorage] Pass ReclaimPolicy from StorageClass instead of using hardcoded Retain - Required ArangoDB >= 3.8.0
@@ -199,7 +200,7 @@ Flags:
199200
--kubernetes.max-batch-size int Size of batch during objects read (default 256)
200201
--kubernetes.qps float32 Number of queries per second for k8s API (default 32)
201202
--log.format string Set log format. Allowed values: 'pretty', 'JSON'. If empty, default format is used (default "pretty")
202-
--log.level stringArray Set log levels in format <level> or <logger>=<level>. Possible loggers: action, agency, api-server, assertion, backup-operator, chaos-monkey, crd, deployment, deployment-ci, deployment-reconcile, deployment-replication, deployment-resilience, deployment-resources, deployment-storage, deployment-storage-pc, deployment-storage-service, generic-parent-operator, helm, http, inspector, integration-authn-v1, integration-config-v1, integration-envoy-auth-v3, integration-scheduler-v2, integration-storage-v1-s3, integration-storage-v2, integrations, k8s-client, kubernetes-access, kubernetes-client, kubernetes-informer, monitor, networking-route-operator, operator, operator-arangojob-handler, operator-v2, operator-v2-event, operator-v2-worker, panics, platform-chart-operator, platform-pod-shutdown, platform-storage-operator, pod_compare, root, root-event-recorder, scheduler-batchjob-operator, scheduler-cronjob-operator, scheduler-deployment-operator, scheduler-pod-operator, scheduler-profile-operator, server, server-authentication, webhook (default [info])
203+
--log.level stringArray Set log levels in format <level> or <logger>=<level>. Possible loggers: action, agency, api-server, assertion, backup-operator, chaos-monkey, crd, deployment, deployment-ci, deployment-reconcile, deployment-replication, deployment-resilience, deployment-resources, deployment-storage, deployment-storage-pc, deployment-storage-service, generic-parent-operator, helm, http, inspector, integration-authn-v1, integration-config-v1, integration-envoy-auth-v3, integration-scheduler-v2, integration-storage-v1-s3, integration-storage-v2, integrations, k8s-client, kubernetes, kubernetes-access, kubernetes-client, kubernetes-informer, monitor, networking-route-operator, operator, operator-arangojob-handler, operator-v2, operator-v2-event, operator-v2-worker, panics, platform-chart-operator, platform-pod-shutdown, platform-storage-operator, pod_compare, root, root-event-recorder, scheduler-batchjob-operator, scheduler-cronjob-operator, scheduler-deployment-operator, scheduler-pod-operator, scheduler-profile-operator, server, server-authentication, webhook (default [info])
203204
--log.sampling If true, operator will try to minimize duplication of logging events (default true)
204205
--log.stdout If true, operator will log to the stdout (default true)
205206
--memory-limit uint Define memory limit for hard shutdown and the dump of goroutines. Used for testing

docs/arango-profile-resource.md

+73
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,76 @@ title: ArangoProfile
77
# ArangoProfile Custom Resource
88

99
[Full CustomResourceDefinition reference ->](./api/ArangoProfile.V1Beta1.md)
10+
11+
# Integration
12+
13+
## Enablement
14+
15+
In order to enable Injection one of the two Labels needs to be present on Pod:
16+
17+
- `profiles.arangodb.com/apply` with any value
18+
- `profiles.arangodb.com/deployment` with value set to the existing Deployment name
19+
20+
## Injection
21+
22+
### Selector
23+
24+
Using [Selector](./api/ArangoProfile.V1Beta1.md) `.spec.selectors.label` you can select which profiles are going to be applied on the Pod.
25+
26+
To not match any pod:
27+
```yaml
28+
apiVersion: scheduler.arangodb.com/v1beta1
29+
kind: ArangoProfile
30+
metadata:
31+
name: example
32+
spec:
33+
selectors: {}
34+
template: ...
35+
```
36+
37+
To match all pods:
38+
```yaml
39+
apiVersion: scheduler.arangodb.com/v1beta1
40+
kind: ArangoProfile
41+
metadata:
42+
name: example
43+
spec:
44+
selectors:
45+
label:
46+
matchLabels: {}
47+
template: ...
48+
```
49+
50+
To match specific pods (with label key=value):
51+
```yaml
52+
apiVersion: scheduler.arangodb.com/v1beta1
53+
kind: ArangoProfile
54+
metadata:
55+
name: example
56+
spec:
57+
selectors:
58+
label:
59+
matchLabels:
60+
key: value
61+
template: ...
62+
```
63+
64+
### Selection
65+
66+
Profiles can be injected using name (not only selectors).
67+
68+
In order to inject specific profiles to the pod use label (split by `,`):
69+
70+
```yaml
71+
metadata:
72+
annotations:
73+
profiles.arangodb.com/profiles: "gpu"
74+
```
75+
76+
or
77+
78+
```yaml
79+
metadata:
80+
annotations:
81+
profiles.arangodb.com/profiles: "gpu,internal"
82+
```

docs/cli/arangodb_operator.md

+2-1
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ Flags:
5151
--deployment.feature.enforced-resign-leadership Enforce ResignLeadership and ensure that Leaders are moved from restarted DBServer - Required ArangoDB >= 3.8.0 (default true)
5252
--deployment.feature.ephemeral-volumes Enables ephemeral volumes for apps and tmp directory - Required ArangoDB >= 3.8.0
5353
--deployment.feature.failover-leadership Support for leadership in fail-over mode - Required ArangoDB >= 3.8.0, < 3.12
54+
--deployment.feature.gateway Defines if gateway extension is enabled - Required ArangoDB >= 3.8.0 (default true)
5455
--deployment.feature.init-containers-copy-resources Copy resources spec to built-in init containers if they are not specified - Required ArangoDB >= 3.8.0 (default true)
5556
--deployment.feature.init-containers-upscale-resources Copy resources spec to built-in init containers if they are not specified or lower - Required ArangoDB >= 3.8.0 (default true)
5657
--deployment.feature.local-storage.pass-reclaim-policy [LocalStorage] Pass ReclaimPolicy from StorageClass instead of using hardcoded Retain - Required ArangoDB >= 3.8.0
@@ -83,7 +84,7 @@ Flags:
8384
--kubernetes.max-batch-size int Size of batch during objects read (default 256)
8485
--kubernetes.qps float32 Number of queries per second for k8s API (default 32)
8586
--log.format string Set log format. Allowed values: 'pretty', 'JSON'. If empty, default format is used (default "pretty")
86-
--log.level stringArray Set log levels in format <level> or <logger>=<level>. Possible loggers: action, agency, api-server, assertion, backup-operator, chaos-monkey, crd, deployment, deployment-ci, deployment-reconcile, deployment-replication, deployment-resilience, deployment-resources, deployment-storage, deployment-storage-pc, deployment-storage-service, generic-parent-operator, helm, http, inspector, integration-authn-v1, integration-config-v1, integration-envoy-auth-v3, integration-scheduler-v2, integration-storage-v1-s3, integration-storage-v2, integrations, k8s-client, kubernetes-access, kubernetes-client, kubernetes-informer, monitor, networking-route-operator, operator, operator-arangojob-handler, operator-v2, operator-v2-event, operator-v2-worker, panics, platform-chart-operator, platform-pod-shutdown, platform-storage-operator, pod_compare, root, root-event-recorder, scheduler-batchjob-operator, scheduler-cronjob-operator, scheduler-deployment-operator, scheduler-pod-operator, scheduler-profile-operator, server, server-authentication, webhook (default [info])
87+
--log.level stringArray Set log levels in format <level> or <logger>=<level>. Possible loggers: action, agency, api-server, assertion, backup-operator, chaos-monkey, crd, deployment, deployment-ci, deployment-reconcile, deployment-replication, deployment-resilience, deployment-resources, deployment-storage, deployment-storage-pc, deployment-storage-service, generic-parent-operator, helm, http, inspector, integration-authn-v1, integration-config-v1, integration-envoy-auth-v3, integration-scheduler-v2, integration-storage-v1-s3, integration-storage-v2, integrations, k8s-client, kubernetes, kubernetes-access, kubernetes-client, kubernetes-informer, monitor, networking-route-operator, operator, operator-arangojob-handler, operator-v2, operator-v2-event, operator-v2-worker, panics, platform-chart-operator, platform-pod-shutdown, platform-storage-operator, pod_compare, root, root-event-recorder, scheduler-batchjob-operator, scheduler-cronjob-operator, scheduler-deployment-operator, scheduler-pod-operator, scheduler-profile-operator, server, server-authentication, webhook (default [info])
8788
--log.sampling If true, operator will try to minimize duplication of logging events (default true)
8889
--log.stdout If true, operator will log to the stdout (default true)
8990
--memory-limit uint Define memory limit for hard shutdown and the dump of goroutines. Used for testing

docs/cli/arangodb_operator_platform.md

+62
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ Usage:
1414
Available Commands:
1515
completion Generate the autocompletion script for the specified shell
1616
help Help about any command
17+
package Release Package related operations
1718
registry Registry related operations
1819
service Service related operations
1920
@@ -178,3 +179,64 @@ Global Flags:
178179
```
179180
[END_INJECT]: # (arangodb_operator_platform_service_status_cmd)
180181

182+
# ArangoDB Operator Platform Package Command
183+
184+
[START_INJECT]: # (arangodb_operator_platform_package_cmd)
185+
```
186+
Release Package related operations
187+
188+
Usage:
189+
arangodb_operator_platform package [command]
190+
191+
Available Commands:
192+
dump Dumps the current setup of the platform
193+
install Installs the specified setup of the platform
194+
195+
Flags:
196+
-h, --help help for package
197+
--platform.name string Kubernetes Platform Name (name of the ArangoDeployment)
198+
199+
Global Flags:
200+
-n, --namespace string Kubernetes Namespace (default "default")
201+
202+
Use "arangodb_operator_platform package [command] --help" for more information about a command.
203+
```
204+
[END_INJECT]: # (arangodb_operator_platform_package_cmd)
205+
206+
# ArangoDB Operator Platform Package Dump Command
207+
208+
[START_INJECT]: # (arangodb_operator_platform_package_dump_cmd)
209+
```
210+
Dumps the current setup of the platform
211+
212+
Usage:
213+
arangodb_operator_platform package dump [flags] deployment
214+
215+
Flags:
216+
-h, --help help for dump
217+
218+
Global Flags:
219+
-n, --namespace string Kubernetes Namespace (default "default")
220+
--platform.name string Kubernetes Platform Name (name of the ArangoDeployment)
221+
```
222+
[END_INJECT]: # (arangodb_operator_platform_package_dump_cmd)
223+
224+
# ArangoDB Operator Platform Package Install Command
225+
226+
[START_INJECT]: # (arangodb_operator_platform_package_install_cmd)
227+
```
228+
Installs the specified setup of the platform
229+
230+
Usage:
231+
arangodb_operator_platform package install [flags] deployment package
232+
233+
Flags:
234+
-h, --help help for install
235+
--platform.stage string Platform Stage Name (default "dev")
236+
237+
Global Flags:
238+
-n, --namespace string Kubernetes Namespace (default "default")
239+
--platform.name string Kubernetes Platform Name (name of the ArangoDeployment)
240+
```
241+
[END_INJECT]: # (arangodb_operator_platform_package_install_cmd)
242+

docs/how-to/debugging.md

-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@ To collect debug package, which contains things like:
2525

2626
Ensure you have debug mode enabled in the operator deployment:
2727
```shell
28-
```bash
2928
helm upgrade --install kube-arangodb \
3029
https://github.com/arangodb/kube-arangodb/releases/download/$VER/kube-arangodb-$VER.tgz \
3130
--set "rbac.extensions.debug=true"

docs/integration-sidecar.md

+2-67
Original file line numberDiff line numberDiff line change
@@ -1,78 +1,13 @@
11
---
22
layout: page
3+
has_children: true
34
title: Integration Sidecars
45
parent: ArangoDBPlatform
5-
nav_order: 1
6+
nav_order: 2
67
---
78

89
# Integration
910

10-
## Profile
11-
12-
### Injection
13-
14-
#### Selector
15-
16-
Using [Selector](./api/ArangoProfile.V1Beta1.md) `.spec.selectors.label` you can select which profiles are going to be applied on the Pod.
17-
18-
To not match any pod:
19-
```yaml
20-
apiVersion: scheduler.arangodb.com/v1beta1
21-
kind: ArangoProfile
22-
metadata:
23-
name: example
24-
spec:
25-
selectors: {}
26-
template: ...
27-
```
28-
29-
To match all pods:
30-
```yaml
31-
apiVersion: scheduler.arangodb.com/v1beta1
32-
kind: ArangoProfile
33-
metadata:
34-
name: example
35-
spec:
36-
selectors:
37-
label:
38-
matchLabels: {}
39-
template: ...
40-
```
41-
42-
To match specific pods (with label key=value):
43-
```yaml
44-
apiVersion: scheduler.arangodb.com/v1beta1
45-
kind: ArangoProfile
46-
metadata:
47-
name: example
48-
spec:
49-
selectors:
50-
label:
51-
matchLabels:
52-
key: value
53-
template: ...
54-
```
55-
56-
#### Selection
57-
58-
Profiles can be injected using name (not only selectors).
59-
60-
In order to inject specific profiles to the pod use label (split by `,`):
61-
62-
```yaml
63-
metadata:
64-
annotations:
65-
profiles.arangodb.com/profiles: "gpu"
66-
```
67-
68-
or
69-
70-
```yaml
71-
metadata:
72-
annotations:
73-
profiles.arangodb.com/profiles: "gpu,internal"
74-
```
75-
7611
## Sidecar
7712

7813
### Resource Types

docs/integration/authentication.v1.md

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
---
22
layout: page
33
title: Integration Sidecar Authentication V1
4-
parent: ArangoDBPlatform
4+
grand_parent: ArangoDBPlatform
5+
parent: Integration Sidecars
56
---
67

78
# Authentication V1

docs/integration/authorization.v0.md

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
---
22
layout: page
33
title: Integration Sidecar Authorization V0
4-
parent: ArangoDBPlatform
4+
grand_parent: ArangoDBPlatform
5+
parent: Integration Sidecars
56
---
67

78
# Authorization V0

docs/integration/scheduler.v1.md

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
---
22
layout: page
33
title: Integration Sidecar Scheduler V1
4-
parent: ArangoDBPlatform
4+
grand_parent: ArangoDBPlatform
5+
parent: Integration Sidecars
56
---
67

78
# Scheduler V1

docs/integration/scheduler.v2.md

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
---
22
layout: page
33
title: Integration Sidecar Scheduler V2
4-
parent: ArangoDBPlatform
4+
grand_parent: ArangoDBPlatform
5+
parent: Integration Sidecars
56
---
67

78
# Scheduler V2

docs/integration/shutdown.v1.md

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
---
22
layout: page
33
title: Integration Sidecar Shutdown V1
4-
parent: ArangoDBPlatform
4+
grand_parent: ArangoDBPlatform
5+
parent: Integration Sidecars
56
---
67

78
# Shutdown V1

docs/integration/storage.v2.md

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
---
22
layout: page
33
title: Integration Sidecar Storage V2
4-
parent: ArangoDBPlatform
4+
grand_parent: ArangoDBPlatform
5+
parent: Integration Sidecars
56
---
67

78
# Storage V2

docs/platform.common.md

+27
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
---
2+
layout: page
3+
title: Common Use Cases
4+
parent: ArangoDBPlatform
5+
nav_order: 1
6+
---
7+
8+
# Custom ImagePullSecrets
9+
10+
To inject ImagePullSecrets to all pods across the Platform [ArangoProfile](./arango-profile-resource.md) can be used.
11+
12+
Example:
13+
```yaml
14+
apiVersion: scheduler.arangodb.com/v1beta1
15+
kind: ArangoProfile
16+
metadata:
17+
name: image-secrets
18+
spec:
19+
selectors:
20+
label:
21+
matchLabels: {}
22+
template:
23+
pod:
24+
imagePullSecrets:
25+
- <Secret Name>
26+
priority: 129
27+
```

0 commit comments

Comments
 (0)