Targeting¶
Bastille uses a subcommand TARGET ARGS syntax, meaning that each command
requires a target. Targets are usually containers, but can also be releases.
Targeting a container is done by providing the exact jail name, the JID of the jail, or by typing the starting few characters of a jail. If more than one matching jail will be found, you will see a message saying so.
Targeting a release is done by providing the exact release name. (Note: do not
include the -pX point-release version.)
Bastille includes a pre-defined keyword [ALL|all] to target all running containers. It is also possible to target multiple jails by grouping them in quotes, as seen below.
ishmael ~ # bastille cmd "jail1 jail2 jail3" echo Hello!
Examples: Containers¶
ishmael ~ # bastille ...
command |
target |
args |
description |
||||
|---|---|---|---|---|---|---|---|
cmd |
ALL |
‘sockstat -4’ |
execute sockstat -4 in ALL containers (ip4 sockets) |
||||
console |
mariadb02 |
— |
console (shell) access to mariadb02 |
||||
pkg |
web01 |
‘install nginx’ |
install nginx package in web01 container |
||||
pkg |
ALL |
upgrade |
upgrade packages in ALL containers |
||||
pkg |
ALL |
audit |
(CVE) audit packages in ALL containers |
||||
sysrc |
web01 |
nginx_enable=YES |
execute sysrc nginx_enable=YES in web01 container |
||||
template |
ALL |
username/base |
apply username/base template to ALL containers |
||||
start |
web02 |
— |
start web02 container |
||||
cp |
bastion03 |
/tmp/resolv.conf-cf etc/resolv.conf |
copy host-path to container-path in bastion03 |
||||
create |
folsom |
13.2-RELEASE 10.17.89.10 |
create 13.2 container named folsom with IP |
||||
Examples: Releases¶
ishmael ~ # bastille ...
command |
target |
args |
description |
|---|---|---|---|
bootstrap |
13.2-RELEASE |
— |
bootstrap 13.2-RELEASE release |
update |
12.4-RELEASE |
— |
update 12.4-RELEASE release |
verify |
12.4-RELEASE |
— |
verify 12.4-RELEASE release |