mirror of
https://github.com/arangodb/kube-arangodb.git
synced 2024-12-14 11:57:37 +00:00
[Maintenance] Update K8S API to 1.29.2 (#1615)
This commit is contained in:
parent
55e9220aca
commit
0157381677
68 changed files with 3794 additions and 1010 deletions
|
@ -77,6 +77,8 @@ linters-settings:
|
|||
alias: pbSharedV1
|
||||
- pkg: github.com/arangodb/kube-arangodb/integrations/shared/v1
|
||||
alias: pbImplSharedV1
|
||||
- pkg: github.com/arangodb/kube-arangodb/pkg/util/k8sutil/resources
|
||||
alias: kresources
|
||||
gci:
|
||||
sections:
|
||||
- standard
|
||||
|
|
|
@ -14,6 +14,7 @@
|
|||
- (Maintenance) Update Go to 1.21.8 & Dependencies
|
||||
- (Feature) (ArangoBackup) Propagate message during retries
|
||||
- (Bugfix) Fix ActiveFailover Mode
|
||||
- (Maintenance) Update K8S API to 1.29.2
|
||||
|
||||
## [1.2.38](https://github.com/arangodb/kube-arangodb/tree/1.2.38) (2024-02-22)
|
||||
- (Feature) Extract GRPC Server
|
||||
|
|
|
@ -1,5 +1,12 @@
|
|||
# Maintainer Instructions
|
||||
|
||||
## Build
|
||||
|
||||
Due to changes in the upstream Kubernetes API Dependency, by default Client and Operator will compile with Kubernetes 1.29+
|
||||
|
||||
If Client is used with:
|
||||
- 1.28 or lower, build tag `kube_arangodb_k8s_1_28` is required
|
||||
|
||||
## Before
|
||||
|
||||
To run templating models HELM needs to be installed. We are supporting HELM 2.14+
|
||||
|
|
4
Makefile
4
Makefile
|
@ -9,8 +9,8 @@ ifeq ($(shell uname),Darwin)
|
|||
REALPATH ?= grealpath
|
||||
endif
|
||||
|
||||
KUBERNETES_VERSION_MINOR:=28
|
||||
KUBERNETES_VERSION_PATCH:=5
|
||||
KUBERNETES_VERSION_MINOR:=29
|
||||
KUBERNETES_VERSION_PATCH:=2
|
||||
|
||||
PROJECT := arangodb_operator
|
||||
SCRIPTDIR := $(shell pwd)
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -24,5 +24,5 @@ JobTemplate holds the Kubernetes Job Template
|
|||
|
||||
Links:
|
||||
* [Kubernetes Documentation](https://kubernetes.io/docs/concepts/workloads/controllers/job/)
|
||||
* [Documentation of batch.JobSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#jobspec-v1-batch)
|
||||
* [Documentation of batch.JobSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#jobspec-v1-batch)
|
||||
|
||||
|
|
|
@ -82,5 +82,5 @@ Type: `[]core.Toleration` <sup>[\[ref\]](https://github.com/arangodb/kube-arango
|
|||
Tolerations specifies the tolerations added to pods of storage provisioner
|
||||
|
||||
Links:
|
||||
* [Documentation of core.Toleration](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#toleration-v1-core)
|
||||
* [Documentation of core.Toleration](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#toleration-v1-core)
|
||||
|
||||
|
|
|
@ -79,7 +79,7 @@ Type: `core.EnvVar` <sup>[\[ref\]](https://github.com/arangodb/kube-arangodb/blo
|
|||
Env keeps the information about environment variables provided to the container
|
||||
|
||||
Links:
|
||||
* [Kubernetes Docs](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#envvar-v1-core)
|
||||
* [Kubernetes Docs](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#envvar-v1-core)
|
||||
|
||||
***
|
||||
|
||||
|
@ -90,7 +90,7 @@ Type: `core.EnvFromSource` <sup>[\[ref\]](https://github.com/arangodb/kube-arang
|
|||
EnvFrom keeps the information about environment variable sources provided to the container
|
||||
|
||||
Links:
|
||||
* [Kubernetes Docs](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#envfromsource-v1-core)
|
||||
* [Kubernetes Docs](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#envfromsource-v1-core)
|
||||
|
||||
***
|
||||
|
||||
|
@ -188,7 +188,7 @@ Type: `core.ResourceRequirements` <sup>[\[ref\]](https://github.com/arangodb/kub
|
|||
Resources holds resource requests & limits for container
|
||||
|
||||
Links:
|
||||
* [Documentation of core.ResourceRequirements](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#resourcerequirements-v1-core)
|
||||
* [Documentation of core.ResourceRequirements](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#resourcerequirements-v1-core)
|
||||
|
||||
***
|
||||
|
||||
|
@ -233,7 +233,7 @@ Type: `core.EnvVar` <sup>[\[ref\]](https://github.com/arangodb/kube-arangodb/blo
|
|||
Env keeps the information about environment variables provided to the container
|
||||
|
||||
Links:
|
||||
* [Kubernetes Docs](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#envvar-v1-core)
|
||||
* [Kubernetes Docs](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#envvar-v1-core)
|
||||
|
||||
***
|
||||
|
||||
|
@ -244,7 +244,7 @@ Type: `core.EnvFromSource` <sup>[\[ref\]](https://github.com/arangodb/kube-arang
|
|||
EnvFrom keeps the information about environment variable sources provided to the container
|
||||
|
||||
Links:
|
||||
* [Kubernetes Docs](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#envfromsource-v1-core)
|
||||
* [Kubernetes Docs](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#envfromsource-v1-core)
|
||||
|
||||
***
|
||||
|
||||
|
@ -342,7 +342,7 @@ Type: `core.ResourceRequirements` <sup>[\[ref\]](https://github.com/arangodb/kub
|
|||
Resources holds resource requests & limits for container
|
||||
|
||||
Links:
|
||||
* [Documentation of core.ResourceRequirements](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#resourcerequirements-v1-core)
|
||||
* [Documentation of core.ResourceRequirements](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#resourcerequirements-v1-core)
|
||||
|
||||
***
|
||||
|
||||
|
@ -449,7 +449,7 @@ Type: `core.EnvVar` <sup>[\[ref\]](https://github.com/arangodb/kube-arangodb/blo
|
|||
Env keeps the information about environment variables provided to the container
|
||||
|
||||
Links:
|
||||
* [Kubernetes Docs](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#envvar-v1-core)
|
||||
* [Kubernetes Docs](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#envvar-v1-core)
|
||||
|
||||
***
|
||||
|
||||
|
@ -460,7 +460,7 @@ Type: `core.EnvFromSource` <sup>[\[ref\]](https://github.com/arangodb/kube-arang
|
|||
EnvFrom keeps the information about environment variable sources provided to the container
|
||||
|
||||
Links:
|
||||
* [Kubernetes Docs](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#envfromsource-v1-core)
|
||||
* [Kubernetes Docs](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#envfromsource-v1-core)
|
||||
|
||||
***
|
||||
|
||||
|
@ -558,7 +558,7 @@ Type: `core.ResourceRequirements` <sup>[\[ref\]](https://github.com/arangodb/kub
|
|||
Resources holds resource requests & limits for container
|
||||
|
||||
Links:
|
||||
* [Documentation of core.ResourceRequirements](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#resourcerequirements-v1-core)
|
||||
* [Documentation of core.ResourceRequirements](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#resourcerequirements-v1-core)
|
||||
|
||||
***
|
||||
|
||||
|
@ -651,7 +651,7 @@ Type: `core.EnvVar` <sup>[\[ref\]](https://github.com/arangodb/kube-arangodb/blo
|
|||
Env keeps the information about environment variables provided to the container
|
||||
|
||||
Links:
|
||||
* [Kubernetes Docs](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#envvar-v1-core)
|
||||
* [Kubernetes Docs](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#envvar-v1-core)
|
||||
|
||||
***
|
||||
|
||||
|
@ -662,7 +662,7 @@ Type: `core.EnvFromSource` <sup>[\[ref\]](https://github.com/arangodb/kube-arang
|
|||
EnvFrom keeps the information about environment variable sources provided to the container
|
||||
|
||||
Links:
|
||||
* [Kubernetes Docs](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#envfromsource-v1-core)
|
||||
* [Kubernetes Docs](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#envfromsource-v1-core)
|
||||
|
||||
***
|
||||
|
||||
|
@ -795,7 +795,7 @@ Type: `core.ResourceRequirements` <sup>[\[ref\]](https://github.com/arangodb/kub
|
|||
Resources holds resource requests & limits for container
|
||||
|
||||
Links:
|
||||
* [Documentation of core.ResourceRequirements](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#resourcerequirements-v1-core)
|
||||
* [Documentation of core.ResourceRequirements](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#resourcerequirements-v1-core)
|
||||
|
||||
***
|
||||
|
||||
|
@ -897,7 +897,7 @@ Type: `core.EnvVar` <sup>[\[ref\]](https://github.com/arangodb/kube-arangodb/blo
|
|||
Env keeps the information about environment variables provided to the container
|
||||
|
||||
Links:
|
||||
* [Kubernetes Docs](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#envvar-v1-core)
|
||||
* [Kubernetes Docs](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#envvar-v1-core)
|
||||
|
||||
***
|
||||
|
||||
|
@ -908,7 +908,7 @@ Type: `core.EnvFromSource` <sup>[\[ref\]](https://github.com/arangodb/kube-arang
|
|||
EnvFrom keeps the information about environment variable sources provided to the container
|
||||
|
||||
Links:
|
||||
* [Kubernetes Docs](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#envfromsource-v1-core)
|
||||
* [Kubernetes Docs](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#envfromsource-v1-core)
|
||||
|
||||
***
|
||||
|
||||
|
@ -1041,7 +1041,7 @@ Type: `core.ResourceRequirements` <sup>[\[ref\]](https://github.com/arangodb/kub
|
|||
Resources holds resource requests & limits for container
|
||||
|
||||
Links:
|
||||
* [Documentation of core.ResourceRequirements](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#resourcerequirements-v1-core)
|
||||
* [Documentation of core.ResourceRequirements](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#resourcerequirements-v1-core)
|
||||
|
||||
***
|
||||
|
||||
|
@ -1143,7 +1143,7 @@ Type: `core.EnvVar` <sup>[\[ref\]](https://github.com/arangodb/kube-arangodb/blo
|
|||
Env keeps the information about environment variables provided to the container
|
||||
|
||||
Links:
|
||||
* [Kubernetes Docs](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#envvar-v1-core)
|
||||
* [Kubernetes Docs](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#envvar-v1-core)
|
||||
|
||||
***
|
||||
|
||||
|
@ -1154,7 +1154,7 @@ Type: `core.EnvFromSource` <sup>[\[ref\]](https://github.com/arangodb/kube-arang
|
|||
EnvFrom keeps the information about environment variable sources provided to the container
|
||||
|
||||
Links:
|
||||
* [Kubernetes Docs](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#envfromsource-v1-core)
|
||||
* [Kubernetes Docs](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#envfromsource-v1-core)
|
||||
|
||||
***
|
||||
|
||||
|
@ -1287,7 +1287,7 @@ Type: `core.ResourceRequirements` <sup>[\[ref\]](https://github.com/arangodb/kub
|
|||
Resources holds resource requests & limits for container
|
||||
|
||||
Links:
|
||||
* [Documentation of core.ResourceRequirements](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#resourcerequirements-v1-core)
|
||||
* [Documentation of core.ResourceRequirements](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#resourcerequirements-v1-core)
|
||||
|
||||
***
|
||||
|
||||
|
@ -1389,7 +1389,7 @@ Type: `core.EnvVar` <sup>[\[ref\]](https://github.com/arangodb/kube-arangodb/blo
|
|||
Env keeps the information about environment variables provided to the container
|
||||
|
||||
Links:
|
||||
* [Kubernetes Docs](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#envvar-v1-core)
|
||||
* [Kubernetes Docs](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#envvar-v1-core)
|
||||
|
||||
***
|
||||
|
||||
|
@ -1400,7 +1400,7 @@ Type: `core.EnvFromSource` <sup>[\[ref\]](https://github.com/arangodb/kube-arang
|
|||
EnvFrom keeps the information about environment variable sources provided to the container
|
||||
|
||||
Links:
|
||||
* [Kubernetes Docs](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#envfromsource-v1-core)
|
||||
* [Kubernetes Docs](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#envfromsource-v1-core)
|
||||
|
||||
***
|
||||
|
||||
|
@ -1533,7 +1533,7 @@ Type: `core.ResourceRequirements` <sup>[\[ref\]](https://github.com/arangodb/kub
|
|||
Resources holds resource requests & limits for container
|
||||
|
||||
Links:
|
||||
* [Documentation of core.ResourceRequirements](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#resourcerequirements-v1-core)
|
||||
* [Documentation of core.ResourceRequirements](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#resourcerequirements-v1-core)
|
||||
|
||||
***
|
||||
|
||||
|
@ -1635,7 +1635,7 @@ Type: `core.EnvVar` <sup>[\[ref\]](https://github.com/arangodb/kube-arangodb/blo
|
|||
Env keeps the information about environment variables provided to the container
|
||||
|
||||
Links:
|
||||
* [Kubernetes Docs](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#envvar-v1-core)
|
||||
* [Kubernetes Docs](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#envvar-v1-core)
|
||||
|
||||
***
|
||||
|
||||
|
@ -1646,7 +1646,7 @@ Type: `core.EnvFromSource` <sup>[\[ref\]](https://github.com/arangodb/kube-arang
|
|||
EnvFrom keeps the information about environment variable sources provided to the container
|
||||
|
||||
Links:
|
||||
* [Kubernetes Docs](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#envfromsource-v1-core)
|
||||
* [Kubernetes Docs](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#envfromsource-v1-core)
|
||||
|
||||
***
|
||||
|
||||
|
@ -1779,7 +1779,7 @@ Type: `core.ResourceRequirements` <sup>[\[ref\]](https://github.com/arangodb/kub
|
|||
Resources holds resource requests & limits for container
|
||||
|
||||
Links:
|
||||
* [Documentation of core.ResourceRequirements](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#resourcerequirements-v1-core)
|
||||
* [Documentation of core.ResourceRequirements](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#resourcerequirements-v1-core)
|
||||
|
||||
***
|
||||
|
||||
|
@ -1881,7 +1881,7 @@ Type: `core.EnvVar` <sup>[\[ref\]](https://github.com/arangodb/kube-arangodb/blo
|
|||
Env keeps the information about environment variables provided to the container
|
||||
|
||||
Links:
|
||||
* [Kubernetes Docs](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#envvar-v1-core)
|
||||
* [Kubernetes Docs](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#envvar-v1-core)
|
||||
|
||||
***
|
||||
|
||||
|
@ -1892,7 +1892,7 @@ Type: `core.EnvFromSource` <sup>[\[ref\]](https://github.com/arangodb/kube-arang
|
|||
EnvFrom keeps the information about environment variable sources provided to the container
|
||||
|
||||
Links:
|
||||
* [Kubernetes Docs](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#envfromsource-v1-core)
|
||||
* [Kubernetes Docs](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#envfromsource-v1-core)
|
||||
|
||||
***
|
||||
|
||||
|
@ -2025,7 +2025,7 @@ Type: `core.ResourceRequirements` <sup>[\[ref\]](https://github.com/arangodb/kub
|
|||
Resources holds resource requests & limits for container
|
||||
|
||||
Links:
|
||||
* [Documentation of core.ResourceRequirements](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#resourcerequirements-v1-core)
|
||||
* [Documentation of core.ResourceRequirements](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#resourcerequirements-v1-core)
|
||||
|
||||
***
|
||||
|
||||
|
@ -2127,7 +2127,7 @@ Type: `core.EnvVar` <sup>[\[ref\]](https://github.com/arangodb/kube-arangodb/blo
|
|||
Env keeps the information about environment variables provided to the container
|
||||
|
||||
Links:
|
||||
* [Kubernetes Docs](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#envvar-v1-core)
|
||||
* [Kubernetes Docs](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#envvar-v1-core)
|
||||
|
||||
***
|
||||
|
||||
|
@ -2138,7 +2138,7 @@ Type: `core.EnvFromSource` <sup>[\[ref\]](https://github.com/arangodb/kube-arang
|
|||
EnvFrom keeps the information about environment variable sources provided to the container
|
||||
|
||||
Links:
|
||||
* [Kubernetes Docs](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#envfromsource-v1-core)
|
||||
* [Kubernetes Docs](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#envfromsource-v1-core)
|
||||
|
||||
***
|
||||
|
||||
|
@ -2271,7 +2271,7 @@ Type: `core.ResourceRequirements` <sup>[\[ref\]](https://github.com/arangodb/kub
|
|||
Resources holds resource requests & limits for container
|
||||
|
||||
Links:
|
||||
* [Documentation of core.ResourceRequirements](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#resourcerequirements-v1-core)
|
||||
* [Documentation of core.ResourceRequirements](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#resourcerequirements-v1-core)
|
||||
|
||||
***
|
||||
|
||||
|
|
|
@ -121,7 +121,7 @@ Type: `core.EnvVar` <sup>[\[ref\]](https://github.com/arangodb/kube-arangodb/blo
|
|||
Env keeps the information about environment variables provided to the container
|
||||
|
||||
Links:
|
||||
* [Kubernetes Docs](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#envvar-v1-core)
|
||||
* [Kubernetes Docs](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#envvar-v1-core)
|
||||
|
||||
***
|
||||
|
||||
|
@ -132,7 +132,7 @@ Type: `core.EnvFromSource` <sup>[\[ref\]](https://github.com/arangodb/kube-arang
|
|||
EnvFrom keeps the information about environment variable sources provided to the container
|
||||
|
||||
Links:
|
||||
* [Kubernetes Docs](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#envfromsource-v1-core)
|
||||
* [Kubernetes Docs](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#envfromsource-v1-core)
|
||||
|
||||
***
|
||||
|
||||
|
@ -222,7 +222,7 @@ Type: `core.ResourceRequirements` <sup>[\[ref\]](https://github.com/arangodb/kub
|
|||
Resources holds resource requests & limits for container
|
||||
|
||||
Links:
|
||||
* [Documentation of core.ResourceRequirements](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#resourcerequirements-v1-core)
|
||||
* [Documentation of core.ResourceRequirements](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#resourcerequirements-v1-core)
|
||||
|
||||
***
|
||||
|
||||
|
|
|
@ -47,7 +47,7 @@ Type: `core.ResourceRequirements` <sup>[\[ref\]](https://github.com/arangodb/kub
|
|||
Resources holds resource requests & limits. Overrides template provided on the group level.
|
||||
|
||||
Links:
|
||||
* [Documentation of core.ResourceRequirements](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#resourcerequirements-v1-core)
|
||||
* [Documentation of core.ResourceRequirements](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#resourcerequirements-v1-core)
|
||||
|
||||
***
|
||||
|
||||
|
@ -58,7 +58,7 @@ Type: `core.PersistentVolumeClaim` <sup>[\[ref\]](https://github.com/arangodb/ku
|
|||
VolumeClaimTemplate specifies a template for volume claims. Overrides template provided on the group level.
|
||||
|
||||
Links:
|
||||
* [Documentation of core.PersistentVolumeClaim](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#persistentvolumeclaim-v1-core)
|
||||
* [Documentation of core.PersistentVolumeClaim](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#persistentvolumeclaim-v1-core)
|
||||
|
||||
***
|
||||
|
||||
|
@ -88,7 +88,7 @@ Type: `core.PodTemplateSpec` <sup>[\[ref\]](https://github.com/arangodb/kube-ara
|
|||
PodSpec specifies the Pod Spec used for this Member.
|
||||
|
||||
Links:
|
||||
* [Documentation of core.PodTemplateSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#podtemplatespec-v1-core)
|
||||
* [Documentation of core.PodTemplateSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#podtemplatespec-v1-core)
|
||||
|
||||
***
|
||||
|
||||
|
|
48
go.mod
48
go.mod
|
@ -1,24 +1,26 @@
|
|||
module github.com/arangodb/kube-arangodb
|
||||
|
||||
go 1.20
|
||||
go 1.21
|
||||
|
||||
toolchain go1.21.8
|
||||
|
||||
replace (
|
||||
github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring => github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring v0.46.0
|
||||
github.com/prometheus-operator/prometheus-operator/pkg/client => github.com/prometheus-operator/prometheus-operator/pkg/client v0.46.0
|
||||
github.com/stretchr/testify => github.com/stretchr/testify v1.5.1
|
||||
github.com/stretchr/testify => github.com/stretchr/testify v1.9.0
|
||||
github.com/ugorji/go => github.com/ugorji/go v0.0.0-20181209151446-772ced7fd4c2
|
||||
|
||||
k8s.io/api => k8s.io/api v0.28.5
|
||||
k8s.io/apiextensions-apiserver => k8s.io/apiextensions-apiserver v0.28.5
|
||||
k8s.io/apimachinery => k8s.io/apimachinery v0.28.5
|
||||
k8s.io/apiserver => k8s.io/apiserver v0.28.5
|
||||
k8s.io/client-go => k8s.io/client-go v0.28.5
|
||||
k8s.io/cloud-provider => k8s.io/cloud-provider v0.28.5
|
||||
k8s.io/cluster-bootstrap => k8s.io/cluster-bootstrap v0.28.5
|
||||
k8s.io/api => k8s.io/api v0.29.2
|
||||
k8s.io/apiextensions-apiserver => k8s.io/apiextensions-apiserver v0.29.2
|
||||
k8s.io/apimachinery => k8s.io/apimachinery v0.29.2
|
||||
k8s.io/apiserver => k8s.io/apiserver v0.29.2
|
||||
k8s.io/client-go => k8s.io/client-go v0.29.2
|
||||
k8s.io/cloud-provider => k8s.io/cloud-provider v0.29.2
|
||||
k8s.io/cluster-bootstrap => k8s.io/cluster-bootstrap v0.29.2
|
||||
k8s.io/code-generator => ./deps/k8s.io/code-generator
|
||||
k8s.io/component-base => k8s.io/component-base v0.28.5
|
||||
k8s.io/kubernetes => k8s.io/kubernetes v0.28.5
|
||||
k8s.io/metrics => k8s.io/metrics v0.28.5
|
||||
k8s.io/component-base => k8s.io/component-base v0.29.2
|
||||
k8s.io/kubernetes => k8s.io/kubernetes v0.29.2
|
||||
k8s.io/metrics => k8s.io/metrics v0.29.2
|
||||
)
|
||||
|
||||
require (
|
||||
|
@ -59,11 +61,11 @@ require (
|
|||
google.golang.org/grpc v1.60.1
|
||||
google.golang.org/protobuf v1.33.0
|
||||
gopkg.in/yaml.v3 v3.0.1
|
||||
k8s.io/api v0.28.5
|
||||
k8s.io/apiextensions-apiserver v0.28.5
|
||||
k8s.io/apimachinery v0.28.5
|
||||
k8s.io/client-go v0.28.5
|
||||
k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9
|
||||
k8s.io/api v0.29.2
|
||||
k8s.io/apiextensions-apiserver v0.29.2
|
||||
k8s.io/apimachinery v0.29.2
|
||||
k8s.io/client-go v0.29.2
|
||||
k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00
|
||||
sigs.k8s.io/yaml v1.3.0
|
||||
)
|
||||
|
||||
|
@ -76,7 +78,7 @@ require (
|
|||
github.com/chenzhuoyu/base64x v0.0.0-20221115062448-fe3a3abad311 // indirect
|
||||
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
|
||||
github.com/dchest/siphash v1.2.2 // indirect
|
||||
github.com/emicklei/go-restful/v3 v3.9.0 // indirect
|
||||
github.com/emicklei/go-restful/v3 v3.11.0 // indirect
|
||||
github.com/evanphx/json-patch v4.12.0+incompatible // indirect
|
||||
github.com/gabriel-vasile/mimetype v1.4.2 // indirect
|
||||
github.com/gin-contrib/sse v0.1.0 // indirect
|
||||
|
@ -94,6 +96,7 @@ require (
|
|||
github.com/google/gnostic-models v0.6.8 // indirect
|
||||
github.com/google/go-cmp v0.6.0 // indirect
|
||||
github.com/google/gofuzz v1.2.0 // indirect
|
||||
github.com/gorilla/websocket v1.5.0 // indirect
|
||||
github.com/imdario/mergo v0.3.6 // indirect
|
||||
github.com/inconshreveable/mousetrap v1.1.0 // indirect
|
||||
github.com/josharian/intern v1.0.0 // indirect
|
||||
|
@ -108,12 +111,13 @@ require (
|
|||
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
|
||||
github.com/modern-go/reflect2 v1.0.2 // indirect
|
||||
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
|
||||
github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f // indirect
|
||||
github.com/pavel-v-chernykh/keystore-go v2.1.0+incompatible // indirect
|
||||
github.com/pelletier/go-toml/v2 v2.1.1 // indirect
|
||||
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
|
||||
github.com/prometheus/common v0.44.0 // indirect
|
||||
github.com/prometheus/procfs v0.10.1 // indirect
|
||||
github.com/stretchr/objx v0.4.0 // indirect
|
||||
github.com/stretchr/objx v0.5.2 // indirect
|
||||
github.com/twitchyliquid64/golang-asm v0.15.1 // indirect
|
||||
github.com/ugorji/go/codec v1.2.11 // indirect
|
||||
golang.org/x/arch v0.3.0 // indirect
|
||||
|
@ -126,8 +130,8 @@ require (
|
|||
google.golang.org/genproto/googleapis/rpc v0.0.0-20240102182953-50ed04b92917 // indirect
|
||||
gopkg.in/inf.v0 v0.9.1 // indirect
|
||||
gopkg.in/yaml.v2 v2.4.0 // indirect
|
||||
k8s.io/klog/v2 v2.100.1 // indirect
|
||||
k8s.io/utils v0.0.0-20230406110748-d93618cff8a2 // indirect
|
||||
k8s.io/klog/v2 v2.110.1 // indirect
|
||||
k8s.io/utils v0.0.0-20230726121419-3b25d923346b // indirect
|
||||
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect
|
||||
sigs.k8s.io/structured-merge-diff/v4 v4.2.3 // indirect
|
||||
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 // indirect
|
||||
)
|
||||
|
|
|
@ -29,6 +29,6 @@ type ArangoJobSpec struct {
|
|||
// JobTemplate holds the Kubernetes Job Template
|
||||
// +doc/type: batch.JobSpec
|
||||
// +doc/link: Kubernetes Documentation|https://kubernetes.io/docs/concepts/workloads/controllers/job/
|
||||
// +doc/link: Documentation of batch.JobSpec|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#jobspec-v1-batch
|
||||
// +doc/link: Documentation of batch.JobSpec|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#jobspec-v1-batch
|
||||
JobTemplate *batch.JobSpec `json:"jobTemplate,omitempty"`
|
||||
}
|
||||
|
|
|
@ -50,7 +50,7 @@ func GetArangoMemberPodTemplate(pod *core.PodTemplateSpec, podSpecChecksum strin
|
|||
type ArangoMemberPodTemplate struct {
|
||||
// PodSpec specifies the Pod Spec used for this Member.
|
||||
// +doc/type: core.PodTemplateSpec
|
||||
// +doc/link: Documentation of core.PodTemplateSpec|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#podtemplatespec-v1-core
|
||||
// +doc/link: Documentation of core.PodTemplateSpec|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#podtemplatespec-v1-core
|
||||
PodSpec *core.PodTemplateSpec `json:"podSpec,omitempty"`
|
||||
|
||||
// PodSpecChecksum keep the Pod Spec Checksum (without ignored fields).
|
||||
|
|
|
@ -29,12 +29,12 @@ import (
|
|||
type ArangoMemberSpecOverrides struct {
|
||||
// VolumeClaimTemplate specifies a template for volume claims. Overrides template provided on the group level.
|
||||
// +doc/type: core.PersistentVolumeClaim
|
||||
// +doc/link: Documentation of core.PersistentVolumeClaim|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#persistentvolumeclaim-v1-core
|
||||
// +doc/link: Documentation of core.PersistentVolumeClaim|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#persistentvolumeclaim-v1-core
|
||||
VolumeClaimTemplate *core.PersistentVolumeClaim `json:"volumeClaimTemplate,omitempty"`
|
||||
|
||||
// Resources holds resource requests & limits. Overrides template provided on the group level.
|
||||
// +doc/type: core.ResourceRequirements
|
||||
// +doc/link: Documentation of core.ResourceRequirements|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#resourcerequirements-v1-core
|
||||
// +doc/link: Documentation of core.ResourceRequirements|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#resourcerequirements-v1-core
|
||||
Resources core.ResourceRequirements `json:"resources,omitempty"`
|
||||
}
|
||||
|
||||
|
|
|
@ -88,7 +88,7 @@ type MetricsSpec struct {
|
|||
Authentication MetricsAuthenticationSpec `json:"authentication,omitempty"`
|
||||
// Resources holds resource requests & limits
|
||||
// +doc/type: core.ResourceRequirements
|
||||
// +doc/link: Documentation of core.ResourceRequirements|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#resourcerequirements-v1-core
|
||||
// +doc/link: Documentation of core.ResourceRequirements|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#resourcerequirements-v1-core
|
||||
Resources core.ResourceRequirements `json:"resources,omitempty"`
|
||||
|
||||
// Mode define metrics exported mode
|
||||
|
|
|
@ -27,7 +27,7 @@ import (
|
|||
type LifecycleSpec struct {
|
||||
// Resources holds resource requests & limits
|
||||
// +doc/type: core.ResourceRequirements
|
||||
// +doc/link: Documentation of core.ResourceRequirements|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#resourcerequirements-v1-core
|
||||
// +doc/link: Documentation of core.ResourceRequirements|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#resourcerequirements-v1-core
|
||||
Resources core.ResourceRequirements `json:"resources,omitempty"`
|
||||
}
|
||||
|
||||
|
|
|
@ -88,7 +88,7 @@ type MemberStatus struct {
|
|||
// Deprecated
|
||||
// SideCarSpecs contains map of specifications specified for side cars
|
||||
// +doc/type: map[string]core.Container
|
||||
// +doc/link: Documentation of core.Container|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#container-v1-core
|
||||
// +doc/link: Documentation of core.Container|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#container-v1-core
|
||||
SideCarSpecs map[string]core.Container `json:"sidecars-specs,omitempty"`
|
||||
// Deprecated
|
||||
// PodName holds the name of the Pod that currently runs this member
|
||||
|
|
|
@ -60,7 +60,7 @@ func (e *EphemeralVolumes) getTempSize(d *resource.Quantity) *resource.Quantity
|
|||
type EphemeralVolume struct {
|
||||
// Size define size of the ephemeral volume
|
||||
// +doc/type: resource.Quantity
|
||||
// +doc/link: Documentation of resource.Quantity|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#quantity-resource-core
|
||||
// +doc/link: Documentation of resource.Quantity|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#quantity-resource-core
|
||||
Size *resource.Quantity `json:"size"`
|
||||
}
|
||||
|
||||
|
|
|
@ -87,7 +87,7 @@ const (
|
|||
type ServerGroupInitContainers struct {
|
||||
// Containers contains list of containers
|
||||
// +doc/type: []core.Container
|
||||
// +doc/link: Documentation of core.Container|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#container-v1-core
|
||||
// +doc/link: Documentation of core.Container|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#container-v1-core
|
||||
Containers []core.Container `json:"containers,omitempty"`
|
||||
|
||||
// Mode keep container replace mode
|
||||
|
|
|
@ -73,12 +73,12 @@ type ServerGroupSpecSecurityContext struct {
|
|||
|
||||
// SeccompProfile defines a pod/container's seccomp profile settings. Only one profile source may be set.
|
||||
// +doc/type: core.SeccompProfile
|
||||
// +doc/link: Documentation of core.SeccompProfile|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#seccompprofile-v1-core
|
||||
// +doc/link: Documentation of core.SeccompProfile|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#seccompprofile-v1-core
|
||||
SeccompProfile *core.SeccompProfile `json:"seccompProfile,omitempty" protobuf:"bytes,11,opt,name=seccompProfile"`
|
||||
|
||||
// SELinuxOptions are the labels to be applied to the container
|
||||
// +doc/type: core.SELinuxOptions
|
||||
// +doc/link: Documentation of core.SELinuxOptions|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#selinuxoptions-v1-core
|
||||
// +doc/link: Documentation of core.SELinuxOptions|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#selinuxoptions-v1-core
|
||||
SELinuxOptions *core.SELinuxOptions `json:"seLinuxOptions,omitempty" protobuf:"bytes,3,opt,name=seLinuxOptions"`
|
||||
}
|
||||
|
||||
|
|
|
@ -33,6 +33,7 @@ import (
|
|||
arangodOptions "github.com/arangodb/kube-arangodb/pkg/util/arangod/options"
|
||||
arangosyncOptions "github.com/arangodb/kube-arangodb/pkg/util/arangosync/options"
|
||||
"github.com/arangodb/kube-arangodb/pkg/util/errors"
|
||||
kresources "github.com/arangodb/kube-arangodb/pkg/util/k8sutil/resources"
|
||||
)
|
||||
|
||||
// ServerGroupShutdownMethod enum of possible shutdown methods
|
||||
|
@ -93,7 +94,7 @@ type ServerGroupSpec struct {
|
|||
StorageClassName *string `json:"storageClassName,omitempty"`
|
||||
// Resources holds resource requests & limits
|
||||
// +doc/type: core.ResourceRequirements
|
||||
// +doc/link: Documentation of core.ResourceRequirements|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#resourcerequirements-v1-core
|
||||
// +doc/link: Documentation of core.ResourceRequirements|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#resourcerequirements-v1-core
|
||||
Resources core.ResourceRequirements `json:"resources,omitempty"`
|
||||
// OverrideDetectedTotalMemory determines if memory should be overridden based on values in resources.
|
||||
// If is set to true and Container Memory Limits are set, it sets Container Environment Variable `ARANGODB_OVERRIDE_DETECTED_TOTAL_MEMORY` to the value from the Container Memory Limits.
|
||||
|
@ -120,7 +121,7 @@ type ServerGroupSpec struct {
|
|||
// - `node.alpha.kubernetes.io/unreachable` (will be removed in future version)
|
||||
// For more information on tolerations, consult the https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
|
||||
// +doc/type: []core.Toleration
|
||||
// +doc/link: Documentation of core.Toleration|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#toleration-v1-core
|
||||
// +doc/link: Documentation of core.Toleration|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#toleration-v1-core
|
||||
Tolerations []core.Toleration `json:"tolerations,omitempty"`
|
||||
// Annotations specified the annotations added to Pods in this group.
|
||||
// Annotations are merged with `spec.annotations`.
|
||||
|
@ -163,7 +164,7 @@ type ServerGroupSpec struct {
|
|||
// with size as specified by `spec.<group>.resources.requests.storage` will be created. In that case `storage`
|
||||
// and `iops` is not forwarded to the pods resource requirements.
|
||||
// +doc/type: core.PersistentVolumeClaim
|
||||
// +doc/link: Documentation of core.PersistentVolumeClaim|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#persistentvolumeclaim-v1-core
|
||||
// +doc/link: Documentation of core.PersistentVolumeClaim|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#persistentvolumeclaim-v1-core
|
||||
VolumeClaimTemplate *core.PersistentVolumeClaim `json:"volumeClaimTemplate,omitempty"`
|
||||
// VolumeResizeMode specified resize mode for PVCs and PVs
|
||||
// +doc/enum: runtime|PVC will be resized in Pod runtime (EKS, GKE)
|
||||
|
@ -176,22 +177,22 @@ type ServerGroupSpec struct {
|
|||
VolumeAllowShrink *bool `json:"volumeAllowShrink,omitempty"`
|
||||
// AntiAffinity specified additional antiAffinity settings in ArangoDB Pod definitions
|
||||
// +doc/type: core.PodAntiAffinity
|
||||
// +doc/link: Documentation of core.Pod.AntiAffinity|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#podantiaffinity-v1-core
|
||||
// +doc/link: Documentation of core.Pod.AntiAffinity|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#podantiaffinity-v1-core
|
||||
AntiAffinity *core.PodAntiAffinity `json:"antiAffinity,omitempty"`
|
||||
// Affinity specified additional affinity settings in ArangoDB Pod definitions
|
||||
// +doc/type: core.PodAffinity
|
||||
// +doc/link: Documentation of core.PodAffinity|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#podaffinity-v1-core
|
||||
// +doc/link: Documentation of core.PodAffinity|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#podaffinity-v1-core
|
||||
Affinity *core.PodAffinity `json:"affinity,omitempty"`
|
||||
// NodeAffinity specified additional nodeAffinity settings in ArangoDB Pod definitions
|
||||
// +doc/type: core.NodeAffinity
|
||||
// +doc/link: Documentation of code.NodeAffinity|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#nodeaffinity-v1-core
|
||||
// +doc/link: Documentation of code.NodeAffinity|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#nodeaffinity-v1-core
|
||||
NodeAffinity *core.NodeAffinity `json:"nodeAffinity,omitempty"`
|
||||
// SidecarCoreNames is a list of sidecar containers which must run in the pod.
|
||||
// Some names (e.g.: "server", "worker") are reserved, and they don't have any impact.
|
||||
SidecarCoreNames []string `json:"sidecarCoreNames,omitempty"`
|
||||
// Sidecars specifies a list of additional containers to be started
|
||||
// +doc/type: []core.Container
|
||||
// +doc/link: Documentation of core.Container|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#container-v1-core
|
||||
// +doc/link: Documentation of core.Container|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#container-v1-core
|
||||
Sidecars []core.Container `json:"sidecars,omitempty"`
|
||||
// SecurityContext specifies additional `securityContext` settings in ArangoDB Pod definitions.
|
||||
// This is similar (but not fully compatible) to k8s SecurityContext definition.
|
||||
|
@ -201,7 +202,7 @@ type ServerGroupSpec struct {
|
|||
Volumes ServerGroupSpecVolumes `json:"volumes,omitempty"`
|
||||
// VolumeMounts define list of volume mounts mounted into server container
|
||||
// +doc/type: []ServerGroupSpecVolumeMount
|
||||
// +doc/link: Documentation of ServerGroupSpecVolumeMount|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#volumemount-v1-core
|
||||
// +doc/link: Documentation of ServerGroupSpecVolumeMount|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#volumemount-v1-core
|
||||
VolumeMounts ServerGroupSpecVolumeMounts `json:"volumeMounts,omitempty"`
|
||||
// EphemeralVolumes keeps information about ephemeral volumes.
|
||||
EphemeralVolumes *EphemeralVolumes `json:"ephemeralVolumes,omitempty"`
|
||||
|
@ -638,11 +639,11 @@ func (s *ServerGroupSpec) SetDefaults(group ServerGroup, used bool, mode Deploym
|
|||
core.ReadWriteOnce,
|
||||
},
|
||||
VolumeMode: &volumeMode,
|
||||
Resources: core.ResourceRequirements{
|
||||
Resources: kresources.ExtractStorageResourceRequirement(core.ResourceRequirements{
|
||||
Requests: core.ResourceList{
|
||||
core.ResourceStorage: resource.MustParse("8Gi"),
|
||||
},
|
||||
},
|
||||
}),
|
||||
},
|
||||
}
|
||||
}
|
||||
|
|
|
@ -129,27 +129,27 @@ type ServerGroupSpecVolume struct {
|
|||
|
||||
// Secret which should be mounted into pod
|
||||
// +doc/type: core.SecretVolumeSource
|
||||
// +doc/link: Documentation of core.SecretVolumeSource|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#secretvolumesource-v1-core
|
||||
// +doc/link: Documentation of core.SecretVolumeSource|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#secretvolumesource-v1-core
|
||||
Secret *ServerGroupSpecVolumeSecret `json:"secret,omitempty"`
|
||||
|
||||
// ConfigMap which should be mounted into pod
|
||||
// +doc/type: core.ConfigMapVolumeSource
|
||||
// +doc/link: Documentation of core.ConfigMapVolumeSource|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#configmapvolumesource-v1-core
|
||||
// +doc/link: Documentation of core.ConfigMapVolumeSource|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#configmapvolumesource-v1-core
|
||||
ConfigMap *ServerGroupSpecVolumeConfigMap `json:"configMap,omitempty"`
|
||||
|
||||
// EmptyDir
|
||||
// +doc/type: core.EmptyDirVolumeSource
|
||||
// +doc/link: Documentation of core.EmptyDirVolumeSource|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#emptydirvolumesource-v1-core
|
||||
// +doc/link: Documentation of core.EmptyDirVolumeSource|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#emptydirvolumesource-v1-core
|
||||
EmptyDir *ServerGroupSpecVolumeEmptyDir `json:"emptyDir,omitempty"`
|
||||
|
||||
// HostPath
|
||||
// +doc/type: core.HostPathVolumeSource
|
||||
// +doc/link: Documentation of core.HostPathVolumeSource|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#hostpathvolumesource-v1-core
|
||||
// +doc/link: Documentation of core.HostPathVolumeSource|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#hostpathvolumesource-v1-core
|
||||
HostPath *ServerGroupSpecVolumeHostPath `json:"hostPath,omitempty"`
|
||||
|
||||
// PersistentVolumeClaim
|
||||
// +doc/type: core.PersistentVolumeClaimVolumeSource
|
||||
// +doc/link: Documentation of core.PersistentVolumeClaimVolumeSource|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#persistentvolumeclaimvolumesource-v1-core
|
||||
// +doc/link: Documentation of core.PersistentVolumeClaimVolumeSource|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#persistentvolumeclaimvolumesource-v1-core
|
||||
PersistentVolumeClaim *ServerGroupSpecVolumePersistentVolumeClaim `json:"persistentVolumeClaim,omitempty"`
|
||||
}
|
||||
|
||||
|
|
|
@ -32,7 +32,7 @@ type ServerIDGroupSpec struct {
|
|||
Args []string `json:"args,omitempty"`
|
||||
// Tolerations specifies the tolerations added to Pods in this group.
|
||||
// +doc/type: []core.Toleration
|
||||
// +doc/link: Documentation of core.Toleration|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#toleration-v1-core
|
||||
// +doc/link: Documentation of core.Toleration|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#toleration-v1-core
|
||||
Tolerations []core.Toleration `json:"tolerations,omitempty"`
|
||||
// NodeSelector specifies a set of selectors for nodes
|
||||
NodeSelector map[string]string `json:"nodeSelector,omitempty"`
|
||||
|
@ -40,15 +40,15 @@ type ServerIDGroupSpec struct {
|
|||
PriorityClassName string `json:"priorityClassName,omitempty"`
|
||||
// AntiAffinity specified additional antiAffinity settings in ArangoDB Pod definitions
|
||||
// +doc/type: core.PodAntiAffinity
|
||||
// +doc/link: Documentation of core.Pod.AntiAffinity|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#podantiaffinity-v1-core
|
||||
// +doc/link: Documentation of core.Pod.AntiAffinity|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#podantiaffinity-v1-core
|
||||
AntiAffinity *core.PodAntiAffinity `json:"antiAffinity,omitempty"`
|
||||
// Affinity specified additional affinity settings in ArangoDB Pod definitions
|
||||
// +doc/type: core.PodAffinity
|
||||
// +doc/link: Documentation of core.PodAffinity|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#podaffinity-v1-core
|
||||
// +doc/link: Documentation of core.PodAffinity|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#podaffinity-v1-core
|
||||
Affinity *core.PodAffinity `json:"affinity,omitempty"`
|
||||
// NodeAffinity specified additional nodeAffinity settings in ArangoDB Pod definitions
|
||||
// +doc/type: core.NodeAffinity
|
||||
// +doc/link: Documentation of code.NodeAffinity|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#nodeaffinity-v1-core
|
||||
// +doc/link: Documentation of code.NodeAffinity|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#nodeaffinity-v1-core
|
||||
NodeAffinity *core.NodeAffinity `json:"nodeAffinity,omitempty"`
|
||||
// ServiceAccountName specifies the name of the service account used for Pods in this group.
|
||||
ServiceAccountName *string `json:"serviceAccountName,omitempty"`
|
||||
|
@ -56,7 +56,7 @@ type ServerIDGroupSpec struct {
|
|||
SecurityContext *ServerGroupSpecSecurityContext `json:"securityContext,omitempty"`
|
||||
// Resources holds resource requests & limits
|
||||
// +doc/type: core.ResourceRequirements
|
||||
// +doc/link: Documentation of core.ResourceRequirements|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#resourcerequirements-v1-core
|
||||
// +doc/link: Documentation of core.ResourceRequirements|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#resourcerequirements-v1-core
|
||||
Resources *core.ResourceRequirements `json:"resources,omitempty"`
|
||||
}
|
||||
|
||||
|
|
|
@ -50,7 +50,7 @@ func GetArangoMemberPodTemplate(pod *core.PodTemplateSpec, podSpecChecksum strin
|
|||
type ArangoMemberPodTemplate struct {
|
||||
// PodSpec specifies the Pod Spec used for this Member.
|
||||
// +doc/type: core.PodTemplateSpec
|
||||
// +doc/link: Documentation of core.PodTemplateSpec|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#podtemplatespec-v1-core
|
||||
// +doc/link: Documentation of core.PodTemplateSpec|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#podtemplatespec-v1-core
|
||||
PodSpec *core.PodTemplateSpec `json:"podSpec,omitempty"`
|
||||
|
||||
// PodSpecChecksum keep the Pod Spec Checksum (without ignored fields).
|
||||
|
|
|
@ -29,12 +29,12 @@ import (
|
|||
type ArangoMemberSpecOverrides struct {
|
||||
// VolumeClaimTemplate specifies a template for volume claims. Overrides template provided on the group level.
|
||||
// +doc/type: core.PersistentVolumeClaim
|
||||
// +doc/link: Documentation of core.PersistentVolumeClaim|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#persistentvolumeclaim-v1-core
|
||||
// +doc/link: Documentation of core.PersistentVolumeClaim|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#persistentvolumeclaim-v1-core
|
||||
VolumeClaimTemplate *core.PersistentVolumeClaim `json:"volumeClaimTemplate,omitempty"`
|
||||
|
||||
// Resources holds resource requests & limits. Overrides template provided on the group level.
|
||||
// +doc/type: core.ResourceRequirements
|
||||
// +doc/link: Documentation of core.ResourceRequirements|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#resourcerequirements-v1-core
|
||||
// +doc/link: Documentation of core.ResourceRequirements|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#resourcerequirements-v1-core
|
||||
Resources core.ResourceRequirements `json:"resources,omitempty"`
|
||||
}
|
||||
|
||||
|
|
|
@ -88,7 +88,7 @@ type MetricsSpec struct {
|
|||
Authentication MetricsAuthenticationSpec `json:"authentication,omitempty"`
|
||||
// Resources holds resource requests & limits
|
||||
// +doc/type: core.ResourceRequirements
|
||||
// +doc/link: Documentation of core.ResourceRequirements|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#resourcerequirements-v1-core
|
||||
// +doc/link: Documentation of core.ResourceRequirements|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#resourcerequirements-v1-core
|
||||
Resources core.ResourceRequirements `json:"resources,omitempty"`
|
||||
|
||||
// Mode define metrics exported mode
|
||||
|
|
|
@ -27,7 +27,7 @@ import (
|
|||
type LifecycleSpec struct {
|
||||
// Resources holds resource requests & limits
|
||||
// +doc/type: core.ResourceRequirements
|
||||
// +doc/link: Documentation of core.ResourceRequirements|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#resourcerequirements-v1-core
|
||||
// +doc/link: Documentation of core.ResourceRequirements|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#resourcerequirements-v1-core
|
||||
Resources core.ResourceRequirements `json:"resources,omitempty"`
|
||||
}
|
||||
|
||||
|
|
|
@ -88,7 +88,7 @@ type MemberStatus struct {
|
|||
// Deprecated
|
||||
// SideCarSpecs contains map of specifications specified for side cars
|
||||
// +doc/type: map[string]core.Container
|
||||
// +doc/link: Documentation of core.Container|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#container-v1-core
|
||||
// +doc/link: Documentation of core.Container|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#container-v1-core
|
||||
SideCarSpecs map[string]core.Container `json:"sidecars-specs,omitempty"`
|
||||
// Deprecated
|
||||
// PodName holds the name of the Pod that currently runs this member
|
||||
|
|
|
@ -60,7 +60,7 @@ func (e *EphemeralVolumes) getTempSize(d *resource.Quantity) *resource.Quantity
|
|||
type EphemeralVolume struct {
|
||||
// Size define size of the ephemeral volume
|
||||
// +doc/type: resource.Quantity
|
||||
// +doc/link: Documentation of resource.Quantity|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#quantity-resource-core
|
||||
// +doc/link: Documentation of resource.Quantity|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#quantity-resource-core
|
||||
Size *resource.Quantity `json:"size"`
|
||||
}
|
||||
|
||||
|
|
|
@ -87,7 +87,7 @@ const (
|
|||
type ServerGroupInitContainers struct {
|
||||
// Containers contains list of containers
|
||||
// +doc/type: []core.Container
|
||||
// +doc/link: Documentation of core.Container|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#container-v1-core
|
||||
// +doc/link: Documentation of core.Container|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#container-v1-core
|
||||
Containers []core.Container `json:"containers,omitempty"`
|
||||
|
||||
// Mode keep container replace mode
|
||||
|
|
|
@ -73,12 +73,12 @@ type ServerGroupSpecSecurityContext struct {
|
|||
|
||||
// SeccompProfile defines a pod/container's seccomp profile settings. Only one profile source may be set.
|
||||
// +doc/type: core.SeccompProfile
|
||||
// +doc/link: Documentation of core.SeccompProfile|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#seccompprofile-v1-core
|
||||
// +doc/link: Documentation of core.SeccompProfile|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#seccompprofile-v1-core
|
||||
SeccompProfile *core.SeccompProfile `json:"seccompProfile,omitempty" protobuf:"bytes,11,opt,name=seccompProfile"`
|
||||
|
||||
// SELinuxOptions are the labels to be applied to the container
|
||||
// +doc/type: core.SELinuxOptions
|
||||
// +doc/link: Documentation of core.SELinuxOptions|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#selinuxoptions-v1-core
|
||||
// +doc/link: Documentation of core.SELinuxOptions|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#selinuxoptions-v1-core
|
||||
SELinuxOptions *core.SELinuxOptions `json:"seLinuxOptions,omitempty" protobuf:"bytes,3,opt,name=seLinuxOptions"`
|
||||
}
|
||||
|
||||
|
|
|
@ -33,6 +33,7 @@ import (
|
|||
arangodOptions "github.com/arangodb/kube-arangodb/pkg/util/arangod/options"
|
||||
arangosyncOptions "github.com/arangodb/kube-arangodb/pkg/util/arangosync/options"
|
||||
"github.com/arangodb/kube-arangodb/pkg/util/errors"
|
||||
kresources "github.com/arangodb/kube-arangodb/pkg/util/k8sutil/resources"
|
||||
)
|
||||
|
||||
// ServerGroupShutdownMethod enum of possible shutdown methods
|
||||
|
@ -93,7 +94,7 @@ type ServerGroupSpec struct {
|
|||
StorageClassName *string `json:"storageClassName,omitempty"`
|
||||
// Resources holds resource requests & limits
|
||||
// +doc/type: core.ResourceRequirements
|
||||
// +doc/link: Documentation of core.ResourceRequirements|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#resourcerequirements-v1-core
|
||||
// +doc/link: Documentation of core.ResourceRequirements|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#resourcerequirements-v1-core
|
||||
Resources core.ResourceRequirements `json:"resources,omitempty"`
|
||||
// OverrideDetectedTotalMemory determines if memory should be overridden based on values in resources.
|
||||
// If is set to true and Container Memory Limits are set, it sets Container Environment Variable `ARANGODB_OVERRIDE_DETECTED_TOTAL_MEMORY` to the value from the Container Memory Limits.
|
||||
|
@ -120,7 +121,7 @@ type ServerGroupSpec struct {
|
|||
// - `node.alpha.kubernetes.io/unreachable` (will be removed in future version)
|
||||
// For more information on tolerations, consult the https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
|
||||
// +doc/type: []core.Toleration
|
||||
// +doc/link: Documentation of core.Toleration|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#toleration-v1-core
|
||||
// +doc/link: Documentation of core.Toleration|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#toleration-v1-core
|
||||
Tolerations []core.Toleration `json:"tolerations,omitempty"`
|
||||
// Annotations specified the annotations added to Pods in this group.
|
||||
// Annotations are merged with `spec.annotations`.
|
||||
|
@ -163,7 +164,7 @@ type ServerGroupSpec struct {
|
|||
// with size as specified by `spec.<group>.resources.requests.storage` will be created. In that case `storage`
|
||||
// and `iops` is not forwarded to the pods resource requirements.
|
||||
// +doc/type: core.PersistentVolumeClaim
|
||||
// +doc/link: Documentation of core.PersistentVolumeClaim|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#persistentvolumeclaim-v1-core
|
||||
// +doc/link: Documentation of core.PersistentVolumeClaim|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#persistentvolumeclaim-v1-core
|
||||
VolumeClaimTemplate *core.PersistentVolumeClaim `json:"volumeClaimTemplate,omitempty"`
|
||||
// VolumeResizeMode specified resize mode for PVCs and PVs
|
||||
// +doc/enum: runtime|PVC will be resized in Pod runtime (EKS, GKE)
|
||||
|
@ -176,22 +177,22 @@ type ServerGroupSpec struct {
|
|||
VolumeAllowShrink *bool `json:"volumeAllowShrink,omitempty"`
|
||||
// AntiAffinity specified additional antiAffinity settings in ArangoDB Pod definitions
|
||||
// +doc/type: core.PodAntiAffinity
|
||||
// +doc/link: Documentation of core.Pod.AntiAffinity|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#podantiaffinity-v1-core
|
||||
// +doc/link: Documentation of core.Pod.AntiAffinity|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#podantiaffinity-v1-core
|
||||
AntiAffinity *core.PodAntiAffinity `json:"antiAffinity,omitempty"`
|
||||
// Affinity specified additional affinity settings in ArangoDB Pod definitions
|
||||
// +doc/type: core.PodAffinity
|
||||
// +doc/link: Documentation of core.PodAffinity|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#podaffinity-v1-core
|
||||
// +doc/link: Documentation of core.PodAffinity|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#podaffinity-v1-core
|
||||
Affinity *core.PodAffinity `json:"affinity,omitempty"`
|
||||
// NodeAffinity specified additional nodeAffinity settings in ArangoDB Pod definitions
|
||||
// +doc/type: core.NodeAffinity
|
||||
// +doc/link: Documentation of code.NodeAffinity|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#nodeaffinity-v1-core
|
||||
// +doc/link: Documentation of code.NodeAffinity|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#nodeaffinity-v1-core
|
||||
NodeAffinity *core.NodeAffinity `json:"nodeAffinity,omitempty"`
|
||||
// SidecarCoreNames is a list of sidecar containers which must run in the pod.
|
||||
// Some names (e.g.: "server", "worker") are reserved, and they don't have any impact.
|
||||
SidecarCoreNames []string `json:"sidecarCoreNames,omitempty"`
|
||||
// Sidecars specifies a list of additional containers to be started
|
||||
// +doc/type: []core.Container
|
||||
// +doc/link: Documentation of core.Container|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#container-v1-core
|
||||
// +doc/link: Documentation of core.Container|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#container-v1-core
|
||||
Sidecars []core.Container `json:"sidecars,omitempty"`
|
||||
// SecurityContext specifies additional `securityContext` settings in ArangoDB Pod definitions.
|
||||
// This is similar (but not fully compatible) to k8s SecurityContext definition.
|
||||
|
@ -201,7 +202,7 @@ type ServerGroupSpec struct {
|
|||
Volumes ServerGroupSpecVolumes `json:"volumes,omitempty"`
|
||||
// VolumeMounts define list of volume mounts mounted into server container
|
||||
// +doc/type: []ServerGroupSpecVolumeMount
|
||||
// +doc/link: Documentation of ServerGroupSpecVolumeMount|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#volumemount-v1-core
|
||||
// +doc/link: Documentation of ServerGroupSpecVolumeMount|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#volumemount-v1-core
|
||||
VolumeMounts ServerGroupSpecVolumeMounts `json:"volumeMounts,omitempty"`
|
||||
// EphemeralVolumes keeps information about ephemeral volumes.
|
||||
EphemeralVolumes *EphemeralVolumes `json:"ephemeralVolumes,omitempty"`
|
||||
|
@ -638,11 +639,11 @@ func (s *ServerGroupSpec) SetDefaults(group ServerGroup, used bool, mode Deploym
|
|||
core.ReadWriteOnce,
|
||||
},
|
||||
VolumeMode: &volumeMode,
|
||||
Resources: core.ResourceRequirements{
|
||||
Resources: kresources.ExtractStorageResourceRequirement(core.ResourceRequirements{
|
||||
Requests: core.ResourceList{
|
||||
core.ResourceStorage: resource.MustParse("8Gi"),
|
||||
},
|
||||
},
|
||||
}),
|
||||
},
|
||||
}
|
||||
}
|
||||
|
|
|
@ -129,27 +129,27 @@ type ServerGroupSpecVolume struct {
|
|||
|
||||
// Secret which should be mounted into pod
|
||||
// +doc/type: core.SecretVolumeSource
|
||||
// +doc/link: Documentation of core.SecretVolumeSource|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#secretvolumesource-v1-core
|
||||
// +doc/link: Documentation of core.SecretVolumeSource|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#secretvolumesource-v1-core
|
||||
Secret *ServerGroupSpecVolumeSecret `json:"secret,omitempty"`
|
||||
|
||||
// ConfigMap which should be mounted into pod
|
||||
// +doc/type: core.ConfigMapVolumeSource
|
||||
// +doc/link: Documentation of core.ConfigMapVolumeSource|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#configmapvolumesource-v1-core
|
||||
// +doc/link: Documentation of core.ConfigMapVolumeSource|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#configmapvolumesource-v1-core
|
||||
ConfigMap *ServerGroupSpecVolumeConfigMap `json:"configMap,omitempty"`
|
||||
|
||||
// EmptyDir
|
||||
// +doc/type: core.EmptyDirVolumeSource
|
||||
// +doc/link: Documentation of core.EmptyDirVolumeSource|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#emptydirvolumesource-v1-core
|
||||
// +doc/link: Documentation of core.EmptyDirVolumeSource|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#emptydirvolumesource-v1-core
|
||||
EmptyDir *ServerGroupSpecVolumeEmptyDir `json:"emptyDir,omitempty"`
|
||||
|
||||
// HostPath
|
||||
// +doc/type: core.HostPathVolumeSource
|
||||
// +doc/link: Documentation of core.HostPathVolumeSource|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#hostpathvolumesource-v1-core
|
||||
// +doc/link: Documentation of core.HostPathVolumeSource|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#hostpathvolumesource-v1-core
|
||||
HostPath *ServerGroupSpecVolumeHostPath `json:"hostPath,omitempty"`
|
||||
|
||||
// PersistentVolumeClaim
|
||||
// +doc/type: core.PersistentVolumeClaimVolumeSource
|
||||
// +doc/link: Documentation of core.PersistentVolumeClaimVolumeSource|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#persistentvolumeclaimvolumesource-v1-core
|
||||
// +doc/link: Documentation of core.PersistentVolumeClaimVolumeSource|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#persistentvolumeclaimvolumesource-v1-core
|
||||
PersistentVolumeClaim *ServerGroupSpecVolumePersistentVolumeClaim `json:"persistentVolumeClaim,omitempty"`
|
||||
}
|
||||
|
||||
|
|
|
@ -32,7 +32,7 @@ type ServerIDGroupSpec struct {
|
|||
Args []string `json:"args,omitempty"`
|
||||
// Tolerations specifies the tolerations added to Pods in this group.
|
||||
// +doc/type: []core.Toleration
|
||||
// +doc/link: Documentation of core.Toleration|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#toleration-v1-core
|
||||
// +doc/link: Documentation of core.Toleration|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#toleration-v1-core
|
||||
Tolerations []core.Toleration `json:"tolerations,omitempty"`
|
||||
// NodeSelector specifies a set of selectors for nodes
|
||||
NodeSelector map[string]string `json:"nodeSelector,omitempty"`
|
||||
|
@ -40,15 +40,15 @@ type ServerIDGroupSpec struct {
|
|||
PriorityClassName string `json:"priorityClassName,omitempty"`
|
||||
// AntiAffinity specified additional antiAffinity settings in ArangoDB Pod definitions
|
||||
// +doc/type: core.PodAntiAffinity
|
||||
// +doc/link: Documentation of core.Pod.AntiAffinity|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#podantiaffinity-v1-core
|
||||
// +doc/link: Documentation of core.Pod.AntiAffinity|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#podantiaffinity-v1-core
|
||||
AntiAffinity *core.PodAntiAffinity `json:"antiAffinity,omitempty"`
|
||||
// Affinity specified additional affinity settings in ArangoDB Pod definitions
|
||||
// +doc/type: core.PodAffinity
|
||||
// +doc/link: Documentation of core.PodAffinity|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#podaffinity-v1-core
|
||||
// +doc/link: Documentation of core.PodAffinity|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#podaffinity-v1-core
|
||||
Affinity *core.PodAffinity `json:"affinity,omitempty"`
|
||||
// NodeAffinity specified additional nodeAffinity settings in ArangoDB Pod definitions
|
||||
// +doc/type: core.NodeAffinity
|
||||
// +doc/link: Documentation of code.NodeAffinity|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#nodeaffinity-v1-core
|
||||
// +doc/link: Documentation of code.NodeAffinity|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#nodeaffinity-v1-core
|
||||
NodeAffinity *core.NodeAffinity `json:"nodeAffinity,omitempty"`
|
||||
// ServiceAccountName specifies the name of the service account used for Pods in this group.
|
||||
ServiceAccountName *string `json:"serviceAccountName,omitempty"`
|
||||
|
@ -56,7 +56,7 @@ type ServerIDGroupSpec struct {
|
|||
SecurityContext *ServerGroupSpecSecurityContext `json:"securityContext,omitempty"`
|
||||
// Resources holds resource requests & limits
|
||||
// +doc/type: core.ResourceRequirements
|
||||
// +doc/link: Documentation of core.ResourceRequirements|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#resourcerequirements-v1-core
|
||||
// +doc/link: Documentation of core.ResourceRequirements|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#resourcerequirements-v1-core
|
||||
Resources *core.ResourceRequirements `json:"resources,omitempty"`
|
||||
}
|
||||
|
||||
|
|
|
@ -24,7 +24,7 @@ import (
|
|||
core "k8s.io/api/core/v1"
|
||||
|
||||
"github.com/arangodb/kube-arangodb/pkg/apis/scheduler/v1alpha1/interfaces"
|
||||
"github.com/arangodb/kube-arangodb/pkg/util/k8sutil/resources"
|
||||
kresources "github.com/arangodb/kube-arangodb/pkg/util/k8sutil/resources"
|
||||
)
|
||||
|
||||
var _ interfaces.Container[Environments] = &Environments{}
|
||||
|
@ -32,12 +32,12 @@ var _ interfaces.Container[Environments] = &Environments{}
|
|||
type Environments struct {
|
||||
// Env keeps the information about environment variables provided to the container
|
||||
// +doc/type: core.EnvVar
|
||||
// +doc/link: Kubernetes Docs|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#envvar-v1-core
|
||||
// +doc/link: Kubernetes Docs|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#envvar-v1-core
|
||||
Env []core.EnvVar `json:"env,omitempty"`
|
||||
|
||||
// EnvFrom keeps the information about environment variable sources provided to the container
|
||||
// +doc/type: core.EnvFromSource
|
||||
// +doc/link: Kubernetes Docs|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#envfromsource-v1-core
|
||||
// +doc/link: Kubernetes Docs|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#envfromsource-v1-core
|
||||
EnvFrom []core.EnvFromSource `json:"envFrom,omitempty"`
|
||||
}
|
||||
|
||||
|
@ -46,8 +46,8 @@ func (e *Environments) Apply(_ *core.PodTemplateSpec, container *core.Container)
|
|||
return nil
|
||||
}
|
||||
|
||||
container.Env = resources.MergeEnvs(container.Env, e.Env...)
|
||||
container.EnvFrom = resources.MergeEnvFrom(container.EnvFrom, e.EnvFrom...)
|
||||
container.Env = kresources.MergeEnvs(container.Env, e.Env...)
|
||||
container.EnvFrom = kresources.MergeEnvFrom(container.EnvFrom, e.EnvFrom...)
|
||||
|
||||
return nil
|
||||
}
|
||||
|
@ -66,8 +66,8 @@ func (e *Environments) With(other *Environments) *Environments {
|
|||
}
|
||||
|
||||
return &Environments{
|
||||
Env: resources.MergeEnvs(e.Env, other.Env...),
|
||||
EnvFrom: resources.MergeEnvFrom(e.EnvFrom, other.EnvFrom...),
|
||||
Env: kresources.MergeEnvs(e.Env, other.Env...),
|
||||
EnvFrom: kresources.MergeEnvFrom(e.EnvFrom, other.EnvFrom...),
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -24,7 +24,7 @@ import (
|
|||
core "k8s.io/api/core/v1"
|
||||
|
||||
"github.com/arangodb/kube-arangodb/pkg/apis/scheduler/v1alpha1/interfaces"
|
||||
"github.com/arangodb/kube-arangodb/pkg/util/k8sutil/resources"
|
||||
kresources "github.com/arangodb/kube-arangodb/pkg/util/k8sutil/resources"
|
||||
)
|
||||
|
||||
var _ interfaces.Container[Lifecycle] = &Lifecycle{}
|
||||
|
@ -59,7 +59,7 @@ func (n *Lifecycle) With(newResources *Lifecycle) *Lifecycle {
|
|||
}
|
||||
|
||||
return &Lifecycle{
|
||||
Lifecycle: resources.MergeLifecycle(n.Lifecycle, newResources.Lifecycle),
|
||||
Lifecycle: kresources.MergeLifecycle(n.Lifecycle, newResources.Lifecycle),
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -25,7 +25,7 @@ import (
|
|||
|
||||
"github.com/arangodb/kube-arangodb/pkg/apis/scheduler/v1alpha1/interfaces"
|
||||
"github.com/arangodb/kube-arangodb/pkg/util/errors"
|
||||
"github.com/arangodb/kube-arangodb/pkg/util/k8sutil/resources"
|
||||
kresources "github.com/arangodb/kube-arangodb/pkg/util/k8sutil/resources"
|
||||
)
|
||||
|
||||
var _ interfaces.Container[Networking] = &Networking{}
|
||||
|
@ -78,7 +78,7 @@ func (n *Networking) With(newResources *Networking) *Networking {
|
|||
return n.DeepCopy()
|
||||
}
|
||||
|
||||
return &Networking{Ports: resources.MergeContainerPorts(n.Ports, newResources.Ports...)}
|
||||
return &Networking{Ports: kresources.MergeContainerPorts(n.Ports, newResources.Ports...)}
|
||||
}
|
||||
|
||||
func (n *Networking) Validate() error {
|
||||
|
|
|
@ -24,7 +24,7 @@ import (
|
|||
core "k8s.io/api/core/v1"
|
||||
|
||||
"github.com/arangodb/kube-arangodb/pkg/apis/scheduler/v1alpha1/interfaces"
|
||||
"github.com/arangodb/kube-arangodb/pkg/util/k8sutil/resources"
|
||||
kresources "github.com/arangodb/kube-arangodb/pkg/util/k8sutil/resources"
|
||||
)
|
||||
|
||||
var _ interfaces.Container[Probes] = &Probes{}
|
||||
|
@ -76,9 +76,9 @@ func (n *Probes) With(newResources *Probes) *Probes {
|
|||
}
|
||||
|
||||
return &Probes{
|
||||
LivenessProbe: resources.MergeProbes(n.LivenessProbe, newResources.LivenessProbe),
|
||||
ReadinessProbe: resources.MergeProbes(n.ReadinessProbe, newResources.ReadinessProbe),
|
||||
StartupProbe: resources.MergeProbes(n.StartupProbe, newResources.StartupProbe),
|
||||
LivenessProbe: kresources.MergeProbes(n.LivenessProbe, newResources.LivenessProbe),
|
||||
ReadinessProbe: kresources.MergeProbes(n.ReadinessProbe, newResources.ReadinessProbe),
|
||||
StartupProbe: kresources.MergeProbes(n.StartupProbe, newResources.StartupProbe),
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -25,7 +25,7 @@ import (
|
|||
|
||||
"github.com/arangodb/kube-arangodb/pkg/apis/scheduler/v1alpha1/interfaces"
|
||||
"github.com/arangodb/kube-arangodb/pkg/util"
|
||||
"github.com/arangodb/kube-arangodb/pkg/util/k8sutil/resources"
|
||||
kresources "github.com/arangodb/kube-arangodb/pkg/util/k8sutil/resources"
|
||||
)
|
||||
|
||||
var _ interfaces.Container[Resources] = &Resources{}
|
||||
|
@ -33,7 +33,7 @@ var _ interfaces.Container[Resources] = &Resources{}
|
|||
type Resources struct {
|
||||
// Resources holds resource requests & limits for container
|
||||
// +doc/type: core.ResourceRequirements
|
||||
// +doc/link: Documentation of core.ResourceRequirements|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#resourcerequirements-v1-core
|
||||
// +doc/link: Documentation of core.ResourceRequirements|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#resourcerequirements-v1-core
|
||||
Resources *core.ResourceRequirements `json:"resources,omitempty"`
|
||||
}
|
||||
|
||||
|
@ -60,7 +60,7 @@ func (r *Resources) With(newResources *Resources) *Resources {
|
|||
return r.DeepCopy()
|
||||
}
|
||||
|
||||
return &Resources{Resources: util.NewType(resources.MergeContainerResource(r.GetResources(), newResources.GetResources()))}
|
||||
return &Resources{Resources: util.NewType(kresources.MergeContainerResource(r.GetResources(), newResources.GetResources()))}
|
||||
}
|
||||
|
||||
func (r *Resources) GetResources() core.ResourceRequirements {
|
||||
|
@ -70,7 +70,7 @@ func (r *Resources) GetResources() core.ResourceRequirements {
|
|||
|
||||
local := r.Resources.DeepCopy()
|
||||
|
||||
local.Limits = resources.UpscaleOptionalContainerResourceList(local.Limits, local.Requests)
|
||||
local.Limits = kresources.UpscaleOptionalContainerResourceList(local.Limits, local.Requests)
|
||||
|
||||
return *local
|
||||
}
|
||||
|
|
|
@ -24,7 +24,7 @@ import (
|
|||
core "k8s.io/api/core/v1"
|
||||
|
||||
"github.com/arangodb/kube-arangodb/pkg/apis/scheduler/v1alpha1/interfaces"
|
||||
"github.com/arangodb/kube-arangodb/pkg/util/k8sutil/resources"
|
||||
kresources "github.com/arangodb/kube-arangodb/pkg/util/k8sutil/resources"
|
||||
)
|
||||
|
||||
var _ interfaces.Container[VolumeMounts] = &VolumeMounts{}
|
||||
|
@ -61,7 +61,7 @@ func (v *VolumeMounts) With(other *VolumeMounts) *VolumeMounts {
|
|||
}
|
||||
|
||||
return &VolumeMounts{
|
||||
VolumeMounts: resources.MergeVolumeMounts(v.VolumeMounts, other.VolumeMounts...),
|
||||
VolumeMounts: kresources.MergeVolumeMounts(v.VolumeMounts, other.VolumeMounts...),
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -25,7 +25,7 @@ import (
|
|||
|
||||
"github.com/arangodb/kube-arangodb/pkg/apis/scheduler/v1alpha1/interfaces"
|
||||
"github.com/arangodb/kube-arangodb/pkg/util"
|
||||
"github.com/arangodb/kube-arangodb/pkg/util/affinity"
|
||||
kresources "github.com/arangodb/kube-arangodb/pkg/util/k8sutil/resources"
|
||||
"github.com/arangodb/kube-arangodb/pkg/util/k8sutil/tolerations"
|
||||
)
|
||||
|
||||
|
@ -147,7 +147,7 @@ func (s *Scheduling) With(other *Scheduling) *Scheduling {
|
|||
current.Tolerations = tolerations.AddTolerationsIfNotFound(new.Tolerations, other.Tolerations...)
|
||||
|
||||
// Affinity
|
||||
current.Affinity = affinity.Merge(current.Affinity, new.Affinity)
|
||||
current.Affinity = kresources.Merge(current.Affinity, new.Affinity)
|
||||
|
||||
// return
|
||||
|
||||
|
|
|
@ -24,7 +24,7 @@ import (
|
|||
core "k8s.io/api/core/v1"
|
||||
|
||||
"github.com/arangodb/kube-arangodb/pkg/apis/scheduler/v1alpha1/interfaces"
|
||||
"github.com/arangodb/kube-arangodb/pkg/util/k8sutil/resources"
|
||||
kresources "github.com/arangodb/kube-arangodb/pkg/util/k8sutil/resources"
|
||||
)
|
||||
|
||||
var _ interfaces.Pod[Volumes] = &Volumes{}
|
||||
|
@ -62,7 +62,7 @@ func (v *Volumes) With(other *Volumes) *Volumes {
|
|||
}
|
||||
|
||||
return &Volumes{
|
||||
Volumes: resources.MergeVolumes(v.Volumes, other.Volumes...),
|
||||
Volumes: kresources.MergeVolumes(v.Volumes, other.Volumes...),
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -37,7 +37,7 @@ type LocalStorageSpec struct {
|
|||
|
||||
// Tolerations specifies the tolerations added to pods of storage provisioner
|
||||
// +doc/type: []core.Toleration
|
||||
// +doc/link: Documentation of core.Toleration|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#toleration-v1-core
|
||||
// +doc/link: Documentation of core.Toleration|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#toleration-v1-core
|
||||
Tolerations []core.Toleration `json:"tolerations,omitempty"`
|
||||
// NodeSelector setting specifies which nodes the operator will provision persistent volumes on.
|
||||
NodeSelector map[string]string `json:"nodeSelector,omitempty"`
|
||||
|
|
|
@ -272,6 +272,14 @@ v1:
|
|||
type: string
|
||||
type: object
|
||||
type: object
|
||||
matchLabelKeys:
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
mismatchLabelKeys:
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
namespaceSelector:
|
||||
properties:
|
||||
matchExpressions:
|
||||
|
@ -327,6 +335,14 @@ v1:
|
|||
type: string
|
||||
type: object
|
||||
type: object
|
||||
matchLabelKeys:
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
mismatchLabelKeys:
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
namespaceSelector:
|
||||
properties:
|
||||
matchExpressions:
|
||||
|
@ -383,6 +399,14 @@ v1:
|
|||
type: string
|
||||
type: object
|
||||
type: object
|
||||
matchLabelKeys:
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
mismatchLabelKeys:
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
namespaceSelector:
|
||||
properties:
|
||||
matchExpressions:
|
||||
|
@ -438,6 +462,14 @@ v1:
|
|||
type: string
|
||||
type: object
|
||||
type: object
|
||||
matchLabelKeys:
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
mismatchLabelKeys:
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
namespaceSelector:
|
||||
properties:
|
||||
matchExpressions:
|
||||
|
@ -584,6 +616,12 @@ v1:
|
|||
scheme:
|
||||
type: string
|
||||
type: object
|
||||
sleep:
|
||||
properties:
|
||||
seconds:
|
||||
format: int64
|
||||
type: integer
|
||||
type: object
|
||||
tcpSocket:
|
||||
properties:
|
||||
host:
|
||||
|
@ -623,6 +661,12 @@ v1:
|
|||
scheme:
|
||||
type: string
|
||||
type: object
|
||||
sleep:
|
||||
properties:
|
||||
seconds:
|
||||
format: int64
|
||||
type: integer
|
||||
type: object
|
||||
tcpSocket:
|
||||
properties:
|
||||
host:
|
||||
|
@ -1113,6 +1157,12 @@ v1:
|
|||
scheme:
|
||||
type: string
|
||||
type: object
|
||||
sleep:
|
||||
properties:
|
||||
seconds:
|
||||
format: int64
|
||||
type: integer
|
||||
type: object
|
||||
tcpSocket:
|
||||
properties:
|
||||
host:
|
||||
|
@ -1152,6 +1202,12 @@ v1:
|
|||
scheme:
|
||||
type: string
|
||||
type: object
|
||||
sleep:
|
||||
properties:
|
||||
seconds:
|
||||
format: int64
|
||||
type: integer
|
||||
type: object
|
||||
tcpSocket:
|
||||
properties:
|
||||
host:
|
||||
|
@ -1648,6 +1704,12 @@ v1:
|
|||
scheme:
|
||||
type: string
|
||||
type: object
|
||||
sleep:
|
||||
properties:
|
||||
seconds:
|
||||
format: int64
|
||||
type: integer
|
||||
type: object
|
||||
tcpSocket:
|
||||
properties:
|
||||
host:
|
||||
|
@ -1687,6 +1749,12 @@ v1:
|
|||
scheme:
|
||||
type: string
|
||||
type: object
|
||||
sleep:
|
||||
properties:
|
||||
seconds:
|
||||
format: int64
|
||||
type: integer
|
||||
type: object
|
||||
tcpSocket:
|
||||
properties:
|
||||
host:
|
||||
|
@ -2486,13 +2554,6 @@ v1:
|
|||
type: object
|
||||
resources:
|
||||
properties:
|
||||
claims:
|
||||
items:
|
||||
properties:
|
||||
name:
|
||||
type: string
|
||||
type: object
|
||||
type: array
|
||||
limits:
|
||||
additionalProperties:
|
||||
type: string
|
||||
|
@ -2524,6 +2585,8 @@ v1:
|
|||
type: object
|
||||
storageClassName:
|
||||
type: string
|
||||
volumeAttributesClassName:
|
||||
type: string
|
||||
volumeMode:
|
||||
type: string
|
||||
volumeName:
|
||||
|
@ -2684,6 +2747,37 @@ v1:
|
|||
sources:
|
||||
items:
|
||||
properties:
|
||||
clusterTrustBundle:
|
||||
properties:
|
||||
labelSelector:
|
||||
properties:
|
||||
matchExpressions:
|
||||
items:
|
||||
properties:
|
||||
key:
|
||||
type: string
|
||||
operator:
|
||||
type: string
|
||||
values:
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
type: object
|
||||
type: array
|
||||
matchLabels:
|
||||
additionalProperties:
|
||||
type: string
|
||||
type: object
|
||||
type: object
|
||||
name:
|
||||
type: string
|
||||
optional:
|
||||
type: boolean
|
||||
path:
|
||||
type: string
|
||||
signerName:
|
||||
type: string
|
||||
type: object
|
||||
configMap:
|
||||
properties:
|
||||
items:
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -152,13 +152,6 @@ v1:
|
|||
type: object
|
||||
resources:
|
||||
properties:
|
||||
claims:
|
||||
items:
|
||||
properties:
|
||||
name:
|
||||
type: string
|
||||
type: object
|
||||
type: array
|
||||
limits:
|
||||
additionalProperties:
|
||||
type: string
|
||||
|
@ -190,6 +183,8 @@ v1:
|
|||
type: object
|
||||
storageClassName:
|
||||
type: string
|
||||
volumeAttributesClassName:
|
||||
type: string
|
||||
volumeMode:
|
||||
type: string
|
||||
volumeName:
|
||||
|
@ -232,6 +227,15 @@ v1:
|
|||
type: string
|
||||
type: object
|
||||
type: array
|
||||
currentVolumeAttributesClassName:
|
||||
type: string
|
||||
modifyVolumeStatus:
|
||||
properties:
|
||||
status:
|
||||
type: string
|
||||
targetVolumeAttributesClassName:
|
||||
type: string
|
||||
type: object
|
||||
phase:
|
||||
type: string
|
||||
type: object
|
||||
|
@ -432,6 +436,14 @@ v1:
|
|||
type: string
|
||||
type: object
|
||||
type: object
|
||||
matchLabelKeys:
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
mismatchLabelKeys:
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
namespaceSelector:
|
||||
properties:
|
||||
matchExpressions:
|
||||
|
@ -487,6 +499,14 @@ v1:
|
|||
type: string
|
||||
type: object
|
||||
type: object
|
||||
matchLabelKeys:
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
mismatchLabelKeys:
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
namespaceSelector:
|
||||
properties:
|
||||
matchExpressions:
|
||||
|
@ -543,6 +563,14 @@ v1:
|
|||
type: string
|
||||
type: object
|
||||
type: object
|
||||
matchLabelKeys:
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
mismatchLabelKeys:
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
namespaceSelector:
|
||||
properties:
|
||||
matchExpressions:
|
||||
|
@ -598,6 +626,14 @@ v1:
|
|||
type: string
|
||||
type: object
|
||||
type: object
|
||||
matchLabelKeys:
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
mismatchLabelKeys:
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
namespaceSelector:
|
||||
properties:
|
||||
matchExpressions:
|
||||
|
@ -744,6 +780,12 @@ v1:
|
|||
scheme:
|
||||
type: string
|
||||
type: object
|
||||
sleep:
|
||||
properties:
|
||||
seconds:
|
||||
format: int64
|
||||
type: integer
|
||||
type: object
|
||||
tcpSocket:
|
||||
properties:
|
||||
host:
|
||||
|
@ -783,6 +825,12 @@ v1:
|
|||
scheme:
|
||||
type: string
|
||||
type: object
|
||||
sleep:
|
||||
properties:
|
||||
seconds:
|
||||
format: int64
|
||||
type: integer
|
||||
type: object
|
||||
tcpSocket:
|
||||
properties:
|
||||
host:
|
||||
|
@ -1273,6 +1321,12 @@ v1:
|
|||
scheme:
|
||||
type: string
|
||||
type: object
|
||||
sleep:
|
||||
properties:
|
||||
seconds:
|
||||
format: int64
|
||||
type: integer
|
||||
type: object
|
||||
tcpSocket:
|
||||
properties:
|
||||
host:
|
||||
|
@ -1312,6 +1366,12 @@ v1:
|
|||
scheme:
|
||||
type: string
|
||||
type: object
|
||||
sleep:
|
||||
properties:
|
||||
seconds:
|
||||
format: int64
|
||||
type: integer
|
||||
type: object
|
||||
tcpSocket:
|
||||
properties:
|
||||
host:
|
||||
|
@ -1808,6 +1868,12 @@ v1:
|
|||
scheme:
|
||||
type: string
|
||||
type: object
|
||||
sleep:
|
||||
properties:
|
||||
seconds:
|
||||
format: int64
|
||||
type: integer
|
||||
type: object
|
||||
tcpSocket:
|
||||
properties:
|
||||
host:
|
||||
|
@ -1847,6 +1913,12 @@ v1:
|
|||
scheme:
|
||||
type: string
|
||||
type: object
|
||||
sleep:
|
||||
properties:
|
||||
seconds:
|
||||
format: int64
|
||||
type: integer
|
||||
type: object
|
||||
tcpSocket:
|
||||
properties:
|
||||
host:
|
||||
|
@ -2646,13 +2718,6 @@ v1:
|
|||
type: object
|
||||
resources:
|
||||
properties:
|
||||
claims:
|
||||
items:
|
||||
properties:
|
||||
name:
|
||||
type: string
|
||||
type: object
|
||||
type: array
|
||||
limits:
|
||||
additionalProperties:
|
||||
type: string
|
||||
|
@ -2684,6 +2749,8 @@ v1:
|
|||
type: object
|
||||
storageClassName:
|
||||
type: string
|
||||
volumeAttributesClassName:
|
||||
type: string
|
||||
volumeMode:
|
||||
type: string
|
||||
volumeName:
|
||||
|
@ -2844,6 +2911,37 @@ v1:
|
|||
sources:
|
||||
items:
|
||||
properties:
|
||||
clusterTrustBundle:
|
||||
properties:
|
||||
labelSelector:
|
||||
properties:
|
||||
matchExpressions:
|
||||
items:
|
||||
properties:
|
||||
key:
|
||||
type: string
|
||||
operator:
|
||||
type: string
|
||||
values:
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
type: object
|
||||
type: array
|
||||
matchLabels:
|
||||
additionalProperties:
|
||||
type: string
|
||||
type: object
|
||||
type: object
|
||||
name:
|
||||
type: string
|
||||
optional:
|
||||
type: boolean
|
||||
path:
|
||||
type: string
|
||||
signerName:
|
||||
type: string
|
||||
type: object
|
||||
configMap:
|
||||
properties:
|
||||
items:
|
||||
|
@ -3203,13 +3301,6 @@ v1alpha:
|
|||
type: object
|
||||
resources:
|
||||
properties:
|
||||
claims:
|
||||
items:
|
||||
properties:
|
||||
name:
|
||||
type: string
|
||||
type: object
|
||||
type: array
|
||||
limits:
|
||||
additionalProperties:
|
||||
type: string
|
||||
|
@ -3241,6 +3332,8 @@ v1alpha:
|
|||
type: object
|
||||
storageClassName:
|
||||
type: string
|
||||
volumeAttributesClassName:
|
||||
type: string
|
||||
volumeMode:
|
||||
type: string
|
||||
volumeName:
|
||||
|
@ -3283,6 +3376,15 @@ v1alpha:
|
|||
type: string
|
||||
type: object
|
||||
type: array
|
||||
currentVolumeAttributesClassName:
|
||||
type: string
|
||||
modifyVolumeStatus:
|
||||
properties:
|
||||
status:
|
||||
type: string
|
||||
targetVolumeAttributesClassName:
|
||||
type: string
|
||||
type: object
|
||||
phase:
|
||||
type: string
|
||||
type: object
|
||||
|
@ -3483,6 +3585,14 @@ v1alpha:
|
|||
type: string
|
||||
type: object
|
||||
type: object
|
||||
matchLabelKeys:
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
mismatchLabelKeys:
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
namespaceSelector:
|
||||
properties:
|
||||
matchExpressions:
|
||||
|
@ -3538,6 +3648,14 @@ v1alpha:
|
|||
type: string
|
||||
type: object
|
||||
type: object
|
||||
matchLabelKeys:
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
mismatchLabelKeys:
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
namespaceSelector:
|
||||
properties:
|
||||
matchExpressions:
|
||||
|
@ -3594,6 +3712,14 @@ v1alpha:
|
|||
type: string
|
||||
type: object
|
||||
type: object
|
||||
matchLabelKeys:
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
mismatchLabelKeys:
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
namespaceSelector:
|
||||
properties:
|
||||
matchExpressions:
|
||||
|
@ -3649,6 +3775,14 @@ v1alpha:
|
|||
type: string
|
||||
type: object
|
||||
type: object
|
||||
matchLabelKeys:
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
mismatchLabelKeys:
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
namespaceSelector:
|
||||
properties:
|
||||
matchExpressions:
|
||||
|
@ -3795,6 +3929,12 @@ v1alpha:
|
|||
scheme:
|
||||
type: string
|
||||
type: object
|
||||
sleep:
|
||||
properties:
|
||||
seconds:
|
||||
format: int64
|
||||
type: integer
|
||||
type: object
|
||||
tcpSocket:
|
||||
properties:
|
||||
host:
|
||||
|
@ -3834,6 +3974,12 @@ v1alpha:
|
|||
scheme:
|
||||
type: string
|
||||
type: object
|
||||
sleep:
|
||||
properties:
|
||||
seconds:
|
||||
format: int64
|
||||
type: integer
|
||||
type: object
|
||||
tcpSocket:
|
||||
properties:
|
||||
host:
|
||||
|
@ -4324,6 +4470,12 @@ v1alpha:
|
|||
scheme:
|
||||
type: string
|
||||
type: object
|
||||
sleep:
|
||||
properties:
|
||||
seconds:
|
||||
format: int64
|
||||
type: integer
|
||||
type: object
|
||||
tcpSocket:
|
||||
properties:
|
||||
host:
|
||||
|
@ -4363,6 +4515,12 @@ v1alpha:
|
|||
scheme:
|
||||
type: string
|
||||
type: object
|
||||
sleep:
|
||||
properties:
|
||||
seconds:
|
||||
format: int64
|
||||
type: integer
|
||||
type: object
|
||||
tcpSocket:
|
||||
properties:
|
||||
host:
|
||||
|
@ -4859,6 +5017,12 @@ v1alpha:
|
|||
scheme:
|
||||
type: string
|
||||
type: object
|
||||
sleep:
|
||||
properties:
|
||||
seconds:
|
||||
format: int64
|
||||
type: integer
|
||||
type: object
|
||||
tcpSocket:
|
||||
properties:
|
||||
host:
|
||||
|
@ -4898,6 +5062,12 @@ v1alpha:
|
|||
scheme:
|
||||
type: string
|
||||
type: object
|
||||
sleep:
|
||||
properties:
|
||||
seconds:
|
||||
format: int64
|
||||
type: integer
|
||||
type: object
|
||||
tcpSocket:
|
||||
properties:
|
||||
host:
|
||||
|
@ -5697,13 +5867,6 @@ v1alpha:
|
|||
type: object
|
||||
resources:
|
||||
properties:
|
||||
claims:
|
||||
items:
|
||||
properties:
|
||||
name:
|
||||
type: string
|
||||
type: object
|
||||
type: array
|
||||
limits:
|
||||
additionalProperties:
|
||||
type: string
|
||||
|
@ -5735,6 +5898,8 @@ v1alpha:
|
|||
type: object
|
||||
storageClassName:
|
||||
type: string
|
||||
volumeAttributesClassName:
|
||||
type: string
|
||||
volumeMode:
|
||||
type: string
|
||||
volumeName:
|
||||
|
@ -5895,6 +6060,37 @@ v1alpha:
|
|||
sources:
|
||||
items:
|
||||
properties:
|
||||
clusterTrustBundle:
|
||||
properties:
|
||||
labelSelector:
|
||||
properties:
|
||||
matchExpressions:
|
||||
items:
|
||||
properties:
|
||||
key:
|
||||
type: string
|
||||
operator:
|
||||
type: string
|
||||
values:
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
type: object
|
||||
type: array
|
||||
matchLabels:
|
||||
additionalProperties:
|
||||
type: string
|
||||
type: object
|
||||
type: object
|
||||
name:
|
||||
type: string
|
||||
optional:
|
||||
type: boolean
|
||||
path:
|
||||
type: string
|
||||
signerName:
|
||||
type: string
|
||||
type: object
|
||||
configMap:
|
||||
properties:
|
||||
items:
|
||||
|
@ -6254,13 +6450,6 @@ v2alpha1:
|
|||
type: object
|
||||
resources:
|
||||
properties:
|
||||
claims:
|
||||
items:
|
||||
properties:
|
||||
name:
|
||||
type: string
|
||||
type: object
|
||||
type: array
|
||||
limits:
|
||||
additionalProperties:
|
||||
type: string
|
||||
|
@ -6292,6 +6481,8 @@ v2alpha1:
|
|||
type: object
|
||||
storageClassName:
|
||||
type: string
|
||||
volumeAttributesClassName:
|
||||
type: string
|
||||
volumeMode:
|
||||
type: string
|
||||
volumeName:
|
||||
|
@ -6334,6 +6525,15 @@ v2alpha1:
|
|||
type: string
|
||||
type: object
|
||||
type: array
|
||||
currentVolumeAttributesClassName:
|
||||
type: string
|
||||
modifyVolumeStatus:
|
||||
properties:
|
||||
status:
|
||||
type: string
|
||||
targetVolumeAttributesClassName:
|
||||
type: string
|
||||
type: object
|
||||
phase:
|
||||
type: string
|
||||
type: object
|
||||
|
@ -6534,6 +6734,14 @@ v2alpha1:
|
|||
type: string
|
||||
type: object
|
||||
type: object
|
||||
matchLabelKeys:
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
mismatchLabelKeys:
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
namespaceSelector:
|
||||
properties:
|
||||
matchExpressions:
|
||||
|
@ -6589,6 +6797,14 @@ v2alpha1:
|
|||
type: string
|
||||
type: object
|
||||
type: object
|
||||
matchLabelKeys:
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
mismatchLabelKeys:
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
namespaceSelector:
|
||||
properties:
|
||||
matchExpressions:
|
||||
|
@ -6645,6 +6861,14 @@ v2alpha1:
|
|||
type: string
|
||||
type: object
|
||||
type: object
|
||||
matchLabelKeys:
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
mismatchLabelKeys:
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
namespaceSelector:
|
||||
properties:
|
||||
matchExpressions:
|
||||
|
@ -6700,6 +6924,14 @@ v2alpha1:
|
|||
type: string
|
||||
type: object
|
||||
type: object
|
||||
matchLabelKeys:
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
mismatchLabelKeys:
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
namespaceSelector:
|
||||
properties:
|
||||
matchExpressions:
|
||||
|
@ -6846,6 +7078,12 @@ v2alpha1:
|
|||
scheme:
|
||||
type: string
|
||||
type: object
|
||||
sleep:
|
||||
properties:
|
||||
seconds:
|
||||
format: int64
|
||||
type: integer
|
||||
type: object
|
||||
tcpSocket:
|
||||
properties:
|
||||
host:
|
||||
|
@ -6885,6 +7123,12 @@ v2alpha1:
|
|||
scheme:
|
||||
type: string
|
||||
type: object
|
||||
sleep:
|
||||
properties:
|
||||
seconds:
|
||||
format: int64
|
||||
type: integer
|
||||
type: object
|
||||
tcpSocket:
|
||||
properties:
|
||||
host:
|
||||
|
@ -7375,6 +7619,12 @@ v2alpha1:
|
|||
scheme:
|
||||
type: string
|
||||
type: object
|
||||
sleep:
|
||||
properties:
|
||||
seconds:
|
||||
format: int64
|
||||
type: integer
|
||||
type: object
|
||||
tcpSocket:
|
||||
properties:
|
||||
host:
|
||||
|
@ -7414,6 +7664,12 @@ v2alpha1:
|
|||
scheme:
|
||||
type: string
|
||||
type: object
|
||||
sleep:
|
||||
properties:
|
||||
seconds:
|
||||
format: int64
|
||||
type: integer
|
||||
type: object
|
||||
tcpSocket:
|
||||
properties:
|
||||
host:
|
||||
|
@ -7910,6 +8166,12 @@ v2alpha1:
|
|||
scheme:
|
||||
type: string
|
||||
type: object
|
||||
sleep:
|
||||
properties:
|
||||
seconds:
|
||||
format: int64
|
||||
type: integer
|
||||
type: object
|
||||
tcpSocket:
|
||||
properties:
|
||||
host:
|
||||
|
@ -7949,6 +8211,12 @@ v2alpha1:
|
|||
scheme:
|
||||
type: string
|
||||
type: object
|
||||
sleep:
|
||||
properties:
|
||||
seconds:
|
||||
format: int64
|
||||
type: integer
|
||||
type: object
|
||||
tcpSocket:
|
||||
properties:
|
||||
host:
|
||||
|
@ -8748,13 +9016,6 @@ v2alpha1:
|
|||
type: object
|
||||
resources:
|
||||
properties:
|
||||
claims:
|
||||
items:
|
||||
properties:
|
||||
name:
|
||||
type: string
|
||||
type: object
|
||||
type: array
|
||||
limits:
|
||||
additionalProperties:
|
||||
type: string
|
||||
|
@ -8786,6 +9047,8 @@ v2alpha1:
|
|||
type: object
|
||||
storageClassName:
|
||||
type: string
|
||||
volumeAttributesClassName:
|
||||
type: string
|
||||
volumeMode:
|
||||
type: string
|
||||
volumeName:
|
||||
|
@ -8946,6 +9209,37 @@ v2alpha1:
|
|||
sources:
|
||||
items:
|
||||
properties:
|
||||
clusterTrustBundle:
|
||||
properties:
|
||||
labelSelector:
|
||||
properties:
|
||||
matchExpressions:
|
||||
items:
|
||||
properties:
|
||||
key:
|
||||
type: string
|
||||
operator:
|
||||
type: string
|
||||
values:
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
type: object
|
||||
type: array
|
||||
matchLabels:
|
||||
additionalProperties:
|
||||
type: string
|
||||
type: object
|
||||
type: object
|
||||
name:
|
||||
type: string
|
||||
optional:
|
||||
type: boolean
|
||||
path:
|
||||
type: string
|
||||
signerName:
|
||||
type: string
|
||||
type: object
|
||||
configMap:
|
||||
properties:
|
||||
items:
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -266,6 +266,14 @@ v1alpha1:
|
|||
type: string
|
||||
type: object
|
||||
type: object
|
||||
matchLabelKeys:
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
mismatchLabelKeys:
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
namespaceSelector:
|
||||
properties:
|
||||
matchExpressions:
|
||||
|
@ -321,6 +329,14 @@ v1alpha1:
|
|||
type: string
|
||||
type: object
|
||||
type: object
|
||||
matchLabelKeys:
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
mismatchLabelKeys:
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
namespaceSelector:
|
||||
properties:
|
||||
matchExpressions:
|
||||
|
@ -377,6 +393,14 @@ v1alpha1:
|
|||
type: string
|
||||
type: object
|
||||
type: object
|
||||
matchLabelKeys:
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
mismatchLabelKeys:
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
namespaceSelector:
|
||||
properties:
|
||||
matchExpressions:
|
||||
|
@ -432,6 +456,14 @@ v1alpha1:
|
|||
type: string
|
||||
type: object
|
||||
type: object
|
||||
matchLabelKeys:
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
mismatchLabelKeys:
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
namespaceSelector:
|
||||
properties:
|
||||
matchExpressions:
|
||||
|
@ -578,6 +610,12 @@ v1alpha1:
|
|||
scheme:
|
||||
type: string
|
||||
type: object
|
||||
sleep:
|
||||
properties:
|
||||
seconds:
|
||||
format: int64
|
||||
type: integer
|
||||
type: object
|
||||
tcpSocket:
|
||||
properties:
|
||||
host:
|
||||
|
@ -617,6 +655,12 @@ v1alpha1:
|
|||
scheme:
|
||||
type: string
|
||||
type: object
|
||||
sleep:
|
||||
properties:
|
||||
seconds:
|
||||
format: int64
|
||||
type: integer
|
||||
type: object
|
||||
tcpSocket:
|
||||
properties:
|
||||
host:
|
||||
|
@ -1107,6 +1151,12 @@ v1alpha1:
|
|||
scheme:
|
||||
type: string
|
||||
type: object
|
||||
sleep:
|
||||
properties:
|
||||
seconds:
|
||||
format: int64
|
||||
type: integer
|
||||
type: object
|
||||
tcpSocket:
|
||||
properties:
|
||||
host:
|
||||
|
@ -1146,6 +1196,12 @@ v1alpha1:
|
|||
scheme:
|
||||
type: string
|
||||
type: object
|
||||
sleep:
|
||||
properties:
|
||||
seconds:
|
||||
format: int64
|
||||
type: integer
|
||||
type: object
|
||||
tcpSocket:
|
||||
properties:
|
||||
host:
|
||||
|
@ -1642,6 +1698,12 @@ v1alpha1:
|
|||
scheme:
|
||||
type: string
|
||||
type: object
|
||||
sleep:
|
||||
properties:
|
||||
seconds:
|
||||
format: int64
|
||||
type: integer
|
||||
type: object
|
||||
tcpSocket:
|
||||
properties:
|
||||
host:
|
||||
|
@ -1681,6 +1743,12 @@ v1alpha1:
|
|||
scheme:
|
||||
type: string
|
||||
type: object
|
||||
sleep:
|
||||
properties:
|
||||
seconds:
|
||||
format: int64
|
||||
type: integer
|
||||
type: object
|
||||
tcpSocket:
|
||||
properties:
|
||||
host:
|
||||
|
@ -2480,13 +2548,6 @@ v1alpha1:
|
|||
type: object
|
||||
resources:
|
||||
properties:
|
||||
claims:
|
||||
items:
|
||||
properties:
|
||||
name:
|
||||
type: string
|
||||
type: object
|
||||
type: array
|
||||
limits:
|
||||
additionalProperties:
|
||||
type: string
|
||||
|
@ -2518,6 +2579,8 @@ v1alpha1:
|
|||
type: object
|
||||
storageClassName:
|
||||
type: string
|
||||
volumeAttributesClassName:
|
||||
type: string
|
||||
volumeMode:
|
||||
type: string
|
||||
volumeName:
|
||||
|
@ -2678,6 +2741,37 @@ v1alpha1:
|
|||
sources:
|
||||
items:
|
||||
properties:
|
||||
clusterTrustBundle:
|
||||
properties:
|
||||
labelSelector:
|
||||
properties:
|
||||
matchExpressions:
|
||||
items:
|
||||
properties:
|
||||
key:
|
||||
type: string
|
||||
operator:
|
||||
type: string
|
||||
values:
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
type: object
|
||||
type: array
|
||||
matchLabels:
|
||||
additionalProperties:
|
||||
type: string
|
||||
type: object
|
||||
type: object
|
||||
name:
|
||||
type: string
|
||||
optional:
|
||||
type: boolean
|
||||
path:
|
||||
type: string
|
||||
signerName:
|
||||
type: string
|
||||
type: object
|
||||
configMap:
|
||||
properties:
|
||||
items:
|
||||
|
|
|
@ -351,6 +351,14 @@ v1alpha1:
|
|||
type: string
|
||||
type: object
|
||||
type: object
|
||||
matchLabelKeys:
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
mismatchLabelKeys:
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
namespaceSelector:
|
||||
properties:
|
||||
matchExpressions:
|
||||
|
@ -406,6 +414,14 @@ v1alpha1:
|
|||
type: string
|
||||
type: object
|
||||
type: object
|
||||
matchLabelKeys:
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
mismatchLabelKeys:
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
namespaceSelector:
|
||||
properties:
|
||||
matchExpressions:
|
||||
|
@ -462,6 +478,14 @@ v1alpha1:
|
|||
type: string
|
||||
type: object
|
||||
type: object
|
||||
matchLabelKeys:
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
mismatchLabelKeys:
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
namespaceSelector:
|
||||
properties:
|
||||
matchExpressions:
|
||||
|
@ -517,6 +541,14 @@ v1alpha1:
|
|||
type: string
|
||||
type: object
|
||||
type: object
|
||||
matchLabelKeys:
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
mismatchLabelKeys:
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
namespaceSelector:
|
||||
properties:
|
||||
matchExpressions:
|
||||
|
@ -663,6 +695,12 @@ v1alpha1:
|
|||
scheme:
|
||||
type: string
|
||||
type: object
|
||||
sleep:
|
||||
properties:
|
||||
seconds:
|
||||
format: int64
|
||||
type: integer
|
||||
type: object
|
||||
tcpSocket:
|
||||
properties:
|
||||
host:
|
||||
|
@ -702,6 +740,12 @@ v1alpha1:
|
|||
scheme:
|
||||
type: string
|
||||
type: object
|
||||
sleep:
|
||||
properties:
|
||||
seconds:
|
||||
format: int64
|
||||
type: integer
|
||||
type: object
|
||||
tcpSocket:
|
||||
properties:
|
||||
host:
|
||||
|
@ -1192,6 +1236,12 @@ v1alpha1:
|
|||
scheme:
|
||||
type: string
|
||||
type: object
|
||||
sleep:
|
||||
properties:
|
||||
seconds:
|
||||
format: int64
|
||||
type: integer
|
||||
type: object
|
||||
tcpSocket:
|
||||
properties:
|
||||
host:
|
||||
|
@ -1231,6 +1281,12 @@ v1alpha1:
|
|||
scheme:
|
||||
type: string
|
||||
type: object
|
||||
sleep:
|
||||
properties:
|
||||
seconds:
|
||||
format: int64
|
||||
type: integer
|
||||
type: object
|
||||
tcpSocket:
|
||||
properties:
|
||||
host:
|
||||
|
@ -1727,6 +1783,12 @@ v1alpha1:
|
|||
scheme:
|
||||
type: string
|
||||
type: object
|
||||
sleep:
|
||||
properties:
|
||||
seconds:
|
||||
format: int64
|
||||
type: integer
|
||||
type: object
|
||||
tcpSocket:
|
||||
properties:
|
||||
host:
|
||||
|
@ -1766,6 +1828,12 @@ v1alpha1:
|
|||
scheme:
|
||||
type: string
|
||||
type: object
|
||||
sleep:
|
||||
properties:
|
||||
seconds:
|
||||
format: int64
|
||||
type: integer
|
||||
type: object
|
||||
tcpSocket:
|
||||
properties:
|
||||
host:
|
||||
|
@ -2565,13 +2633,6 @@ v1alpha1:
|
|||
type: object
|
||||
resources:
|
||||
properties:
|
||||
claims:
|
||||
items:
|
||||
properties:
|
||||
name:
|
||||
type: string
|
||||
type: object
|
||||
type: array
|
||||
limits:
|
||||
additionalProperties:
|
||||
type: string
|
||||
|
@ -2603,6 +2664,8 @@ v1alpha1:
|
|||
type: object
|
||||
storageClassName:
|
||||
type: string
|
||||
volumeAttributesClassName:
|
||||
type: string
|
||||
volumeMode:
|
||||
type: string
|
||||
volumeName:
|
||||
|
@ -2763,6 +2826,37 @@ v1alpha1:
|
|||
sources:
|
||||
items:
|
||||
properties:
|
||||
clusterTrustBundle:
|
||||
properties:
|
||||
labelSelector:
|
||||
properties:
|
||||
matchExpressions:
|
||||
items:
|
||||
properties:
|
||||
key:
|
||||
type: string
|
||||
operator:
|
||||
type: string
|
||||
values:
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
type: object
|
||||
type: array
|
||||
matchLabels:
|
||||
additionalProperties:
|
||||
type: string
|
||||
type: object
|
||||
type: object
|
||||
name:
|
||||
type: string
|
||||
optional:
|
||||
type: boolean
|
||||
path:
|
||||
type: string
|
||||
signerName:
|
||||
type: string
|
||||
type: object
|
||||
configMap:
|
||||
properties:
|
||||
items:
|
||||
|
|
|
@ -179,6 +179,12 @@ v1alpha1:
|
|||
scheme:
|
||||
type: string
|
||||
type: object
|
||||
sleep:
|
||||
properties:
|
||||
seconds:
|
||||
format: int64
|
||||
type: integer
|
||||
type: object
|
||||
tcpSocket:
|
||||
properties:
|
||||
host:
|
||||
|
@ -218,6 +224,12 @@ v1alpha1:
|
|||
scheme:
|
||||
type: string
|
||||
type: object
|
||||
sleep:
|
||||
properties:
|
||||
seconds:
|
||||
format: int64
|
||||
type: integer
|
||||
type: object
|
||||
tcpSocket:
|
||||
properties:
|
||||
host:
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
//
|
||||
// DISCLAIMER
|
||||
//
|
||||
// Copyright 2016-2023 ArangoDB GmbH, Cologne, Germany
|
||||
// Copyright 2016-2024 ArangoDB GmbH, Cologne, Germany
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
|
@ -33,7 +33,7 @@ import (
|
|||
shared "github.com/arangodb/kube-arangodb/pkg/apis/shared"
|
||||
"github.com/arangodb/kube-arangodb/pkg/util"
|
||||
"github.com/arangodb/kube-arangodb/pkg/util/k8sutil"
|
||||
"github.com/arangodb/kube-arangodb/pkg/util/k8sutil/resources"
|
||||
kresources "github.com/arangodb/kube-arangodb/pkg/util/k8sutil/resources"
|
||||
)
|
||||
|
||||
func TestEnsurePod_ArangoDB_Core(t *testing.T) {
|
||||
|
@ -543,7 +543,7 @@ func TestEnsurePod_ArangoDB_Core(t *testing.T) {
|
|||
Image: testImage,
|
||||
Command: createTestCommandForDBServer(firstDBServerStatus.ID, false, false, false),
|
||||
Ports: createTestPorts(api.ServerGroupDBServers),
|
||||
Resources: resources.ExtractPodAcceptedResourceRequirement(resourcesUnfiltered),
|
||||
Resources: kresources.ExtractPodAcceptedResourceRequirement(resourcesUnfiltered),
|
||||
VolumeMounts: []core.VolumeMount{
|
||||
k8sutil.ArangodVolumeMount(),
|
||||
},
|
||||
|
@ -600,7 +600,7 @@ func TestEnsurePod_ArangoDB_Core(t *testing.T) {
|
|||
Image: testImage,
|
||||
Command: createTestCommandForDBServer(firstDBServerStatus.ID, false, false, false),
|
||||
Ports: createTestPorts(api.ServerGroupDBServers),
|
||||
Resources: resources.ExtractPodAcceptedResourceRequirement(resourcesUnfiltered),
|
||||
Resources: kresources.ExtractPodAcceptedResourceRequirement(resourcesUnfiltered),
|
||||
VolumeMounts: []core.VolumeMount{
|
||||
k8sutil.ArangodVolumeMount(),
|
||||
},
|
||||
|
@ -660,7 +660,7 @@ func TestEnsurePod_ArangoDB_Core(t *testing.T) {
|
|||
Image: testImage,
|
||||
Command: createTestCommandForDBServer(firstDBServerStatus.ID, false, false, false),
|
||||
Ports: createTestPorts(api.ServerGroupDBServers),
|
||||
Resources: resources.ExtractPodAcceptedResourceRequirement(resourcesUnfiltered),
|
||||
Resources: kresources.ExtractPodAcceptedResourceRequirement(resourcesUnfiltered),
|
||||
VolumeMounts: []core.VolumeMount{
|
||||
k8sutil.ArangodVolumeMount(),
|
||||
},
|
||||
|
@ -1194,7 +1194,7 @@ func TestEnsurePod_ArangoDB_Core(t *testing.T) {
|
|||
ImagePullPolicy: core.PullIfNotPresent,
|
||||
SecurityContext: securityContext.NewSecurityContext(),
|
||||
},
|
||||
testArangodbInternalExporterContainer(false, true, resources.ExtractPodAcceptedResourceRequirement(resourcesUnfiltered)),
|
||||
testArangodbInternalExporterContainer(false, true, kresources.ExtractPodAcceptedResourceRequirement(resourcesUnfiltered)),
|
||||
},
|
||||
RestartPolicy: core.RestartPolicyNever,
|
||||
TerminationGracePeriodSeconds: &defaultDBServerTerminationTimeout,
|
||||
|
@ -1249,7 +1249,7 @@ func TestEnsurePod_ArangoDB_Core(t *testing.T) {
|
|||
k8sutil.LifecycleVolume(),
|
||||
},
|
||||
InitContainers: []core.Container{
|
||||
createTestLifecycleContainer(resources.ExtractPodAcceptedResourceRequirement(resourcesUnfiltered)),
|
||||
createTestLifecycleContainer(kresources.ExtractPodAcceptedResourceRequirement(resourcesUnfiltered)),
|
||||
},
|
||||
Containers: []core.Container{
|
||||
{
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
//
|
||||
// DISCLAIMER
|
||||
//
|
||||
// Copyright 2016-2023 ArangoDB GmbH, Cologne, Germany
|
||||
// Copyright 2016-2024 ArangoDB GmbH, Cologne, Germany
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
|
@ -32,7 +32,7 @@ import (
|
|||
"github.com/arangodb/kube-arangodb/pkg/deployment/resources"
|
||||
"github.com/arangodb/kube-arangodb/pkg/util"
|
||||
"github.com/arangodb/kube-arangodb/pkg/util/k8sutil"
|
||||
resources2 "github.com/arangodb/kube-arangodb/pkg/util/k8sutil/resources"
|
||||
kresources "github.com/arangodb/kube-arangodb/pkg/util/k8sutil/resources"
|
||||
)
|
||||
|
||||
type envFunc func() []core.EnvVar
|
||||
|
@ -135,7 +135,7 @@ func TestEnsurePod_ArangoDB_Resources(t *testing.T) {
|
|||
Image: testImage,
|
||||
Command: createTestCommandForDBServer(firstDBServerStatus.ID, false, false, false),
|
||||
Ports: createTestPorts(api.ServerGroupAgents),
|
||||
Resources: resources2.ExtractPodAcceptedResourceRequirement(resourcesUnfiltered),
|
||||
Resources: kresources.ExtractPodAcceptedResourceRequirement(resourcesUnfiltered),
|
||||
VolumeMounts: []core.VolumeMount{
|
||||
k8sutil.ArangodVolumeMount(),
|
||||
},
|
||||
|
@ -195,7 +195,7 @@ func TestEnsurePod_ArangoDB_Resources(t *testing.T) {
|
|||
Image: testImage,
|
||||
Command: createTestCommandForDBServer(firstDBServerStatus.ID, false, false, false),
|
||||
Ports: createTestPorts(api.ServerGroupAgents),
|
||||
Resources: resources2.ExtractPodAcceptedResourceRequirement(resourcesUnfiltered),
|
||||
Resources: kresources.ExtractPodAcceptedResourceRequirement(resourcesUnfiltered),
|
||||
VolumeMounts: []core.VolumeMount{
|
||||
k8sutil.ArangodVolumeMount(),
|
||||
},
|
||||
|
@ -253,7 +253,7 @@ func TestEnsurePod_ArangoDB_Resources(t *testing.T) {
|
|||
Image: testImage,
|
||||
Command: createTestCommandForDBServer(firstDBServerStatus.ID, false, false, false),
|
||||
Ports: createTestPorts(api.ServerGroupAgents),
|
||||
Resources: resources2.ExtractPodAcceptedResourceRequirement(resourcesUnfiltered),
|
||||
Resources: kresources.ExtractPodAcceptedResourceRequirement(resourcesUnfiltered),
|
||||
VolumeMounts: []core.VolumeMount{
|
||||
k8sutil.ArangodVolumeMount(),
|
||||
},
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
//
|
||||
// DISCLAIMER
|
||||
//
|
||||
// Copyright 2016-2023 ArangoDB GmbH, Cologne, Germany
|
||||
// Copyright 2016-2024 ArangoDB GmbH, Cologne, Germany
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
|
@ -34,7 +34,7 @@ import (
|
|||
"github.com/arangodb/kube-arangodb/pkg/util/constants"
|
||||
"github.com/arangodb/kube-arangodb/pkg/util/errors"
|
||||
"github.com/arangodb/kube-arangodb/pkg/util/k8sutil"
|
||||
"github.com/arangodb/kube-arangodb/pkg/util/k8sutil/resources"
|
||||
kresources "github.com/arangodb/kube-arangodb/pkg/util/k8sutil/resources"
|
||||
)
|
||||
|
||||
func TestEnsurePod_Sync_Error(t *testing.T) {
|
||||
|
@ -1305,7 +1305,7 @@ func TestEnsurePod_Sync_Worker(t *testing.T) {
|
|||
},
|
||||
ImagePullPolicy: core.PullIfNotPresent,
|
||||
Lifecycle: createTestLifecycle(api.ServerGroupSyncMasters),
|
||||
Resources: resources.ExtractPodAcceptedResourceRequirement(resourcesUnfiltered),
|
||||
Resources: kresources.ExtractPodAcceptedResourceRequirement(resourcesUnfiltered),
|
||||
SecurityContext: securityContext.NewSecurityContext(),
|
||||
VolumeMounts: []core.VolumeMount{
|
||||
k8sutil.LifecycleVolumeMount(),
|
||||
|
@ -1400,7 +1400,7 @@ func TestEnsurePod_Sync_Worker(t *testing.T) {
|
|||
},
|
||||
ImagePullPolicy: core.PullIfNotPresent,
|
||||
Lifecycle: createTestLifecycle(api.ServerGroupSyncMasters),
|
||||
Resources: resources.ExtractPodAcceptedResourceRequirement(resourcesUnfiltered),
|
||||
Resources: kresources.ExtractPodAcceptedResourceRequirement(resourcesUnfiltered),
|
||||
SecurityContext: securityContext.NewSecurityContext(),
|
||||
VolumeMounts: []core.VolumeMount{
|
||||
k8sutil.LifecycleVolumeMount(),
|
||||
|
|
|
@ -37,7 +37,6 @@ import (
|
|||
"github.com/arangodb/kube-arangodb/pkg/handlers/utils"
|
||||
"github.com/arangodb/kube-arangodb/pkg/logging"
|
||||
"github.com/arangodb/kube-arangodb/pkg/util"
|
||||
"github.com/arangodb/kube-arangodb/pkg/util/affinity"
|
||||
"github.com/arangodb/kube-arangodb/pkg/util/arangod"
|
||||
"github.com/arangodb/kube-arangodb/pkg/util/constants"
|
||||
"github.com/arangodb/kube-arangodb/pkg/util/errors"
|
||||
|
@ -46,6 +45,7 @@ import (
|
|||
inspectorInterface "github.com/arangodb/kube-arangodb/pkg/util/k8sutil/inspector"
|
||||
"github.com/arangodb/kube-arangodb/pkg/util/k8sutil/interfaces"
|
||||
"github.com/arangodb/kube-arangodb/pkg/util/k8sutil/kerrors"
|
||||
kresources "github.com/arangodb/kube-arangodb/pkg/util/k8sutil/resources"
|
||||
"github.com/arangodb/kube-arangodb/pkg/util/k8sutil/tolerations"
|
||||
)
|
||||
|
||||
|
@ -359,26 +359,26 @@ func (i *ImageUpdatePod) GetPodAntiAffinity() *core.PodAntiAffinity {
|
|||
|
||||
pod.AppendPodAntiAffinityDefault(i, a)
|
||||
|
||||
a = affinity.MergePodAntiAffinity(a, i.spec.ID.Get().AntiAffinity)
|
||||
a = kresources.MergePodAntiAffinity(a, i.spec.ID.Get().AntiAffinity)
|
||||
|
||||
return affinity.OptionalPodAntiAffinity(a)
|
||||
return kresources.OptionalPodAntiAffinity(a)
|
||||
}
|
||||
|
||||
func (i *ImageUpdatePod) GetPodAffinity() *core.PodAffinity {
|
||||
a := &core.PodAffinity{}
|
||||
|
||||
a = affinity.MergePodAffinity(a, i.spec.ID.Get().Affinity)
|
||||
a = kresources.MergePodAffinity(a, i.spec.ID.Get().Affinity)
|
||||
|
||||
return affinity.OptionalPodAffinity(a)
|
||||
return kresources.OptionalPodAffinity(a)
|
||||
}
|
||||
|
||||
func (i *ImageUpdatePod) GetNodeAffinity() *core.NodeAffinity {
|
||||
a := &core.NodeAffinity{}
|
||||
pod.AppendArchSelector(a, i.spec.Architecture.AsNodeSelectorRequirement())
|
||||
|
||||
a = affinity.MergeNodeAffinity(a, i.spec.ID.Get().NodeAffinity)
|
||||
a = kresources.MergeNodeAffinity(a, i.spec.ID.Get().NodeAffinity)
|
||||
|
||||
return affinity.OptionalNodeAffinity(a)
|
||||
return kresources.OptionalNodeAffinity(a)
|
||||
}
|
||||
|
||||
func (i *ImageUpdatePod) Validate(_ interfaces.Inspector) error {
|
||||
|
|
|
@ -25,7 +25,7 @@ import (
|
|||
shared "github.com/arangodb/kube-arangodb/pkg/apis/shared"
|
||||
"github.com/arangodb/kube-arangodb/pkg/util/k8sutil"
|
||||
"github.com/arangodb/kube-arangodb/pkg/util/k8sutil/probes"
|
||||
"github.com/arangodb/kube-arangodb/pkg/util/k8sutil/resources"
|
||||
kresources "github.com/arangodb/kube-arangodb/pkg/util/k8sutil/resources"
|
||||
)
|
||||
|
||||
// ArangodbInternalExporterContainer creates metrics container based on internal exporter
|
||||
|
@ -55,7 +55,7 @@ func ArangodbInternalExporterContainer(image string, args []string, livenessProb
|
|||
Protocol: core.ProtocolTCP,
|
||||
},
|
||||
},
|
||||
Resources: resources.ExtractPodAcceptedResourceRequirement(res),
|
||||
Resources: kresources.ExtractPodAcceptedResourceRequirement(res),
|
||||
SecurityContext: k8sutil.CreateSecurityContext(groupSpec.SecurityContext),
|
||||
ImagePullPolicy: core.PullIfNotPresent,
|
||||
VolumeMounts: []core.VolumeMount{k8sutil.LifecycleVolumeMount()},
|
||||
|
|
|
@ -35,12 +35,11 @@ import (
|
|||
"github.com/arangodb/kube-arangodb/pkg/deployment/pod"
|
||||
"github.com/arangodb/kube-arangodb/pkg/deployment/topology"
|
||||
"github.com/arangodb/kube-arangodb/pkg/util"
|
||||
"github.com/arangodb/kube-arangodb/pkg/util/affinity"
|
||||
"github.com/arangodb/kube-arangodb/pkg/util/collection"
|
||||
"github.com/arangodb/kube-arangodb/pkg/util/constants"
|
||||
"github.com/arangodb/kube-arangodb/pkg/util/k8sutil"
|
||||
"github.com/arangodb/kube-arangodb/pkg/util/k8sutil/interfaces"
|
||||
"github.com/arangodb/kube-arangodb/pkg/util/k8sutil/resources"
|
||||
kresources "github.com/arangodb/kube-arangodb/pkg/util/k8sutil/resources"
|
||||
)
|
||||
|
||||
const (
|
||||
|
@ -287,7 +286,7 @@ func (a *ArangoDContainer) GetEnvs() ([]core.EnvVar, []core.EnvFromSource) {
|
|||
}
|
||||
|
||||
func (a *ArangoDContainer) GetResourceRequirements() core.ResourceRequirements {
|
||||
return resources.ExtractPodAcceptedResourceRequirement(a.arangoMember.Spec.Overrides.GetResources(&a.groupSpec))
|
||||
return kresources.ExtractPodAcceptedResourceRequirement(a.arangoMember.Spec.Overrides.GetResources(&a.groupSpec))
|
||||
}
|
||||
|
||||
func (a *ArangoDContainer) GetLifecycle() (*core.Lifecycle, error) {
|
||||
|
@ -373,21 +372,21 @@ func (m *MemberArangoDPod) GetPodAntiAffinity() *core.PodAntiAffinity {
|
|||
|
||||
pod.AppendPodAntiAffinityDefault(m, a)
|
||||
|
||||
a = affinity.MergePodAntiAffinity(a, topology.GetTopologyAffinityRules(m.context.GetName(), m.deploymentStatus, m.group, m.status).PodAntiAffinity)
|
||||
a = kresources.MergePodAntiAffinity(a, topology.GetTopologyAffinityRules(m.context.GetName(), m.deploymentStatus, m.group, m.status).PodAntiAffinity)
|
||||
|
||||
a = affinity.MergePodAntiAffinity(a, m.groupSpec.AntiAffinity)
|
||||
a = kresources.MergePodAntiAffinity(a, m.groupSpec.AntiAffinity)
|
||||
|
||||
return affinity.OptionalPodAntiAffinity(a)
|
||||
return kresources.OptionalPodAntiAffinity(a)
|
||||
}
|
||||
|
||||
func (m *MemberArangoDPod) GetPodAffinity() *core.PodAffinity {
|
||||
a := &core.PodAffinity{}
|
||||
|
||||
a = affinity.MergePodAffinity(a, m.groupSpec.Affinity)
|
||||
a = kresources.MergePodAffinity(a, m.groupSpec.Affinity)
|
||||
|
||||
a = affinity.MergePodAffinity(a, topology.GetTopologyAffinityRules(m.context.GetName(), m.deploymentStatus, m.group, m.status).PodAffinity)
|
||||
a = kresources.MergePodAffinity(a, topology.GetTopologyAffinityRules(m.context.GetName(), m.deploymentStatus, m.group, m.status).PodAffinity)
|
||||
|
||||
return affinity.OptionalPodAffinity(a)
|
||||
return kresources.OptionalPodAffinity(a)
|
||||
}
|
||||
|
||||
func (m *MemberArangoDPod) GetNodeAffinity() *core.NodeAffinity {
|
||||
|
@ -395,11 +394,11 @@ func (m *MemberArangoDPod) GetNodeAffinity() *core.NodeAffinity {
|
|||
|
||||
pod.AppendArchSelector(a, m.status.Architecture.Default(m.spec.Architecture.GetDefault()).AsNodeSelectorRequirement())
|
||||
|
||||
a = affinity.MergeNodeAffinity(a, m.groupSpec.NodeAffinity)
|
||||
a = kresources.MergeNodeAffinity(a, m.groupSpec.NodeAffinity)
|
||||
|
||||
a = affinity.MergeNodeAffinity(a, topology.GetTopologyAffinityRules(m.context.GetName(), m.deploymentStatus, m.group, m.status).NodeAffinity)
|
||||
a = kresources.MergeNodeAffinity(a, topology.GetTopologyAffinityRules(m.context.GetName(), m.deploymentStatus, m.group, m.status).NodeAffinity)
|
||||
|
||||
return affinity.OptionalNodeAffinity(a)
|
||||
return kresources.OptionalNodeAffinity(a)
|
||||
}
|
||||
|
||||
func (m *MemberArangoDPod) GetNodeSelector() map[string]string {
|
||||
|
@ -520,7 +519,7 @@ func (m *MemberArangoDPod) GetInitContainers(cachedStatus interfaces.Inspector)
|
|||
}
|
||||
}
|
||||
|
||||
res := resources.ExtractPodInitContainerAcceptedResourceRequirement(m.GetContainerCreator().GetResourceRequirements())
|
||||
res := kresources.ExtractPodInitContainerAcceptedResourceRequirement(m.GetContainerCreator().GetResourceRequirements())
|
||||
|
||||
initContainers = applyInitContainersResourceResources(initContainers, res)
|
||||
initContainers = upscaleInitContainersResourceResources(initContainers, res)
|
||||
|
|
|
@ -36,14 +36,13 @@ import (
|
|||
"github.com/arangodb/kube-arangodb/pkg/deployment/features"
|
||||
"github.com/arangodb/kube-arangodb/pkg/deployment/pod"
|
||||
"github.com/arangodb/kube-arangodb/pkg/handlers/utils"
|
||||
"github.com/arangodb/kube-arangodb/pkg/util/affinity"
|
||||
"github.com/arangodb/kube-arangodb/pkg/util/collection"
|
||||
"github.com/arangodb/kube-arangodb/pkg/util/constants"
|
||||
"github.com/arangodb/kube-arangodb/pkg/util/errors"
|
||||
"github.com/arangodb/kube-arangodb/pkg/util/globals"
|
||||
"github.com/arangodb/kube-arangodb/pkg/util/k8sutil"
|
||||
"github.com/arangodb/kube-arangodb/pkg/util/k8sutil/interfaces"
|
||||
"github.com/arangodb/kube-arangodb/pkg/util/k8sutil/resources"
|
||||
kresources "github.com/arangodb/kube-arangodb/pkg/util/k8sutil/resources"
|
||||
)
|
||||
|
||||
const (
|
||||
|
@ -154,7 +153,7 @@ func (a *ArangoSyncContainer) GetProbes() (*core.Probe, *core.Probe, *core.Probe
|
|||
}
|
||||
|
||||
func (a *ArangoSyncContainer) GetResourceRequirements() core.ResourceRequirements {
|
||||
return resources.ExtractPodAcceptedResourceRequirement(a.arangoMember.Spec.Overrides.GetResources(&a.groupSpec))
|
||||
return kresources.ExtractPodAcceptedResourceRequirement(a.arangoMember.Spec.Overrides.GetResources(&a.groupSpec))
|
||||
}
|
||||
|
||||
func (a *ArangoSyncContainer) GetLifecycle() (*core.Lifecycle, error) {
|
||||
|
@ -232,9 +231,9 @@ func (m *MemberSyncPod) GetPodAntiAffinity() *core.PodAntiAffinity {
|
|||
|
||||
pod.AppendPodAntiAffinityDefault(m, a)
|
||||
|
||||
a = affinity.MergePodAntiAffinity(a, m.groupSpec.AntiAffinity)
|
||||
a = kresources.MergePodAntiAffinity(a, m.groupSpec.AntiAffinity)
|
||||
|
||||
return affinity.OptionalPodAntiAffinity(a)
|
||||
return kresources.OptionalPodAntiAffinity(a)
|
||||
}
|
||||
|
||||
func (m *MemberSyncPod) GetPodAffinity() *core.PodAffinity {
|
||||
|
@ -244,9 +243,9 @@ func (m *MemberSyncPod) GetPodAffinity() *core.PodAffinity {
|
|||
pod.AppendAffinityWithRole(m, a, api.ServerGroupDBServers.AsRole())
|
||||
}
|
||||
|
||||
a = affinity.MergePodAffinity(a, m.groupSpec.Affinity)
|
||||
a = kresources.MergePodAffinity(a, m.groupSpec.Affinity)
|
||||
|
||||
return affinity.OptionalPodAffinity(a)
|
||||
return kresources.OptionalPodAffinity(a)
|
||||
}
|
||||
|
||||
func (m *MemberSyncPod) GetNodeAffinity() *core.NodeAffinity {
|
||||
|
@ -254,9 +253,9 @@ func (m *MemberSyncPod) GetNodeAffinity() *core.NodeAffinity {
|
|||
|
||||
pod.AppendArchSelector(a, m.memberStatus.Architecture.Default(m.spec.Architecture.GetDefault()).AsNodeSelectorRequirement())
|
||||
|
||||
a = affinity.MergeNodeAffinity(a, m.groupSpec.NodeAffinity)
|
||||
a = kresources.MergeNodeAffinity(a, m.groupSpec.NodeAffinity)
|
||||
|
||||
return affinity.OptionalNodeAffinity(a)
|
||||
return kresources.OptionalNodeAffinity(a)
|
||||
}
|
||||
|
||||
func (m *MemberSyncPod) GetNodeSelector() map[string]string {
|
||||
|
@ -310,7 +309,7 @@ func (m *MemberSyncPod) GetInitContainers(cachedStatus interfaces.Inspector) ([]
|
|||
initContainers = append(initContainers, c)
|
||||
}
|
||||
|
||||
res := resources.ExtractPodInitContainerAcceptedResourceRequirement(m.GetContainerCreator().GetResourceRequirements())
|
||||
res := kresources.ExtractPodInitContainerAcceptedResourceRequirement(m.GetContainerCreator().GetResourceRequirements())
|
||||
|
||||
initContainers = applyInitContainersResourceResources(initContainers, res)
|
||||
initContainers = upscaleInitContainersResourceResources(initContainers, res)
|
||||
|
|
|
@ -25,7 +25,7 @@ import (
|
|||
|
||||
api "github.com/arangodb/kube-arangodb/pkg/apis/deployment/v1"
|
||||
"github.com/arangodb/kube-arangodb/pkg/deployment/features"
|
||||
"github.com/arangodb/kube-arangodb/pkg/util/k8sutil/resources"
|
||||
kresources "github.com/arangodb/kube-arangodb/pkg/util/k8sutil/resources"
|
||||
)
|
||||
|
||||
// applyInitContainersResourceResources updates passed init containers to ensure that all resources are set (if such feature is enabled)
|
||||
|
@ -40,7 +40,7 @@ func applyInitContainersResourceResources(initContainers []core.Container, mainC
|
|||
continue
|
||||
}
|
||||
|
||||
resources.ApplyContainerResourceRequirements(&initContainers[i], mainContainerResources)
|
||||
kresources.ApplyContainerResourceRequirements(&initContainers[i], mainContainerResources)
|
||||
}
|
||||
return initContainers
|
||||
}
|
||||
|
@ -57,7 +57,7 @@ func upscaleInitContainersResourceResources(initContainers []core.Container, mai
|
|||
continue
|
||||
}
|
||||
|
||||
resources.UpscaleContainerResourceRequirements(&initContainers[i], mainContainerResources)
|
||||
kresources.UpscaleContainerResourceRequirements(&initContainers[i], mainContainerResources)
|
||||
}
|
||||
return initContainers
|
||||
}
|
||||
|
|
10
pkg/generated/informers/externalversions/factory.go
generated
10
pkg/generated/informers/externalversions/factory.go
generated
|
@ -51,6 +51,7 @@ type sharedInformerFactory struct {
|
|||
lock sync.Mutex
|
||||
defaultResync time.Duration
|
||||
customResync map[reflect.Type]time.Duration
|
||||
transform cache.TransformFunc
|
||||
|
||||
informers map[reflect.Type]cache.SharedIndexInformer
|
||||
// startedInformers is used for tracking which informers have been started.
|
||||
|
@ -89,6 +90,14 @@ func WithNamespace(namespace string) SharedInformerOption {
|
|||
}
|
||||
}
|
||||
|
||||
// WithTransform sets a transform on all informers.
|
||||
func WithTransform(transform cache.TransformFunc) SharedInformerOption {
|
||||
return func(factory *sharedInformerFactory) *sharedInformerFactory {
|
||||
factory.transform = transform
|
||||
return factory
|
||||
}
|
||||
}
|
||||
|
||||
// NewSharedInformerFactory constructs a new instance of sharedInformerFactory for all namespaces.
|
||||
func NewSharedInformerFactory(client versioned.Interface, defaultResync time.Duration) SharedInformerFactory {
|
||||
return NewSharedInformerFactoryWithOptions(client, defaultResync)
|
||||
|
@ -193,6 +202,7 @@ func (f *sharedInformerFactory) InformerFor(obj runtime.Object, newFunc internal
|
|||
}
|
||||
|
||||
informer = newFunc(f.client, resyncPeriod)
|
||||
informer.SetTransform(f.transform)
|
||||
f.informers[informerType] = informer
|
||||
|
||||
return informer
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
//
|
||||
// DISCLAIMER
|
||||
//
|
||||
// Copyright 2016-2023 ArangoDB GmbH, Cologne, Germany
|
||||
// Copyright 2016-2024 ArangoDB GmbH, Cologne, Germany
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
|
@ -27,7 +27,7 @@ import (
|
|||
core "k8s.io/api/core/v1"
|
||||
|
||||
"github.com/arangodb/kube-arangodb/pkg/util/constants"
|
||||
resources2 "github.com/arangodb/kube-arangodb/pkg/util/k8sutil/resources"
|
||||
kresources "github.com/arangodb/kube-arangodb/pkg/util/k8sutil/resources"
|
||||
)
|
||||
|
||||
const (
|
||||
|
@ -74,7 +74,7 @@ func InitLifecycleContainer(image, binaryPath string, resources *core.ResourceRe
|
|||
}
|
||||
|
||||
if resources != nil {
|
||||
c.Resources = resources2.ExtractPodAcceptedResourceRequirement(*resources)
|
||||
c.Resources = kresources.ExtractPodAcceptedResourceRequirement(*resources)
|
||||
}
|
||||
return c, nil
|
||||
}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
//
|
||||
// DISCLAIMER
|
||||
//
|
||||
// Copyright 2016-2023 ArangoDB GmbH, Cologne, Germany
|
||||
// Copyright 2016-2024 ArangoDB GmbH, Cologne, Germany
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
|
@ -31,9 +31,13 @@ import (
|
|||
"github.com/arangodb/kube-arangodb/pkg/util/errors"
|
||||
persistentvolumeclaimv1 "github.com/arangodb/kube-arangodb/pkg/util/k8sutil/inspector/persistentvolumeclaim/v1"
|
||||
"github.com/arangodb/kube-arangodb/pkg/util/k8sutil/kerrors"
|
||||
resources2 "github.com/arangodb/kube-arangodb/pkg/util/k8sutil/resources"
|
||||
kresources "github.com/arangodb/kube-arangodb/pkg/util/k8sutil/resources"
|
||||
)
|
||||
|
||||
// ExtractStorageResourceRequirement filters resource requirements for Pods.
|
||||
// Keep reference for backward compatibility
|
||||
var ExtractStorageResourceRequirement = kresources.ExtractStorageResourceRequirement
|
||||
|
||||
// IsPersistentVolumeClaimMarkedForDeletion returns true if the pvc has been marked for deletion.
|
||||
func IsPersistentVolumeClaimMarkedForDeletion(pvc *core.PersistentVolumeClaim) bool {
|
||||
return pvc.DeletionTimestamp != nil
|
||||
|
@ -59,16 +63,6 @@ func IsPersistentVolumeClaimResizing(pvc *core.PersistentVolumeClaim) bool {
|
|||
return false
|
||||
}
|
||||
|
||||
// ExtractStorageResourceRequirement filters resource requirements for Pods.
|
||||
func ExtractStorageResourceRequirement(resources core.ResourceRequirements) core.ResourceRequirements {
|
||||
filterStorage := resources2.NewPodResourceListFilter(core.ResourceStorage, "iops")
|
||||
|
||||
return core.ResourceRequirements{
|
||||
Limits: filterStorage(resources.Limits),
|
||||
Requests: filterStorage(resources.Requests),
|
||||
}
|
||||
}
|
||||
|
||||
// CreatePersistentVolumeClaim creates a persistent volume claim with given name and configuration.
|
||||
// If the pvc already exists, nil is returned.
|
||||
// If another error occurs, that error is returned.
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
// Copyright holder is ArangoDB GmbH, Cologne, Germany
|
||||
//
|
||||
|
||||
package affinity
|
||||
package resources
|
||||
|
||||
import core "k8s.io/api/core/v1"
|
||||
|
|
@ -38,21 +38,3 @@ func MergeLifecycle(a, b *core.Lifecycle) *core.Lifecycle {
|
|||
PreStop: MergeLifecycleHandler(b.PreStop, a.PreStop),
|
||||
}
|
||||
}
|
||||
|
||||
func MergeLifecycleHandler(a, b *core.LifecycleHandler) *core.LifecycleHandler {
|
||||
if a == nil && b == nil {
|
||||
return nil
|
||||
}
|
||||
if a == nil {
|
||||
return b.DeepCopy()
|
||||
}
|
||||
if b == nil {
|
||||
return a.DeepCopy()
|
||||
}
|
||||
|
||||
if a.HTTPGet != nil || a.Exec != nil || a.TCPSocket != nil {
|
||||
return a.DeepCopy()
|
||||
}
|
||||
|
||||
return b.DeepCopy()
|
||||
}
|
||||
|
|
43
pkg/util/k8sutil/resources/lifecycle_k8s_1.28.go
Normal file
43
pkg/util/k8sutil/resources/lifecycle_k8s_1.28.go
Normal file
|
@ -0,0 +1,43 @@
|
|||
//
|
||||
// DISCLAIMER
|
||||
//
|
||||
// Copyright 2024 ArangoDB GmbH, Cologne, Germany
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
// Copyright holder is ArangoDB GmbH, Cologne, Germany
|
||||
//
|
||||
|
||||
//go:build kube_arangodb_k8s_1_28
|
||||
|
||||
package resources
|
||||
|
||||
import core "k8s.io/api/core/v1"
|
||||
|
||||
func MergeLifecycleHandler(a, b *core.LifecycleHandler) *core.LifecycleHandler {
|
||||
if a == nil && b == nil {
|
||||
return nil
|
||||
}
|
||||
if a == nil {
|
||||
return b.DeepCopy()
|
||||
}
|
||||
if b == nil {
|
||||
return a.DeepCopy()
|
||||
}
|
||||
|
||||
if a.HTTPGet != nil || a.Exec != nil || a.TCPSocket != nil {
|
||||
return a.DeepCopy()
|
||||
}
|
||||
|
||||
return b.DeepCopy()
|
||||
}
|
43
pkg/util/k8sutil/resources/lifecycle_k8s_1.29.go
Normal file
43
pkg/util/k8sutil/resources/lifecycle_k8s_1.29.go
Normal file
|
@ -0,0 +1,43 @@
|
|||
//
|
||||
// DISCLAIMER
|
||||
//
|
||||
// Copyright 2024 ArangoDB GmbH, Cologne, Germany
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
// Copyright holder is ArangoDB GmbH, Cologne, Germany
|
||||
//
|
||||
|
||||
//go:build !kube_arangodb_k8s_1_28
|
||||
|
||||
package resources
|
||||
|
||||
import core "k8s.io/api/core/v1"
|
||||
|
||||
func MergeLifecycleHandler(a, b *core.LifecycleHandler) *core.LifecycleHandler {
|
||||
if a == nil && b == nil {
|
||||
return nil
|
||||
}
|
||||
if a == nil {
|
||||
return b.DeepCopy()
|
||||
}
|
||||
if b == nil {
|
||||
return a.DeepCopy()
|
||||
}
|
||||
|
||||
if a.HTTPGet != nil || a.Exec != nil || a.TCPSocket != nil || a.Sleep != nil {
|
||||
return a.DeepCopy()
|
||||
}
|
||||
|
||||
return b.DeepCopy()
|
||||
}
|
37
pkg/util/k8sutil/resources/pvc_k8s_1.28.go
Normal file
37
pkg/util/k8sutil/resources/pvc_k8s_1.28.go
Normal file
|
@ -0,0 +1,37 @@
|
|||
//
|
||||
// DISCLAIMER
|
||||
//
|
||||
// Copyright 2024 ArangoDB GmbH, Cologne, Germany
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
// Copyright holder is ArangoDB GmbH, Cologne, Germany
|
||||
//
|
||||
|
||||
//go:build kube_arangodb_k8s_1_28
|
||||
|
||||
package resources
|
||||
|
||||
import (
|
||||
core "k8s.io/api/core/v1"
|
||||
)
|
||||
|
||||
// ExtractStorageResourceRequirement filters resource requirements for Pods.
|
||||
func ExtractStorageResourceRequirement(resources core.ResourceRequirements) core.ResourceRequirements {
|
||||
filterStorage := NewPodResourceListFilter(core.ResourceStorage, "iops")
|
||||
|
||||
return core.ResourceRequirements{
|
||||
Limits: filterStorage(resources.Limits),
|
||||
Requests: filterStorage(resources.Requests),
|
||||
}
|
||||
}
|
37
pkg/util/k8sutil/resources/pvc_k8s_1.29.go
Normal file
37
pkg/util/k8sutil/resources/pvc_k8s_1.29.go
Normal file
|
@ -0,0 +1,37 @@
|
|||
//
|
||||
// DISCLAIMER
|
||||
//
|
||||
// Copyright 2024 ArangoDB GmbH, Cologne, Germany
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
// Copyright holder is ArangoDB GmbH, Cologne, Germany
|
||||
//
|
||||
|
||||
//go:build !kube_arangodb_k8s_1_28
|
||||
|
||||
package resources
|
||||
|
||||
import (
|
||||
core "k8s.io/api/core/v1"
|
||||
)
|
||||
|
||||
// ExtractStorageResourceRequirement filters resource requirements for Pods.
|
||||
func ExtractStorageResourceRequirement(resources core.ResourceRequirements) core.VolumeResourceRequirements {
|
||||
filterStorage := NewPodResourceListFilter(core.ResourceStorage, "iops")
|
||||
|
||||
return core.VolumeResourceRequirements{
|
||||
Limits: filterStorage(resources.Limits),
|
||||
Requests: filterStorage(resources.Requests),
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue