mirror of
https://github.com/windmill-labs/windmill.git
synced 2026-08-21 16:02:28 +00:00
52f39a0e04
Add a per-worker-group `container_runtime` option. When set to "podman", the worker starts a rootless, daemonless `podman system service` on a unix socket and points DOCKER_HOST at it, so docker-mode jobs (`# docker` bash scripts) run against a Docker-API-compatible daemon without a privileged dind sidecar or the host Docker socket. bollard's existing handle_docker_job talks to it unchanged (validated: inspect/wait/logs/stats/kill/stop/remove against podman 5.8.2). - windmill-common: container_runtime field on WorkerConfigOpt/WorkerConfig, loaded from group config or CONTAINER_RUNTIME env. - windmill-worker: start_container_runtime_maybe() spawns the rootless podman service once per process (i_worker==1), waits for the socket, sets DOCKER_HOST. Respects an existing DOCKER_HOST (legacy dind) and degrades with a clear log if the podman binary is absent (use a *-full image or an init script). - monitor: restart the worker (killpill) when container_runtime changes. - api-configs: allow container_runtime in CE config updates. Requires rootless podman with cgroup v2 delegation for memory monitoring; podman ships in the *-full images (next commit). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Windmill Backend
This folder holds all backend components, the src/ folder only contains files used to build the "root" binary.
Components
| name | description |
|---|---|
| windmill-api | The API server, exposing functionality to other components and the frontend |
| windmill-audit | Contains audit functionality, allowing different components to record important actions |
| windmill-common | Common code shared by all crates |
| windmill-queue | Contains job & flow queuing functionality, commonly written to by the API server and read from by workers |
| windmill-worker | The worker. Used to process and execute flows & jobs. |
| parsers | Contains code to parse signatures in different langauges. |
Compile sqlx for offline ci
cargo sqlx prepare --workspace -- --bin windmill --features enterprise