Skip to main content

XGIC GitLab CLI

License CI Python

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)

Source distribution for xgic-gitlab-cli 0.1.1
File Size Uploaded
xgic_gitlab_cli-0.1.1.tar.gz 13.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for xgic-gitlab-cli 0.1.1
File Interpreter ABI Platform
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 log

Release 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

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page