このプロジェクトについて
Windmillは、API、バックグラウンドジョブ、ワークフロー、ユーザーインターフェースを含む内部コードを管理するために設計された、セルフホスト可能な開発プラットフォームです。開発者はPython、TypeScript、Go、Bash、SQL、GraphQL、PowerShell、Rustを含む複数の言語でスクリプトを記述でき、それらはパラメータに基づいて共有可能なUIに自動的に変換されます。
主な機能は以下の通りです:
- **ワークフローオーケストレーション**: スクリプトを連結して複雑なフローを構築でき、スケジュール、Webhook、HTTPルート、Kafka、WebSockets、またはメール経由でトリガーできます。
- **UIビルダー**: 既存のスクリプトやフローの上に、複雑な内部アプリケーションを構築するためのローコードツールを提供します。
- **ローカル開発**: CLI、VS Code拡張機能、および双方向のGit同期をサポートし、プロフェッショナルな開発ワークフローを実現します。
- **ハイパフォーマンス**: 低レイテンシのジョブ実行向けに設計された、Postgresキューを備えたRustベースのバックエンドを採用しています。
- **セキュリティ**: ファイルシステムとリソースの分離にnsjailを使用し、PID名前空間の分離によってジョブ実行を保護します。
このプラットフォームはDocker ComposeまたはKubernetes(Helm charts)経由でデプロイでき、さまざまなクラウドプロバイダーをサポートしています。技術スタックは、バックエンドにRust、フロントエンドにSvelte 5、データベースにPostgresを使用しています。