Rascl is an open source API Gateway that provides some of the functionality found in services such as AWS API Gateway or Azure API Gateway.
I started developing it for personal projects, and for prototyping real-world application services without the dependency of Iaas providers.
It is under heavy development and is not (currently) intended for production environments.
Coming soon
The administrator web portal can be accessed at rascl.ddev.site.
The portal is only accessible to superusers.
Newly registered users at rascl.ddev.site/register are not superusers.
You may use the superuser command to create new superusers, or to promote or demote existing users.
Use ddev cake superuser --help for command options
Rascl uses DDEV.
Dependency installation will trigger command hooks that will generate an config/app_local.php file by copying from config/app_local.example.php.
See CakePHP Docs
For API Authentication to work, you will need to generate a valid OpenSSL keypair:
# generate private key
openssl genrsa -out config/jwt.key 1024
# generate public key
openssl rsa -in config/jwt.key -outform PEM -pubout -out config/jwt.pem
Import the keys in config/app_local.php
'Authentication' => [
'Authenticators' => [
'Jwt' => [
'privateKey' => ..,
'publicKey' => ..,
],
],
],
Run migrations using ddev cake migrations migrate.
Pull requests are welcome, however I'm not currently actively reviewing requests. I hope to change this with time.