Documentation | Website | Blog | Twitter | LinkedIn
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.
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.
To install the most recent stable release of Scaffold, use npm:
$ npm install --global @scaffold.sh/cli
$ 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
...
scaffold help [COMMAND]
scaffold init
scaffold plan ENVIRONMENT
scaffold apply ENVIRONMENT
scaffold destroy ENVIRONMENT
scaffold env:create [ENVIRONMENT_NAME]
scaffold env:list
scaffold env:configure ENVIRONMENT
scaffold env:delete ENVIRONMENT
scaffold sandbox:create [ENVIRONMENT]
scaffold sandbox:list
scaffold sandbox:delete ENVIRONMENT
scaffold terraform:all
scaffold cdktf:all
scaffold aws:static-website [PROJECT_NAME]
scaffold aws:serverless-docker [PROJECT_NAME]
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
Initialize an infrastructure.
USAGE
$ scaffold init
OPTIONS
-h, --help show CLI help
See code: src/commands/init.ts
Plan the infrastructure modifications for an environment.
USAGE
$ scaffold plan ENVIRONMENT
OPTIONS
-h, --help show CLI help
--sandbox
See code: src/commands/plan.ts
Update the infrastructure of an environment.
USAGE
$ scaffold apply ENVIRONMENT
OPTIONS
-h, --help show CLI help
--sandbox
See code: src/commands/apply.ts
Destroy the infrastructure of an environment.
USAGE
$ scaffold destroy ENVIRONMENT
OPTIONS
-h, --help show CLI help
--sandbox
See code: src/commands/destroy.ts
Create a new environment.
USAGE
$ scaffold env:create [ENVIRONMENT_NAME]
OPTIONS
-h, --help show CLI help
See code: src/commands/env/create.ts
List all created environments.
USAGE
$ scaffold env:list
OPTIONS
-h, --help show CLI help
See code: src/commands/env/list.ts
Configure an existing environment.
USAGE
$ scaffold env:configure ENVIRONMENT
OPTIONS
-h, --help show CLI help
See code: src/commands/env/configure.ts
Delete an environment.
USAGE
$ scaffold env:delete ENVIRONMENT
OPTIONS
-h, --help show CLI help
See code: src/commands/env/delete.ts
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
List all created sandboxes.
USAGE
$ scaffold sandbox:list
OPTIONS
-h, --help show CLI help
See code: src/commands/sandbox/list.ts
Delete sandbox for an environment.
USAGE
$ scaffold sandbox:delete ENVIRONMENT
OPTIONS
-h, --help show CLI help
See code: src/commands/sandbox/delete.ts
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
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
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
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