প্রকল্প সম্পর্কে
Windmill হলো একটি সেলফ-হোস্টেবল ডেভেলপার প্ল্যাটফর্ম যা ইন্টারনাল কোড, যার মধ্যে API, ব্যাকগ্রাউন্ড জব, ওয়ার্কফ্লো এবং ইউজার ইন্টারফেস অন্তর্ভুক্ত, তা ম্যানেজ করার জন্য ডিজাইন করা হয়েছে। এটি ডেভেলপারদের Python, TypeScript, Go, Bash, SQL, GraphQL, PowerShell এবং Rust-সহ একাধিক ভাষায় স্ক্রিপ্ট লেখার সুযোগ দেয়, যা পরবর্তীতে তাদের প্যারামিটারের ওপর ভিত্তি করে স্বয়ংক্রিয়ভাবে শেয়ারযোগ্য UI-তে রূপান্তরিত হয়।
এর মূল সক্ষমতাগুলোর মধ্যে রয়েছে:
- **Workflow Orchestration**: স্ক্রিপ্টগুলোকে জটিল ফ্লো-তে চেইন করা যায় এবং শিডিউল, ওয়েবহুক, HTTP রুট, Kafka, WebSockets অথবা ইমেলের মাধ্যমে ট্রিগার করা যায়।
- **UI Builder**: বিদ্যমান স্ক্রিপ্ট এবং ফ্লো-র ওপর ভিত্তি করে জটিল ইন্টারনাল অ্যাপ্লিকেশন তৈরির জন্য লো-কোড টুলস।
- **Local Development**: প্রফেশনাল ডেভেলপমেন্ট ওয়ার্কফ্লো-র জন্য CLI, VS Code এক্সটেনশন এবং টু-ওয়ে Git সিনক্রোনাইজেশন সাপোর্ট।
- **High Performance**: লো-ল্যাটেন্সি জব এক্সিকিউশনের জন্য ডিজাইন করা একটি Rust-ভিত্তিক ব্যাকএন্ড এবং Postgres কিউ।
- **Security**: জব এক্সিকিউশন সুরক্ষিত করতে ফাইলসিস্টেম এবং রিসোর্স আইসোলেশনের জন্য nsjail এবং PID নেমস্পেস আইসোলেশন ব্যবহার করে।
প্ল্যাটফর্মটি Docker Compose অথবা Kubernetes (Helm charts)-এর মাধ্যমে ডেপ্লয় করা যায় এবং বিভিন্ন ক্লাউড প্রোভাইডার সাপোর্ট করে। এটি ব্যাকএন্ডের জন্য Rust, ফ্রন্টএন্ডের জন্য Svelte 5 এবং ডাটাবেসের জন্য Postgres-এর একটি স্ট্যাক ব্যবহার করে।