Skip to content

Administrator Guide

In order to access the admin configuration dashboard, click on the wrench icon in the upper right corner.

Users

The Users tab allows you to manage your users: you can add, edit, and delete on a user by user basis.

Click on the New user button to add one. Fill the email and optionally the name of the user. Please note that the email must be the same one provided by the authentication service (via GitLab or GitHub) when the user attempts to log in.

Once the user is created, you can click on its name in the user list to view account details. Some useful information is provided, such as sign in metrics.

The user profile page also offers you a Teams tab, allowing you to add or remove the user from an existing team.

Teams

Similarly, head over the Teams tab to manage them. You can add a New team with its dedicated button, which will open a form. Enter the name of the team.
You can also select if the members of these teams will be administrators. Be careful with this checkbox. 😉

Finally, you can access the details of a team, either right after creating a team, or from the teams list.

The Members tab allows you to to add and remove members from this team.

In the team's settings, you can edit the name, give administrators right to the team, or remove the team.

Services

In the services tab, you can define one or multiple authentication providers. They're called services. For now, Shuttle supports these services:

  • Email
  • GitHub.com
  • GitLab.com
  • GitLab (self hosted)

Shuttle shows you, as a list, the services already configured and you can add new one using the top right Add service button.

The first service, email, is self explanatory: you just add your users by email, and they can login by clicking on the link sent to them by email.

No matter which service you choose, the process to add users is always the same: As an administrator, you add your users by email. Once added, a user can authenticate in Shuttle with its configured service (email, GitHub.com, GitLab.com, self hosted GitLab). The administrator keeps total control over who can sign in, the connection to the aforementioned services acts merely as an authentication provider.

For GitHub.com and GitLab.com, Shuttle integrates with the standard OAuth workflow. This means that everything is taken care of, and you don't have to configure anything on your part. Just start adding your users by email and they'll be able to sign in.

Finally, if you want to enable authentication from your self hosted GitLab instance, a little bit of configuration is needed.

Invoke the form by clicking on Add service and then GitLab.

You need to fill three mandatory values in this form for Shuttle to correctly find and connect to your instance: the server URL, the OAuth client id, and the OAuth client secret:

GitLab service configuration form

Leave this form as is for now, and go to your self hosted GitLab web interface, where you'll retrieve a couple of information (client id and client secret) needed to continue.

In your GitLab, navigate to Settings > Applications, then fill the form, like shown in the following screenshot: GitLab OAuth application configuration

The most important part is the callback URL, it must follow this pattern: https://{your-instance-name}.shuttle.tools/auth/callback/, in order to redirect the OAuth workflow back to the authentication module of your instance. Of course, replace {your-instance-name} by yours. You can easily find it in the address bar when accessing your Shuttle instance.

Enter a name as well, and you don't need any checkbox, GitLab is only used as an authentication provider and thus doesn't need any permission to access your content.

After validating this form, GitLab will give you a couple of strings that you might be used to see in OAuth workflow: the client id, and the client secret. Note them carefully (but securely 😉).

Get back to the Shuttle form we left a bit earlier, you now have everything you need to complete your configuration.

The server URL is the root URL to find your GitLab instance. Just copy the first part of the path you have in the address bar when you're connected to your GitLab web interface. Usually it will look like https://gitlab.mycompanyname.tld, or https://mycompanyname.tld/gitlab.

Leave the optional private URL field blank, you don't need it.

Enter the client id and client secret you retrieved earlier, click on Add service, and you're all set!

Like for any other supported service, you can now add users from your GitLab organization by email, and they'll be able to sign in automatically with GitLab authentication module.