MAVERICS_GITLAB_CONFIG environment variable.
Console terminology: In the Maverics Console, Orchestrator instances and
configuration delivery are managed through Deployments. When working directly
with YAML, configuration is managed as files delivered via the
-config flag or
MAVERICS_CONFIG environment variable.Prerequisites
- A GitLab account — with a project containing Orchestrator configuration
- A personal access token — with
read_repositoryscope (see the GitLab deployment provider page for detailed token generation steps)
Overview
When theMAVERICS_GITLAB_CONFIG environment variable is set, the Orchestrator fetches its YAML configuration from the specified GitLab project and file path. The variable contains a JSON payload with project details, authentication token, and optional branch selection. The Orchestrator supports ETag-based change detection for automatic hot-reload.
Use Cases
- GitOps with GitLab — manage Orchestrator configuration in GitLab with full version history and merge request workflows
- CI/CD pipeline integration — publish validated configuration as part of GitLab CI/CD pipelines
- Merge request workflows — require peer review of configuration changes through GitLab merge requests before they reach production
Generating a Personal Access Token
Follow the Console Setup Steps
Follow the same steps described in the Console GitLab setup guide, but only check
read_repository instead of both scopes. The Orchestrator only needs to read configuration, not write it.Configuration
The GitLab config source is configured via theMAVERICS_GITLAB_CONFIG environment variable with a JSON payload:
Configuration Reference
TheMAVERICS_GITLAB_CONFIG JSON payload supports the following fields:
| Field | Type | Required | Description |
|---|---|---|---|
namespace | string | Yes | GitLab namespace (group or user) |
repo | string | Yes | Project name |
branch | string | No | Branch to read from (default: the project’s default branch) |
token | string | Yes | Personal access token with read_repository scope |
configurationFilePath | string | No | Directory path prefix within the repository where the config bundle is stored. The Orchestrator appends maverics.tar.gz to this path. If omitted, the bundle is expected at the repository root. |
MAVERICS_RELOAD_CONFIG=true is set, the Orchestrator periodically checks the file’s ETag via the GitLab API. When the file is updated (via commit), the Orchestrator detects the ETag change and reloads the configuration automatically.
Full Environment Example
A completemaverics.env file for an Orchestrator using GitLab as its config source:
maverics.env
Troubleshooting
- Authentication failed (401) — verify the personal access token is valid and has not expired. The token needs the
read_repositoryscope. - Project not found (404) — confirm the
namespaceandrepovalues are correct. For private projects, ensure the token has appropriate access. - Wrong branch — if
branchis omitted, the project’s default branch is used. Setbranchexplicitly if the config file is on a different branch. - GitLab.com only — the Orchestrator connects to
gitlab.com. Self-hosted GitLab instances are not currently supported as a config source. - Config not reloading — ensure
MAVERICS_RELOAD_CONFIG=trueis set. Check Orchestrator logs for ETag change detection messages.