--- checkId: check.integration.git plugin: stellaops.doctor.integration severity: warn tags: [connectivity, git, scm] --- # Git Provider API ## What It Checks Resolves the configured Git provider URL from `Git:Url`, `Scm:Url`, `GitHub:Url`, `GitLab:Url`, or `Gitea:Url`. Auto-detects the provider type (GitHub, GitLab, Gitea, Bitbucket, Azure DevOps) from the URL and sends an HTTP GET to the corresponding API endpoint (e.g., GitHub -> `api.github.com`, GitLab -> `/api/v4/version`, Gitea -> `/api/v1/version`, Bitbucket -> `/rest/api/1.0/application-properties`). The check **passes** if the response is 2xx, 401, or 403 (reachable even if auth is needed), **warns** on other non-error status codes, and **fails** on connection errors or exceptions. ## Why It Matters Git provider connectivity is essential for source-code scanning, SBOM ingestion, webhook event reception, and commit-status reporting. A misconfigured or unreachable Git URL silently breaks SCM-triggered workflows and prevents evidence collection from source repositories. ## Common Causes - Git provider URL is incorrect or has a trailing-path typo - Network connectivity issues or DNS failure - Git provider service is down or undergoing maintenance - Provider uses a non-standard API path ## How to Fix ### Docker Compose ```bash # Check current Git URL grep 'GIT__URL\|SCM__URL\|GITHUB__URL' .env # Test from inside the network docker compose exec gateway curl -sv https://git.example.com/api/v4/version # Update the URL echo 'Git__Url=https://git.example.com' >> .env docker compose restart gateway ``` ### Bare Metal / systemd ```bash # Verify configuration cat /etc/stellaops/appsettings.Production.json | jq '.Git' # Test connectivity curl -v https://git.example.com/api/v4/version # Fix the URL sudo nano /etc/stellaops/appsettings.Production.json sudo systemctl restart stellaops-platform ``` ### Kubernetes / Helm ```yaml # values.yaml git: url: https://git.example.com ``` ```bash helm upgrade stellaops ./chart -f values.yaml ``` ## Verification ``` stella doctor run --check check.integration.git ``` ## Related Checks - `check.integration.ci.system` -- CI systems often share the same Git host - `check.integration.webhooks` -- webhook endpoints receive events from Git providers