services / gitlab

GitLab.com IP ranges

Official GitLab.com ranges from the vendor's publication, split by purpose: web-api, webhooks. The ranges below render live from the signed slash0 feed.

The feed classifies this service as mixed: not every purpose runs on vendor-dedicated infrastructure. Review a purpose before treating its ranges as exclusively GitLab.com.

purposedirectionIPv4IPv6
gitlab/web-apiegress··
gitlab/webhooksingress··

gitlab/web-api

Direction: egress. Ranges your workloads connect out to; use them in security group egress rules.

loading ranges from the feed…

Terraform

data "ipranges_egress" "gitlab_web_api" {
  service = "gitlab"
  purpose = "web-api"
}

resource "aws_security_group_rule" "gitlab_web_api" {
  type              = "egress"
  from_port         = 443
  to_port           = 443
  protocol          = "tcp"
  cidr_blocks       = data.ipranges_egress.gitlab_web_api.ipv4_cidrs
  security_group_id = aws_security_group.app.id
}

gitlab/webhooks

Direction: ingress. Ranges GitLab.com connects from (webhook delivery); use them in security group ingress rules on your receiving endpoints.

loading ranges from the feed…

Terraform

data "ipranges_ingress" "gitlab_webhooks" {
  service = "gitlab"
  purpose = "webhooks"
}

resource "aws_security_group_rule" "gitlab_webhooks" {
  type              = "ingress"
  from_port         = 443
  to_port           = 443
  protocol          = "tcp"
  cidr_blocks       = data.ipranges_ingress.gitlab_webhooks.ipv4_cidrs
  security_group_id = aws_security_group.app.id
}

keep rules current automatically

Terraform data sources refresh only when you run an apply. The hosted tier publishes the same data via AWS managed prefix lists (slash0.gitlab.web-api.v4 and so on), shared into your account via AWS RAM: rules reference one pl-… id and update within a minute of a vendor change, with removals held through a 72 hour grace window. Request early access or read how it works.

provenance

Ranges come from GitLab.com's official publication: https://docs.gitlab.com/user/gitlab_com/. Fetched sources:

Every publish is signed (ECDSA P-256 over the feed index, each service document hash-chained to it) and every range change is recorded in the changelog. Verification steps: security. Provider setup: quickstart.