From 2c1a34ebdade626799fd0f65382a7e520c2451bc Mon Sep 17 00:00:00 2001 From: "nikita.tikhonov" Date: Sun, 25 Jan 2026 18:11:59 +0300 Subject: [PATCH] add extra args support --- api/v1alpha1/vector_common_types.go | 1 + api/v1alpha1/zz_generated.deepcopy.go | 5 +++++ .../observability.kaasops.io_clustervectoraggregators.yaml | 4 ++++ .../bases/observability.kaasops.io_vectoraggregators.yaml | 4 ++++ config/crd/bases/observability.kaasops.io_vectors.yaml | 4 ++++ helm/charts/vector-operator/values.yaml | 3 +++ internal/vector/vectoragent/vectoragent_daemonset.go | 2 +- 7 files changed, 22 insertions(+), 1 deletion(-) diff --git a/api/v1alpha1/vector_common_types.go b/api/v1alpha1/vector_common_types.go index 712b021..d47c3a6 100644 --- a/api/v1alpha1/vector_common_types.go +++ b/api/v1alpha1/vector_common_types.go @@ -112,6 +112,7 @@ type VectorCommon struct { CompressConfigFile bool `json:"compressConfigFile,omitempty"` ConfigReloaderImage string `json:"configReloaderImage,omitempty"` ConfigReloaderResources v1.ResourceRequirements `json:"configReloaderResources,omitempty"` + Args []string `json:"args,omitempty"` } // ApiSpec is the Schema for the Vector Agent GraphQL API - https://vector.dev/docs/reference/api/ diff --git a/api/v1alpha1/zz_generated.deepcopy.go b/api/v1alpha1/zz_generated.deepcopy.go index 88f3346..be22a3a 100644 --- a/api/v1alpha1/zz_generated.deepcopy.go +++ b/api/v1alpha1/zz_generated.deepcopy.go @@ -519,6 +519,11 @@ func (in *VectorCommon) DeepCopyInto(out *VectorCommon) { } in.ConfigCheck.DeepCopyInto(&out.ConfigCheck) in.ConfigReloaderResources.DeepCopyInto(&out.ConfigReloaderResources) + if in.Args != nil { + in, out := &in.Args, &out.Args + *out = make([]string, len(*in)) + copy(*out, *in) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VectorCommon. diff --git a/config/crd/bases/observability.kaasops.io_clustervectoraggregators.yaml b/config/crd/bases/observability.kaasops.io_clustervectoraggregators.yaml index ab6fa3d..bce1d1d 100644 --- a/config/crd/bases/observability.kaasops.io_clustervectoraggregators.yaml +++ b/config/crd/bases/observability.kaasops.io_clustervectoraggregators.yaml @@ -990,6 +990,10 @@ spec: playground: type: boolean type: object + args: + items: + type: string + type: array compressConfigFile: description: 'Compress config file to fix: metadata.annotations: Too long: must have at most 262144 characters' diff --git a/config/crd/bases/observability.kaasops.io_vectoraggregators.yaml b/config/crd/bases/observability.kaasops.io_vectoraggregators.yaml index d795466..b9f8fe1 100644 --- a/config/crd/bases/observability.kaasops.io_vectoraggregators.yaml +++ b/config/crd/bases/observability.kaasops.io_vectoraggregators.yaml @@ -988,6 +988,10 @@ spec: playground: type: boolean type: object + args: + items: + type: string + type: array compressConfigFile: description: 'Compress config file to fix: metadata.annotations: Too long: must have at most 262144 characters' diff --git a/config/crd/bases/observability.kaasops.io_vectors.yaml b/config/crd/bases/observability.kaasops.io_vectors.yaml index ddb3cce..20015ed 100644 --- a/config/crd/bases/observability.kaasops.io_vectors.yaml +++ b/config/crd/bases/observability.kaasops.io_vectors.yaml @@ -998,6 +998,10 @@ spec: playground: type: boolean type: object + args: + items: + type: string + type: array compressConfigFile: description: 'Compress config file to fix: metadata.annotations: Too long: must have at most 262144 characters' diff --git a/helm/charts/vector-operator/values.yaml b/helm/charts/vector-operator/values.yaml index e07a2d3..d66ba94 100644 --- a/helm/charts/vector-operator/values.yaml +++ b/helm/charts/vector-operator/values.yaml @@ -82,6 +82,9 @@ vector: # env: # - name: "testenv" # value: "testvalues" + # args: + # --allocation-tracing + secrets: {} # - name: elastic-creds diff --git a/internal/vector/vectoragent/vectoragent_daemonset.go b/internal/vector/vectoragent/vectoragent_daemonset.go index 33c318e..2d81c53 100644 --- a/internal/vector/vectoragent/vectoragent_daemonset.go +++ b/internal/vector/vectoragent/vectoragent_daemonset.go @@ -239,7 +239,7 @@ func (ctrl *Controller) VectorAgentContainer() *corev1.Container { container := &corev1.Container{ Name: ctrl.getNameVectorAgent(), Image: ctrl.Vector.Spec.Agent.Image, - Args: []string{"--config-dir", "/etc/vector", "--watch-config"}, + Args: append([]string{"--config-dir", "/etc/vector", "--watch-config"}, ctrl.Vector.Spec.Agent.Args...), Env: ctrl.generateVectorAgentEnvs(), Ports: []corev1.ContainerPort{ {