3 Replies
Thanks for tagging me @rubenf. I'll look through relevant sources and get back to you in less than a minute.
-----------------------------
While I generate an answer, here are some sources that might be helpful:
* Preinstall Binaries
* Workers and Worker Groups
* Custom Environment Variables
* Worker Groups Management UI
-----------------------------
Answer
In Windmill, init scripts are a convenient method to pre-install binaries or set initial configurations without needing to modify the base image (1) . These scripts are executed when the worker starts, and ensure all necessary binaries or configurations are set up before the worker undertakes any other task.
To use init scripts, here are the steps you need to follow:
1. Navigate to the Worker Management UI in Windmill.
2. Go the worker group level and specify your script content in the
INIT_SCRIPT
field. It's important to note that your script will be executed at the beginning when each worker of the worker group starts.
3. When you make adjustments here, the workers will shut down and are expected to be restarted by their supervisor (this could be Docker or k8s).
4. The execution progress of init scripts is inspectable in the superadmin workspace, with Kind = All
filter, with the path of those executions being init_script_{worker_name}
.
For example, if you want to install Playwright using pip, your init script may look like this:
Do bear in mind that the options to manage and to add init scripts through UI are available only under Windmill's Enterprise Edition (2) .Feel free to tag me @Ask Inkeep for any follow-ups on this thread. Also appreciate any feedback, it helps me improve.