agbridge is a lightweight CLI tool that acts as a local proxy to private AWS API Gateways, enabling you to securely forward HTTP requests to API Gateway endpoints that are not publicly accessible.
It’s designed to help developers and integration systems interact with private services in AWS—such as internal microservices—without the need to expose them to the internet or configure complex VPNs or tunnels. Designed for testing, debugging, and automation, agbridge supports working with multiple API Gateways and is ideal for service integration workflows in isolated environments.
- 🔒 Secure access to private API Gateways without exposing them publicly.
- 🧪 Simplifies testing and integration with internal AWS services from local environments or CI/CD pipelines.
- ⚙️ Flexible configuration, either through CLI flags or a YAML config file.
- 🌐 Supports multiple API Gateway definitions in a single run.
- 🐳 Docker-ready, perfect for ephemeral or automated environments.
- 🔄 Dynamic URL pattern matching like /blogs/{slug}/comment/{id}
- 🎯 Optional support for selecting custom API Gateway stages using --stage-name
Whether you’re building microservices, automating tests, or debugging internal APIs, agbridge gives you a safe and developer-friendly way to reach your private AWS resources.
--version | Displays the application version and exits. | |
--config | Specifies the path to a configuration file (cannot be used with --profile-name, --rest-api-id, --region or --stage-name). | |
--profile-name | Specifies the profile name (requires --rest-api-id and --region to be specified). | |
--rest-api-id | Specifies the Rest API ID (required if --config is not provided). | |
--region | Specifies the AWS region to use with --profile-name and --rest-api-id. | |
--stage-name | Specifies the stage name to use with --profile-name and --rest-api-id and --region. | |
--log-level | Sets the log verbosity level. Options: debug, info, warn, error, fatal. | info |
--listen-address | Address where the proxy server will listen for incoming requests. | :8080 |
Specify a resource and profile to access a private API gateway:
Run AGBridge with a configuration file:
config.yaml
Set a custom port for AGBridge to listen on:
- Add the Homebrew tap:
brew tap oscarbc96/agbridge [email protected]:oscarbc96/agbridge.git
- Install:
- Visit the Releases page on GitHub.
- Download the appropriate binary for your operating system.
- Make the binary executable (if on Linux or macOS):
- Pull the latest Docker image:
docker pull ghcr.io/oscarbc96/agbridge:v0.0.10
- Run the container with appropriate flags. For example:
docker run --rm -it -p 8080:8080 ghcr.io/oscarbc96/agbridge:latest --profile-name=myprofile --rest-api-id=12345 --listen-address=:8080
- Clone the repository:
git clone https://github.com/oscarbc96/agbridge cd agbridge
- Build the CLI:
- Run the CLI: