Quick Start
Seam is a lightweight and high-performance API Gateway built with Go, leveraging the Fiber web framework. Designed for modern microservices architectures, Seam helps manage traffic routing, load balancing, authentication, and monitoring in a simple and efficient way.
Follow these steps to quickly set up and run the Seam API Gateway:
Prerequisites
- Docker: Ensure Docker is installed and running on your system. You can download it here.
Installation
-
Clone the Repository
Begin by cloning the Seam repository to your local machine:Terminal window git clone https://github.com/saulova/seam.gitcd seam -
Configure Settings
Rename the sample configuration file and customize it to match your requirements:Terminal window mkdir -p ./.configscp -r ./.configs.sample/* ./.configs/Open the
.configs
file in your favorite text editor and update the settings as needed. -
Run the Docker Container
-
Option 1
-
Using Docker Compose
Start the Seam server by running the Docker compose:Terminal window docker compose up -d
-
-
Option 2
-
Build the Docker Image
Build the Seam Docker image:Terminal window docker build --tag 'seam' . -
Run the Docker Container
Start the Seam server by running the Docker container:Terminal window docker run -p 8090:8090 --detach 'seam'
-
-
-
Access the API Gateway
The Seam server is now running and accessible onhttp://localhost:8090
.
Verifying the Installation
-
Health Check
If health check routes are enabled in your configuration, verify the server’s readiness:- Liveness Route:
http://localhost:8090/health/live
- Readiness Route:
http://localhost:8090/health/ready
- Liveness Route:
-
Log Monitoring
Check the container logs to ensure the server is running as expected:Terminal window docker logs [CONTAINER_ID]Replace
[CONTAINER_ID]
with the ID of the running Seam container.
Next Steps
- Load Plugins: Add plugins to extend the gateway’s functionality.
- Configure Routes: Define your routes, middlewares, actions, and storages
.yaml
config files in the.configs/
folder. - Deploy: Once configured, deploy Seam to your production environment.