Create a new SKA GitLab project from the IDP#

Walk through creating a new repository with the “New SKA GitLab Project” template, from sign-in to a working GitLab project.

Before you start#

You need:

  • A GitLab account that is a member of the ska-telescope/ska-dev group — see Backstage / IDP reference if you are not sure.

  • A repository name in mind that starts with ska-.

Step 1 - Sign in#

Go to idp.devx.skao.int and sign in with GitLab. The IDP resolves your GitLab username directly to your catalog identity, so no separate account setup is required.

The first time you sign in, GitLab asks you to authorise the IDP:

GitLab OAuth screen asking the user to authorise Backstage to access their GitLab.com account.

Step 2 - Open the template#

Select Create in the left-hand navigation, then choose New SKA GitLab Project.

Create a new component page listing the New SKA GitLab Project template, with a Choose button.

If this template does not cover your case — for example, you need a repository outside the standard SKAO structure — raise a Support Request instead of adapting the template’s output by hand.

Step 3 - Fill in the project details#

New SKA GitLab Project form showing the repository name, description, GitLab namespace, and maintainers fields.
  • Repository name — must start with ska-, lowercase, hyphen-separated (for example ska-my-new-service).

  • Description — shown on the GitLab project page.

  • GitLab namespace — the group or subgroup the project is created under. Pick it with the namespace picker; it must not be ska-telescope/ska-dev or one of its subgroups.

  • Maintainers — up to two, in addition to you. Use the maintainers picker to search the catalog.

The template hides the licence field and defaults it to BSD-3-Clause (SKAO template), SKAO’s standard licence for new projects.

Step 4 - Run the template#

Select Create. The IDP runs five steps in sequence:

  1. Fetches the SKAO project skeleton (README, licence) and fills in your project name and description.

  2. Validates that your chosen namespace is allowed.

  3. Publishes the project to GitLab with SKAO’s default merge and pipeline settings — squash merges disabled, all discussions must resolve, and the pipeline must succeed before merging.

  4. Applies further SKAO-standard configuration: protects the main branch and the production environment, sets up a merge request approval rule, and shares the project with the SKAO developers group.

  5. Adds your chosen maintainers to the new project.

When the run finishes, the output panel links directly to your new repository.

Next steps#

Your new project now appears in the software catalog automatically, refreshed on the same 30-minute schedule as every other GitLab-backed entity.

Was this page helpful?