fix: fix runtime error in deployment generation

Co-authored-by: aider (ollama_chat/gpt-oss:120b) <aider@aider.chat>
This commit is contained in:
2025-11-30 20:23:24 -06:00
parent 9408813a1d
commit d233e8af9e

View File

@@ -126,16 +126,23 @@ func Generate(project *types.Project) (*HelmChart, error) {
// create init containers for all DependsOn // create init containers for all DependsOn
for _, s := range project.Services { for _, s := range project.Services {
for _, d := range s.GetDependencies() { for _, d := range s.GetDependencies() {
if dep, ok := deployments[d]; ok { // Ensure both the dependent and the current deployment exist before calling DependsOn.
err := deployments[s.Name].DependsOn(dep, d) dep, depOk := deployments[d]
if err != nil { cur, curOk := deployments[s.Name]
logger.Info(fmt.Sprintf("error creating init container for service %[1]s: %[2]s", s.Name, err)) if !depOk {
} // Dependency deployment missing this is a configuration error.
} else { err := fmt.Errorf("service %s depends on %s, but %s is not defined", s.Name, d, d)
err := fmt.Errorf("service %[1]s depends on %[2]s, but %[2]s is not defined", s.Name, d)
logger.Failure(err.Error()) logger.Failure(err.Error())
return nil, err return nil, err
} }
if !curOk {
// Current service deployment missing (e.g., ignored or samepod). Log and skip.
logger.Info(fmt.Sprintf("service %s not found in deployments; skipping DependsOn for %s", s.Name, d))
continue
}
if err := cur.DependsOn(dep, d); err != nil {
logger.Info(fmt.Sprintf("error creating init container for service %[1]s: %[2]s", s.Name, err))
}
} }
} }
for _, name := range drops { for _, name := range drops {