@graffiticode/api

1.0.1 • Public • Published

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 -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

  1. Install and configure the AWS cli here

Setup the Execution Role

  1. Navigate to this guide and follow the instructions to Create the Execution Role.
  2. Navigate to the created execution role and copy the Role ARN
  3. Paste Role ARN copied from the previous step in the --role cli parameter under the create target in the src/deploy/Makefile (ex. --role arn:aws:iam::903691265300:role/lambda-cli-role)

Manage the Lambda function

  1. To create the function, run make -f src/deploy/Makefile create.
    NOTE: only need to run this once
  2. 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.

License

MIT

Readme

Keywords

none

Package Sidebar

Install

npm i @graffiticode/api

Weekly Downloads

1

Version

1.0.1

License

MIT

Unpacked Size

892 kB

Total Files

99

Last publish

Collaborators

  • skidder
  • jeffdyer