Browse the Repo

file-type-icon_docs
file-type-icon_images
file-type-icon01-architecture-overview.md
file-type-icon02-whats-deployed.md
file-type-icon03-security-compliance-compatibility.md
file-type-icon04-how-code-is-organized.md
file-type-icon05-dev-environment.md
file-type-icon06-ci-cd.md
file-type-icon07-monitoring-alerting-logging.md
file-type-icon08-ssh-vpn.md
file-type-icon09-accounts-and-auth.md
file-type-icon10-gruntwork-tools.md
file-type-icon11-deploying-a-docker-service.md
file-type-icon12-migration.md
file-type-icon13-deploying-the-reference-architecture-fr...
file-type-icon14-undeploying-the-reference-architecture.md
file-type-icon15-adding-new-environments-regions-and-acc...
file-type-iconREADME.md
file-type-iconmain
file-type-icon.gitignore
file-type-iconCODEOWNERS
file-type-iconREADME.md

Browse the Repo

file-type-icon_docs
file-type-icon_images
file-type-icon01-architecture-overview.md
file-type-icon02-whats-deployed.md
file-type-icon03-security-compliance-compatibility.md
file-type-icon04-how-code-is-organized.md
file-type-icon05-dev-environment.md
file-type-icon06-ci-cd.md
file-type-icon07-monitoring-alerting-logging.md
file-type-icon08-ssh-vpn.md
file-type-icon09-accounts-and-auth.md
file-type-icon10-gruntwork-tools.md
file-type-icon11-deploying-a-docker-service.md
file-type-icon12-migration.md
file-type-icon13-deploying-the-reference-architecture-fr...
file-type-icon14-undeploying-the-reference-architecture.md
file-type-icon15-adding-new-environments-regions-and-acc...
file-type-iconREADME.md
file-type-iconmain
file-type-icon.gitignore
file-type-iconCODEOWNERS
file-type-iconREADME.md
Single-account Reference Architecture

Single-account Reference Architecture

End-to-end tech stack designed to deploy into a single AWS account. Includes VPCs, EKS, ALBs, CI / CD, monitoring, alerting, VPN, DNS, and more.

Code Preview

Preview the Code

mobile file icon

10-gruntwork-tools.md

down

Gruntwork Tools

Just in case you missed them earlier in the tutorial, here are some useful Gruntwork tools:

  • aws-auth: A bash script that makes it easy to switch between multiple AWS accounts and use MFA in the CLI.

  • gruntkms: Use this tool to to encrypt/decrypt secrets with Amazon's Key Management Service using a one-line command.

  • terragrunt: Terragrunt is a thin wrapper for Terraform that provides extra tools for working with multiple Terraform modules. You should always use Terragrunt with this repo.

  • ssh-grunt: Your EC2 Instances use this tool to allow SSH access to be managed via the IAM User console.

  • openvpn-admin: Use this tool to generate the configuration file you need to access the OpenVPN server.

  • kubergrunt: A single standalone go binary with a collection of commands that fill in the gaps between Terraform, Helm, and Kubectl.

To see a full list of all Gruntwork Infrastructure Packages and tools, see the Gruntwork Table of Contents.

Expected Tool Versions

Most of the tools listed here are not version constrained: you should be able to use the newest version without running into any issues. With that said, some tools like Terraform and Helm depend on a specific version due to the way internal metadata is managed. For example, the Terraform state written using version 0.12.6 is only readable by Terraform version 0.12.6. As such, it is important to use the version of the tool that is expected by the Reference Architecture.

Here is a list of the tools that have these constraints and the expected versions for this Reference Architecture:

  • Terraform: 0.12.6
  • Terragrunt: >= 0.19.25
  • Helm: v2.14.0
  • kubergrunt: >= v0.5.1
  • kubectl: >= v1.12.0

Next steps

Next up, you'll learn how to deploy a docker service with the Reference Architecture.

Questions? Ask away.

We're here to talk about our services, answer any questions, give advice, or just to chat.

Ready to hand off the Gruntwork?