Terraform: Difference between revisions

From Halfface
Jump to navigation Jump to search
 
(11 intermediate revisions by the same user not shown)
Line 5: Line 5:
Hardcoded install
Hardcoded install
  cd /tmp/ ; curl -sk -L https://releases.hashicorp.com/terraform/1.5.5/terraform_1.5.5_linux_amd64.zip -O ; cd /usr/bin/ ; sudo unzip /tmp/terraform_1.5.5_linux_amd64.zip
  cd /tmp/ ; curl -sk -L https://releases.hashicorp.com/terraform/1.5.5/terraform_1.5.5_linux_amd64.zip -O ; cd /usr/bin/ ; sudo unzip /tmp/terraform_1.5.5_linux_amd64.zip
=file completion=
complete -C /usr/bin/terraform terraform
=Remove terraform infrastructure=
=Remove terraform infrastructure=
  terraform destroy
  terraform destroy
=show=
=show=
Show what has been done.
Show what has been done.
Line 15: Line 18:
Show more info about individual entity.
Show more info about individual entity.
  terraform state show openstack_networking_network_v2.net3
  terraform state show openstack_networking_network_v2.net3
Import state
terraform import module.kafka_eks.kubernetes_manifest.configmap_kafka_akhq "apiVersion=v1,kind=ConfigMap,namespace=kafka,name=akhq"
terraform import module.kafka_eks.helm_release.akhq kafka/akhq
Name of statefile
terraform.tfstate
=state nuke=
rm -rf .terraform* terraform*
=plan=
=plan=
Creates an execution plan, which lets you preview the changes that Terraform plans to make to your infrastructure.
Creates an execution plan, which lets you preview the changes that Terraform plans to make to your infrastructure.
Line 21: Line 32:
Performs a plan just like terraform plan does, but then actually carries out the planned changes to each resource using the relevant infrastructure provider's API.
Performs a plan just like terraform plan does, but then actually carries out the planned changes to each resource using the relevant infrastructure provider's API.
  terraform apply
  terraform apply
=debug=
TF_LOG=trace terraform init
TRACE DEBUG INFO WARN ERROR
=terraform output=
Reads and output variable from a Terraform state file
=cloud-init=
==set password on user==
ssh_pwauth: false
chpasswd:
  expire: false
  users:
    - name: root
      password: password
      type: text
=tofu=
Apply without asking.
tofu apply -auto-approve
destroy without asking
tofu destroy -auto-approve
=tfk8s=
contvert k8s yaml to terraform
tfk8s --strip --file <input> --output <output>
=dynamodb=
List tables
aws dynamodb list-tables
Look at table.
aws dynamodb scan --table-name <table>
Delete row from table.
aws dynamodb delete-item --table-name <your-lock-table> --key '{"LockID": {"S": "<lock-id>"}}'

Latest revision as of 15:05, 24 October 2024

install terraform

sudo dnf install -y dnf-plugins-core
sudo dnf config-manager --add-repo https://rpm.releases.hashicorp.com/fedora/hashicorp.repo
sudo dnf install terraform

Hardcoded install

cd /tmp/ ; curl -sk -L https://releases.hashicorp.com/terraform/1.5.5/terraform_1.5.5_linux_amd64.zip -O ; cd /usr/bin/ ; sudo unzip /tmp/terraform_1.5.5_linux_amd64.zip

file completion

complete -C /usr/bin/terraform terraform

Remove terraform infrastructure

terraform destroy

show

Show what has been done.

terraform show

state

list resources within a Terraform state.

terraform state list

Show more info about individual entity.

terraform state show openstack_networking_network_v2.net3

Import state

terraform import module.kafka_eks.kubernetes_manifest.configmap_kafka_akhq "apiVersion=v1,kind=ConfigMap,namespace=kafka,name=akhq"
terraform import module.kafka_eks.helm_release.akhq kafka/akhq

Name of statefile

terraform.tfstate

state nuke

rm -rf .terraform* terraform*

plan

Creates an execution plan, which lets you preview the changes that Terraform plans to make to your infrastructure.

terraform plan

apply

Performs a plan just like terraform plan does, but then actually carries out the planned changes to each resource using the relevant infrastructure provider's API.

terraform apply

debug

TF_LOG=trace terraform init
TRACE DEBUG INFO WARN ERROR

terraform output

Reads and output variable from a Terraform state file

cloud-init

set password on user

ssh_pwauth: false
chpasswd:
  expire: false
  users:
    - name: root
      password: password
      type: text

tofu

Apply without asking.

tofu apply -auto-approve

destroy without asking

tofu destroy -auto-approve

tfk8s

contvert k8s yaml to terraform

tfk8s --strip --file <input> --output <output>

dynamodb

List tables

aws dynamodb list-tables

Look at table.

aws dynamodb scan --table-name

Delete row from table. aws dynamodb delete-item --table-name <your-lock-table> --key '{"LockID": {"S": "<lock-id>"}}'