The Scaleway Serverless Gateway is a self-hosted API gateway that runs on Scaleway Serverless Containers.
It lets you manage routing from a single base URL, as well as handling transversal concerns such as CORS and authentication.
It is built on Kong Gateway, giving you access to the Kong plugin ecosystem to customize your deployments.
You can read all about it in this blog post.
If you would like to join in the discussion on how we continue developing the project, or give us feedback, then join us on the #api-gateway-beta channel on the Scaleway Community Slack.
Please see the docs for full documentation and features.
To deploy your gateway you need to install and configure the Scaleway CLI, and the Gateway CLI via pip
:
pip install scw-gateway
Once done, the following steps can be run from the root of the project, and will deploy the gateway as a Serverless Container in your Scaleway account.
The gateway image itself is packaged via our public Serverless Gateway Docker image.
To deploy your gateway, you can run:
scwgw infra deploy
For more information on the deployment process, see the deployment docs.
To check your gateway is working, you can add and remove a route:
# Check no routes are configured initially
scwgw route ls
# Check the response directly from a given URL
TARGET_URL=http://worldtimeapi.org/api/timezone/Europe/Paris
curl $TARGET_URL
# Add a route to this URL in your gateway
scwgw route add /time $TARGET_URL
# List routes to see that it's been configured
scwgw route ls
# Curl the URL via the gateway
GATEWAY_ENDPOINT=$(scwgw infra endpoint)
curl https://${GATEWAY_ENDPOINT}/time
To delete your gateway, you can run:
scwgw infra delete
We welcome all contributions to our open-source projects, please see our contributing guidelines.
Do not hesitate to raise issues and pull requests we will have a look at them.
We love feedback. Feel free to:
- Open a Github issue
- Send us a message on the Scaleway Slack community, in the #serverless-functions channel.