in controllers/stage/chain/put_codebase_image_stream.go [33:72]
func (h PutCodebaseImageStream) ServeRequest(ctx context.Context, stage *cdPipeApi.Stage) error {
log := ctrl.LoggerFrom(ctx)
log.Info("start creating codebase image streams.")
pipe, err := util.GetCdPipeline(h.client, stage)
if err != nil {
return fmt.Errorf("failed to get %v cd pipeline: %w", stage.Spec.CdPipeline, err)
}
registryUrl, err := h.getDockerRegistryUrl(ctx, stage.Namespace)
if err != nil {
return fmt.Errorf("failed to get container registry url: %w", err)
}
for _, ids := range pipe.Spec.InputDockerStreams {
stream, err := cluster.GetCodebaseImageStream(h.client, ids, stage.Namespace)
if err != nil {
return fmt.Errorf("failed to get %v codebase image stream: %w", ids, err)
}
cisName := fmt.Sprintf("%v-%v-%v-verified", pipe.Name, stage.Spec.Name, stream.Spec.Codebase)
image := fmt.Sprintf("%v/%v", registryUrl, stream.Spec.Codebase)
if err := h.createCodebaseImageStreamIfNotExists(
ctx,
cisName,
image,
stream.Spec.Codebase,
stage.Namespace,
stage,
); err != nil {
return fmt.Errorf("failed to create %v codebase image stream: %w", cisName, err)
}
}
log.Info("codebase image stream have been created.")
return nil
}