1 of 21

Terraform-provider-awsの

コントリビュータになろう!

@kangaechu

2 of 21

Who am I?

@kangaechu / @kangae2

クラウドワークスのSRE

terraform-provider-aws / Terraformerの�コントリビュータ

銭湯・サウナすき�特にフィンランドサウナだいすき

3 of 21

terraform-provider-aws / Terraformerの�コントリビュータ

4 of 21

          ____

       / \  /\ キリッ

.     / (ー)  (ー)\    「コントリビュータですから」

    /   ⌒(__人__)⌒ \

    |      |r┬-|    |

     \     `ー’´   /

    ノ            \

  /´               ヽ

 |    l              \

 ヽ    -一””””~~``’ー?、   -一”””’ー-、.

  ヽ ____(⌒)(⌒)⌒) )  (⌒_(⌒)⌒)⌒))

5 of 21

  • コードを書かないコントリビュートもある
  • 一番大変なのは「課題を見つけること」
  • とりあえずやってみよう!

コントリビュートへの道

自分がやってみた方法を紹介します

6 of 21

コードを書かない�コントリビュートもある

7 of 21

コードを書かないコントリビュート

  • ドキュメントの修正
    • typo
    • ドキュメントが追従してない etc…
  • 不具合の報告

8 of 21

一番大変なのは�「課題を見つけること」

9 of 21

ぷるりチャンスのみつけかた

  • Issueを眺める
    • terraform-provider-awsは初心者にやさしい
    • 「Refactor」「technical-debt」などで検索
  • https://github.com/terraform-providers/terraform-provider-aws/issues/10040

10 of 21

とりあえずやってみよう!

11 of 21

Issueの例

randomString()をacctest.RandStringFromCharSet()に置き換えるだけ

影響調査まで終わってる

12 of 21

事前準備

  • 実行環境の準備
    • Goのインストール
    • クローン
    • ビルドができることを確認

13 of 21

コードを修正

14 of 21

ぷるり作成

ぷるりのdescriptionに

テンプレートあり

15 of 21

  • 関連するIssue
  • リリースノートに記述する文(なければNONE)
  • テストの実行結果
    • 修正した関数に対するテストを実行

ぷるり作成に必要な項目

$ make testacc TEST=./aws TESTARGS='-run=TestResourceAWSELB_validateHealthCheckTarget'�==> Checking that code complies with gofmt requirements…�TF_ACC=1 go test ./aws -v -parallel 20 -run=TestResourceAWSELB_validateHealthCheckTarget -timeout 120m�=== RUN TestResourceAWSELB_validateHealthCheckTarget�--- PASS: TestResourceAWSELB_validateHealthCheckTarget (0.00s)�PASSok github.com/terraform-providers/terraform-provider-aws/aws 0.055s

16 of 21

マージ🎉

17 of 21

  • コードを書かないコントリビュートもある
  • 一番大変なのは「課題を見つけること」
  • とりあえずやってみよう!

コントリビュートへの道

18 of 21

それでも難しそう?

課題の見つけかた

環境準備

応援してほしい

19 of 21

そんなあなたに

Terraform Source Code Reading

  • Issueのサジェスト
  • 環境準備資料
  • Slackによる応援

20 of 21

21 of 21

We’re Hiring!!!

クラウドワークスはエンジニア募集中!!

  • Terraformのエキスパートと働ける
  • 業務時間中にOSSに取り組む時間あり