GitLab Integration Guide
This guide connects a local GitLab instance to a DTaaS server installation and sets GitLab up as the OAuth provider for DTaaS.
Afterwards, the GitLab instance is the OAuth provider for both the DTaaS client application and the Traefik forward-auth backend authorisation.
Important
The DTaaS client uses the react-oidc-context node package, which
incorrectly makes authorisation redirects use the HTTPS URL scheme.
This is a
known issue with the package,
and it forces the DTaaS server to use HTTPS, either at
https://localhost or at https://intocps.org. The rest of this guide
uses intocps.org to stand for either localhost or a custom domain.
Integration Paths
There are two integration paths:
- Integrated package: see the
installation page of the
dtaas-secure-server-integrated-gitlab-xx.zippackage. GitLab is then available over HTTPS athttps://intocps.org/gitlab. - Platform Services CLI: see the CLI docs.
GitLab is then available over HTTPS on the configured port, at
https://intocps.org:${GITLAB_PORT}/gitlab(custom domain, default port 8090).
Integration Steps
1. Create OAuth Tokens in GitLab
Follow these guides to create OAuth application tokens for the backend and the client.
This step produces the credentials of the applications named DTaaS Server Authorization and DTaaS Client Authorization, which the next step uses.
2. Use Valid OAuth Application Tokens
Put the OAuth application details into the configuration files: the
DTaaS Client Authorization details go into config/client.js, and
the DTaaS Server Authorization details go into config/.env.
3. Create Users
Create GitLab users that match USERNAME1 / USERNAME2 in
config/.env.