Skip to content

GitLab adoption: reuse existing glab authentication and resolve namespaced projects #61

Open

Description

@abogun-product

The 0.3 work collector admits GitLab projects only by numeric ID, and requires a separate environment token even when the consumer already has an authenticated glab installation. A normal self-hosted GitLab adoption using a namespaced project URL therefore cannot complete the documented collection flow without extra manual credential setup.

Found while exercising an external GitLab consumer for 0.4.0.

Acceptance:

  • Resolve a namespaced project to its immutable numeric project ID before collecting dependent resources.
  • Reuse an existing host-specific glab login for bounded GET requests without extracting, logging or storing its credential.
  • Preserve response, request, pagination and time caps, endpoint binding and read-only authority.
  • Test authentication failure, large/slow responses, endpoint mismatch and namespaced resolution.
  • Disable credential-partitioned caching for the CLI bridge until its credential identity can be attested safely; document environment-token caching as the alternative.

Activity

  1. abogun-product commented on Oct 6, 2026

    @abogun-product
    Author

    Implemented and externally qualified in PR #64, commit 4d96120.

    An existing host-specific glab login is reused through bounded same-endpoint GET commands; Devostasis does not extract its credential. HTTPS /api/v4 endpoint checks, method/host refusal, quiet auth failure, timeout and oversized output handling have regressions. Namespaced GitLab project lookup resolves the immutable numeric ID before dependent API routes. The bridge disables persistent caching because its credential partition cannot be attested; explicit token-env mode keeps partitioned caching.

    The external read-only shadow qualification used existing authentication: scope/slice/packet verification, two source files / 33,030 bytes / 18 requests, plus a real deleted-ref negative control. No separate token, production caller, scheduler or private writer was installed. Full-inventory throughput remains #62; sustained deployment qualification is separate.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions