mirror of
https://github.com/helmfile/helmfile.git
synced 2026-10-21 00:33:35 +02:00
fix re-using environment state in sub-helmfiles issue (#951)
* fix re-using environment state in sub-helmfiles issue Signed-off-by: yxxhero <aiopsclub@163.com>
This commit is contained in:
@@ -189,6 +189,7 @@ func (ld *desiredStateLoader) load(env, overrodeEnv *environment.Environment, ba
|
||||
normalizedContent := bytes.ReplaceAll(content, []byte("\r\n"), []byte("\n"))
|
||||
parts := bytes.Split(normalizedContent, []byte("\n---\n"))
|
||||
|
||||
hasEnv := env != nil || overrodeEnv != nil
|
||||
var finalState *state.HelmState
|
||||
|
||||
for i, part := range parts {
|
||||
@@ -267,7 +268,7 @@ func (ld *desiredStateLoader) load(env, overrodeEnv *environment.Environment, ba
|
||||
|
||||
// If environments are not defined in the helmfile at all although the env is specified,
|
||||
// it's a missing env situation. Let's fail.
|
||||
if len(finalState.Environments) == 0 && evaluateBases && env.Name != state.DefaultEnv {
|
||||
if len(finalState.Environments) == 0 && evaluateBases && !hasEnv && env.Name != state.DefaultEnv {
|
||||
return nil, &state.StateLoadError{
|
||||
Msg: fmt.Sprintf("failed to read %s", finalState.FilePath),
|
||||
Cause: &state.UndefinedEnvError{Env: env.Name},
|
||||
|
||||
+1
-1
@@ -248,7 +248,7 @@ func (c *StateCreator) loadEnvValues(st *HelmState, name string, failOnMissingEn
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
} else if ctxEnv == nil && name != DefaultEnv && failOnMissingEnv {
|
||||
} else if ctxEnv == nil && overrode == nil && name != DefaultEnv && failOnMissingEnv {
|
||||
return nil, &UndefinedEnvError{Env: name}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user