GitLab

Only organization Admins can create, edit and delete integrations.

IcePanel only supports projects which belong to a group or shared group. Personal projects are not supported at this time.

Using GitLab

IcePanel uses OAuth to authenticate with GitLab.com users.

Linking an account

  1. From your landscape homepage, click on the organization dropdown at the top of the navigation bar

  2. Click on the Manage link for the organization you want to setup

  3. Go to the Integrations tab

  4. Click on the New integration button

  5. Select GitLab and accept the requested permissions

  6. Choose a GitLab group that you’d like to synchronize with IcePanel

  7. You should now see your code repos in the Links section of an object

Unlinking an account

  1. Navigate to Integrations in IcePanel by clicking Manage in the organization dropdown

  2. Select the GitLab tab and click Remove

  3. Navigate to your GitLab Applications tab and revoke the authorization for IcePanel

Using self-hosted GitLab

IcePanel uses access tokens to authenticate with self-hosted GitLab instances.

  1. Create one of the following GitLab access tokens with read_api and read_repository scopes.

  2. Navigate to API keys in IcePanel by clicking Manage in the organization dropdown

  3. Create an API key with admin permissions

  4. 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
  1. Once the synchronization is complete you should see your code repos in the IcePanel reality tab.

CLI command reference

Usage: IcePanel gitlab-sync [options]

Synchronize 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 separated
  -i, --interval <secs>   Interval for synchronization (default: "1800")
  -f, --force             Force refresh of code repos and trees
  --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-separated
  SYNC_INTERVAL       Interval for synchronization
  CONCURRENCY         Number of jobs that can be processed in parallel
  LOG_LEVEL           Options are fatal, error, warn, info, debug, trace, silent

Last updated