@gateweaver/server
v0.1.0
Published
Gateweaver is an API gateway tailored for frontend applications, enabling secure integration with external APIs that require sensitive keys and tokens. Through a simple YAML configuration file, users can define endpoints and apply essential policies like
Downloads
484
Readme
Gateweaver
Gateweaver is an API gateway tailored for frontend applications, enabling secure integration with external APIs that require sensitive keys and tokens. Through a simple YAML configuration file, users can define endpoints and apply essential policies like CORS, rate limiting, API key management, and JWT authentication, ensuring robust security measures are in place. Get started quickly with the CLI or Docker image, or take a look at some examples to see how you can leverage Gateweaver in your projects.
Getting Started
Installation
Install the Gateweaver CLI in your project using npm:
npm install @gateweaver/cli
or with Yarn:
yarn add @gateweaver/cli
or with pnpm:
pnpm add @gateweaver/cli
Configuration
Create a gateweaver.yml
file in your project:
policyDefinitions:
cors:
origin: "*"
endpoints:
- path: "/todos"
target:
url: "https://example.com/todos"
policies:
- cors
Visit the Configuration docs to learn more about the available options.
Environment Variables
To use environment variables in your configuration file, you can use the ${VAR_NAME}
syntax:
endpoints:
- path: "/todos"
target:
url: "https://example.com/todos"
request:
headers:
Authorization: "Bearer ${API_TOKEN}"
policies:
- cors
To set environment variables locally during development, create a .env.gateweaver
file:
NODE_ENV=development
API_TOKEN=your-api-token
Remember to add the .env.gateweaver
file to your .gitignore
file to prevent it from being committed to your repository.
Usage
Run the following command where your gateweaver.yml
and .env.gateweaver
files are located to start the Gateweaver server in watch mode. This will automatically reload the server when the configuration file changes:
npx gateweaver start -w
This command will start the Gateweaver server on port 8080 by default. You can specify a different port by setting the PORT
environment variable in your .env.gateweaver
file.
Visit the CLI Commands reference page to learn more about the available commands.
Usage with Docker
You can also run the Gateweaver server using the docker hub image (gateweaver/server) or github container registry image (ghcr.io/gateweaver/server).
The following command mounts the gateweaver.yml
configuration file and uses the environment variables defined in .env.gateweaver
to start the Gateweaver server on port 8080.
docker run \
--env-file $(pwd)/.env.gateweaver \
-v $(pwd)/gateweaver.yml:/app/gateweaver.yml \
-p 8080:8080 \
gateweaver/server:0.1.0