diff --git a/README.md b/README.md index c92ebf1..75b88ed 100644 --- a/README.md +++ b/README.md @@ -7,8 +7,6 @@

https://terramate.io
- Terramate an Infrastructure as Code (IaC) orchestration, collaboration, visibility and observability platform that unifies, - simplifies, and scales all your infrastructure code, tools, and workflows.


@@ -17,7 +15,7 @@ Discord Server

- 📖 Documentation | 🚀 Getting Started | 💻 Playground | 🙌 Join Us + 📖 Terramate Documentation | 🚀 Getting Started | 💻 Playground | 🙌 Join Us


@@ -25,7 +23,10 @@ ## Introduction -This template repository provides a pre-configured Terramate project to get started with Terramate and Terraform on AWS using best practices. +This template repository provides a pre-configured Terramate project to get started with Terramate and Terraform on AWS +using best practices. It also comes with pre-configured GitOps workflows that run natively in GitHub Actions so that you +can automate your Terraform in Pull Requests without requiring any additional tooling or infrastructure using the +Terramate orchestration and change detection. ### Features @@ -57,7 +58,19 @@ Terraform Remote State Storage and State Locking with AWS S3 and DynamoDB Pushes data to Terramate Cloud to enable observability, asset management, drift management and Slack notifications. -#### Coming Soon +#### How do you use this repository? + +##### Pre-requisites + +- Install asds +- Install asdf plugins `asdf add ` +- Install asdf dependencies `asdf install` +- Install pre-commit hooks `pre-commit install` + +- You need an AWS account (Configure your AWS credentials using one of the supported [authentication mechanisms](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#authentication). +) + +#### To Do - Policies with OPA and/or Sentinel - Implement checkov, trivy, terrascan diff --git a/stacks/s3/demo-bucket/_backend.tf b/stacks/s3/demo-bucket/_backend.tf new file mode 100644 index 0000000..44fe4a1 --- /dev/null +++ b/stacks/s3/demo-bucket/_backend.tf @@ -0,0 +1,11 @@ +// TERRAMATE: GENERATED AUTOMATICALLY DO NOT EDIT + +terraform { + backend "s3" { + bucket = "terramate-example-terraform-state-backend" + dynamodb_table = "terraform-lock" + encrypt = true + key = "terraform/stacks/by-id/0f87305d-e6d4-4087-8128-b33a6e80a8e8/terraform.tfstate" + region = "us-east-1" + } +} diff --git a/stacks/s3/demo-bucket/_terraform.tf b/stacks/s3/demo-bucket/_terraform.tf new file mode 100644 index 0000000..4332a1f --- /dev/null +++ b/stacks/s3/demo-bucket/_terraform.tf @@ -0,0 +1,16 @@ +// TERRAMATE: GENERATED AUTOMATICALLY DO NOT EDIT + +terraform { + required_version = "1.7.1" +} +terraform { + required_providers { + aws = { + source = "hashicorp/aws" + version = "~> 5.31" + } + } +} +provider "aws" { + region = "us-east-1" +} diff --git a/stacks/s3/demo-bucket/main.tf b/stacks/s3/demo-bucket/main.tf new file mode 100644 index 0000000..d538d9e --- /dev/null +++ b/stacks/s3/demo-bucket/main.tf @@ -0,0 +1,4 @@ +resource "aws_s3_bucket" "demo_bucket" { + bucket = "terramate-s3-demo" + acl = "private" +} diff --git a/stacks/s3/demo-bucket/stack.tm.hcl b/stacks/s3/demo-bucket/stack.tm.hcl new file mode 100644 index 0000000..f892eed --- /dev/null +++ b/stacks/s3/demo-bucket/stack.tm.hcl @@ -0,0 +1,5 @@ +stack { + name = "demo-bucket" + description = "demo-bucket" + id = "0f87305d-e6d4-4087-8128-b33a6e80a8e8" +}