Terraform: Difference between revisions
Jump to navigation
Jump to search
Line 87: | Line 87: | ||
==Backend » HTTP== | ==Backend » HTTP== | ||
{| | |||
| valign="top" | | |||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
cat << HCL | tee -a ./backend.tf >/dev/null | cat << HCL | tee -a ./backend.tf >/dev/null | ||
Line 95: | Line 97: | ||
HCL | HCL | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| valign="top" | | |||
<syntaxhighlight lang="bash"> | |||
terraform init -backend-config=./nexus.http.tfbackend | |||
terraform init -backend-config=./gitlab.http.tfbackend | |||
terraform init -backend-config=./gitlab.http.tfbackend -reconfigure | |||
terraform init -backend-config=./gitlab.http.tfbackend -migrate-state | |||
</syntaxhighlight> | |||
|- | |||
| colspan="2" | | |||
---- | ---- | ||
|- | |||
| colspan="2" | | |||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
cat << HCL | tee -a ./gitlab.http.tfbackend >/dev/null | cat << HCL | tee -a ./gitlab.http.tfbackend >/dev/null | ||
Line 108: | Line 125: | ||
HCL | HCL | ||
</syntaxhighlight> | </syntaxhighlight> | ||
|- | |||
| colspan="2" | | |||
---- | ---- | ||
|- | |||
| colspan="2" | | |||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
cat << HCL | tee -a ./nexus.http.tfbackend >/dev/null | cat << HCL | tee -a ./nexus.http.tfbackend >/dev/null | ||
Line 121: | Line 143: | ||
HCL | HCL | ||
</syntaxhighlight> | </syntaxhighlight> | ||
|} | |||
==Playground== | ==Playground== |
Revision as of 08:54, 21 July 2024
curl -fsSL https://apt.releases.hashicorp.com/gpg\
| sudo tee /etc/apt/keyrings/hashicorp.asc >/dev/null
cat << SRC | sudo tee /etc/apt/sources.list.d/hashicorp.list >/dev/null
deb [arch=$(dpkg --print-architecture)\
signed-by=/etc/apt/keyrings/hashicorp.asc]\
https://apt.releases.hashicorp.com $(lsb_release -cs) main
SRC
sudo apt update && sudo apt list --upgradeable
sudo apt upgrade && sudo apt install terraform
terraform version
Structure
sdlc/
├─ main.tf # Main Terraform config file
├─ variables.tf # Variable declarations
├─ terraform.tfvars # Variable assigned
├─ outputs.tf # Output definitions
├─ provider.tf # Provider-specific config
├─ terraform.tfstate # Terraform state file
├─ academia.auto.tfvars # User Sensitive Data
├─ dev.tf # Dev Env config for development
├─ prod.tf # Prod Env config for production
├─ modules/ # Directory for custom modules
│ ├─ module1/ # Custom module 1
│ │ ├─ main.tf # Module-specific Terraform config
│ │ ├─ variables.tf # Module-specific variables
│ │ └─ outputs.tf # Module-specific outputs
│ └─ module2/ # Custom module 2
│ ├─ main.tf
│ ├─ variables.tf
│ └─ outputs.tf
├─ environments/ # Directory for env
│ ├─ dev/ # Development env
│ │ ├─ main.tf # Env specific Terraform config
│ │ ├─ variables.tf
│ │ └─ outputs.tf
│ └─ prod/ # Production env
│ ├─ main.tf
│ ├─ variables.tf
│ └─ outputs.tf
├─ scripts/ # Scripts or utility for IaC
└── README.md
Summary
Backend » HTTP
Playground
References |