in pkg/autodeploy/autodeploy.go [63:105]
func (h *StrategyManager) GetAppPayloadForCurrentWithStableStrategy(
ctx context.Context,
current codebaseApi.CodebaseTag,
pipeline *pipelineAPi.CDPipeline,
stage *pipelineAPi.Stage,
) (json.RawMessage, error) {
appPayload := make(map[string]ApplicationPayload, len(pipeline.Spec.InputDockerStreams))
for _, app := range pipeline.Spec.Applications {
t, ok := stage.GetAnnotations()[fmt.Sprintf("app.edp.epam.com/%s", app)]
if ok {
appPayload[app] = ApplicationPayload{
ImageTag: t,
}
}
}
appPayload[current.Codebase] = ApplicationPayload{
ImageTag: current.Tag,
}
for _, stream := range pipeline.Spec.InputDockerStreams {
imageStreamName := put_codebase_image_stream.ProcessNameToK8sConvention(stream)
codebase, tag, err := h.getLatestTag(ctx, imageStreamName, pipeline.Namespace)
if err != nil {
return nil, err
}
if _, ok := appPayload[codebase]; !ok {
appPayload[codebase] = ApplicationPayload{
ImageTag: tag,
}
}
}
rawAppPayload, err := json.Marshal(appPayload)
if err != nil {
return nil, fmt.Errorf("failed to marshal application payload: %w", err)
}
return rawAppPayload, nil
}