Behind a corporate proxy
Your GitLab sits behind an egress proxy, its certificate is signed by your organisation's own authority, an access gateway stands in front of it, and the only token you can get carries read_api. All four are keys on one instance in the settings file.
Steps
| Step | What you do | Why |
|---|---|---|
| 1 | Put the instance block below into settings.yml | Names the host and how to reach it |
| 2 | Export the token and the gateway secrets in your shell profile | Nothing secret enters the file |
| 3 | Run labdash auth status --hostname gitlab.example.com | Confirms the credential and the TLS chain before you launch |
That is the whole file. It describes the connection; what you see in the dashboard comes from Home, browsing and pinning, the same as on gitlab.com.
Log in with a token rather than OAuth, because a self-managed instance has no OAuth application unless an administrator registered one.
The settings that matter
tokenEnv names an environment variable holding a personal access token. A token created with read_api gives you read-only mode: every section, every filter, every column and every log, with the mutating keys hidden. On many corporate instances that is the only scope you will be granted, and it is a supported mode.
subfolder: gitlab is for a GitLab served from https://example.com/gitlab/ rather than from a domain root. It is applied to every URL labdash builds: GraphQL, REST and OAuth.
caCert adds your organisation's root certificate to the pool. Verification stays on.
insecureSkipVerify: true turns certificate verification off
It makes the connection interceptable by anything on the path, which behind a TLS-inspecting corporate proxy is not hypothetical.
caCert solves the same problem correctly. insecureSkipVerify has one legitimate use: proving for five minutes that a failure is a certificate problem, on a machine you control.
valueFromEnv on the headers reads the secret at runtime, so it never enters the settings file and the file stays safe to commit to your dotfiles.
A self-managed instance gets its own concurrency cap. Six tabs cannot open six simultaneous connections against a box that also runs your CI. Group pipeline queries bound their own fan-out for the same reason, and a tab that needs to poll faster is set on the tab itself, in the dashboard.
Your CA certificate
Connection problems
One command reports settings found and valid, credential present and unexpired, instance reachable, TLS chain verified, GitLab version, and terminal capabilities. One paste answers a support thread.
For request-level detail:
Requests go to a file with Authorization, PRIVATE-TOKEN and JOB-TOKEN redacted before anything is written to disk.
Variations
Proxy from the standard environment variables
If your shell already exports them, labdash honours them and you can leave proxy out:
An explicit proxy: in the instance block overrides them, which is what you want when only GitLab needs the proxy.
A group access token for a shared dashboard
A group access token scoped to read_api gives a whole team a dashboard without giving a whole team write access: