Donate to geniusd

Windmill

Windmill A developer platform and workflow engine

The Windmill app announcement

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

  • ns8/applications/windmill.txt
  • Last modified: 13 months ago
  • by LayLow