Terraform هي أداة للبنية التحتية كرمز (IaC) مكتوبة بلغة تكوين Hashicorp (HCL). تفترض هذه المقالة أن القارئ قد عمل مع Terraform وفهم كيفية عمل الوحدات.
كل شخص يقوم بالبرمجة في Terraform إما قام بإنشاء وحدات خاصة به، أو على الأقل استخدم وحدات شخص آخر.
الوحدات عبارة عن حاويات لموارد متعددة يتم استخدامها معًا. تتكون الوحدة من مجموعة من ملفات .tf و/أو .tf.json محفوظة معًا في دليل.
الوحدات هي الطريقة الرئيسية لحزم وإعادة استخدام تكوينات الموارد مع Terraform.
يمكن نشر الوحدات في سجلات مثل تسجيل Terraform أو GitLab. يمكن أيضًا تقديم الوحدات من مستودعات Git من خلال توفير عناوين URL لـ HTTPS أو SSH. يمكن إصدار هذه أيضًا. على سبيل المثال،
module "consul" { source = "github.com/hashicorp/example" }
الإصدار:
module "consul" { source = "github.com/hashicorp/example?ref=1.2.6" }
مع نمو مستودعاتك والرجوع إلى الوحدات النمطية الخاصة بك في مستودعات أخرى، يمكنك إصدار وحداتك بشكل معقول للتأكد من أن التغييرات الأولية في المصدر لا تؤدي إلى كسر البنية التحتية الخاصة بك. ومع ذلك، من الصعب تتبع جميع الإصدارات الجديدة للوحدات المستخدمة، بل ومن الأصعب القيام بذلك بانتظام. إذا لم تتم معالجة هذا الأمر، فإنه يؤدي إلى زيادة العمل الإضافي باعتباره ديونًا تقنية، حيث تكتشف يومًا ما أن الوحدة الأساسية تتقدم الآن بثلاثة إصدارات رئيسية.
تقديم samwise-cli، وهي أداة للمساعدة في تتبع تبعيات Terraform/OpenTofu الخاصة بمستودعك. يبحث في مستودعك عن استخدامات الوحدات وينشئ تقريرًا عن الوحدات التي تحتوي على تحديثات متاحة بالإضافة إلى جميع الإصدارات الأكثر تقدمًا من الإصدار المستخدم حاليًا.
في الوقت الحالي، يوجد أمر واحد فقط، ولكن نأمل أن يكون هناك المزيد قريبًا مع تطوير الأداة.
الريبو العشوائي في الوقت الحاضر
تطبيق CLI لمرافقتك في رحلة وحدة terraform الخاصة بك ومشاركة عبء تحديثات تبعية الوحدة، تمامًا كما ساعد أحد الهوبيت الشجعان Frodo في حمل مهمته :)
\ : / '-: __ :-' -: )(_ :-- -' |r-_i'- ,sSSSSs, (2-,7 sS';:'`Ss )-j ;K e (e s7 / ( S, '' SJ ( ;/ sL_~~_;(S_) _7 |, 'J)_.-' />'-' `Z j J /-;-A'-'|'--'-j\ L L ) |/ : / \ \ \ | | | '._.'| L \ \ | | | | \ J \ \ _/ | | | ',| \ L.,' | | | | |/ _;-r-<_. __. _ l- l>…
لكي يتم تشغيل هذا حيث تستخدم الوحدات مستودعات GitHub الخاصة، يجب تمرير ملف التكوين .samwise.yaml كوسيطة أو يجب أن يكون موجودًا في الدليل الرئيسي للمستخدم.
.samwise.yaml التنسيق:
github_key: github_username:
حاليًا يتم دعم مصادقة GitHub HTTPS فقط ولكن سيتم دعم مصادقة SSH قريبًا.
تنسيق CSV
تنسيق JSON
أنا أحب سيد الخواتم :)
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3