Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
automatizace:terraform [2022/01/26 11:48]
127.0.0.1 external edit
automatizace:terraform [2024/03/26 07:28] (current)
tomas
Line 2: Line 2:
  
  
-===Komponenty===+====Komponenty====
 Terratest ... testovani Tarraformovych sablon\\ Terratest ... testovani Tarraformovych sablon\\
 Yeoman ... pro praci s modulama\\ Yeoman ... pro praci s modulama\\
  
-==soubory==+===soubory===
 main.tf ... povinny soubor, ktery se odkazuje na dalsi\\ main.tf ... povinny soubor, ktery se odkazuje na dalsi\\
 inputs.tf ... nadefinovane vstupni promenne\\ inputs.tf ... nadefinovane vstupni promenne\\
Line 12: Line 12:
 terraform.tfstate ... status nasazenych zdroju, muze obsahovat citlive udaje\\ terraform.tfstate ... status nasazenych zdroju, muze obsahovat citlive udaje\\
  
-==prikazy==+===systémové proměnné=== 
 +TF_LOG=TRACE ... úroveň logování, DEBUG, INFO, WARN, ERROR\\ 
 +TF_LOG_CORE, TF_LOG_PROVIDER ... úroveň logování jednotlivých složek\\ 
 +TF_LOG_PATH=./terraform.log ... logování do souboru\\ 
 +TF_INPUT=0 ... vypne vstup\\ 
 +TF_VAR_promenna=hodnota ... nastavení hodnoty proměnné pro tf soubory\\ 
 +TF_WORKSPACE=prod ... nastavení workspace\\ 
 +TF_DATA_DIR=/prod ... kde se nachárá .terraform složka\\ 
 + 
 +===prikazy===
 cd /adresar .. prejdu do adresare ktery obsahuje main.tf cd /adresar .. prejdu do adresare ktery obsahuje main.tf
 terraform init ... vytvori si docasne soubory, kde si kompiluje tf soubory\\ terraform init ... vytvori si docasne soubory, kde si kompiluje tf soubory\\
Line 18: Line 27:
 terraform plan ...  pokusi se udelat deployment na necisto\\ terraform plan ...  pokusi se udelat deployment na necisto\\
 terraform apply -autoapprove ... aplikuje zmenu, nevyzaduje schvalovani\\ terraform apply -autoapprove ... aplikuje zmenu, nevyzaduje schvalovani\\
 +terraform apply --var-file=dev.tfvars -var user=tomas ... vezme vstupni parametry se souboru dev.tfvars a nadefinuje promennou user=tomas\\
 +terraform apply --target='docker_service.vault[1]' ... naimplementuje změny pouze pro tento resource\\
 terraform destroy -auto-approve ... smaze, co je nadefinovano v terraform definici\\ terraform destroy -auto-approve ... smaze, co je nadefinovano v terraform definici\\
 terraform import ... naimportuje do tfstate objekty z cloudu podle tf definic (objekty zminene v tf se nactou do tfstate\\ terraform import ... naimportuje do tfstate objekty z cloudu podle tf definic (objekty zminene v tf se nactou do tfstate\\
 +terrafrom state rm azuread_service_principal.sp[3] ... odebere tento objekt z tfstate\\
 +terraform force-unlock 9db590f1-b6fe-c5f2-2678-8804f089deba ... udemknutí tfstate, pokud předchozí terraform běh selže\\
 +
 +terraform workspace list ... vylistuje worspaces - prostřředí = instance tfstate souboru\\
 +terraform workspace select prod ... vybere workspace prod a nastaví ho jako výchozí\\
 +====tf soubory====
 +===locals {}===
 +===variable "region" {}===
 +===output "timestamp" {}===
 +===provider {}===
 +===resource {}===
 +
 +=== podmínky a iterace ===
 +count=var.istest == true ? 1 : 0 ... podmínka\\
 +count=3 ... provede blok 3x\\