Skip to content

Installation

GoGatoZ is a Go-based CLI that targets GitLab CI/CD. You can install it via prebuilt binaries, build from source, or use the Docker image.

Download the latest release for your platform from the Releases page and place the binary on your PATH as gogatoz.

Prerequisites:

  • Go 1.26+

Steps:

Terminal window
git clone https://github.com/mr-pmillz/gogatoz
cd gogatoz
make build # or: go build -o gogatoz ./...

Alternatively, install directly with Go:

Terminal window
go install github.com/mr-pmillz/gogatoz@latest

You can run GoGatoZ using Docker:

Terminal window
docker run --rm -e GITLAB_TOKEN=$GITLAB_TOKEN ghcr.io/mr-pmillz/gogatoz:latest gogatoz --help

GoGatoZ reads configuration from flags, environment, then config file (.gogatoz.yaml) in that precedence (flags > env > config).

The labs/ directory contains a full-stack CTF lab environment with a GitLab instance, CI/CD runners, vulnerable repos, and a flag submission server with a web UI.

Prerequisites:

  • Docker and Docker Compose
  • At least 8 GB RAM allocated to Docker

Steps:

Terminal window
cp ./labs/flagserver/.env.example ./labs/flagserver/.env
docker compose build --no-cache
docker compose up -d

The flag submission UI will be available at http://localhost:31337. The GitLab instance runs at http://gitlab.local:8929 (add gitlab.local to your /etc/hosts pointing to 127.0.0.1 if needed).

To stop the lab:

Terminal window
docker compose down

Set a GitLab Personal Access Token (PAT) with the required scopes:

  • api
  • read_repository
  • write_repository

Create a token in your GitLab profile, then export it:

Terminal window
export GITLAB_TOKEN=<YOUR_GITLAB_PAT>

You can also set the GitLab instance URL (defaults to https://gitlab.com):

Terminal window
export GITLAB_URL=https://gitlab.local

GoGatoZ reads configuration from flags, environment, then config file (.gogatoz.yaml) in that precedence (flags > env > config).

To verify that GoGatoZ is installed correctly, run:

Terminal window
gogatoz --help

This should display the help menu with available commands and options.