XGIC GitLab CLI
GitLab product commands for the modular XGIC CLI—ops under
xgic gitlab ….
Namespace: xgic.cli.gitlab · Console group: xgic gitlab … · Brand: XGIC CLI only
(ADR-0005)
Standards hub: xgic/ai · README standards
Vision
Self-managed GitLab operators need a stable, public-safe command surface for versioned ops—
not a grab bag of one-off scripts. This module owns the GitLab product namespace under xgic.
The GraphQL client library lives in gitlab-graphql;
the Compose template and orchestration image producer live in
gitlab and gitlab-dev.
One brand (xgic), clear ownership, and no private hosts or tracker IDs in the package.
Why this module exists
| Benefit | Detail |
|---|---|
| Domain clarity | Nested under xgic gitlab—no clash with core or Payload commands |
| Composable stack | Depends on xgic-cli; optional GraphQL extra when automation lands |
| Public-safe by design | Endpoints via env/flags—never hard-coded private inventory |
| AI + human parity | Same command map in README and AGENTS.md |
| Open-source rigor | Apache-2.0, Python 3.14+, RC → TestPyPI → PyPI |
Ecosystem
| Package / repo | Role |
|---|---|
| xgic/cli | Thin core framework (xgic) |
| xgic/gitlab-graphql | GraphQL client library |
| This repo | GitLab product module (xgic.cli.gitlab) |
| xgic/gitlab-dev | Orchestration image producer (ghcr.io/xgic/xgic-gitlab) |
| xgic/gitlab | End-user Docker Compose template |
Architecture: ADR-0001 · ADR-0005.
Quick start
Development (editable) — current primary path
uv pip install -e ../cli
uv pip install -e ".[dev]"
xgic gitlab --help
xgic gitlab info
Optional GraphQL extra (when GraphQL-backed commands ship):
uv pip install -e ".[graphql]"
Install (PyPI)
PyPI publish follows the hub python-package-release.md path (RC → TestPyPI → PyPI). Until the first release is published:
# After first PyPI release:
uv pip install "xgic-cli>=0.2.0" "xgic-gitlab-cli"
xgic gitlab --help
Requirements
- Python 3.14+
xgic-cli≥ 0.2.0- Docker / Docker Compose for stack ops (
health/backup/restore)
Console commands
All product commands nest under xgic gitlab:
| Command | Purpose |
|---|---|
xgic gitlab info |
Module version and status (--json supported) |
xgic gitlab health |
Compose service checks + optional HTTP /-/health |
xgic gitlab backup |
gitlab-backup create via docker compose exec |
xgic gitlab restore <id> |
Destructive restore (--yes required; prefer --dry-run first) |
Configuration (no private host defaults)
| Setting | Flag | Environment |
|---|---|---|
| Compose file | --compose-file |
XGIC_GITLAB_COMPOSE_FILE (default docker-compose.yml) |
| Project name | --project |
XGIC_GITLAB_COMPOSE_PROJECT (default xgic-gitlab) |
| GitLab EE service | --gitlab-service |
XGIC_GITLAB_EE_SERVICE (default gitlab-ee) |
| Orchestration service | --xgic-service |
XGIC_GITLAB_ORCH_SERVICE (default xgic-gitlab) |
| Backup dir hint | --backup-dir |
XGIC_GITLAB_BACKUP_DIR |
| GitLab URL | --url |
GITLAB_URL (no default) |
| Token | --token |
GITLAB_TOKEN (never logged) |
Shared: --dry-run, --json.
Examples
# From a checked-out xgic/gitlab template directory
export GITLAB_URL=http://localhost:8929
xgic gitlab health --json
xgic gitlab backup --dry-run
xgic gitlab restore 20240101_1200 --dry-run
# after confirmation:
xgic gitlab restore 20240101_1200 --yes
Status
0.1.1 — experimental. Nested xgic gitlab commands: info, health, backup, restore against
Docker Compose stacks (typically xgic/gitlab).
AI agent guidance
- Use
xgic gitlab …for product ops; do not hardcode private GitLab hostnames in public artifacts or committed examples. - Prefer fictional placeholders (
https://gitlab.example.com) in docs and tests. - Destructive restore always needs
--yes; start with--dry-run. - Follow hub public-safe rules before any public GitHub write.
Public safety
This package is public-safe only. Do not hardcode private GitLab hosts, internal inventory, or private tracker IDs. Operators configure endpoints via environment / flags.
Publishing
Follow
python-package-release.md
(publish after xgic-cli for stack releases). Tags: vX.Y.ZrcN → TestPyPI; vX.Y.Z → PyPI.
License
Apache License 2.0. See LICENSE and NOTICE.
Copyright form: Copyright 2026 XGIC.
Release files for xgic-gitlab-cli 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| xgic_gitlab_cli-0.1.1.tar.gz | 13.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| xgic_gitlab_cli-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 31.3 kB
Release files / xgic_gitlab_cli-0.1.1.tar.gz
| Download URL | xgic_gitlab_cli-0.1.1.tar.gz |
|---|---|
| Size | 13.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2d8a32a96f4b18d1ecd17d6d8245fdac06a554a471b85c6d010e87cd172ca241
|
|
BLAKE2b-256 checksum How to use checksums |
bf939afd5873acfe234253efcbecf13da96ea550decca8a018032ba526fb1670
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 17, 2026.
Transparency logRelease files / xgic_gitlab_cli-0.1.1-py3-none-any.whl
| Download URL | xgic_gitlab_cli-0.1.1-py3-none-any.whl |
|---|---|
| Size | 17.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
9e8e97bb584e2849211f66e789f49e75726ac09172c1a1277f00916fdebf3da9
|
|
BLAKE2b-256 checksum How to use checksums |
80c407ec2a21e19e3be317921c6b8123b14d5a3da8a381161bc8ade3ae503deb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 17, 2026.
Transparency log