// DevOps · Wave 6

Terraform pe Linux: Infrastructure as Code, state și workflow

Terraform descrie infrastructura ca cod și permite planificarea schimbărilor înainte de aplicare. Puterea lui vine împreună cu o responsabilitate importantă: fișierul de state și credențialele trebuie protejate riguros.

Providers și resources

Provider-ul conectează Terraform la o platformă, iar resources descriu obiectele administrate. Configurația declarativă exprimă starea dorită, nu o succesiune manuală de click-uri.

init, plan și apply

terraform init pregătește directorul, terraform plan arată diferențele, iar terraform apply aplică planul. Revizuirea planului înainte de apply este una dintre cele mai importante practici.

State

State-ul leagă configurația de resursele reale și poate conține informații sensibile. Nu publica state-ul în web root și nu îl trata ca pe un fișier obișnuit de proiect.

Remote state și locking

În echipă, folosește un backend adecvat pentru state, control al accesului și locking. Evită modificările concurente care pot corupe sau diverge starea.

Modules și variables

Modules grupează infrastructura reutilizabilă, iar variables permit parametrizarea. Nu ascunde complexitatea inutil: modulele trebuie să aibă interfețe clare.

Workflow sigur

Rulează fmt și validate, revizuiește planul, separă mediile și păstrează credentialele în afara repository-ului. Pentru producție, apply-ul ar trebui controlat și auditat.

Pentru bază solidă de sistem, vezi Linux Advanced, Bash și cursurile Linux.

Întrebări frecvente

Pot pune terraform.tfstate în Git?

În general nu este recomandat, deoarece state-ul poate conține date sensibile și poate produce conflicte. Folosește un backend securizat și controlat.

Terraform înlocuiește Ansible?

Nu neapărat. Terraform este orientat în principal spre provisioning și infrastructură, iar Ansible este foarte potrivit pentru configurarea sistemelor și aplicațiilor. Pot fi folosite împreună.