mirror of
https://github.com/windmill-labs/windmill.git
synced 2026-08-19 00:02:03 +00:00
78 lines
2.7 KiB
Markdown
78 lines
2.7 KiB
Markdown
# Windmill CLI
|
|
|
|
A simple CLI allowing interactions with windmill from the command line.
|
|
|
|
[](https://asciinema.org/a/533968)
|
|
|
|
## Setup
|
|
|
|
Setup the CLI by running `wmill setup`. This will guide you through the setup process easily.
|
|
|
|
## Pushing Resources
|
|
|
|
The CLI can push resource specifications to a windmill instance. See the [examples/](./examples/) folder for formats.
|
|
|
|
### Pushing a folder
|
|
|
|
You can push all files in a folder at once using `wmill push`
|
|
Files MUST be named resource_name.\<type\>.json. They will be pushed to the remote path they are in, for example the file `u/admin/fib/fib.script.json` will be pushed as a script to u/admin/fib/fib.
|
|
|
|
### Pushing individual files
|
|
|
|
You can push individual resources using `wmill <type> push <file_name> \<remote_name\>`. This does not require a special folder layout or file name, as this is given at runtime.
|
|
|
|
## Listing
|
|
|
|
All commands support listing by just not providing a subcommand, ie `wmill script` will result in a list of scripts. Some allow additional options, learn about this by specifying `--help`.
|
|
|
|
## User Management
|
|
|
|
You can add & remove users via `wmill user add/remove`, and list them using `wmill user`
|
|
|
|
## Login
|
|
|
|
Logging in using `wmill login` or the setup will save a token to your local computer, into `~/.config/windmill/<hash>/token` (or `C:\Users\<username>\AppData\Roaming\windmill\<hash>\token` on windows).
|
|
This is inherently unsafe, so do not log into the CLI on untrusted devices.
|
|
|
|
## Managing Remotes
|
|
|
|
Advanced users may use multiple remotes at once, which the CLI supports using `wmill remote`.
|
|
|
|
Add remotes using `wmill remote add <name> <base_url>` & Remove them using `wmill remote remove <name>`.
|
|
|
|
You can use a remote by either setting it as default using `wmill remote set-default <name>` or by overriding the remote using `--remote <name>` on any command.
|
|
|
|
If you don't want to save the URL locally, you can always override the command using `--base-url <base_url>` on any command.
|
|
|
|
### Login on multiple remotes
|
|
|
|
You will have to login on each remote, either do this using `wmill login` or override the token/credentials on each command using `--token <token>`/`--username <username> --password <password>`.
|
|
|
|
## Completion
|
|
|
|
The CLI comes with completions out of the box via `wmill completions <shell>`. (Via [cliffy](https://cliffy.io/))
|
|
|
|
### Bash
|
|
|
|
To enable bash completions add the following line to your `~/.bashrc`:
|
|
|
|
```
|
|
source <(wmill completions bash)
|
|
```
|
|
|
|
### Fish
|
|
|
|
To enable fish completions add the following line to your `~/.config/fish/config.fish`:
|
|
|
|
```
|
|
source (wmill completions fish | psub)
|
|
```
|
|
|
|
### Zsh
|
|
|
|
To enable zsh completions add the following line to your `~/.zshrc`:
|
|
|
|
```
|
|
source <(wmill completions zsh)
|
|
```
|