Infisicalは、シークレット管理・証明書管理(PKI)・特権アクセス管理(PAM)をまとめて扱うオープンソースのプラットフォームです。バックエンドはNode.js/Fastify製が中心で、Go言語製のサイドカー(backend-go)を新たに加え、Postgresと Redisを基盤に動作します。CLIやKubernetes Operatorを通じてアプリケーションへシークレットを配布する仕組みも備えています。
メインのAPIは backend/ 配下のNode.js(Fastify)実装で、Knexで postgresにアクセスし、ioredisでRedisを使います。企業向け機能(EE)は ee/services 配下に分離されていて、監査ログ・Gateway・KMIPなど多数のモジュールが fastify.d.ts で型宣言されています。並行して backend-go/ にGo言語製の新バックエンドが育っていて、main.goがPostgres・Redis・KeyStoreなど各サービスを順番に初期化します。HTTPサーバーは chi ルーターで構築され、CORS・セキュリティヘッダー・タイムアウトなどのミドルウェアを重ねて起動します。ルートは platform 系と secretmanager 系に分かれ、OpenAPI定義から oapi-codegen でハンドラの型を生成しています。HSM関連のテストはSoftHSM2入りの専用Dockerイメージを使い、testcontainers経由で実行します。
- STEP 01
.env.test.example をコピーして環境変数を設定し、make test-api-services で docker-compose.test.ymlのPostgresとRedisコンテナを起動します。
- STEP 02
backend-go/docker-compose.test.yml を使いGoのテストを走らせると、SoftHSM2入りコンテナが自動起動して鍵管理のテストが動きます。
- STEP 03
backend/ 側でNode.jsのFastifyサーバーを起動すると、APIルートとダッシュボード用エンドポイントがlocalhostで立ち上がります。
- STEP 04
.env.dev.example を参考にENCRYPTION_KEYやAUTH_SECRET、DB_CONNECTION_URIを設定しないと、起動時にバリデーションエラーで即座に落ちます。
- STEP 05
backend-go/cmd/infisical/main.go を直接実行すると、設定不備の場合にJSON形式のログへissue一覧が具体的に出力されます。
自己ホスト型のシークレット・証明書・PAM基盤一式が手に入ります。Node.js製APIとGo製サイドカーAPIが同居し、PostgresとRedisで動くフルスタック環境、OpenAPI仕様書、CLI連携までひととおり揃います。
Node.js backendとGo backendが並存しており、機能移行の途中に見えるため、どちらが本番トラフィックの主体かは別途確認が必要です。
多くのEE機能はライセンスキー前提で、OSS版だけではdocumentation上の全機能が使えるとは限りません。
HSM関連テストはSoftHSM2専用コンテナが必要で、ローカルでの再現にはDockerとtestcontainersの知識が要ります。
依存スタックがPostgres・Redis・Go 1.26など多岐にわたり、READMEに書かれた以上のセットアップ手順を要する可能性があります。
自前でシークレット管理やPKI、PAMまで一式を運用したいインフラ・セキュリティチームに向いています。CLIやKubernetes Operator、監査ログ、動的シークレットなどEE寄りの機能まで見ると、Vault代替として本格運用を検討する組織向けです。ソースにはGo製main.goの初期化順序やchiミドルウェア構成、EEサービス群のimport一覧、SoftHSM2用Dockerfile、docker-compose.test.ymlなど具体的な実装と検証手順が確認でき、README記載のダウンロード実績とあわせて実在するプロダクトとして判断できます。ただしNode.js/Go二重バックエンドの過渡期構成である点は、採用前に最新のアーキテクチャ方針を確認したほうがよいでしょう。