Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/scaffold-sh/cli
Scaffold is a framework to create a complete AWS infrastructure, defined as code, in seconds.
https://github.com/scaffold-sh/cli
aws cli oclif scaffold
Last synced: 3 months ago
JSON representation
Scaffold is a framework to create a complete AWS infrastructure, defined as code, in seconds.
- Host: GitHub
- URL: https://github.com/scaffold-sh/cli
- Owner: scaffold-sh
- License: mit
- Created: 2020-09-21T16:26:47.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2020-10-11T18:00:04.000Z (over 4 years ago)
- Last Synced: 2024-09-26T19:18:36.758Z (4 months ago)
- Topics: aws, cli, oclif, scaffold
- Language: TypeScript
- Homepage: https://scaffold.sh/docs
- Size: 354 KB
- Stars: 42
- Watchers: 3
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
![]()
Scaffold CLI
Documentation |
Website |
Blog |
Twitter |Scaffold is a framework for [IAC](https://en.wikipedia.org/wiki/Infrastructure_as_code) build around [Terraform](https://www.terraform.io) and the [CDKTF](https://learn.hashicorp.com/tutorials/terraform/cdktf), coupled with a [catalog](https://scaffold.sh/docs/infrastructures/aws/static-website) that you could use to create a complete [AWS](https://aws.amazon.com) infrastructure, defined as code, in seconds.
All infrastructures are [**open sourced**](https://github.com/scaffold-sh) and defined as **Typescript code** using the [CDK for Terraform](https://learn.hashicorp.com/tutorials/terraform/cdktf).
The CDK (Cloud Development Kit) for Terraform allows developers to use familiar programming languages to define cloud infrastructure and provision it through [HashiCorp Terraform](https://www.terraform.io/).
Scaffold enhances Terraform and the CDKTF with many features like [environments](https://scaffold.sh/docs/environments) and [sandboxes](https://scaffold.sh/docs/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](https://nodejs.org/) >= v12.16
* [Yarn](https://yarnpkg.com/en/docs/install) >= v1.21
* [AWS CLI](https://aws.amazon.com/cli/?nc1=h_ls) >= v2.0[Node.js](https://nodejs.org/) publishes a graphical installer that will install Node.js and NPM on your platform.
[Yarn](https://yarnpkg.com/en/docs/install) 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](https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2.html).
## Install Scaffold
To install the most recent stable release of Scaffold, use npm:
```console
$ npm install --global @scaffold.sh/cli
```## Usage
```sh-session
$ 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]`](#scaffold-help-command)
* [`scaffold init`](#scaffold-init)
* [`scaffold plan ENVIRONMENT`](#scaffold-plan-environment)
* [`scaffold apply ENVIRONMENT`](#scaffold-apply-environment)
* [`scaffold destroy ENVIRONMENT`](#scaffold-destroy-environment)
* [`scaffold env:create [ENVIRONMENT_NAME]`](#scaffold-envcreate-environment_name)
* [`scaffold env:list`](#scaffold-envlist)
* [`scaffold env:configure ENVIRONMENT`](#scaffold-envconfigure-environment)
* [`scaffold env:delete ENVIRONMENT`](#scaffold-envdelete-environment)
* [`scaffold sandbox:create [ENVIRONMENT]`](#scaffold-sandboxcreate-environment)
* [`scaffold sandbox:list`](#scaffold-sandboxlist)
* [`scaffold sandbox:delete ENVIRONMENT`](#scaffold-sandboxdelete-environment)
* [`scaffold terraform:all`](#scaffold-terraformall)
* [`scaffold cdktf:all`](#scaffold-cdktfall)
* [`scaffold aws:static-website [PROJECT_NAME]`](#scaffold-awsstatic-website-project_name)
* [`scaffold aws:serverless-docker [PROJECT_NAME]`](#scaffold-awsserverless-docker-project_name)### `scaffold help [COMMAND]`
Display help for the Scaffold CLI.
```
USAGE
$ scaffold help [COMMAND]ARGUMENTS
COMMAND command to show help forOPTIONS
--all see all commands in CLI
```_See code: [@oclif/plugin-help](https://github.com/oclif/plugin-help/blob/v3.2.0/src/commands/help.ts)_
### `scaffold init`
Initialize an infrastructure.
```
USAGE
$ scaffold initOPTIONS
-h, --help show CLI help
```_See code: [src/commands/init.ts](https://github.com/scaffold-sh/cli/blob/master/src/commands/init.ts)_
### `scaffold plan ENVIRONMENT`
Plan the infrastructure modifications for an environment.
```
USAGE
$ scaffold plan ENVIRONMENTOPTIONS
-h, --help show CLI help
--sandbox
```_See code: [src/commands/plan.ts](https://github.com/scaffold-sh/cli/blob/master/src/commands/plan.ts)_
### `scaffold apply ENVIRONMENT`
Update the infrastructure of an environment.
```
USAGE
$ scaffold apply ENVIRONMENTOPTIONS
-h, --help show CLI help
--sandbox
```_See code: [src/commands/apply.ts](https://github.com/scaffold-sh/cli/blob/master/src/commands/apply.ts)_
### `scaffold destroy ENVIRONMENT`
Destroy the infrastructure of an environment.
```
USAGE
$ scaffold destroy ENVIRONMENTOPTIONS
-h, --help show CLI help
--sandbox
```_See code: [src/commands/destroy.ts](https://github.com/scaffold-sh/cli/blob/master/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](https://github.com/scaffold-sh/cli/blob/master/src/commands/env/create.ts)_
### `scaffold env:list`
List all created environments.
```
USAGE
$ scaffold env:listOPTIONS
-h, --help show CLI help
```_See code: [src/commands/env/list.ts](https://github.com/scaffold-sh/cli/blob/master/src/commands/env/list.ts)_
### `scaffold env:configure ENVIRONMENT`
Configure an existing environment.
```
USAGE
$ scaffold env:configure ENVIRONMENTOPTIONS
-h, --help show CLI help
```_See code: [src/commands/env/configure.ts](https://github.com/scaffold-sh/cli/blob/master/src/commands/env/configure.ts)_
### `scaffold env:delete ENVIRONMENT`
Delete an environment.
```
USAGE
$ scaffold env:delete ENVIRONMENTOPTIONS
-h, --help show CLI help
```_See code: [src/commands/env/delete.ts](https://github.com/scaffold-sh/cli/blob/master/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](https://github.com/scaffold-sh/cli/blob/master/src/commands/sandbox/create.ts)_
### `scaffold sandbox:list`
List all created sandboxes.
```
USAGE
$ scaffold sandbox:listOPTIONS
-h, --help show CLI help
```_See code: [src/commands/sandbox/list.ts](https://github.com/scaffold-sh/cli/blob/master/src/commands/sandbox/list.ts)_
### `scaffold sandbox:delete ENVIRONMENT`
Delete sandbox for an environment.
```
USAGE
$ scaffold sandbox:delete ENVIRONMENTOPTIONS
-h, --help show CLI help
```_See code: [src/commands/sandbox/delete.ts](https://github.com/scaffold-sh/cli/blob/master/src/commands/sandbox/delete.ts)_
### `scaffold terraform:all`
Forward commands to the Terraform binary.
```
USAGE
$ scaffold terraform:allOPTIONS
-h, --help show CLI helpALIASES
$ 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](https://github.com/scaffold-sh/cli/blob/master/src/commands/terraform/all.ts)_
### `scaffold cdktf:all`
Forward commands to the CDKTF binary.
```
USAGE
$ scaffold cdktf:allOPTIONS
-h, --help show CLI helpALIASES
$ 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](https://github.com/scaffold-sh/cli/blob/master/src/commands/cdktf/all.ts)_
### `scaffold aws:static-website [PROJECT_NAME]`
Download the Terraform code for the [static website infrastructure](https://github.com/scaffold-sh/aws-static-website).
```
USAGE
$ scaffold aws:static-website [PROJECT_NAME]OPTIONS
-h, --help show CLI help
```_See code: [src/commands/aws/static-website.ts](https://github.com/scaffold-sh/cli/blob/master/src/commands/aws/static-website.ts)_
### `scaffold aws:serverless-docker [PROJECT_NAME]`
Download the Terraform code for the [serverless Docker infrastructure](https://github.com/scaffold-sh/aws-serverless-docker).
```
USAGE
$ scaffold aws:serverless-docker [PROJECT_NAME]OPTIONS
-h, --help show CLI help
```_See code: [src/commands/aws/serverless-docker.ts](https://github.com/scaffold-sh/cli/blob/master/src/commands/aws/serverless-docker.ts)_