@@ -264,7 +264,7 @@ func (r *EnvironmentRequestReconciler) reconcileEnvironmentProvider(ctx context.
264
264
}
265
265
266
266
// envVarListFrom creates a list of EnvVar key-value pairs from an EnvironmentRequest instance
267
- func (r EnvironmentRequestReconciler ) envVarListFrom (ctx context.Context , environmentrequest * etosv1alpha1.EnvironmentRequest ) ([]corev1.EnvVar , error ) {
267
+ func (r EnvironmentRequestReconciler ) envVarListFrom (ctx context.Context , environmentrequest * etosv1alpha1.EnvironmentRequest , cluster * etosv1alpha1. Cluster ) ([]corev1.EnvVar , error ) {
268
268
etosEncryptionKey , err := environmentrequest .Spec .Config .EncryptionKey .Get (ctx , r .Client , environmentrequest .Namespace )
269
269
if err != nil {
270
270
return nil , err
@@ -277,6 +277,10 @@ func (r EnvironmentRequestReconciler) envVarListFrom(ctx context.Context, enviro
277
277
if err != nil {
278
278
return nil , err
279
279
}
280
+ traceparent , ok := environmentrequest .Annotations ["etos.eiffel-community.github.io/traceparent" ]
281
+ if ! ok {
282
+ traceparent = ""
283
+ }
280
284
envList := []corev1.EnvVar {
281
285
{
282
286
Name : "REQUEST" ,
@@ -410,6 +414,20 @@ func (r EnvironmentRequestReconciler) envVarListFrom(ctx context.Context, enviro
410
414
Name : "ETOS_ROUTING_KEY_TAG" ,
411
415
Value : environmentrequest .Spec .Config .RoutingKeyTag ,
412
416
},
417
+ {
418
+ Name : "OTEL_CONTEXT" ,
419
+ Value : traceparent ,
420
+ },
421
+ }
422
+ if cluster != nil && cluster .Spec .OpenTelemetry .Enabled {
423
+ envList = append (envList , corev1.EnvVar {
424
+ Name : "OTEL_EXPORTER_OTLP_ENDPOINT" ,
425
+ Value : cluster .Spec .OpenTelemetry .Endpoint ,
426
+ })
427
+ envList = append (envList , corev1.EnvVar {
428
+ Name : "OTEL_EXPORTER_OTLP_INSECURE" ,
429
+ Value : cluster .Spec .OpenTelemetry .Insecure ,
430
+ })
413
431
}
414
432
return envList , nil
415
433
}
@@ -473,19 +491,29 @@ func (r EnvironmentRequestReconciler) environmentProviderJob(ctx context.Context
473
491
grace := int64 (30 )
474
492
backoff := int32 (0 )
475
493
476
- envVarList , err := r .envVarListFrom (ctx , environmentrequest )
477
- if err != nil {
478
- logger .Error (err , "Failed to create environment variable list for environment provider" )
479
- return nil , err
480
- }
481
-
482
494
labels := map [string ]string {
483
495
"etos.eiffel-community.github.io/id" : environmentrequest .Spec .Identifier , // TODO: omitempty
484
496
"app.kubernetes.io/name" : "environment-provider" ,
485
497
"app.kubernetes.io/part-of" : "etos" ,
486
498
}
487
- if cluster := environmentrequest .Labels ["etos.eiffel-community.github.io/cluster" ]; cluster != "" {
488
- labels ["etos.eiffel-community.github.io/cluster" ] = cluster
499
+
500
+ var cluster * etosv1alpha1.Cluster
501
+ if clusterName := environmentrequest .Labels ["etos.eiffel-community.github.io/cluster" ]; clusterName != "" {
502
+ labels ["etos.eiffel-community.github.io/cluster" ] = clusterName
503
+ clusterNamespacedName := types.NamespacedName {
504
+ Name : clusterName ,
505
+ Namespace : environmentrequest .Namespace ,
506
+ }
507
+ if err := r .Get (ctx , clusterNamespacedName , cluster ); err != nil {
508
+ logger .Info ("Failed to get cluster resource!" )
509
+ return nil , err
510
+ }
511
+ }
512
+
513
+ envVarList , err := r .envVarListFrom (ctx , environmentrequest , cluster )
514
+ if err != nil {
515
+ logger .Error (err , "Failed to create environment variable list for environment provider" )
516
+ return nil , err
489
517
}
490
518
491
519
return & batchv1.Job {
0 commit comments