From b6fbf34fe7d493884b75a14b373b5b89e344457e Mon Sep 17 00:00:00 2001 From: "luohua13@alauda.io" Date: Fri, 27 May 2022 16:04:59 +0800 Subject: [PATCH] add kafkaSecretName for collector and ingester Signed-off-by: luohua13@alauda.io --- apis/v1/jaeger_types.go | 5 +++++ pkg/deployment/collector.go | 10 ++++++++++ pkg/deployment/collector_test.go | 12 ++++++++++++ pkg/deployment/ingester.go | 10 ++++++++++ pkg/deployment/ingester_test.go | 11 +++++++++++ 5 files changed, 48 insertions(+) diff --git a/apis/v1/jaeger_types.go b/apis/v1/jaeger_types.go index 4f3fb29c42..8d1fc53bf6 100644 --- a/apis/v1/jaeger_types.go +++ b/apis/v1/jaeger_types.go @@ -434,6 +434,7 @@ type JaegerCollectorSpec struct { // +optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Strategy" Strategy *appsv1.DeploymentStrategy `json:"strategy,omitempty"` + KafkaSecretName string `json:"kafkaSecretName"` } // JaegerIngesterSpec defines the options to be used when deploying the ingester @@ -460,7 +461,11 @@ type JaegerIngesterSpec struct { Config FreeForm `json:"config,omitempty"` // +optional +<<<<<<< HEAD:apis/v1/jaeger_types.go Strategy *appsv1.DeploymentStrategy `json:"strategy,omitempty"` +======= + KafkaSecretName string `json:"kafkaSecretName"` +>>>>>>> c953130e (add kafkaSecretName for collector and ingester):pkg/apis/jaegertracing/v1/jaeger_types.go } // JaegerAgentSpec defines the options to be used when deploying the agent diff --git a/pkg/deployment/collector.go b/pkg/deployment/collector.go index 2952dbd9db..d001eb82f0 100644 --- a/pkg/deployment/collector.go +++ b/pkg/deployment/collector.go @@ -74,6 +74,16 @@ func (c *Collector) Get() *appsv1.Deployment { // to Kafka, and the storage options will be used in the Ingester instead if c.jaeger.Spec.Strategy == v1.DeploymentStrategyStreaming { storageType = v1.JaegerKafkaStorage + storageType = "kafka" + if len(c.jaeger.Spec.Collector.KafkaSecretName) > 0 { + envFromSource = append(envFromSource, corev1.EnvFromSource{ + SecretRef: &corev1.SecretEnvSource{ + LocalObjectReference: corev1.LocalObjectReference{ + Name: c.jaeger.Spec.Collector.KafkaSecretName, + }, + }, + }) + } } options := allArgs(c.jaeger.Spec.Collector.Options, c.jaeger.Spec.Storage.Options.Filter(storageType.OptionsPrefix())) diff --git a/pkg/deployment/collector_test.go b/pkg/deployment/collector_test.go index 2dcf1049b1..2a69dc2e5f 100644 --- a/pkg/deployment/collector_test.go +++ b/pkg/deployment/collector_test.go @@ -156,6 +156,18 @@ func TestCollectorImagePullSecrets(t *testing.T) { assert.Equal(t, pullSecret, dep.Spec.Template.Spec.ImagePullSecrets[0].Name) } +func TestCollectorKafkaSecrets(t *testing.T) { + jaeger := v1.NewJaeger(types.NamespacedName{Name: "kafka-instance"}) + secret := "mysecret" + jaeger.Spec.Strategy = v1.DeploymentStrategyStreaming + jaeger.Spec.Collector.KafkaSecretName = secret + + collector := NewCollector(jaeger) + dep := collector.Get() + + assert.Equal(t, "mysecret", dep.Spec.Template.Spec.Containers[0].EnvFrom[0].SecretRef.LocalObjectReference.Name) +} + func TestCollectorImagePullPolicy(t *testing.T) { jaeger := v1.NewJaeger(types.NamespacedName{Name: "TestCollectorImagePullPolicy"}) const pullPolicy = corev1.PullPolicy("Always") diff --git a/pkg/deployment/ingester.go b/pkg/deployment/ingester.go index 1ec3c87aa0..1a0c3baeeb 100644 --- a/pkg/deployment/ingester.go +++ b/pkg/deployment/ingester.go @@ -75,6 +75,16 @@ func (i *Ingester) Get() *appsv1.Deployment { }) } + if len(i.jaeger.Spec.Ingester.KafkaSecretName) > 0 { + envFromSource = append(envFromSource, corev1.EnvFromSource{ + SecretRef: &corev1.SecretEnvSource{ + LocalObjectReference: corev1.LocalObjectReference{ + Name: i.jaeger.Spec.Ingester.KafkaSecretName, + }, + }, + }) + } + options := allArgs(i.jaeger.Spec.Ingester.Options, i.jaeger.Spec.Storage.Options.Filter(i.jaeger.Spec.Storage.Type.OptionsPrefix())) diff --git a/pkg/deployment/ingester_test.go b/pkg/deployment/ingester_test.go index 8a02fabfe8..fee6b24ea2 100644 --- a/pkg/deployment/ingester_test.go +++ b/pkg/deployment/ingester_test.go @@ -153,6 +153,17 @@ func TestIngeterImagePullSecrets(t *testing.T) { assert.Equal(t, pullSecret, dep.Spec.Template.Spec.ImagePullSecrets[0].Name) } +func TestIngesterKafkaSecrets(t *testing.T) { + jaeger := newIngesterJaeger("TestIngesterKafkaSecrets") + secret := "mysecret" + jaeger.Spec.Storage.SecretName = secret + + ingester := NewIngester(jaeger) + dep := ingester.Get() + + assert.Equal(t, "mysecret", dep.Spec.Template.Spec.Containers[0].EnvFrom[0].SecretRef.LocalObjectReference.Name) +} + func TestIngesterImagePullPolicy(t *testing.T) { jaeger := newIngesterJaeger("TestIngesterImagePullPolicy") const pullPolicy = corev1.PullPolicy("Always")