in controllers/stage/chain/put_openshift_project.go [22:50]
func (c PutOpenshiftProject) ServeRequest(ctx context.Context, stage *cdPipeApi.Stage) error {
projectName := stage.Spec.Namespace
logger := ctrl.LoggerFrom(ctx).WithValues("project", projectName)
logger.Info("Try to create project")
project := &projectApi.ProjectRequest{
ObjectMeta: metaV1.ObjectMeta{
Name: projectName,
Labels: map[string]string{
util.TenantLabelName: stage.Namespace,
},
},
}
if err := c.client.Create(context.TODO(), project); err != nil {
if apierrors.IsAlreadyExists(err) {
logger.Info("Project already exists")
return nil
}
return fmt.Errorf("failed to create project: %w", err)
}
logger.Info("Project has been created")
return nil
}