diff --git a/charts/vela-core/templates/defwithtemplate/env.yaml b/charts/vela-core/templates/defwithtemplate/env.yaml index 3697f3208..3a792b585 100644 --- a/charts/vela-core/templates/defwithtemplate/env.yaml +++ b/charts/vela-core/templates/defwithtemplate/env.yaml @@ -46,7 +46,7 @@ spec: }] } if _baseEnv != _|_ { - _baseEnvMap: {for envVar in _baseEnv {"\(envVar.name)": envVar.value}} + _baseEnvMap: {for envVar in _baseEnv {"\(envVar.name)": envVar}} // +patchStrategy=replace env: [ for envVar in _baseEnv if _delKeys[envVar.name] == _|_ && !_params.replace { name: envVar.name @@ -54,11 +54,15 @@ spec: value: _params.env[envVar.name] } if _params.env[envVar.name] == _|_ { - value: envVar.value + if envVar.value != _|_ { + value: envVar.value + } + if envVar.valueFrom != _|_ { + valueFrom: envVar.valueFrom + } } }] + [ for k, v in _params.env if _delKeys[k] == _|_ && (_params.replace || _baseEnvMap[k] == _|_) { - name: k - value: v + v }] } } diff --git a/charts/vela-minimal/templates/defwithtemplate/env.yaml b/charts/vela-minimal/templates/defwithtemplate/env.yaml index 3697f3208..3a792b585 100644 --- a/charts/vela-minimal/templates/defwithtemplate/env.yaml +++ b/charts/vela-minimal/templates/defwithtemplate/env.yaml @@ -46,7 +46,7 @@ spec: }] } if _baseEnv != _|_ { - _baseEnvMap: {for envVar in _baseEnv {"\(envVar.name)": envVar.value}} + _baseEnvMap: {for envVar in _baseEnv {"\(envVar.name)": envVar}} // +patchStrategy=replace env: [ for envVar in _baseEnv if _delKeys[envVar.name] == _|_ && !_params.replace { name: envVar.name @@ -54,11 +54,15 @@ spec: value: _params.env[envVar.name] } if _params.env[envVar.name] == _|_ { - value: envVar.value + if envVar.value != _|_ { + value: envVar.value + } + if envVar.valueFrom != _|_ { + valueFrom: envVar.valueFrom + } } }] + [ for k, v in _params.env if _delKeys[k] == _|_ && (_params.replace || _baseEnvMap[k] == _|_) { - name: k - value: v + v }] } } diff --git a/vela-templates/definitions/internal/trait/env.cue b/vela-templates/definitions/internal/trait/env.cue index d8bf75e84..1d24646ed 100644 --- a/vela-templates/definitions/internal/trait/env.cue +++ b/vela-templates/definitions/internal/trait/env.cue @@ -39,7 +39,7 @@ template: { }] } if _baseEnv != _|_ { - _baseEnvMap: {for envVar in _baseEnv {"\(envVar.name)": envVar.value}} + _baseEnvMap: {for envVar in _baseEnv {"\(envVar.name)": envVar}} // +patchStrategy=replace env: [ for envVar in _baseEnv if _delKeys[envVar.name] == _|_ && !_params.replace { name: envVar.name @@ -47,11 +47,15 @@ template: { value: _params.env[envVar.name] } if _params.env[envVar.name] == _|_ { - value: envVar.value + if envVar.value != _|_ { + value: envVar.value + } + if envVar.valueFrom != _|_ { + valueFrom: envVar.valueFrom + } } }] + [ for k, v in _params.env if _delKeys[k] == _|_ && (_params.replace || _baseEnvMap[k] == _|_) { - name: k - value: v + v }] } }