OSS へ送った PR リスト (2024年)

2024年10月4日

ありがたいことに、部署では利用するOSSに不具合や不足している機能があった場合はちゃんと本体にPRを投げるための時間をもらえる。

こんなありがたい環境にいることもあるので、業務内or業務外に関わらずOSSには積極的に貢献していきたい。 ここでは自分のモチベーション維持、つまり自分が見返して「ああ、俺まぁまぁ頑張ったなぁ」となるため(笑)に、社会人になってからOSSに送ったPRリストをメモしておく。

FY 2024

新卒の年度。研修の後、部署には8月に配属された。

myoung34/docker-github-actions-runner

これは、GitHub ActionsのSelf-Hosted Runnerをコンテナ上で動かすためのDocker Image。

これの設定はコンテナに環境変数を設定することで行えるが、この設定用の環境変数がGitHub ActionsのWorkflow利用側にも公開されてしまう仕様になっていた。 これは基盤としてGitHub Actions runnerを提供する場合に利用者を混乱させるもとになるので、これらの設定用の環境変数をWorkflow側に見せないようにするためのオプションを追加した。

https://github.com/myoung34/docker-github-actions-runner/pull/384

まぁまぁ強気な変更だったみたく、Approveされる前にメンテナーの方がgossでテストを追加していた。晴れてgossのテストも通ったのでApproveされてマージされた。インフラのテストは見たことも書いたこともなく、こう書くのか〜と勉強になったのを覚えている。

fujiwara/ecrm

Amazon ECRにはライフサイクルポリシーと呼ばれる機能があるが、これはKeepするtagのパターン指定等ができず色々大変。 課題についてはfujiwaraさんの記事がわかりやすい: https://zenn.dev/fujiwara/scraps/05cf6f0ea80d22

そこで、もっと柔軟にECRのImageを削除できるように、fujiwaraさんがecrmというツールを開発された。

https://github.com/fujiwara/ecrm

うちの部署でもこれを導入しようとしたのだけれど、なぜかImage Indexだけが削除対象に入ってくれなくてなんでだろうと思っていたら、ecrmでImage Manifest V 2, Schema 2が考慮されていなかった。

Docker 1.10以上を使っていればImage Manifest V 2, Schema 2が使われる(AWS Doc)ためこれは苦しい。修正してPRを投げたらすぐに取り込んでもらえてBetaリリースもしてもらえ、無事社内でも利用することができてハッピーになった。

https://github.com/fujiwara/ecrm/pull/42

distribution/distribution

これはCNCFで管理されているcontainer Registryの実装。 https://github.com/distribution/distribution

社内でこれを使う機会があり、色々設定していたらELBについてのドキュメントが2018年以来から止まっていたっぽいので修正した。 https://github.com/distribution/distribution/pull/4476

ちなみに、社内ではこのdistribution/distributionをDocker Hubのミラーサーバーとして利用している。↓が紹介記事なので興味ある方は見て頂けると嬉しい! https://swet.dena.com/entry/2024/12/19/120000