| Crates.io | wado |
| lib.rs | wado |
| version | 0.2.6 |
| created_at | 2025-05-19 10:44:06.436358+00 |
| updated_at | 2025-09-11 12:12:40.350449+00 |
| description | Command line tool to manage WildFly containers. |
| homepage | https://github.com/hpehl/wado |
| repository | https://github.com/hpehl/wado |
| max_upload_size | |
| id | 1679574 |
| size | 412,930 |
wado (WildFly admin containers) is a command line tool to build and run WildFly containers of different
versions in different operation modes (domain and standalone). The container images are based on the official WildFly
images but are intended more for the development and testing of WildFly and its management tools (CLI and console).
The container names and published ports follow default values based on the WildFly version.
Precompiled binaries are available for macOS, Linux, and Windows.
brew tap hpehl/tap
brew install wado
cargo install wado
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh (
see Install Rust and Cargo)git clone git@github.com:hpehl/wado.gitcd wadocargo build --release && cargo install --path .This installs the wado binary to ~/.cargo/bin/ which should be in you $PATH.
wget https://github.com/hpehl/wado/raw/main/completions/wado.bash -O /etc/bash_completion.d/wado
source /etc/bash_completion.d/wado
wget https://github.com/hpehl/wado/raw/main/completions/_wado -O /usr/local/share/zsh/site-functions/_wado
autoload -U compinit && compinit
autoload -U _wado
wget https://github.com/hpehl/wado/raw/main/completions/wado.fish -O ~/.config/fish/completions/wado.fish
wget https://github.com/hpehl/wado/raw/main/completions/wado.elv -O ~/.elvish/lib/wado.elv
Invoke-WebRequest -Uri https://github.com/hpehl/wado/raw/main/completions/_wado.ps1 -OutFile "$HOME\.config\powershell\_wado.ps1"
. "$HOME\.config\powershell\_wado.ps1"
Most commands require a WildFly version expression. Version expressions are either short versions, multipliers, ranges, enumerations, or a combination of them. They follow this BNF:
<expression> ::= <expression> "," <element> | <element>
<element> ::= <multiplier> "x" <range> | <multiplier> "x" <short_version> | <range> | <short_version>
<range> ::= <short_version> ".." <short_version> | ".." <short_version> | <short_version> ".." | ".."
<multiplier> ::= <nonzero_number> | <two_digit_number>
<short_version> ::= <major> | <major> "." <minor>
<major> ::= <two_digit_number> | <three_digit_number>
<minor> ::= <nonzero_number> | <two_digit_number>
<three_digit_number> ::= <nonzero_number> <number> <number>
<two_digit_number> ::= <nonzero_number> <number>
<number> ::= "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9"
<nonzero_number> ::= "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9"
Examples
All supported versions are listed here.
The images are based on the official WildFly images, are hosted at https://quay.io/organization/wado, and come in three variants:
Each image contains tags for all supported versions.
The images are based on the default configuration (subsystems, profiles, server groups, socket bindings et al.) of the corresponding version. Unless specified otherwise, the images use these configuration files to start WildFly:
standalone.xmldomain.xml and host-primary.xmldomain.xml and host-secondary.xmlAll images add a management user admin:admin
and allowed origins
for
Domain and host controller images are changed so that no servers are configured.
The default name for containers is wado-<type>-<version>[-index]
sa|dc|hc - standalone, domain or host controller<major><minor>If not specified otherwise, the standalone and domain controller containers publish their HTTP and management ports based on the WildFly version:
<major><minor><major><minor>So for WildFly 34, the port mappings are 8340 and 9340, and for WildFly 26.1, the port mappings are 8261 and 9261. If multiple containers of the same version are used, the port is increased by one from the second container onwards.
wado start 26.1,28..30,2x32,3x35
| Version | Name | HTTP | Management |
|---|---|---|---|
| 26.1 | wado-sa-261 | 8261 | 9261 |
| 28 | wado-sa-280 | 8280 | 9280 |
| 29 | wado-sa-290 | 8290 | 9290 |
| 30 | wado-sa-300 | 8300 | 9300 |
| 32 | wado-sa-320-0 | 8320 | 9320 |
| 32 | wado-sa-320-1 | 8321 | 9321 |
| 35 | wado-sa-350-0 | 8350 | 9350 |
| 35 | wado-sa-350-1 | 8351 | 9351 |
| 35 | wado-sa-350-2 | 8352 | 9352 |
Currently, the following commands are supported:
Command line tool to build and run WildFly containers in different versions and operation modes.
Usage: wado <COMMAND>
Commands:
build Build WildFly images
start Start a standalone server
stop Stop a standalone server
dc Start and stop a domain controller
hc Start and stop a host controller
topology Start and stop a topology defined as YAML
images List all available standalone, domain and host controller images
ps List running images
console Open the management console
cli Connect to the CLI
help Print this message or the help of the given subcommand(s)
Options:
-h, --help Print help
-V, --version Print version
[!IMPORTANT] Most commands require
podmanto be present withdockeras a fallback. Theconsolecommand opens the default web browser and theclicommand requires a JVM.
If not specified otherwise, the build command builds standalone, domain, and host controller images based on the official WildFly images. The images contain specific modifications and a management user with a predefined username and password.
Predefined images for all supported versions are available at https://quay.io/organization/wado. If you want to change the username and password, you can build your own local image.
Build WildFly images
Usage: wado build [OPTIONS] <wildfly-version>
Arguments:
<wildfly-version> A single WildFly version or version range
Options:
-u, --username <username> The username of the management user [default: admin]
-p, --password <password> The password of the management user [default: admin]
--standalone Build standalone images only
--domain Build domain controller and host controller images only
--chunks <chunks> Build the images in chunks of this size. If not specified, the images are built in one go.
-h, --help Print help
-V, --version Print version
Examples
wado build 34
wado build 34 --username alice --password "Admin#70365"
wado build 10,23,34 --standalone
wado build 20..29 --domain
wado build 10,20..29,34
wado build .. --chuncks 5
Start a standalone server
Usage: wado start [OPTIONS] <wildfly-version> [-- [wildfly-parameters]...]
Arguments:
<wildfly-version> A single WildFly version or version range
[wildfly-parameters]... Parameters passed to the standalone server
Options:
-n, --name <name> The name of the standalone server [default: wado-sa-<major><minor>].
Not allowed when multiple versions are specified.
-p, --http <http> The published HTTP port [default: 8<major><minor>].
Not allowed when multiple versions are specified.
-m, --management <management> The published management port [default: 9<major><minor>].
Not allowed when multiple versions are specified.
-o, --offset <offset> The offset added to the published HTTP and management ports.
Not allowed when multiple versions are specified.
--operations <operations> A comma seperated list of operations to bootstrap the standalone server.
Can be provided multiple times.
--cli <cli> A file with operations to bootstrap the standalone server
-h, --help Print help
-V, --version Print version
Examples
wado start 34
wado start 3x34
wado start 30..35
wado start 34 --name foo
wado start 34 --name bar --offset 100
wado start 34 --http 8080 --management 9990
wado start 34 --operations "/subsystem=logging/console-handler=CONSOLE:write-attribute(name=level,value=DEBUG)"
wado start 34 --offset 100 -- --server-config=standalone-microprofile.xml
Stop a standalone server
Usage: wado stop [OPTIONS] [wildfly-version]
Arguments:
[wildfly-version] A single WildFly version or version range
Options:
-n, --name <name> The name of the standalone server [default: wado-sa-<major><minor>]
-a, --all Stop all running standalone servers. If specified with a version,
stop all running standalone servers of that version.
-h, --help Print help
-V, --version Print version
Examples
wado stop 34
wado stop 30..35
wado stop 34 --name foo
wado stop 34 --all
wado stop --all
Start a domain controller
Usage: wado dc start [OPTIONS] <wildfly-version> [-- [wildfly-parameters]...]
Arguments:
<wildfly-version> A single WildFly version or version range
[wildfly-parameters]... Parameters passed to the domain controller
Options:
-n, --name <name> The name of the domain controller [default: wado-dc-<major><minor>].
Not allowed when multiple versions are specified.
-p, --http <http> The published HTTP port [default: 8<major><minor>].
Not allowed when multiple versions are specified.
-m, --management <management> The published management port [default: 9<major><minor>].
Not allowed when multiple versions are specified.
-o, --offset <offset> The offset added to the published HTTP and management ports.
Not allowed when multiple versions are specified.
-s, --server <server> Manage servers of the domain controller.
Servers are specified as a comma seperated list of <name>[:<server-group>][:<offset>][:start].
The option can be specified multiple times.
<name> The name of the server. This part is mandatory and must be first.
All other parts are optional.
<server-group> The name of the server group. Allowed values are 'main-server-group' or 'msg',
and 'other-server-group' or 'osg'. If not specified, 'main-server-group' is used.
<offset> The port offset. If not specified, 100 is used from the second server onwards.
start Whether to start the server.
--operations <operations> A comma seperated list of operations to bootstrap the domain controller.
Can be provided multiple times.
--cli <cli> A file with operations to bootstrap the domain controller
-h, --help Print help
-V, --version Print version
Examples
wado dc start 34
wado dc start 3x34
wado dc start 30..35
wado dc start 34 --name foo
wado dc start 34 --name bar --offset 100
wado dc start 34 --http 8080 --management 9990
wado dc start 34 --server s1:start
wado dc start 35 --server s1,s2,s3,s4:osg,s5:osg
wado dc start 34 --server s1:start,s2,s3 --server s4:osg:start,s5:osg,s6:osg
wado dc start 34 --name dc \
--server server-one:main-server-group:start \
--server server-two:main-server-group:10 \
--server server-three:other-server-group:20
Stop a domain controller
Usage: wado dc stop [OPTIONS] [wildfly-version]
Arguments:
[wildfly-version] A single WildFly version or version range
Options:
-n, --name <name> The name of the domain controller [default: wado-dc-<major><minor>]
-a, --all Stop all running domain controllers. If specified with a version,
stop all running domain controllers of that version.
-h, --help Print help
-V, --version Print version
Examples
wado dc stop 34
wado dc stop 30..35
wado dc stop 34 --name foo
wado dc stop 34 --all
wado dc stop --all
Start a host controller
Usage: wado hc start [OPTIONS] <wildfly-version> [-- [wildfly-parameters]...]
Arguments:
<wildfly-version> A single WildFly version or version range
[wildfly-parameters]... Parameters passed to the domain controller
Options:
-n, --name <name>
The name of the host controller [default: wado-hc-<major><minor>].
Not allowed when multiple versions are specified.
-d, --domain-controller <domain-controller>
The name of the domain controller [default: wado-dc-<major><minor>].
Required if different versions are specified.
-u, --username <username>
The username to connect to the domain controller [default: admin]
-p, --password <password>
The password to connect to the domain controller [default: admin]
-s, --server <server>
Manage servers of the host controller.
Servers are specified as a comma seperated list of <name>[:<server-group>][:<offset>][:start].
The option can be specified multiple times.
<name> The name of the server. This part is mandatory and must be first.
All other parts are optional.
<server-group> The name of the server group. Allowed values are 'main-server-group' or 'msg',
and 'other-server-group' or 'osg'. If not specified, 'main-server-group' is used.
<offset> The port offset. If not specified, 100 is used from the second server onwards.
start Whether to start the server.
--operations <operations>
A comma seperated list of operations to bootstrap the host controller.
Can be provided multiple times.
--cli <cli>
A file with operations to bootstrap the host controller
-h, --help
Print help
-V, --version
Print version
Examples
wado hc start 34
wado hc start 3x34
wado hc start 30..35 --domain-controller dc
wado hc start 34 -n foo -d dc -u alice -p "Admin#70365"
wado hc start 34 --server s1
wado hc start 3x34 --server s1,s2,s3:osg
wado hc start 35 --name hc \
--server server-one:main-server-group:start \
--server server-two:main-server-group:10 \
--server server-three:other-server-group:20
Stop a host controller
Usage: wado hc stop [OPTIONS] [wildfly-version]
Arguments:
[wildfly-version] A single WildFly version or version range
Options:
-n, --name <name> The name of the host controller [default: wado-hc-<major><minor>]
-a, --all Stop all running host controllers. If specified with a version,
stop all running host controllers of that version.
-h, --help Print help
-V, --version Print version
Examples
wado hc stop 34
wado hc stop 30..35
wado hc stop 34 --name foo
wado hc stop 34 --all
wado hc stop --all
[!WARNING] The topology commands are not yet implemented. You can work around with the
dcandhccommands though:wado dc start 35 -n dc -s s1,s2,s3,s4:osg,s5:osg wado hc start 32,33,2x35 -d dc -s s1,s2,s3:osg wado console 35Open http://localhost:9350/console/index.html#runtime;path=domain-browse-by~topology
Start a topology
Usage: wado topology start <setup>
Arguments:
<setup> The topology setup
Options:
-h, --help Print help
-V, --version Print version
Stop a topology
Usage: wado topology stop <setup>
Arguments:
<setup> The topology setup
Options:
-h, --help Print help
-V, --version Print version
The topology setup is a YAML file like this:
version: 34
hosts:
- name: dc
domain-controller: true
- name: host1
servers:
- name: server-one
group: main-server-group
auto-start: true
- name: server-two
group: main-server-group
offset: 100
- name: server-three
group: other-server-group
offset: 200
- name: server-four
group: other-server-group
offset: 300
- name: host2
version: 33
servers:
- name: server-one
group: main-server-group
- name: server-two
group: main-server-group
offset: 100
- name: server-three
group: other-server-group
offset: 200
- name: host3
servers:
- name: server-one
group: main-server-group
- name: server-two
group: other-server-group
offset: 100
- name: server-three
group: other-server-group
offset: 200
List all available standalone, domain and host controller images
Usage: wado images
Options:
-h, --help Print help
-V, --version Print version
List running standalone, domain and host controller containers
Usage: wado ps [OPTIONS]
Options:
--standalone List standalone containers only
--domain List domain controller and host controller containers only
-h, --help Print help
-V, --version Print version
Open the management console
Usage: wado console [OPTIONS] [wildfly-version]
Arguments:
[wildfly-version] A single WildFly version or version range.
If omitted the console is opened for all running standalone and domain controller containers.
Options:
-n, --name <name> The name of the standalone server or domain controller [default: wado-sa|dc-<major><minor>].
Not allowed when multiple versions are specified.
-m, --management <management> The published management port. Not allowed when multiple versions are specified.
-h, --help Print help
-V, --version Print version
Examples
wado console
wado console 34
wado console 30..35
wado console 34 --management 9990
If not already present, this command downloads the wildfly-cli-client.jar and jboss-cli.xml of the specified version
to the $TMPDIR.
Connect to the CLI
Usage: wado cli [OPTIONS] [wildfly-version] [-- [cli-parameters]...]
Arguments:
[wildfly-version] A single WildFly version.
Can be omitted if only one standalone or domain controller is running.
[cli-parameters]... Parameters passed to the CLI
Options:
-n, --name <name> The name of the standalone server or domain controller [default: wado-sa|dc-<major><minor>].
Not allowed when multiple versions are specified.
-m, --management <management> The published management port
-u, --username <username> The username to connect to the CLI [default: admin]
-p, --password <password> The password to connect to the CLI [default: admin]
-h, --help Print help
-V, --version Print version
Examples
wado cli
wado cli 34
wado cli 34 -- --command "/subsystem=logging/console-handler=CONSOLE:write-attribute(name=level,value=DEBUG)"