Skip to content

feat: add GitLab webhook verification support#19

Merged
nickmarden merged 3 commits intomainfrom
gitlab-integration
Feb 6, 2026
Merged

feat: add GitLab webhook verification support#19
nickmarden merged 3 commits intomainfrom
gitlab-integration

Conversation

@bornakapusta
Copy link
Contributor

Summary

  • Add gitlab verifier type for GitLab webhook authentication via X-Gitlab-Token header
  • Add predefined GitLab.com IP allowlist for webhook source IPs (34.74.90.64/28, 34.74.226.0/24)
  • Add test routes for all verifier types in minikube config

Test plan

  • Unit tests pass (internal/verifier/gitlab_test.go)
  • Manual test with minikube using /direct/gitlab and /relay/gitlab routes

🤖 Generated with Claude Code

@nickmarden
Copy link
Contributor

@bornakapusta can you resolve this merge conflict? I'd love to be able to merge this.

Adds X-Gitlab-Token header verification and predefined IP allowlist for GitLab.com webhook source IPs.
@github-actions
Copy link

github-actions bot commented Feb 6, 2026

Docker Images Built

Images are available for testing:

# gatekeeperd
docker pull ghcr.io/tight-line/gatekeeperd:pr-19-f46d1cc

# gatekeeper-relay
docker pull ghcr.io/tight-line/gatekeeper-relay:pr-19-f46d1cc

docker-compose.yml

GATEKEEPERD_IMAGE=ghcr.io/tight-line/gatekeeperd:pr-19-f46d1cc \
RELAY_IMAGE=ghcr.io/tight-line/gatekeeper-relay:pr-19-f46d1cc \
docker-compose --profile relay up

Helm (values override)

image:
  repository: ghcr.io/tight-line/gatekeeperd  # or gatekeeper-relay
  tag: "pr-19-f46d1cc"

Images expire ~15 days after PR closes.

@nickmarden
Copy link
Contributor

@bornakapusta can you fix up the coverage? Ideally we shoot for 100% coverage on new (testable) code.

The repo has some instructions about how to mark code as untestable, but really that should be a feature of last resort. Most code is testable. We currently only use that feature for Redis testing because our Redis testing library lacks some features of a real Redis server.

Add test coverage for gitlab verifier validation and handler building
to meet SonarQube 80% coverage requirement on new code.
@sonarqubecloud
Copy link

sonarqubecloud bot commented Feb 6, 2026

@codecov
Copy link

codecov bot commented Feb 6, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@bornakapusta bornakapusta marked this pull request as ready for review February 6, 2026 13:20
@nickmarden nickmarden merged commit 1f44f21 into main Feb 6, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants