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
for _, s := range project.Services {
for _, d := range s.GetDependencies() {
if dep, ok := deployments[d]; ok {
err := deployments[s.Name].DependsOn(dep, d)
if err != nil {
logger.Info(fmt.Sprintf("error creating init container for service %[1]s: %[2]s", s.Name, err))
}
} else {
err := fmt.Errorf("service %[1]s depends on %[2]s, but %[2]s is not defined", s.Name, d)
// Ensure both the dependent and the current deployment exist before calling DependsOn.
dep, depOk := deployments[d]
cur, curOk := deployments[s.Name]
if !depOk {
// Dependency deployment missing this is a configuration error.
err := fmt.Errorf("service %s depends on %s, but %s is not defined", s.Name, d, d)
logger.Failure(err.Error())
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 {