@@ -309,12 +309,19 @@ func extendPodSpecPatch(
309
309
// Get secret env information
310
310
for _ , secretAsEnv := range kubernetesExecutorConfig .GetSecretAsEnv () {
311
311
for _ , keyToEnv := range secretAsEnv .GetKeyToEnv () {
312
+ secretKeySelector := & k8score.SecretKeySelector {
313
+ Key : keyToEnv .GetSecretKey (),
314
+ }
315
+
316
+ // Set Optional field when explicitly provided (true or false), leave nil when not specified
317
+ if secretAsEnv .Optional != nil {
318
+ secretKeySelector .Optional = secretAsEnv .Optional
319
+ }
320
+
312
321
secretEnvVar := k8score.EnvVar {
313
322
Name : keyToEnv .GetEnvVar (),
314
323
ValueFrom : & k8score.EnvVarSource {
315
- SecretKeyRef : & k8score.SecretKeySelector {
316
- Key : keyToEnv .GetSecretKey (),
317
- },
324
+ SecretKeyRef : secretKeySelector ,
318
325
},
319
326
}
320
327
@@ -392,12 +399,19 @@ func extendPodSpecPatch(
392
399
// Get config map env information
393
400
for _ , configMapAsEnv := range kubernetesExecutorConfig .GetConfigMapAsEnv () {
394
401
for _ , keyToEnv := range configMapAsEnv .GetKeyToEnv () {
402
+ configMapKeySelector := & k8score.ConfigMapKeySelector {
403
+ Key : keyToEnv .GetConfigMapKey (),
404
+ }
405
+
406
+ // Set Optional field when explicitly provided (true or false), leave nil when not specified
407
+ if configMapAsEnv .Optional != nil {
408
+ configMapKeySelector .Optional = configMapAsEnv .Optional
409
+ }
410
+
395
411
configMapEnvVar := k8score.EnvVar {
396
412
Name : keyToEnv .GetEnvVar (),
397
413
ValueFrom : & k8score.EnvVarSource {
398
- ConfigMapKeyRef : & k8score.ConfigMapKeySelector {
399
- Key : keyToEnv .GetConfigMapKey (),
400
- },
414
+ ConfigMapKeyRef : configMapKeySelector ,
401
415
},
402
416
}
403
417
0 commit comments