/cli

Scaffold is a framework to create a complete AWS infrastructure, defined as code, in seconds.

Primary LanguageTypeScriptMIT LicenseMIT

AWS

Scaffold CLI

Node version Yarn version AWS version Terraform version CDKTF version License

Scaffold is a framework for IAC build around Terraform and the CDKTF, coupled with a catalog that you could use to create a complete AWS infrastructure, defined as code, in seconds.

All infrastructures are open sourced and defined as Typescript code using the CDK for Terraform.

The CDK (Cloud Development Kit) for Terraform allows developers to use familiar programming languages to define cloud infrastructure and provision it through HashiCorp Terraform.

Scaffold enhances Terraform and the CDKTF with many features like environments and sandboxes without using any configuration files, black box or lock-in.

You are free to go back to raw Terraform at any time.

Prerequisites

In order to use Scaffold, you'll need Node.js, Yarn and the AWS CLI:

Node.js publishes a graphical installer that will install Node.js and NPM on your platform.

Yarn is an alternate JavaScript package manager required by the CDK for Terraform.

To install the AWS CLI on your operating system, you could read the AWS documentation.

Install Scaffold

To install the most recent stable release of Scaffold, use npm:

$ npm install --global @scaffold.sh/cli

Usage

$ scaffold COMMAND
running command...
$ scaffold (-v|--version|version)
@scaffold.sh/cli/0.0.0 darwin-x64 node-v14.7.0
$ scaffold --help [COMMAND]
USAGE
  $ scaffold COMMAND
...

Commands

scaffold help [COMMAND]

Display help for the Scaffold CLI.

USAGE
  $ scaffold help [COMMAND]

ARGUMENTS
  COMMAND  command to show help for

OPTIONS
  --all  see all commands in CLI

See code: @oclif/plugin-help

scaffold init

Initialize an infrastructure.

USAGE
  $ scaffold init

OPTIONS
  -h, --help  show CLI help

See code: src/commands/init.ts

scaffold plan ENVIRONMENT

Plan the infrastructure modifications for an environment.

USAGE
  $ scaffold plan ENVIRONMENT

OPTIONS
  -h, --help  show CLI help
  --sandbox

See code: src/commands/plan.ts

scaffold apply ENVIRONMENT

Update the infrastructure of an environment.

USAGE
  $ scaffold apply ENVIRONMENT

OPTIONS
  -h, --help  show CLI help
  --sandbox

See code: src/commands/apply.ts

scaffold destroy ENVIRONMENT

Destroy the infrastructure of an environment.

USAGE
  $ scaffold destroy ENVIRONMENT

OPTIONS
  -h, --help  show CLI help
  --sandbox

See code: src/commands/destroy.ts

scaffold env:create [ENVIRONMENT_NAME]

Create a new environment.

USAGE
  $ scaffold env:create [ENVIRONMENT_NAME]

OPTIONS
  -h, --help  show CLI help

See code: src/commands/env/create.ts

scaffold env:list

List all created environments.

USAGE
  $ scaffold env:list

OPTIONS
  -h, --help  show CLI help

See code: src/commands/env/list.ts

scaffold env:configure ENVIRONMENT

Configure an existing environment.

USAGE
  $ scaffold env:configure ENVIRONMENT

OPTIONS
  -h, --help  show CLI help

See code: src/commands/env/configure.ts

scaffold env:delete ENVIRONMENT

Delete an environment.

USAGE
  $ scaffold env:delete ENVIRONMENT

OPTIONS
  -h, --help  show CLI help

See code: src/commands/env/delete.ts

scaffold sandbox:create [ENVIRONMENT]

Create a new sandbox for an environment.

USAGE
  $ scaffold sandbox:create [ENVIRONMENT]

OPTIONS
  -h, --help  show CLI help

See code: src/commands/sandbox/create.ts

scaffold sandbox:list

List all created sandboxes.

USAGE
  $ scaffold sandbox:list

OPTIONS
  -h, --help  show CLI help

See code: src/commands/sandbox/list.ts

scaffold sandbox:delete ENVIRONMENT

Delete sandbox for an environment.

USAGE
  $ scaffold sandbox:delete ENVIRONMENT

OPTIONS
  -h, --help  show CLI help

See code: src/commands/sandbox/delete.ts

scaffold terraform:all

Forward commands to the Terraform binary.

USAGE
  $ scaffold terraform:all

OPTIONS
  -h, --help  show CLI help

ALIASES
  $ scaffold terraform:apply
  $ scaffold terraform:console
  $ scaffold terraform:destroy
  $ scaffold terraform:env
  $ scaffold terraform:fmt
  $ scaffold terraform:get
  $ scaffold terraform:graph
  $ scaffold terraform:import
  $ scaffold terraform:init
  $ scaffold terraform:login
  $ scaffold terraform:logout
  $ scaffold terraform:output
  $ scaffold terraform:plan
  $ scaffold terraform:providers
  $ scaffold terraform:refresh
  $ scaffold terraform:show
  $ scaffold terraform:taint
  $ scaffold terraform:untaint
  $ scaffold terraform:validate
  $ scaffold terraform:version
  $ scaffold terraform:workspace
  $ scaffold terraform:0.12upgrade
  $ scaffold terraform:0.13upgrade
  $ scaffold terraform:debug
  $ scaffold terraform:force-unlock
  $ scaffold terraform:push
  $ scaffold terraform:state

See code: src/commands/terraform/all.ts

scaffold cdktf:all

Forward commands to the CDKTF binary.

USAGE
  $ scaffold cdktf:all

OPTIONS
  -h, --help  show CLI help

ALIASES
  $ scaffold cdktf:deploy
  $ scaffold cdktf:destroy
  $ scaffold cdktf:diff
  $ scaffold cdktf:get
  $ scaffold cdktf:init
  $ scaffold cdktf:login
  $ scaffold cdktf:synth

See code: src/commands/cdktf/all.ts

scaffold aws:static-website [PROJECT_NAME]

Download the Terraform code for the static website infrastructure.

USAGE
  $ scaffold aws:static-website [PROJECT_NAME]

OPTIONS
  -h, --help  show CLI help

See code: src/commands/aws/static-website.ts

scaffold aws:serverless-docker [PROJECT_NAME]

Download the Terraform code for the serverless Docker infrastructure.

USAGE
  $ scaffold aws:serverless-docker [PROJECT_NAME]

OPTIONS
  -h, --help  show CLI help

See code: src/commands/aws/serverless-docker.ts