GitLab
Only organization Admins can create, edit and delete integrations.
Link your model objects to reality, such as code repos, branches, folders and files. When those links move, change names or get deleted, we’ll notify you that the object may need to be updated in your IcePanel landscape.
Learn more here: Linking to reality
Using GitLab
IcePanel uses OAuth to authenticate with GitLab.com users.
Linking an account
From your landscape homepage, click on the organization dropdown at the top of the navigation bar
Click on the
Manage
link for the organization you want to setupGo to the
Integrations
tabClick on the
New integration
buttonSelect
GitLab
and accept the requested permissionsChoose a GitLab group that you’d like to synchronize with IcePanel
You should now see your code repos in the
Links
section of an object
Unlinking an account
Navigate to
Integrations
in IcePanel by clickingManage
in the organization dropdownSelect the
GitLab
tab and clickRemove
Navigate to your GitLab Applications tab and revoke the authorization for IcePanel
Whitelist the IcePanel repo scanner
You may find that no code repos show if your organization has enabled IP filtering or whitelisting in your integration. To resolve this whitelist the IcePanel repo scanner IP address:
34.168.47.236
Using self-hosted GitLab
IcePanel uses access tokens to authenticate with self-hosted GitLab instances.
Create one of the following GitLab access tokens with read_api and read_repository scopes.
Navigate to
API keys
in IcePanel by clickingManage
in the organization dropdownCreate an API key with admin permissions
Run the IcePanel CLI docker image in gitlab-sync mode with the following parameters
⠀docker run icepanel/cli gitlab-sync \\
--api-key $ICEPANEL_KEY \\
--url <https://gitlab.com> \\
--token $GITLAB_TOKEN
Or with environment variables.
docker run \\
-e API_KEY=$ICEPANEL_KEY \\
-e GITLAB_URL=https://gitlab.com \\
-e GITLAB_TOKEN=$GITLAB_TOKEN \\
icepanel/cli gitlab-sync
Once the synchronization is complete you should see your code repos in the IcePanel reality tab.
CLI command reference
Usage: IcePanel gitlab-sync [options]
Syncronize IcePanel code repos with a GitLab instance
Options:
--api-url <value> IcePanel API URL (default: "https://api.icepanel.io/v1")
-k, --api-key <value> IcePanel API key
-s, --url <value> GitLab URL (default: "https://gitlab.com")
-t, --token <value> GitLab token
-g, --group-id <value> GitLab group ID, comma seperated
-i, --interval <secs> Interval for syncronization (default: "1800")
-f, --force Force refresh of code repos and trees
--filter-repos <pattern> Filter code repo names to include, supports wildcards
--delete-all Delete all code repos and trees for this integration
--concurrency <value> Number of jobs that can be processed in parallel (default: "10")
-h, --help display help for command
Environment variables:
API_URL IcePanel API URL
API_KEY IcePanel API key
GITLAB_URL GitLab URL
GITLAB_TOKEN GitLab token
GITLAB_GROUP_ID GitLab group ID, comma seperated
SYNC_INTERVAL Interval for syncronization
FORCE Force refresh of code repos and trees
FILTER_REPOS Filter code repo names to include, supports wildcards
CONCURRENCY Number of jobs that can be processed in parallel
LOG_LEVEL Options are fatal, error, warn, info, debug, trace, silent
Self-signed certificates
To use a self signed the certificates NODE_TLS_REJECT_UNAUTHORIZED=0
must be specified as an environment variable to the CLI container.
Last updated
Was this helpful?