- Provides a template for building Node Applications for AWS using Visual Studio Code, along with the associated tools.
- A containerized development environment using the Remote-Containers extension.
- AWS CLI
- AWS SAM CLI
- AWS Fargate CLI (forked version at senglin/fargatecli)
- AWS Toolkit for VS Code
- Docker (Docker In Docker)
- Git
- Node v14.2.0
- Ruby
- Curl, Wget
- Clone this repository or copy just the
.devcontainer
folder into your own local git repository folder. You can also run the following script in your terminal.
bash <(wget -qO- https://raw.githubusercontent.com/senglin/node-aws-workspace/master/install.sh)
- Start VS Code, and in a new window, click on the quick actions Status Bar item in the lower left corner.
- Select Remote-Containers:Reopen in Container.
- From the menu, select Terminal -> New Terminal. You can now use the installed tools to clone, develop and deploy to AWS.
- Development in performed using a non-root user account (without sudo capabilities) - i.e.
vscode
user. - The container application inherits host's AWS Configuration. The
~/.aws
folder is accessibled from the container. - The container app reuses ssh private key configuration from the host. SSH-AGENT settings are forwarded to the container application.
The behavior of the docker
command in the container is configured via VSC_DIND
environment variables, in devcontainer.json
file.
Value | Description |
---|---|
root |
Docker CLI in container accesses host Docker Engine (root access required) |
nonroot |
Docker CLI in container accesses host Docker Eingine (nonroot access method) |
dind |
Start Docker Engine within container when the container starts up. CLI uses container Docker Engine |