in controllers/codebase/service/chain/put_default_codebasebranch.go [27:74]
func (s *PutDefaultCodeBaseBranch) ServeRequest(ctx context.Context, codebase *codebaseApi.Codebase) error {
codeBaseBranchName := fmt.Sprintf("%s-%s", codebase.Name, processNameToKubernetesConvention(codebase.Spec.DefaultBranch))
log := ctrl.LoggerFrom(ctx).WithValues("codeBaseBranchName", codeBaseBranchName)
branch := &codebaseApi.CodebaseBranch{}
err := s.client.Get(
ctx,
client.ObjectKey{
Namespace: codebase.Namespace,
Name: codeBaseBranchName,
},
branch,
)
if err == nil {
log.Info("Codebase branch already exists")
return nil
}
if err != nil && !k8sErrors.IsNotFound(err) {
return fmt.Errorf("failed to get codebase branch: %w", err)
}
branch = &codebaseApi.CodebaseBranch{
ObjectMeta: metav1.ObjectMeta{
Name: codeBaseBranchName,
Namespace: codebase.Namespace,
},
Spec: codebaseApi.CodebaseBranchSpec{
BranchName: codebase.Spec.DefaultBranch,
CodebaseName: codebase.Name,
},
}
if codebase.Spec.Versioning.Type != codebaseApi.VersioningTypDefault {
branch.Spec.Version = codebase.Spec.Versioning.StartFrom
}
if err = s.client.Create(ctx, branch); err != nil {
return fmt.Errorf("failed to create codebase branch: %w", err)
}
log.Info("Codebase branch has been created")
return nil
}