@graffiticode/api
v1.0.1
Published
Gateway for compilers as a service.
Downloads
10
Readme
Graffiticode API Gateway
Getting started
Authorization
Steps include (Mac OSX)
- Clone and initialize the GC repo.
$ git clone [email protected]:graffiticode/api.git
$ cd api
$ npm install
- Make Graffiticode use this local API gateway.
- Switch to the ./graffiticode terminal.
$ export LOCAL_COMPILES=true
- Test the API gateway
- Switch back to the ./api terminal.
$ export LOCAL_COMPILES=false
$ make test
Deploying
Docker Compose
The graffiticode api application can be run with Docker Compose.
docker network create developer_net
docker-compose up -d
Use deployer
deployer
is an application that installs, builds, and deploys graffiticode projects. The deployer uses a config/manifest to determine how to install, build, and deploy projects (example).
TODO More description and documentation needed
Build deployer
npm run build
Run deployer
npm run deployer
This uses a sample configuration that deploy the L0, L1, and api projects to AWS Lambda functions.
AWS Lambda
Steps to deploy graffiticode/api
on AWS Lambda. To
get a first look at deploying an AWS Lambda function see this
guide.
Prerequisites
- Install and configure the AWS cli here
Setup the Execution Role
- Navigate to this guide
and follow the instructions to
Create the Execution Role
. - Navigate to the created execution role
and copy the
Role ARN
- Paste Role ARN copied from the previous step in the
--role
cli parameter under thecreate
target in thesrc/deploy/Makefile
(ex.--role arn:aws:iam::903691265300:role/lambda-cli-role
)
Manage the Lambda function
- To create the function, run
make -f src/deploy/Makefile create
. NOTE: only need to run this once - To update the function, run
make -f src/deploy/Makefile update
. NOTE: do this whenever code is updated
Contributing
Development
npm run dev
This is the npm script to clean, build, test, and run the application on file changes.