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
|
// 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 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 {
|
for _, name := range drops {
|
||||||
|
|||||||
Reference in New Issue
Block a user