Terraform
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>"}}'