Setting Up a GitLab App
If GitLab is your VCS provider, you must create an OAuth application and a personal access token to connect with Garden Cloud. The app and access token will be used to authenticate users, import projects, run workflows on GitLab events (e.g. when a merge request is opened), and more.
The relevant app and user properties will be provided to Garden Cloud.
Please see the official documentation for creating the Oauth application. While creating the application, fill in the appropriate values as described below.
The main URL for Garden Enterprise or the main URL for Garden Cloud provided by the Garden Team along with the appropriate paths:
Note that you should have an entry for both the
gitlab/callbackendpoint and the
Select the following scopes:
Once the oauth service provider is created, you should get a Secret and an Application ID. You'll need these values during the Garden Cloud installation.
We recommend creating a dedicated user service account for Garden Cloud, enabling 2FA authentication for that user and granting it access to only the repositories that Garden Cloud should have access to. This includes repositories that are referenced as remote sources in your Garden projects. Please make sure to add the user in the role of maintainer to the repositories and/or groups you want to use with Garden Cloud. The maintainer role is necessary, because Garden Cloud needs to create a webhook on each repository added in Garden Cloud.
Note that the access token only works for clones over HTTPS. If your workflow runs require remote sources to be cloned over SSH, you will need to configure git specifically for that.
The access token must have the following scopes:
You can optionally set an expiry date date on the token, in which case you must make sure to update the token in Garden Cloud before it expires. You can update the token via the Replicated admin console.
You'll need this access token when installing Garden Cloud.
You'll need to have the following values at hand when installing Garden Cloud:
- The Oauth application Application ID you received when creating the Oauth application.
- The Oauth application Secret you received when creating the Oauth application.
- The GitLab instance hostname. If you're using hosted GitLab, this is simply gitlab.com
- The GitLab Access Token.
You'll also need to provide a GitLab webhooks secret during the installation that's used internally between Garden Cloud and GitLab. Note that this is only in the context of installing Garden Cloud, you won't find this value in GitLab.