Terraform State
টেরাফর্ম স্টেট
Terraform-এর নিজের রেকর্ড — কোন `.tf` resource address কোন বাস্তব cloud resource ID-র সাথে মেলে, আর সেই resource-এর শেষ-জানা attribute কী — `plan` এই রেকর্ডের সাথেই desired config তুলনা করে, বাস্তব cloud-এর সাথে সরাসরি না।
also: tfstate, terraform.tfstate, state file
plan = diff(desired .tf files, RECORDED state) -- dry-run, side-effect নেই
apply = execute(diff) + রেকর্ডেড state আপডেট
drift = বাস্তব cloud বদলেছে (manually), কিন্তু recorded state এখনো পুরনো
refresh = বাস্তব cloud পড়ে recorded state-কে বাস্তবতার সাথে মেলানো (.tf ছোঁয় না)
- Cloud provider থেকে re-derive করা যায় না নির্ভরযোগ্যভাবে — resource-address-to-ID mapping আর sensitive attribute শুধু এখানেই থাকে
- Stale state-এ
planনীরবে ভুল দেখাতে পারে — কোনো error ছাড়াই “কিছু বদলায়নি” বলা - Team সেটআপে remote backend (S3+DynamoDB, Terraform Cloud) + locking আবশ্যিক — concurrent apply-তে corruption ঠেকাতে
- বিস্তারিত:
virtualization-cloud/infrastructure-as-code-terraformলেসন