Skip to content

feat: add inbound auth middleware, upstream credentials, and routing tables#29

Merged
wolfeidau merged 3 commits into
mainfrom
feat_inbound_auth
Feb 10, 2026
Merged

feat: add inbound auth middleware, upstream credentials, and routing tables#29
wolfeidau merged 3 commits into
mainfrom
feat_inbound_auth

Conversation

@wolfeidau
Copy link
Copy Markdown
Member

  • Add bearer token auth middleware with constant-time compare, exempt /health and /metrics
  • Add credentials package with template-based secret resolution (env, file, SSM, Secrets Manager, 1Password)
  • Add NPM scope-based routing table for multi-registry credential selection
  • Add Git repo-prefix routing table for per-org credential selection
  • Add upstream auth support: NPM bearer tokens (with tarball host-matching), Git basic auth
  • Wire credentials file resolution in CLI with --auth-token, --auth-token-file, --credentials-file
  • Cap Git upstream error body logging to 4KB, log only specific response headers
  • Remove --oci-username, --oci-password, --oci-password-file CLI flags (breaking: use credentials file)

…tables

- Add bearer token auth middleware with constant-time compare, exempt /health and /metrics
- Add credentials package with template-based secret resolution (env, file, SSM, Secrets Manager, 1Password)
- Add NPM scope-based routing table for multi-registry credential selection
- Add Git repo-prefix routing table for per-org credential selection
- Add upstream auth support: NPM bearer tokens (with tarball host-matching), Git basic auth
- Wire credentials file resolution in CLI with --auth-token, --auth-token-file, --credentials-file
- Cap Git upstream error body logging to 4KB, log only specific response headers
- Remove --oci-username, --oci-password, --oci-password-file CLI flags (breaking: use credentials file)
- Remove dead ErrUnknownProvider type from credentials package
- Guard against nil fallback in git and npm Router.Match to prevent panics
- Rename git.GitRouteMatch to git.RouteMatch to eliminate stutter
- Rename npm Route.Registry field to Route.Upstream for consistency with git
- Add startup log for inbound auth enabled status
- Add shouldAttachAuth negative tests for NPM upstream host matching
- Add file template function error test for nonexistent path
@wolfeidau wolfeidau merged commit d148d8d into main Feb 10, 2026
1 check passed
@wolfeidau wolfeidau deleted the feat_inbound_auth branch February 10, 2026 09:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant