- 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(docs)
The graffiticode api application can be run with Docker Compose.
docker network create developer_net
docker-compose up -d
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
npm run build
npm run deployer
This uses a sample configuration that deploy the L0, L1, and api projects to AWS Lambda functions.
Steps to deploy graffiticode/api
on AWS Lambda. To
get a first look at deploying an AWS Lambda function see this
guide.
- Install and configure the AWS cli here
- 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
)
- 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
npm run dev
This is the npm script to clean, build, test, and run the application on file changes.