From 6eead6f64f0a5a6c215f82e338df1b4e4a26ee02 Mon Sep 17 00:00:00 2001 From: Thomas Hipp Date: Tue, 4 Jul 2023 10:44:48 +0200 Subject: [PATCH] definition: Filter environment variables Signed-off-by: Thomas Hipp --- shared/definition.go | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/shared/definition.go b/shared/definition.go index 9d4f3707..ddf79587 100644 --- a/shared/definition.go +++ b/shared/definition.go @@ -241,8 +241,9 @@ type DefinitionMappings struct { // DefinitionEnvVars defines custom environment variables. type DefinitionEnvVars struct { - Key string `yaml:"key"` - Value string `yaml:"value"` + DefinitionFilter `yaml:",inline"` + Key string `yaml:"key"` + Value string `yaml:"value"` } // DefinitionEnv represents the config part of the environment section. @@ -704,6 +705,17 @@ func (d *Definition) ApplyFilters(imageTargets ImageTarget) { newDefinition.Targets.LXC.Config = append(newDefinition.Targets.LXC.Config, config) } + // Filter environment variables + newDefinition.Environment.EnvVariables = []DefinitionEnvVars{} + + for _, envVar := range d.Environment.EnvVariables { + if !d.applyFilter(&envVar, imageTargets) { + continue + } + + newDefinition.Environment.EnvVariables = append(newDefinition.Environment.EnvVariables, envVar) + } + *d = newDefinition }