This shows you the differences between two versions of the page.
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_PATH=./ | ||
+ | TF_INPUT=0 ... vypne vstup\\ | ||
+ | TF_VAR_promenna=hodnota ... nastavení hodnoty proměnné pro tf soubory\\ | ||
+ | TF_WORKSPACE=prod ... nastavení workspace\\ | ||
+ | TF_DATA_DIR=/ | ||
+ | |||
+ | ===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=' | ||
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 " | ||
+ | ===output " | ||
+ | ===provider {}=== | ||
+ | ===resource {}=== | ||
+ | |||
+ | === podmínky a iterace === | ||
+ | count=var.istest == true ? 1 : 0 ... podmínka\\ | ||
+ | count=3 ... provede blok 3x\\ |