● مجتمع
antonbabenko
⚡ فوري
terraform-skill
بواسطة antonbabenko · antonbabenko/terraform-skill
يدعمها Anton Babenko — أنماط Terraform و OpenTofu من terraform-best-practices.com و terraform-aws-modules، مع أطر عمل اتخاذ القرارات بناءً على المتى والسبب.
مهارة وكيل Claude لعمل Terraform/OpenTofu. تعلّم Claude كيفية الاختيار بين اختبارات Terraform الأصلية (1.6+) و Terratest، وتنظيم الوحدات مثل terraform-aws-modules، وربط GitHub Actions / GitLab CI مع تقدير التكاليف وفحص الأمان، وتطبيق أنماط الإنتاج. توضح ليس فقط 'ماذا' بل 'متى ولماذا'.
لماذا تستخدمه
الميزات الأساسية
- إطار عمل قرار الاختبار: الاختبارات الأصلية مقابل Terratest حسب السيناريو
- تنظيم الوحدة والتسمية والإصدارات واتفاقيات التوثيق
- خطوط أنابيب GitHub Actions و GitLab CI جاهزة للتكيف مع Infracost + tfsec/Checkov
- أنماط موصى بها مقابل مشكلة جنباً إلى جنب
- بناءً على terraform-best-practices.com و نظام terraform-aws-modules البيئي
عرض مباشر
كيف يبدو في الممارسة
terraform-skill.replay
▶ جاهز
حالات الاستخدام
استخدامات عملية: terraform-skill
متى تستخدمه: عندما تقسم الوحدة لإعادة استخدام داخلي أو عام وتريد الهيكل الصحيح من المرة الأولى.
الخطوات
-
اذكر الغرض من الوحدة
استخدم terraform-skill. أنشئ هيكل وحدة لخدمة AWS ECS مع ALB اختياري وتنبيهات CloudWatch.✓ تم النسخ
→ يتبع الهيكل اتفاقيات terraform-aws-modules — main.tf و variables.tf و outputs.tf و versions.tf و README.md و examples/
-
أضف اختبارات
أوصِ باختبارات — أصلية أم Terratest؟ طبّق إطار اتخاذ القرار.✓ تم النسخ
→ اختيار معقول وملفات اختبار مع هيكل
النتيجة: وحدة تجتاز المراجعة في طلب السحب الأول.
المزالق
- الإصدار فضفاض جداً (~> مقابل محدد) — تفترض المهارة الإصدارات البديلة الثابتة لـ required_providers بشكل افتراضي
متى تستخدمه: عندما يفتقد مستودعك إلى plan-on-PR أو فحوصات التكاليف أو فحوصات الأمان.
المتطلبات الأساسية
- استضافة GitHub أو GitLab — لقالب خط الأنابيب الخاص به
الخطوات
-
اطلب خط الأنابيب
استخدم terraform-skill. أضف GitHub Actions لـ plan-on-PR و Infracost و tfsec و apply محمي على main.✓ تم النسخ
→ ملفات سير العمل مع حراس التنافس و OIDC auth و فحوصات الحالة
-
اضبط الأمان
أي قواعد Checkov / tfsec يجب أن نفشل عليها أو نحذر منها؟✓ تم النسخ
→ قائمة برأي مع المنطق
النتيجة: خط أنابيب يحجب التغييرات الخطرة دون إبطاء الجميع.
المزالق
- يستخدم خط الأنابيب مفاتيح AWS طويلة الأجل — تفضل المهارة OIDC/role assumption وليس المفاتيح الثابتة
متى تستخدمه: عندما تشعر بألم مجلدات env المنسوخة واللصقة أو حالة monolith.
الخطوات
-
اصف البيئات
استخدم terraform-skill. نحتاج dev/staging/prod بالإضافة إلى بيئات per-tenant. ما التخطيط الذي يتسع؟✓ تم النسخ
→ توصية مع المقايضات (workspaces مقابل dirs مقابل Terragrunt)
-
خطط للترحيل
نحن حالياً على حالة واحدة. ارسم الترحيل.✓ تم النسخ
→ خطة state-move مع تحذيرات المخاطر
النتيجة: تخطيط يمكنك الدفاع عنه في ADR.
المزالق
- نقل الحالة بدون imports/breakdowns قد يدمر الموارد — تصر المهارة على خطوات terraform state mv / import وليس delete-and-recreate
التركيبات
اجمعها مع خوادم MCP أخرى لتحقيق نتائج x10
المهارة تنتج وحدة + سير عمل؛ GitHub MCP يفتح PR
أنشئ هيكل الوحدة، أضف سير العمل، افتح PR في مستودع المنصة الخاص بنا.✓ تم النسخ
تحقق من خطة Terraform مقابل حالة AWS الحية
أخبرني بالخطة، ثم قارن مقابل الموارد الفعلية عبر AWS MCP.✓ تم النسخ
التكلفة والحدود
تكلفة التشغيل
- حصة API
- لا يوجد
- الرموز لكل استدعاء
- 2-6k لكل جلسة — معتدل
- التكلفة المالية
- مجاني — المهارة محلية
- نصيحة
- اطرح سؤال واحد مركز (الاختبار / CI / التخطيط) في كل مرة.
الأمان
الصلاحيات والأسرار ونطاق الأثر
تخزين بيانات الاعتماد: لا توجد بيانات اعتماد في المهارة. أي بيانات اعتماد للموفّر تنتمي إلى بيئتك وليس الكود المُنشأ.
نقل البيانات الخارجي: لا يوجد من المهارة نفسها
- قد تشير خطوط أنابيب CI المُنشأة إلى أسماء الأسرار — تأكد من تعيين تلك الأسرار في إعدادات المستودع قبل الدمج.
استكشاف الأخطاء
الأخطاء الشائعة وحلولها
اقتراح المهارة يتعارض مع أسلوب منظمتك
وفّر إعدادات .terraform-docs والوحدة الموجودة كمراسي أسلوب.
فشل إعداد OIDC الموصى به في assume-role
تحقق من أن شرط sub في سياسة الثقة يطابق فرعك/بيئتك.
البدائل
terraform-skill مقابل البدائل
| البديل | متى تستخدمها | المقايضة |
| مهارات Terragrunt-first | عندما تكون ملتزماً بـ Terragrunt | تغطية أقل هنا؛ سير عمل Terragrunt يختلف بشكل جوهري |
| مهارات IaC الأصلية من موفّر السحابة (aws-cdk و pulumi) | عندما لا تكون على Terraform/OpenTofu | أداة مختلفة، أنماط مختلفة |