Managing Hosts
Hosts in Essh can have tags. The tags allow you to classify the hosts.
For instance, edit .esshconfig.lua to add some hosts and set tags.
host "web01.localhost" {
-- ... your config
description = "web01 development server",
tags = {
"web",
}
}
host "web02.localhost" {
-- ... your config
description = "web02 development server",
tags = {
"web",
}
}
host "db01.localhost" {
-- ... your config
description = "db01 server",
tags = {
"db",
"backend",
}
}
host "cache01.localhost" {
-- ... your config
description = "cache01 server",
tags = {
"cache",
"backend",
}
}
Run essh with --hosts option.
$ essh --hosts
NAME DESCRIPTION TAGS HIDDEN
cache01.localhost cache01 server cache,backend false
db01.localhost db01 server db,backend false
web01.localhost web01 development server web false
web02.localhost web02 development server web false
You will see the all hosts. Next, try to run it with --select option.
$ essh --hosts --select=web
NAME DESCRIPTION TAGS HIDDEN
web01.localhost web01 development server web false
web02.localhost web02 development server web false
You will get filtered hosts by web tag. --select can be specified multiple times. Each filters are used in OR condition.
$ essh --hosts --select=web --select=db
NAME DESCRIPTION TAGS HIDDEN
db01.localhost db01 server db,backend false
web01.localhost web01 development server web false
web02.localhost web02 development server web false
For more information on hosts, see the Hosts section.
Let’s read next section: Running Commands