Windmill
Windmill A developer platform and workflow engine
Announcement and talks
The Windmill app announcement
Sources
Windmill is a community application from the geniusd repository. Documentation and source can be found on Github. Please see the excerpt from the readme below.
- README.md
This is a template module for [geniusdynamics 8](https://github.com/geniusdynamics/ns8-core). To start a new module from it: ## Install Instantiate the module with: add-module ghcr.io/geniusdynamics/windmill:latest 1 The output of the command will return the instance name. Output example: {"module_id": "windmill1", "image_name": "windmill", "image_url": "ghcr.io/geniusdynamics/windmill:latest"} ## Configure Let's assume that the mattermost instance is named `windmill1`. Launch `configure-module`, by setting the following parameters: - `host`: a fully qualified domain name for the application - `http2https`: enable or disable HTTP to HTTPS redirection (true/false) - `lets_encrypt`: enable or disable Let's Encrypt certificate (true/false) Example: ``` api-cli run configure-module --agent module/windmill1 --data - <<EOF { "host": "windmill.domain.com", "http2https": true, "lets_encrypt": false } EOF ``` The above command will: - start and configure the windmill instance - configure a virtual host for trafik to access the instance ## Get the configuration You can retrieve the configuration with ``` api-cli run get-configuration --agent module/windmill1 ``` ## Uninstall To uninstall the instance: remove-module --no-preserve windmill1 ## Smarthost setting discovery Some configuration settings, like the smarthost setup, are not part of the `configure-module` action input: they are discovered by looking at some Redis keys. To ensure the module is always up-to-date with the centralized [smarthost setup](https://geniusdynamics.github.io/ns8-core/core/smarthost/) every time windmill starts, the command `bin/discover-smarthost` runs and refreshes the `state/smarthost.env` file with fresh values from Redis. Furthermore if smarthost setup is changed when windmill is already running, the event handler `events/smarthost-changed/10reload_services` restarts the main module service. See also the `systemd/user/windmill.service` file. This setting discovery is just an example to understand how the module is expected to work: it can be rewritten or discarded completely. ## Debug some CLI are needed to debug - The module runs under an agent that initiate a lot of environment variables (in /home/windmill1/.config/state), it could be nice to verify them
