Header image

クラッソーネの開発者がエンジニアリングに関することもそうでないことも綴っています!

terraform-provider-awsに初めてコントリビュートした話

terraform-provider-awsに初めてコントリビュートした話

こんにちは、最近 リングフィットアドベンチャー で レベル100 になった、SREチームの宮原(@TakashiMiyahara)です🙋

SREチームでは、Terraformによるインフラのコード化を進めています。
既存のリソースをTerraform管理下に置く場合は、importコマンドを利用して、リソースの情報をterraform.stateに取り込むことが多いのではないでしょうか。

先日、CloudWatch Dashboardのインポート作業中に、aws_cloudwatch_dashboard のドキュメントに不備を見つけ、パッチを送ったところ、初めてマージされました🙌
ここでは、パッチがマージされるまでの経緯をお伝えします。

発見したドキュメントの不備

terraform import [options] ADDRESS ID

importコマンドは、上記のような構造になっているのですが、ドキュメントの例では ID に該当する箇所が表示されていませんでした。
report_an_issue

報告方法

不備を見つけたので、 HashiCorp AWS Provider team へ報告します。
Terraformのドキュメントページには、Report an Issueというリンクが用意されています。
(ドキュメントページから、Repositoryへの導線が分かりやすくて、とても良い開発者体験でした✨)

report_an_issue

起票したissue

実際に起票したissueはこちらになります。
https://github.com/hashicorp/terraform-provider-aws/issues/24355

New issue > Bug Report を選択して、issueを作りました🙋
new_issues_bug_report

issueのdescriptionに、本件を修正する場合のdiffを書いていたこともあり、DrFaust92さんから、「PR is appreciated!」というメンションを頂いたので、早速PR作成に取り掛かりました😁

作成したパッチ

修正対応のPRはこちらです。
https://github.com/hashicorp/terraform-provider-aws/pull/24373

DrFaust92さん、メンテナーのewbankkitさんにレビューいただいて、無事マージされました🙌
コミュニティに迎え入れてくれたメンテナーの皆様、ありがとうございます✨

2022年4月28日に、v4.12.0がリリースされました。
このバージョンから、importコマンド の例が修正されてます🙋

感想

業務で使用しているOSSをメンテナンスするのは業務の延長線上にあると考えてます。
今回は、簡単なドキュメントの一部修正でしたが、Terraformのコードの変更・修正にも積極的に参加していきたいと思いました!

おわりに

クラッソーネでは、プロダクトとチームの双方をより良く改善していけるエンジニアを募集中です!

https://www.crassone.co.jp/recruit/engineer/


RubyやTerraformが好きで、メンバーが楽になる仕組みを考えるのが好きなエンジニア