func()

in controllers/gerritproject/syncer.go [119:146]


func (r *Reconcile) createGerritProject(ctx context.Context, gr *gerritApi.Gerrit,
	backendProject *gerritClient.Project,
) (*gerritApi.GerritProject, error) {
	prj := gerritApi.GerritProject{
		ObjectMeta: metaV1.ObjectMeta{
			Name:      strings.ToLower(fmt.Sprintf("%s-%s", gr.Name, backendProject.SlugifyName())),
			Namespace: gr.Namespace,
		},
		Spec: gerritApi.GerritProjectSpec{
			Name:              backendProject.Name,
			Parent:            backendProject.Parent,
			Description:       backendProject.Description,
			SubmitType:        backendProject.SubmitType,
			Owners:            backendProject.Owners,
			RejectEmptyCommit: backendProject.RejectEmptyCommit,
			PermissionsOnly:   backendProject.PermissionsOnly,
			CreateEmptyCommit: backendProject.CreateEmptyCommit,
			Branches:          backendProject.Branches,
			OwnerName:         gr.Name,
		},
	}

	if err := r.client.Create(ctx, &prj); err != nil {
		return nil, errors.Wrap(err, "unable to create gerrit project")
	}

	return &prj, nil
}