Skip to content

[FEATURE] - authenticated HTTP cloning for private repositories #175

@mrbrandao

Description

@mrbrandao

Feature Description

Introduce a credentials section in the lola config file (~/.lola/config.yml, ./.lola/config.yml, or via $LOLA_CONFIG / --config) where users declare named credentials bound to specific hosts. Environment variables are resolved at runtime — lola never stores or logs credential values.

# ~/.lola/config.yml
credentials:
  - name: company-gitlab
    url: https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.company.com
  - name: public-github
    url: https://x-access-token:${GITHUB_TOKEN}@github.com

Lola matches credentials to .lola-req entries by hostname and injects auth automatically. .lola-req stays credential-free and safe to commit.

Problem or Use Case

When using lola sync with private repositories that require HTTP auth, lola prompts interactively or fails in CI pipelines. There is no way to provide tokens for HTTP-based sources. SSH already works — this is specifically about HTTP auth in CI and private hosting scenarios.

Proposed Solution

Named credentials in lola config bound to specific hosts. Tokens only flow to their declared host — no risk of exfiltration to other URLs. If a required env variable is unset, lola warns and skips that module without aborting the sync.

Alternatives Considered

Managing credentials directly in lola (too risky), or inline ${VAR} in .lola-req (out of scope — creates exfiltration risk if the file is tampered with).

Complexity Estimate

Complex

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request
    No fields configured for Feature.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions