Show HN: UnobinはInfrastructure as Codeを1つのバイナリにコンパイルします
UnobinはInfrastructure as Code(IaC)のための言語およびコンパイラです。IaCのソースコードをコンパイルして「ファクトリ」と呼ばれる単一のバイナリにします。このバイナリには実行時環境とすべての依存関係が含まれており、スタックファイルと呼ばれる設定ファイルを渡すことで実行できます。スタックファイルは設定のみを含み、任意のコードは実行できません。
背景メモ
- Infrastructure as Code (IaC)とは、サーバーやネットワークなどのインフラ設定をコードで管理する手法。主要ツールにTerraform(HashiCorp社)、Pulumi、AWS CDKなどがあるが、実行時にインタプリタやCLIツール、プラグイン、状態ファイルが必要で、環境間の再現性や依存関係の管理に課題があった。
- Unobinはこの問題に対し、IaCのソースコードを単一のバイナリ(「ファクトリー」と呼ぶ)にコンパイルする新しい言語とコンパイラ。ランタイムや全依存をバイナリ内に静的にリンクするため、実行環境にツールチェインのインストールが不要になる。
- 設定(スタックファイル)はコードではなく純粋な設定値のみを記述する設計。これにより、環境ごとの差分を宣言的に管理できる。
- ブラウザ上でプログレス表示するUI機能も内蔵しており、デプロイ状況の可視化を提供する。記事内ではスクリーンショット付きでこのUIが紹介されている。