glab(1)
β¨ glab(1) β the dependency-firewall glow-up β¨
okay bestie, you're looking at the manual page for glab, specifically the glab-dependency-firewall command. she's in BETA rn (we'll get to that, don't worry π«Ά).
π NAME
glab-dependency-firewall β configure and monitor GitLab Dependency Firewall for your local package managers. yes, that Dependency Firewall. and yes, she is (BETA) π₯
π SYNOPSIS
glab dependency-firewall [flags]
πΈ DESCRIPTION
These are the commands that configure GitLab Dependency Firewall for your local package managers, run a local package manager with a lil summary of what got blocked or flagged, and let you peek at the activity from the current session. it's giving security guard but make it cute π
Every package manager command β like glab dependency-firewall npm β runs the actual package manager binary and forwards every argument to it verbatim. no edits, no vibes-based filtering, just straight through. and while the package manager runs, the command does this whole sequence:
- Starts a local proxy and routes the package manager's HTTPS traffic through it. π°οΈ
- Reads the name and version of every package the package manager downloads or publishes. π
- Asks GitLab to evaluate each package against the policies for the project in your Git remote. π
- Refuses blocked packages with a
403 Forbiddenresponse, and lets allowed and warned packages through. blocked = not today, bestie π - Records blocked and warned packages in
.gitlab/df/ci-log.jsonand prints a summary. π
When the package manager finishes, the command prints a summary of the packages that matched your policies. a β marks a blocked package, and a β² marks a package with a warning. if no package matched, the command prints no summary at all (silence is golden β¨). a run with at least one blocked package prints the summary to standard error. a run with only warnings prints it to standard output.
Evaluation results are cached for the length of a run, so a package that shows up like fifty times in a dependency tree only gets evaluated once. efficient icon behavior π§
If GitLab can't evaluate a package, the command blocks it. and if the Dependency Firewall isn't evaluating the project at all, the command allows every package. no cap, that's just how it goes.
π¨ the command does not change your registry configuration. for the length of the run, it sets environment variables that route the package manager's traffic through the proxy and make the package manager trust the proxy certificate. your existing CA bundles stay trusted, periodt.
To reach package registries, the proxy uses the outbound proxy in HTTPS_PROXY β including any credentials in its URL β and connects directly to the hosts listed in NO_PROXY. the proxy setting in your glab configuration applies only to GitLab API calls, so don't get it twisted.
Connections to package registries trust:
- the system certificates
- the certificate in the
ca_certsetting for your GitLab host - the CA bundles in
SSL_CERT_FILE,REQUESTS_CA_BUNDLE,PIP_CERT,TWINE_CERT,NODE_EXTRA_CA_CERTS,BUNDLE_SSL_CA_CERT, andCARGO_HTTP_CAINFO
GitLab API calls trust only the system certificates and ca_cert β so if your outbound proxy uses a private certificate authority, set ca_cert to that CA to cover both. that's the move. π― Module downloads by glab dependency-firewall go trust only the system certificates or SSL_CERT_FILE.
The command writes .gitlab/df/ci-log.json to the working directory on every run, including local runs. so please, for the love of everything, add .gitlab/df/ to your .gitignore. π
π¦ running it in CI/CD
To run a package manager command in a GitLab CI/CD job, set GLAB_ENABLE_CI_AUTOLOGIN to true so the command signs in with the CI/CD job token. and heads up: when the firewall blocks a package, the install fails, and so does the job. π
For more information, see CI/CD auto-login at https://docs.gitlab.com/cli/authentication/#auto-login.
install:
variables:
GLAB_ENABLE_CI_AUTOLOGIN: "true"
script:
- glab dependency-firewall npm ci
β exit codes, aka what the girlies return
Package manager commands exit with the following codes:
- the package manager's exit code β the package manager ran and exited. simple as that.
1β the package manager was not found on yourPATHor could not start. π130β the run was interrupted or stopped, for example with Ctrl+C or when a CI/CD job is canceled.
π beta warning, and this one's real: this feature is in beta and might not be ready for production use. it might be unstable and breaking changes can occur outside of major releases. for more information, see https://docs.gitlab.com/policy/development_stages_support/.
β¨ OPTIONS INHERITED FROM PARENT COMMANDS β¨
-h,--help[=false]β show help for this command. the classic. the icon. π«Ά
π SEE ALSO
glab(1)glab-dependency-firewall-bundle(1)glab-dependency-firewall-cargo(1)glab-dependency-firewall-ci-summary(1)glab-dependency-firewall-gem(1)glab-dependency-firewall-go(1)glab-dependency-firewall-gradle(1)glab-dependency-firewall-maven(1)glab-dependency-firewall-npm(1)glab-dependency-firewall-package(1)glab-dependency-firewall-pip(1)glab-dependency-firewall-pipenv(1)glab-dependency-firewall-pnpm(1)glab-dependency-firewall-poetry(1)glab-dependency-firewall-twine(1)glab-dependency-firewall-uv(1)glab-dependency-firewall-yarn(1)
okay that's the whole page, bestie, you ate that π auto generated by spf13/cobra, dated Nov 2026, and this lil glab(1) page says byeeee π
β¨
π¦ where this page comes from
- arch rolling: glab 1.128.0-1 Β· MIT
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms