Katakate/k7

Your own self-hosted infra for lightweight VM sandboxes to safely execute untrusted code. CLI, API, Python SDK. ⭐ Star it if you like it! ⭐

k7 – AI コンピューティングのためのセルフホスト型セキュア VM サンドボックス

何?

  • k7 は、Kubernetes によって管理される軽量な仮想マシンサンドボックス内で信頼できないコードを実行できるオープンソースプラットフォームです。AI エージェントや、任意のコードを安全かつ大規模に実行する必要があるその他のワークロードを対象としています。

どのように?

  • オーケストレーション – K3s(本番環境対応の Kubernetes ディストリビューション)を使用してサンドボックス Pod をスケジュールします。
  • 分離バックエンド – 4 つのオプション:
    1. kfd – Kata + Firecracker、devmapper シンプールを使用(高速起動、攻撃面を最小化)。
    2. kql – Kata + QEMU、Longhorn PVC でバックアップ(永続的でスナップショット可能なディスク)。
    3. k7d – KVM 上に構築された Katakate 独自の microVM デーモン。ディスクとメモリの両方の ウォーム コピーオンライトフォークを約 5 ミリ秒で提供。
    4. k7d-fc – k7d と Firecracker ジェイラーを組み合わせたもの。
  • 機能 – VM 内 Docker、ウォームフォーク、一時停止/再開、スナップショット/復元、マルチノードクラスター、オプションの Cilium + Hubble ネットワークポリシー、REST API。
  • クライアント – Debian/Ubuntu の apt パッケージは、CLI(k7)、自動デプロイされる API サービス、Python SDK(k7-sdk)を提供します。

なぜ?

  • セキュリティ – 各サンドボックスは独自の VM で実行され、Docker-in-Docker のリスクを排除し、信頼できないコードに対して強力な分離を提供します。
  • スケーラビリティ – 高スループットの AI エージェントワークロード向けに設計されています。ウォームフォークにより、実行中のサンドボックスをミリ秒単位でクローンでき、大規模な並列処理が可能になります。
  • 柔軟性 – ハードウェアと永続性のニーズに合ったバックエンドを選択できます(一時的な Firecracker、永続的な Longhorn、またはカスタム k7d ランタイム)。
  • オープンソース – Apache-2.0 ライセンス。GitHub、ドキュメント、メーリングアドレスを通じてコミュニティサポートを提供。

誰向け?

  • AI エージェント開発者 – ユーザー生成コードを安全に実行する必要がある方。
  • サーバーレスプラットフォーム構築者 – AWS Fargate のセルフホスト代替を求める方。
  • CI/CD チーム – Docker-in-Docker なしの堅牢なランナーを求める方。
  • ブロックチェーン / AI dApp チーム – オンチェーンコードの実行レイヤーが必要な方。

クイックスタートスナップショット

  1. Ubuntu ノードに CLI をインストール:sudo add-apt-repository ppa:katakate.org/k7 && sudo apt update && sudo apt install k7。
  2. クラスターをプロビジョニング(バックエンドを選択):k7 install --backend kfd,kql,k7d --api-mode development。
  3. シンプルな k7.yaml でサンドボックスを作成して実行:k7 create。
  4. CLI で操作(k7 exec、k7 fork、k7 snapshot)または Python SDK。

成熟度と制限

  • 現在 ベータ版 であり、セキュリティレビュー中 – 機密性の高い本番データには推奨されません。
  • k7d バックエンドは amd64/x86_64 のみで動作します。他のバックエンドは arm64 をサポートします。
  • ハードウェア仮想化(KVM)が必要で、kfd バックエンドには空きの raw ディスクが必要です。

すべての詳細はリポジトリの README から直接取得されています。

関連

  • プロジェクト
  • プロジェクト
  • Dispatch
  • プロジェクト
  • プロジェクト