1.0.1 • Published 2 years ago
@graffiticode/api v1.0.1
Graffiticode API Gateway
Getting started
Authorization
Steps include (Mac OSX)
- Clone and initialize the GC repo.
$ git clone git@github.com: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 -dUse 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 buildRun deployer
npm run deployerThis 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
--rolecli parameter under thecreatetarget 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 devThis is the npm script to clean, build, test, and run the application on file changes.