decadence

個人のメモ帳

2023年にOSS活動した便利機能3選

これは何

2023年に自身がOSS活動した中で、個人的に便利だなと思っている機能を紹介したいと思う。

便利機能3選

OpenAPITools/openapi-generator: pekko-httpが利用可能に

Why We Are Changing the License for Akka | Lightbend にあるとおり、akkaのライセンスが変わることが出たのは2022年9月のことである。ここから先akkaを使い続けるという道と、何かしらの代替へ移行するというプランがakka利用者の間では検討事項としてあげられた。代案の1つに Apache Pekko があり、こちらはakkaのinterfaceをそのまま維持しながらapache projectとしての開発がされるものになる。

akkaの Apache License Version 2.0 として出ていたversionのサポートが切れることとなり、ギリギリのタイミングでpekko 1.0がリリースされた。pekkoの開発が進むにつれ、 Apache Flink® — Stateful Computations over Data Streams | Apache Flink であったり、 Play Framework - Build Modern & Scalable Web Apps with Java and Scala はakkaからpekkoへの移行をすることを決めた。

自らが利用しているといった理由のみならず、今現在pekkoのコミュニティを活性化させるにあたり、フリーライドするのみならず何かしらの貢献ができないかということでOSS活動したものが以下の内容である。

github.com

openapi-generator はOpenAPI Specificationに基づき、コード生成をするツールである。もともとこちらにはakka-httpのコードを生成する機能があったため、こちらにフラグを立てることでakka-httpを使わずにpekko-httpを使うコードが生成できるようにした。将来的にpekko-httpはakka-httpと異なる道をたどることにはなるだろうが、pekko 1.0では気軽に以降が出来る前提での対応が進められているため、openapi-generator側でもgenerator自体を分離せずにフラグのみでの対応を取っている。

OpenAPIでpekko-httpを使いたい人は、ぜひ利用してみてほしい。

runatlantis/atlantis: terraform import相当の機能追加

既に以下の記事でまとめたものではある。

krrrr.hatenablog.com

terraform automation toolであるatlantisでは、もともterraform plan/apply相当しか実行できなかったものに対して、terraform import相当の対応をできるようにした。

上の記事には記載していないが、terraform 1.5からは Import - Configuration Language | Terraform | HashiCorp Developer が利用できるようになっているため、正直タイミングが悪かったなとは思っている。

krrrr38/quill-finagle-mysql: tagpr+sbi-ci-releaseでのリリース管理

github.com

参考として上記のものを載せているが、これとrenovateにより、リリース管理はほぼ手離れする一品。masterにmergeすれば自動でSNAPSHOTがpublishされ、次のリリースに向けたPRが以下のように作成される。

github.com

これをmergeするだけで本リリースを実施することができる。次にリリースされる内容は一目見ればわかるし、changeloggithub releasesへ作成される。手作業などはversionをmajor upgradeにするのかminor upgradeなどをtag付する以外にはほぼ何もいらない。main branch1本でライブラリを管理するのであれば、個人的にこれ以上簡単な方法はまだ見つけられていない。

詳しくは sbt-ci-releaseとtagprを用いたScala libraryのリリースマネジメント - decadence にも載せている。

この記事は FOLIO Advent Calendar 2023 - Adventar としても記述した。株式会社FOLIOでは、自分たちのサービスを安心・安全に運用していくためにOSSへの貢献なども行いつつ、「技術と想像で"未来の金融"の礎となる」Visionを掲げて事業を展開しています。このようなサービス開発に興味があれば、カジュアル面談からでもお話させてください。

corp.folio-sec.com