Terratag

Terratag is a CLI tool that enables users of Terraform to automatically create and maintain tags across their entire set of AWS, Azure, and GCP resources

Blockchain & Cloud ComputingGoMPL-2.0

Abstract

Terratag is an open-source Blockchain & Cloud Computing project. Terratag is a CLI tool that enables users of Terraform to automatically create and maintain tags across their entire set of AWS, Azure, and GCP resources. Terratag is a CLI tool allowing for tags or labels to be applied across an entire set of OpenTofu/Terraform files. Terratag will apply tags or labels to any AWS, GCP and Azure resources. It is built using Go, AWS, Terraform. The complete source code is publicly available on GitHub under the Mozilla Public License 2.0, making it a useful reference for students building a Blockchain & Cloud Computing mini project or final-year project.

1. Introduction

Terratag is a CLI tool allowing for tags or labels to be applied across an entire set of OpenTofu/Terraform files. Terratag will apply tags or labels to any AWS, GCP and Azure resources.

2. Objective

Terratag is a CLI tool that enables users of Terraform to automatically create and maintain tags across their entire set of AWS, Azure, and GCP resources

This project demonstrates how Go, AWS, Terraform can be applied to a real-world Blockchain & Cloud Computing problem.

4. Technology Stack

GoAWSTerraform

5. System Requirements

General requirements for this technology stack — check the README for exact versions.

  • Go 1.20 or later
  • Git (to clone the repository)

6. Installation & Setup

git clone https://github.com/env0/terratag.git
cd terratag
  1. Install from homebrew:
  2. Initialize Opentofu/Terraform modules to get provider schema and pull child modules:
  3. Run Terratag
  4. Use -type=terragrunt for a standard unit
  5. Use -type=terragrunt-run-all for implicit stacks
brew install env0/terratag/terratag
tofu init
terraform init
terratag -dir=foo/bar -tags={\"environment_id\": \"prod\"}

Full setup instructions are in the project README.

7. Future Enhancements

Suggested extensions you can add to make this your own project.

  • Add a CI/CD pipeline with GitHub Actions
  • Deploy to a public test network or cloud free tier
  • Add monitoring and cost alerts

8. Viva / Review Questions

Common questions examiners ask for projects in this domain.

  1. Why does this problem need a blockchain or cloud-native design?
  2. Explain the smart contract / infrastructure components and how they interact.
  3. How are gas costs or cloud costs kept under control?
  4. How is the system secured (keys, IAM, access control)?
  5. How would the solution scale to many more users?

9. Source Code & License

This project is developed by env0 and published on GitHub under the Mozilla Public License 2.0. Please follow the license terms and credit the original author when you use or modify this code.

Want to build this as your internship project?

Work on a Blockchain & Cloud Computing project like this with mentor guidance, weekly reviews and an internship certificate from Training Trains, Erode — online or offline.

Apply for Blockchain & Cloud Computing Internship