From bf54a5336fe39d2097336ad03dfb7c1fab2b6782 Mon Sep 17 00:00:00 2001 From: OpenShift Cherrypick Robot Date: Tue, 28 Jan 2025 11:57:20 +0100 Subject: [PATCH] JobSink with Istio config for Job spec (#1010) Co-authored-by: Martin Gencur --- test/rekt/features/jobsink/jobsink.go | 6 +++++- test/rekt/resources/jobsink/jobsink.go | 16 ++++++++++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/test/rekt/features/jobsink/jobsink.go b/test/rekt/features/jobsink/jobsink.go index c872dc64f46..6227afa8bea 100644 --- a/test/rekt/features/jobsink/jobsink.go +++ b/test/rekt/features/jobsink/jobsink.go @@ -59,7 +59,11 @@ func Success() *feature.Feature { Scheme: "http", Host: network.GetServiceHostname(sink, environment.FromContext(ctx).Namespace()), } - jobsink.Install(jobSink, jobsink.WithForwarderJob(sinkURL.String()))(ctx, t) + var opts []func(*batchv1.Job) + if ic := environment.GetIstioConfig(ctx); ic.Enabled { + opts = append(opts, jobsink.WithIstioConfig()) + } + jobsink.Install(jobSink, jobsink.WithForwarderJob(sinkURL.String(), opts...))(ctx, t) }) f.Setup("jobsink is addressable", jobsink.IsAddressable(jobSink)) diff --git a/test/rekt/resources/jobsink/jobsink.go b/test/rekt/resources/jobsink/jobsink.go index 42804ebeb91..c5efde044c8 100644 --- a/test/rekt/resources/jobsink/jobsink.go +++ b/test/rekt/resources/jobsink/jobsink.go @@ -106,6 +106,22 @@ func WithJob(job batchv1.Job) manifest.CfgFn { } } +func WithIstioConfig() func(*batchv1.Job) { + return func(job *batchv1.Job) { + if job.Spec.Template.Labels == nil { + job.Spec.Template.Labels = make(map[string]string) + } + job.Spec.Template.Labels["sidecar.istio.io/inject"] = "true" + + if job.Spec.Template.Annotations == nil { + job.Spec.Template.Annotations = make(map[string]string) + } + job.Spec.Template.Annotations["sidecar.istio.io/rewriteAppHTTPProbers"] = "true" + job.Spec.Template.Annotations["proxy.istio.io/config"] = `{ "holdApplicationUntilProxyStarts": true }` + job.Spec.Template.Annotations["sidecar.istio.io/inject"] = "true" // For backwards compatibility. + } +} + func WithForwarderJob(sink string, options ...func(*batchv1.Job)) manifest.CfgFn { return func(cfg map[string]interface{}) { j := batchv1.Job{