Skip to content

Commit c5962af

Browse files
authored
[Feature] [Platform] Inventory Cluster details (#1815)
1 parent 1832786 commit c5962af

File tree

9 files changed

+342
-35
lines changed

9 files changed

+342
-35
lines changed

CHANGELOG.md

+1
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
- (Docs) Update Refs
66
- (Feature) Expose Agency Shard Details
77
- (Maintenance) Bump Go to 1.23.6, Kubernetes to 1.31.5 and other dependencies
8+
- (Feature) (Platform) Inventory Cluster details
89

910
## [1.2.44](https://github.com/arangodb/kube-arangodb/tree/1.2.44) (2025-02-03)
1011
- (Maintenance) Kubernetes 1.31.1 libraries

README.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -193,9 +193,9 @@ Flags:
193193
--image.discovery.status Discover Operator Image from Pod Status by default. When disabled Pod Spec is used. (default true)
194194
--image.discovery.timeout duration Timeout for image discovery process (default 1m0s)
195195
--internal.scaling-integration Enable Scaling Integration
196-
--kubernetes.burst int Burst for the k8s API (default 30)
196+
--kubernetes.burst int Burst for the k8s API (default 64)
197197
--kubernetes.max-batch-size int Size of batch during objects read (default 256)
198-
--kubernetes.qps float32 Number of queries per second for k8s API (default 15)
198+
--kubernetes.qps float32 Number of queries per second for k8s API (default 32)
199199
--log.format string Set log format. Allowed values: 'pretty', 'JSON'. If empty, default format is used (default "pretty")
200200
--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-config-v1, integration-envoy-auth-v3, integration-scheduler-v2, integration-storage-v1-s3, integration-storage-v2, integrations, k8s-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])
201201
--log.sampling If true, operator will try to minimize duplication of logging events (default true)

docs/cli/arangodb_operator.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -78,9 +78,9 @@ Flags:
7878
--image.discovery.status Discover Operator Image from Pod Status by default. When disabled Pod Spec is used. (default true)
7979
--image.discovery.timeout duration Timeout for image discovery process (default 1m0s)
8080
--internal.scaling-integration Enable Scaling Integration
81-
--kubernetes.burst int Burst for the k8s API (default 30)
81+
--kubernetes.burst int Burst for the k8s API (default 64)
8282
--kubernetes.max-batch-size int Size of batch during objects read (default 256)
83-
--kubernetes.qps float32 Number of queries per second for k8s API (default 15)
83+
--kubernetes.qps float32 Number of queries per second for k8s API (default 32)
8484
--log.format string Set log format. Allowed values: 'pretty', 'JSON'. If empty, default format is used (default "pretty")
8585
--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-config-v1, integration-envoy-auth-v3, integration-scheduler-v2, integration-storage-v1-s3, integration-storage-v2, integrations, k8s-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])
8686
--log.sampling If true, operator will try to minimize duplication of logging events (default true)

integrations/inventory/v1/definition/inventory.go

+29-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,10 @@
2020

2121
package definition
2222

23-
import ugrpc "github.com/arangodb/kube-arangodb/pkg/util/grpc"
23+
import (
24+
api "github.com/arangodb/kube-arangodb/pkg/apis/deployment/v1"
25+
ugrpc "github.com/arangodb/kube-arangodb/pkg/util/grpc"
26+
)
2427

2528
func (s *Inventory) JSON() ([]byte, error) {
2629
if s == nil {
@@ -29,3 +32,28 @@ func (s *Inventory) JSON() ([]byte, error) {
2932

3033
return ugrpc.Marshal(s)
3134
}
35+
36+
func NewArangoDBConfiguration(spec api.DeploymentSpec, status api.DeploymentStatus) *ArangoDBConfiguration {
37+
var cfg ArangoDBConfiguration
38+
39+
switch spec.Mode.Get() {
40+
case api.DeploymentModeSingle:
41+
cfg.Mode = ArangoDBMode_ARANGO_DB_MODE_SINGLE
42+
case api.DeploymentModeActiveFailover:
43+
cfg.Mode = ArangoDBMode_ARANGO_DB_MODE_ACTIVE_FAILOVER
44+
case api.DeploymentModeCluster:
45+
cfg.Mode = ArangoDBMode_ARANGO_DB_MODE_CLUSTER
46+
}
47+
48+
cfg.Edition = ArangoDBEdition_ARANGO_DB_EDITION_COMMUNITY
49+
50+
if i := status.CurrentImage; i != nil {
51+
if i.Enterprise {
52+
cfg.Edition = ArangoDBEdition_ARANGO_DB_EDITION_ENTERPRISE
53+
}
54+
55+
cfg.Version = string(i.ArangoDBVersion)
56+
}
57+
58+
return &cfg
59+
}

0 commit comments

Comments
 (0)