Skip to content

Files

Latest commit

29a1561 · Sep 24, 2023

History

History
81 lines (58 loc) · 2.8 KB

File metadata and controls

81 lines (58 loc) · 2.8 KB

Week 0 - Prep Work

Semantic Versioning

This project is going utilize semantic versioning for its tagging. semver.org

The general format:

MAJOR.MINOR.PATCH, eg. 1.0.1

  • MAJOR version when you make incompatible API changes
  • MINOR version when you add functionality in a backward compatible manner
  • PATCH version when you make backward compatible bug fixes

Terraform CLI

Environment Variables

  • Project root location stored in $PROJECT_ROOT
  • Use gp env to set persisting env vars in GitPod Workspaces
    • Can also be done in gitpod.yml for non-sensitive variables
  • Use .bash_profile files set persisting env vars across bash terminals
  • .env.example will act as a template for all env vars needed for this project

AWS CLI

Terraform Basics

Terraform Registry

  • Registry
  • Providers: Interface to APIs
  • Modules: Add modular logic to create more portable and sharable IaC

Terraform CLI

Important Commands

  • terraform init
  • terraform plan
  • terraform apply
  • terraform apply --auto-approve
  • terraform destroy

Terraform Lock & State Files

  • .terraform.lock.hcl contains the locked versioning for the providers or modulues
    • Should be comitted
  • .terraform.tfstate contains information about the current state of your infrastructure
    • Should not be commited
    • May contain sensitive data

Terraform Directory

  • .terraform directory contains binaries of terraform providers.