Skip to content
tako0614Public

About

Open source, self-hostable control plane for running OpenTofu/Terraform modules from Git

Topics

Resources

Security policy

Stars

2 stars

Watchers

0 watching

Forks

Latest commit

 

History

2,358 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Takosumi

English: README.en.md

Takosumi は、Git に置いた OpenTofu / Terraform module をチームで安全に実行するための オープンソースの管理サーバーです。

既存の module と provider をそのまま使い、次の部分を Takosumi が引き受けます。

  • 変更内容を plan で確認してから、同じ計画を apply する
  • 実行した commit、実行者、時刻、結果を記録する
  • state、output、ログを実行ごとに保存する
  • クラウドの認証情報を保管し、実行中の runner にだけ渡す
  • Git から取り込んだアプリやインフラを、画面と API から管理する

Takosumi 専用の .tf 記法や first-party provider はありません。Cloudflare、AWS、 Kubernetes などは、それぞれの既存 provider が操作します。

ソフトウェアのドキュメント · Takosumi hosted service のドキュメント

5 分で動作を確認する

この短い手順は、開発用の API をメモリ上で起動します。Bun と Git が必要です。

git clone https://github.com/tako0614/takosumi.git
cd takosumi
bun install

TAKOSUMI_DEV_MODE=1 \
TAKOSUMI_DEPLOY_CONTROL_TOKEN=dev-token \
PORT=8788 \
bun core/index.ts

別のターミナルから、起動したサーバーが公開している機能を確認します。

curl http://127.0.0.1:8788/api/v1/capabilities \
  -H "authorization: Bearer dev-token"

これは API の動作確認用です。再起動するとデータは消え、dashboard と OpenTofu runner も含みません。実際に Git module を plan / apply する手順は クイックスタートにあります。

デプロイ方法

Takosumi の利用者向け入口は、Git module を実行する 1 つの Stack flow です。

Git の module を実行する

通常はこちらを使います。

  1. Git URL、ref、module のパスを登録する
  2. Takosumi が ref を 1 つの commit に固定する
  3. plan を作り、変更内容を確認する
  4. 確認した計画を apply する
  5. state、output、ログ、監査記録を保存する

Takosumi では、登録した 1 つの module を Capsule と呼びます。この名前を知らなくても module 自体を書き換える必要はありません。

repository は任意の .well-known/takosumi.json で、同じ commit に固定された Takosumi 向け metadata を提案できます。現行contractは一般 Repository envelopeの install.modules だけを定義し、実行authorityは DB-owned InstallConfig、Plan、Runに残ります。詳細は Repository manifestを参照してください。

provider を使う

Takosumi OSS の利用者向けの経路は、Git の OpenTofu / Terraform module を実行する Stack flow です。Takoform は registry.terraform.io/tako0614/takoform から インストールする、ほかの provider と同じ provider です。Takoform の Form 定義や、 Form をホストして実体化するサービスはこのリポジトリの所有物ではありません。

過去の試作には /v1/resources、Resource Shape、Form Host、TargetPool、SpacePolicy を 使う API と dashboard がありました。これらは現在の OSS の supported product surface ではありません。互換用の API、schema、保存データを残している箇所は migration internal として扱い、通常の利用者向け手順やナビゲーションには掲載しません。

Takosumi と Takosumi hosted service

  • Takosumi はこのリポジトリのソフトウェアです。自分の環境で運用できます。
  • Takosumi hosted service は app.takosumi.com で提供する公式ホスティングです。hosted Form/service、料金、容量、サポートは hosted service 側が決めます。

OSS は hosted service がなくても動きます。hosted service 固有の価格、Stripe、内部の配置先はこの リポジトリの公開仕様ではありません。境界の詳細は 製品の境界にあります。

Takos は別の製品です。Accounts / deploy-control / dashboard / runner を Takos worker に 組み込みません。Takos は外部 client として Takosumi endpoint に接続します。

ドキュメント

開発

bun run check
bun test
bun run docs:build

主なディレクトリは、公開 contract の contract/、control plane の core/、画面の dashboard/、runner の runner/、配布構成の deploy/、ドキュメントの docs/ です。 standalone OSS clone は Takosumi hosted service の GA や本番課金の操作を代理実行しません。

ライセンスは AGPL-3.0-only です。脆弱性の報告方法は SECURITY.mdを参照してください。

About

Open source, self-hostable control plane for running OpenTofu/Terraform modules from Git

Topics

Resources

Security policy

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages