프로젝트 소개
Windmill은 API, 백그라운드 작업, 워크플로우 및 사용자 인터페이스를 포함한 내부 코드를 관리하기 위해 설계된 셀프 호스팅 가능 개발자 플랫폼입니다. 개발자는 Python, TypeScript, Go, Bash, SQL, GraphQL, PowerShell, Rust 등 다양한 언어로 스크립트를 작성할 수 있으며, 작성된 스크립트는 매개변수를 기반으로 공유 가능한 UI로 자동 변환됩니다.
주요 기능은 다음과 같습니다:
- **워크플로우 오케스트레이션**: 스크립트를 복잡한 흐름으로 연결할 수 있으며 스케줄, 웹훅, HTTP 경로, Kafka, WebSockets 또는 이메일을 통해 트리거할 수 있습니다.
- **UI 빌더**: 기존 스크립트와 흐름을 기반으로 복잡한 내부 애플리케이션을 구축할 수 있는 로우코드 도구를 제공합니다.
- **로컬 개발**: 전문적인 개발 워크플로우를 위해 CLI, VS Code 확장 프로그램 및 양방향 Git 동기화를 지원합니다.
- **고성능**: 저지연 작업 실행을 위해 설계된 Postgres 큐 기반의 Rust 백엔드를 사용합니다.
- **보안**: 작업 실행 보안을 위해 nsjail을 통한 파일 시스템 및 리소스 격리와 PID 네임스페이스 격리를 적용합니다.
이 플랫폼은 Docker Compose 또는 Kubernetes(Helm charts)를 통해 배포할 수 있으며 다양한 클라우드 제공업체를 지원합니다. 기술 스택으로는 백엔드에 Rust, 프론트엔드에 Svelte 5, 데이터베이스에 Postgres를 사용합니다.