Skip to content

farovictor/bifrost

 
 

Repository files navigation

Bifrost – Secure, Delegated API Access for Cloud-Native Environments

Bifrost is a lightweight, extensible API proxy written in Go that enables secure delegation of API access through virtual keys. Instead of exposing long-lived secrets or API tokens to clients, Bifrost maps short-lived, scoped virtual keys to real credentials stored in root keys — and transparently proxies the request to the target upstream service.

Requirements

Go 1.23.8. To install the toolchain and dependencies:

make setup

Quick Start

make run          # starts with in-memory stores, console log format

See doc/configuration.md for database and environment options, including PostgreSQL and SQLite backends, and Docker Compose setup.

Running tests

go test ./...

Tests use in-memory stores and require no external services. Generate a coverage report:

make test   # runs tests and writes coverage.out
go tool cover -html=coverage.out

Documentation

Document Description
doc/getting-started.md Step-by-step tutorial — run a server and make your first proxied request
doc/api.md Full HTTP API reference — endpoints, auth, request/response formats
doc/cli.md CLI commands and end-to-end usage example
doc/configuration.md Environment variables, database backends, Docker Compose
doc/architecture.md Code architecture, request flow, store patterns, roles

About

Open-source API credential proxy in Go. Issue scoped, rate-limited virtual keys that map to real upstream credentials — secrets never leave your server.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • JavaScript 92.0%
  • Go 4.2%
  • Handlebars 1.1%
  • PLpgSQL 0.7%
  • Shell 0.6%
  • CSS 0.5%
  • Other 0.9%