Skip to content

Commit 34acb21

Browse files
authored
[Feature] [ML] Unify Integration Sidecar (#1663)
1 parent 21dde23 commit 34acb21

18 files changed

+1541
-796
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
- (Maintenance) Update Go to 1.22.3
1515
- (Feature) (Analytics) GAE Integration
1616
- (Feature) (Analytics) Enable TLS and Service
17+
- (Feature) (ML) Unify Integration Sidecar
1718

1819
## [1.2.40](https://github.com/arangodb/kube-arangodb/tree/1.2.40) (2024-04-10)
1920
- (Feature) Add Core fields to the Scheduler Container Spec

docs/api/ArangoMLExtension.V1Beta1.md

Lines changed: 192 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -762,6 +762,198 @@ might be configured in the container image.
762762

763763
***
764764

765+
### .spec.integrationSidecar.args
766+
767+
Type: `array` <sup>[\[ref\]](https://github.com/arangodb/kube-arangodb/blob/1.2.40/pkg/apis/scheduler/v1beta1/container/resources/core.go#L50)</sup>
768+
769+
Arguments to the entrypoint.
770+
The container image's CMD is used if this is not provided.
771+
Variable references $(VAR_NAME) are expanded using the container's environment. If a variable
772+
cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced
773+
to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will
774+
produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless
775+
of whether the variable exists or not. Cannot be updated.
776+
777+
Links:
778+
* [Kubernetes Docs](https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell)
779+
780+
***
781+
782+
### .spec.integrationSidecar.command
783+
784+
Type: `array` <sup>[\[ref\]](https://github.com/arangodb/kube-arangodb/blob/1.2.40/pkg/apis/scheduler/v1beta1/container/resources/core.go#L40)</sup>
785+
786+
Entrypoint array. Not executed within a shell.
787+
The container image's ENTRYPOINT is used if this is not provided.
788+
Variable references $(VAR_NAME) are expanded using the container's environment. If a variable
789+
cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced
790+
to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will
791+
produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless
792+
of whether the variable exists or not. Cannot be updated.
793+
794+
Links:
795+
* [Kubernetes Docs](https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell)
796+
797+
***
798+
799+
### .spec.integrationSidecar.controllerListenPort
800+
801+
Type: `integer` <sup>[\[ref\]](https://github.com/arangodb/kube-arangodb/blob/1.2.40/pkg/apis/scheduler/v1beta1/integration.go#L36)</sup>
802+
803+
ControllerListenPort defines on which port the sidecar container will be listening for controller requests
804+
805+
Default Value: `9202`
806+
807+
***
808+
809+
### .spec.integrationSidecar.env
810+
811+
Type: `core.EnvVar` <sup>[\[ref\]](https://github.com/arangodb/kube-arangodb/blob/1.2.40/pkg/apis/scheduler/v1beta1/container/resources/environments.go#L36)</sup>
812+
813+
Env keeps the information about environment variables provided to the container
814+
815+
Links:
816+
* [Kubernetes Docs](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#envvar-v1-core)
817+
818+
***
819+
820+
### .spec.integrationSidecar.envFrom
821+
822+
Type: `core.EnvFromSource` <sup>[\[ref\]](https://github.com/arangodb/kube-arangodb/blob/1.2.40/pkg/apis/scheduler/v1beta1/container/resources/environments.go#L41)</sup>
823+
824+
EnvFrom keeps the information about environment variable sources provided to the container
825+
826+
Links:
827+
* [Kubernetes Docs](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#envfromsource-v1-core)
828+
829+
***
830+
831+
### .spec.integrationSidecar.image
832+
833+
Type: `string` <sup>[\[ref\]](https://github.com/arangodb/kube-arangodb/blob/1.2.40/pkg/apis/scheduler/v1beta1/container/resources/image.go#L35)</sup>
834+
835+
Image define image details
836+
837+
***
838+
839+
### .spec.integrationSidecar.imagePullPolicy
840+
841+
Type: `string` <sup>[\[ref\]](https://github.com/arangodb/kube-arangodb/blob/1.2.40/pkg/apis/scheduler/v1beta1/container/resources/image.go#L39)</sup>
842+
843+
ImagePullPolicy define Image pull policy
844+
845+
Default Value: `IfNotPresent`
846+
847+
***
848+
849+
### .spec.integrationSidecar.lifecycle
850+
851+
Type: `core.Lifecycle` <sup>[\[ref\]](https://github.com/arangodb/kube-arangodb/blob/1.2.40/pkg/apis/scheduler/v1beta1/container/resources/lifecycle.go#L35)</sup>
852+
853+
Lifecycle keeps actions that the management system should take in response to container lifecycle events.
854+
855+
***
856+
857+
### .spec.integrationSidecar.listenPort
858+
859+
Type: `integer` <sup>[\[ref\]](https://github.com/arangodb/kube-arangodb/blob/1.2.40/pkg/apis/scheduler/v1beta1/integration.go#L32)</sup>
860+
861+
ListenPort defines on which port the sidecar container will be listening for connections
862+
863+
Default Value: `9201`
864+
865+
***
866+
867+
### .spec.integrationSidecar.livenessProbe
868+
869+
Type: `core.Probe` <sup>[\[ref\]](https://github.com/arangodb/kube-arangodb/blob/1.2.40/pkg/apis/scheduler/v1beta1/container/resources/probes.go#L37)</sup>
870+
871+
LivenessProbe keeps configuration of periodic probe of container liveness.
872+
Container will be restarted if the probe fails.
873+
874+
Links:
875+
* [Kubernetes docs](https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes)
876+
877+
***
878+
879+
### .spec.integrationSidecar.ports
880+
881+
Type: `[]core.ContainerPort` <sup>[\[ref\]](https://github.com/arangodb/kube-arangodb/blob/1.2.40/pkg/apis/scheduler/v1beta1/container/resources/networking.go#L39)</sup>
882+
883+
Ports contains list of ports to expose from the container. Not specifying a port here
884+
DOES NOT prevent that port from being exposed. Any port which is
885+
listening on the default "0.0.0.0" address inside a container will be
886+
accessible from the network.
887+
888+
***
889+
890+
### .spec.integrationSidecar.readinessProbe
891+
892+
Type: `core.Probe` <sup>[\[ref\]](https://github.com/arangodb/kube-arangodb/blob/1.2.40/pkg/apis/scheduler/v1beta1/container/resources/probes.go#L42)</sup>
893+
894+
ReadinessProbe keeps configuration of periodic probe of container service readiness.
895+
Container will be removed from service endpoints if the probe fails.
896+
897+
Links:
898+
* [Kubernetes docs](https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes)
899+
900+
***
901+
902+
### .spec.integrationSidecar.resources
903+
904+
Type: `core.ResourceRequirements` <sup>[\[ref\]](https://github.com/arangodb/kube-arangodb/blob/1.2.40/pkg/apis/scheduler/v1beta1/container/resources/resources.go#L37)</sup>
905+
906+
Resources holds resource requests & limits for container
907+
908+
Links:
909+
* [Documentation of core.ResourceRequirements](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#resourcerequirements-v1-core)
910+
911+
***
912+
913+
### .spec.integrationSidecar.securityContext
914+
915+
Type: `core.SecurityContext` <sup>[\[ref\]](https://github.com/arangodb/kube-arangodb/blob/1.2.40/pkg/apis/scheduler/v1beta1/container/resources/security.go#L35)</sup>
916+
917+
SecurityContext holds container-level security attributes and common container settings.
918+
919+
Links:
920+
* [Kubernetes docs](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/)
921+
922+
***
923+
924+
### .spec.integrationSidecar.startupProbe
925+
926+
Type: `core.Probe` <sup>[\[ref\]](https://github.com/arangodb/kube-arangodb/blob/1.2.40/pkg/apis/scheduler/v1beta1/container/resources/probes.go#L50)</sup>
927+
928+
StartupProbe indicates that the Pod has successfully initialized.
929+
If specified, no other probes are executed until this completes successfully.
930+
If this probe fails, the Pod will be restarted, just as if the livenessProbe failed.
931+
This can be used to provide different probe parameters at the beginning of a Pod's lifecycle,
932+
when it might take a long time to load data or warm a cache, than during steady-state operation.
933+
934+
Links:
935+
* [Kubernetes docs](https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes)
936+
937+
***
938+
939+
### .spec.integrationSidecar.volumeMounts
940+
941+
Type: `[]core.VolumeMount` <sup>[\[ref\]](https://github.com/arangodb/kube-arangodb/blob/1.2.40/pkg/apis/scheduler/v1beta1/container/resources/volume_mounts.go#L35)</sup>
942+
943+
VolumeMounts keeps list of pod volumes to mount into the container's filesystem.
944+
945+
***
946+
947+
### .spec.integrationSidecar.workingDir
948+
949+
Type: `string` <sup>[\[ref\]](https://github.com/arangodb/kube-arangodb/blob/1.2.40/pkg/apis/scheduler/v1beta1/container/resources/core.go#L55)</sup>
950+
951+
Container's working directory.
952+
If not specified, the container runtime's default will be used, which
953+
might be configured in the container image.
954+
955+
***
956+
765957
### .spec.jobsTemplates.featurization.cpu.affinity
766958

767959
Type: `core.Affinity` <sup>[\[ref\]](https://github.com/arangodb/kube-arangodb/blob/1.2.40/pkg/apis/scheduler/v1beta1/pod/resources/scheduling.go#L44)</sup>

0 commit comments

Comments
 (0)