Salsa Documentation

Salsa is a collaborative development platform within Debian.

Users: Login and Registration

Namespace concepts (Users, Teams)

Debian Developers

Debian Developers get synced every 6 hours from LDAP and retain their Debian login as salsa username.

External Users

To avoid clash with the Debian LDAP Usernames, external users get a suffix of -guest to their username.

Groups

Users and Group share the same namespace. To prevent clashes with usernames we enforce groups to a '-team' suffix, with the exception being the 'Debian' group, of which all Debian Developers are members.

To create a group, log in and go to the team registration page. There is also a link to it from the registration page: if you're not logged in yet, you will be asked to do so and be redirected afterwards.

Projects and Repositories

A project = a repository.

You can create several projects in the same namespace (user or group).

Debian Developers are able to create projects in the Debian/ Namespace. It's the Salsa equivalent of 'collab-maint' on Alioth, and non-DDs (DMs or external contributors) need to be explicitly granted commit privileges for single projects.

Email notifications

Every project owner can enable "email on push". To do so, go the project settings → integrations → project services → email on push and configure the list of recipients you want to send emails to.

In particular, to forward emails to tracker.debian.org, you should add dispatch+package_vcs@tracker.debian.org (replacing 'package' with the source package name).

IRC notifications

Alexander Wirt is sponsoring an Irker instance. It can be enabled with the irker integration available under Settings/Integrations/Irker. Please use the following settings:

Under recipients add a comma separated list of recipients/channels. Currently only Push events are supported.

Hints for previous users of Alioth

Salsa provides services which partially replace some features of the former Alioth service. The following hints may help you to move your packaging collaboration effort from Alioth to Salsa.

Many Alioth features are (intentionally) not provided by the Salsa platform. You may want to take a look at the related discussion during a sprint for the detailed reasons for this decision.

There is significant overlap between this section and the Alioth#Deprecation_of_Alioth documentation. Those should be merged, somehow. -- TheAnarcat 2017-09-23 18:41:36

Custom Hooks

For security reasons it is not allowed to run arbitrary custom hooks on repositories. If you think you have good reasons for such a hook, please create an issue in the support tracker. Please attach the script for review and inclusion.

Import git repository

This is currently done by hand but Christopher Berg's wrote a handy batch import script that you can use to import your projects semi-automatically.

Import non-git version control repository

Only git repositories are supported by the Salsa platform.

You may want to take a look at the reasons for not supporting other version control systems within Salsa.

Import mailing list

Salsa does not offer any mailinglist features on its own (see discussion).

Some mailing lists that were formerly hosted on Alioth may be eligible for being hosted on lists.debian.org. The lists eligible for migration must follow the requirements outlined on the "How to ask a mailing list" guide. The process is also the same as outlined on the guide.

The following kind of lists are probably acceptable for lists.debian.org:

Short version: file a bug on the pseudo-package lists.debian.org with the severity 'wishlist', with the following information:

Lists migrated from Alioth are expected to be open, that is:

If you do want the archive and/or the subscribers to be imported into your new mailing list, please:

Also, please understand that the requirements and features for lists on lists.debian.org are not the same as for a mailing list on Alioth, and the listmaster might reject your request. Lists.debian.org is not supposed to replace all mailing lists and aliases on Alioth.

Import members of a team

It is not possible to transfer the members of an Alioth team to Salsa. You will need to ask the members of your team to join your team on Salsa individually.

Host project web pages

Gitlab offer the "Gitlab Pages" feature, and it is enabled on Salsa both as https://pages.debian.net/<namespace>/<project> or http://<namespace>.pages.debian.net/<project>

This feature makes use of Gitlab-CI to generate static pages in a public directory, on every push.

See https://docs.gitlab.com/ce/user/project/pages/index.html for a detailed documentation and HOWTOs.

Should you want to access the pages with your own domain name and your own certificate, it is possible via 'Settings > Pages > New Domain' in your project.

Quick start

  1. On your project Home, use Set up CI button

  2. Choose a Gitlab CI Yaml template (Pages templates are at the end)

  3. Edit the template to suit your needs and save it
    • Note: To limit the load on Runners, we limit the actual runs on projects tagged with "pages". So you need to add it to your .gitlab-ci.yml:

        tags:
          - pages
  4. Push something to the repository. You will see there is a CI Job pending
  5. Wait a few minutes for the job to run. When it's Passed you can see your pages at https://pages.debian.net/<namespace>/project (or http://<namespace>.pages.debian.net/<project>/)

    • Note: Even though we plan to support simple page generators like Jekyll or Hugo in the future, in most cases, you should content yourself with the HTML template, and generate the pages locally to push them afterward, in order to save the resources on the runner. Some templates might require commands not available on the server anyway.

    • Note 2: We mean that. Really. Be nice to the server. At some point in the future we hope to add some dedicated Runners servers - Sponsors welcome! ;).

Getting Help

See the Salsa maintenance description.