| Crates.io | fleetflow |
| lib.rs | fleetflow |
| version | 0.1.1 |
| created_at | 2025-11-09 10:57:00.625958+00 |
| updated_at | 2025-11-09 11:05:38.246683+00 |
| description | A beautiful container orchestration tool using KDL configuration |
| homepage | https://github.com/chronista-club/fleetflow |
| repository | https://github.com/chronista-club/fleetflow |
| max_upload_size | |
| id | 1923995 |
| size | 118,565 |
Docker Composeよりシンプル。KDLで書く、次世代の環境構築ツール。
FleetFlowは、KDL(KDL Document Language)をベースにした、革新的で超シンプルなコンテナオーケストレーションツールです。Docker Composeの手軽さはそのままに、より少ない記述で、より強力な設定管理を実現します。
cargo install fleetflow
flow.kdl:
service "postgres" {
version "16"
ports {
port host=5432 container=5432
}
environment {
POSTGRES_USER "myuser"
POSTGRES_PASSWORD "mypass"
POSTGRES_DB "mydb"
}
}
service "redis" {
version "7"
ports {
port host=6379 container=6379
}
}
service "app" {
image "myapp"
version "latest"
ports {
port host=8080 container=8080
}
environment {
DATABASE_URL "postgresql://myuser:mypass@postgres:5432/mydb"
REDIS_URL "redis://redis:6379"
}
depends_on "postgres" "redis"
}
stage "local" {
service "postgres"
service "redis"
service "app"
}
fleetflow up
fleetflow ps
fleetflow down
| コマンド | 説明 |
|---|---|
fleetflow up [stage] |
ステージ内のサービスを起動 |
fleetflow down [stage] |
ステージ内のサービスを停止 |
fleetflow ps |
実行中のサービスを一覧表示 |
fleetflow logs <service> |
サービスのログを表示 |
YAMLの冗長さから解放され、読みやすく書きやすい設定ファイルを実現。
service "api" {
image "myapp:latest"
port 8080
env {
DATABASE_URL "postgresql://localhost/mydb"
}
}
開発環境から本番環境まで、ステージで管理。
stage "local" {
service "postgres"
service "redis"
service "app"
}
stage "production" {
service "postgres"
service "redis"
}
サービス名から自動的にDockerイメージを推測。設定の記述量を削減。
service "postgres" {
version "16" // postgres:16 として自動推測
}
環境変数や変数定義を使って、設定を動的に生成。
variables {
app_version "1.0.0"
registry "ghcr.io/myorg"
}
service "api" {
image "{{ registry }}/api:{{ app_version }}"
}
FleetFlowは以下のクレートで構成されています:
MIT OR Apache-2.0
Issue、Pull Requestを歓迎します!
fleetflow-atom - コア機能fleetflow-config - 設定管理fleetflow-container - コンテナランタイム統合