Architect prerequisites

tl;dr

To work locally, all you need is:

To deploy your project to AWS, you'll need:

  • A supported runtime
  • AWS CLI
  • AWS account with admin privs
  • Your credentials file set up at:
    • *nix: ~/.aws/credentials
    • Windows: C:\Users\USER_NAME\.aws\credentials

Runtimes

Architect supports the following runtime versions when working locally:

Recommended

  • Node: 10.x & 8.10 using npm
  • Ruby: 2.5 using bundle
  • Python: 3.7 & 3.6 using pip3

Working locally with the Architect sandbox dev server requires target runtimes to be installed and available in $PATH. For example, if you are only targeting Node, then only Node needs to be installed locally. (Likewise for Ruby and Python.)

To use the same runtime across all functions in your project, add it to your @aws pragma like so:

# Valid runtimes: `nodejs10.x`, `nodejs8.10`, `python3.7`, `python3.6`, or `ruby2.5`
@aws
runtime python3.7

This setting can be overridden on a function-by-function basis with .arc-config.

Architect also supports the following runtimes in live infra, but not while working locally (at present):

  • Go: 1.x,
  • .NET: 2.1
  • Java: 8

AWS Setup

Architect deploys and manages your infra using CloudFormation under the hood. To arc deploy from your dev machine (or CI system) you'll need:

Local credentials file

Depending on your OS, your AWS credentials file will be in one of two places:

  • On *nix systems: ~/.aws/credentials
  • On Windows systems: C:\Users\USER_NAME\.aws\credentials

If that file doesn't exist, create it, and add something like the following (assuming you have multiple AWS accounts):

[default]
aws_access_key_id=xxx
aws_secret_access_key=xxx

[work]
aws_access_key_id=xxx
aws_secret_access_key=xxx

[personal]
aws_access_key_id=yyy
aws_secret_access_key=yyy

Next: Install Architect