ساخت خودکار فایل Readme برای ماژول های Terraform

terraform-doc

یکی از کارها برای استاندارد سازی ماژول های Terraform داشتن فایل README.md برای ماژول ها می باشد. نوشتن این چنین فایلی برای ماژول ترافوم کار زمانگیری می باشید بویژه وقتی که تعداد این ماژول ها زیاد باشند.

در این مطلب قصد داریم تا terraform-docs را جهت خودکار سازی ساخت فایل README.md برای ماژول های Terraform معرفی کنیم.

 

terraform-docs چیست؟

terraform-doc یک ابزار خط فرمان است که به ما امکان می‌دهد تا مستندات مربوط به ماژول‌های terraform را در قالب‌های مختلف به صورت خودکار تولید کنیم. برای شروع، ابتدا باید آن را نصب کنیم. سپس می‌توانیم آن را از طریق خط فرمان یا از طریق یک فایل پیکربندی اجرا کنیم.

 

چگونه کار می‌کند؟

اساساً، این ابزار تمام فایل‌های کد ما (resources، variables، outputs، providers…) را بررسی می‌کند و از آنها برای تولید یک فایل خروجی  با مستندات بر اساس terraform object استفاده می‌کند.

 

نصب terraform-doc

روش های گوناگونی برای نصب وجود دارد که بر اساس سیستم عامل خود می توان یکی از آنها را انتخاب کرد. در اینجا ما قصد داریم تا فایل باینری terrraform-doc را بر روی لینوکس نصب کنیم. برای اینکار کافیست تا دستورهای زیر را جهت دانلود و نصب terraform-doc اجرا کنید:

$ curl -Lo ./terraform-docs.tar.gz https://github.com/terraform-docs/terraform-docs/releases/download/v0.19.0/terraform-docs-v0.19.0-$(uname)-amd64.tar.gz
$ tar -xzf terraform-docs.tar.gz
$ chmod +x terraform-docs
# mv terraform-docs /usr/local/bin/terraform-docs

 

نکته اینکه برای دانلود آخرین نسخه terraform-doc می توانید به صفحه releases پروژه در Github به آدرس زیر مراجعه کنید:

 

https://github.com/terraform-docs/terraform-docs/releases

 

استفاده از terraform-doc

 

برای استفاده از terraform-doc جهت ساخت فایل README.md برای ماژول Terraform خود می توانید دستور زیر را اجرا کنید:

terraform-docs markdown table --output-file README.md --output-mode inject /path/to/module

 

نکته اینکه بجای path/to/module/ باید آدرس ماژول Terraform خود را بنوسید.

 

برای اطلاعات بیشتر در مورد terraform-doc می توانید به وب سایت یا صفحه Github پروژه مراجعه کنید:

https://terraform-docs.io/

https://github.com/terraform-docs/terraform-docs

 

 

ارسال یک پاسخ

آدرس ایمیل شما منتشر نخواهد شد.

این سایت از اکیسمت برای کاهش هرزنامه استفاده می کند. بیاموزید که چگونه اطلاعات دیدگاه های شما پردازش می‌شوند.