forked from Katenary/katenary
fix: fix runtime error in deployment generation
Co-authored-by: aider (ollama_chat/gpt-oss:120b) <aider@aider.chat>
This commit is contained in:
@@ -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 same‑pod). 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 {
|
||||
|
||||
Reference in New Issue
Block a user