A Group is intended to allow Hosts to be grouped into logical units, such as "web_servers". Tasks can be performed on all members of a Group by referring to the Group name.
A Group also allows variables and firewall rules and policy to be applied to all members of the Group.
hostsThe hosts property of a Group defines the members of the Group. It is a list
of names, each corresponding to a Host defined in the hosts directive of a
Droid Project (see Project Configuration). For example, a set
of web servers might be defined as a Group named "web_servers":-
groups:
web_servers:
hosts:
- "web-01"
- "web-02"
hosts:
web-01:
public_ip: "198.51.100.1"
...
web-02:
...
variablesThe variables property of a Group is intended to provide concrete values for
the arguments of Tasks. The values defined here apply to all members of the
Group and are merged with those defined elsewhere in the Project. Each Host
may additionally define their own variable values to augment or override those
defined here.
firewall_policyThe firewall_policy property of a Group is used by the fw:generate and
fw:install Commands in setting-up Uncomplicated Firewall (UFW) on the members
of the Group. It is a mapping of UFW network traffic directions (incoming,
outgoing, routed) to actions (allow, deny, reject) and sets the default traffic
policy for the Hosts in the Group. For example, the following policy:-
groups:
my_group:
firewall_policy:
incoming: "deny"
outgoing: "allow"
routed: "reject"
is transformed into the following UFW commands for execution on each of the Hosts:-
ufw default deny incoming
ufw default allow outgoing
ufw default reject routed
Each Host in the Group may augment or override the policy defined here by
giving a value for the firewall_policy of the Host.
firewall_rulesThe firewall_rules property of a Group is used by the fw:generate and
fw:install Commands in setting-up Uncomplicated Firewall (UFW) on the members
of the Group. It is a list of rules.
groups
my_group:
firewall_rules:
- address: "all"
port: 3306
direction: "inbound"
action: "deny"
Each member of the Group may define their own rules to augment those defined here.
Please see the Firewall Rule Configuration for the configuration of firewall rules.