summaryrefslogtreecommitdiff
path: root/examples/hosts.yaml
blob: 4470504c55ee9664e5841f27fb1cc514cbebafe7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
# This is the default ansible 'hosts' file.
#
# It should live in /etc/ansible/hosts
#
#   - Comments begin with the '#' character
#   - Blank lines are ignored
#   - Top level entries are assumed to be groups, start with 'all' to have a full hierarchy
#   - Hosts must be specified in a group's hosts:
#     and they must be a key (: terminated)
#   - groups can have children, hosts and vars keys
#   - groups are unique and global - if you define a group in multiple locations, Ansible aggregates all the data to the global name.
#   - If you define a group as a child of 2 different groups, it will be the child of both, any hosts and variables assigned will not be dependent on the parents, they will all be associated with the group.
#   - Anything defined under a host is assumed to be a var
#   - You can enter hostnames or IP addresses
#   - A hostname/IP can be a member of multiple groups

# Ex 1: Ungrouped hosts, put them in 'all' or 'ungrouped' group, defines 4 hosts, one with 2 variables
##all:
##  hosts:
##      green.example.com:
##          ansible_ssh_host: 191.168.100.32
##          anyvariable: value
##      blue.example.com:
##      192.168.100.1:
##      192.168.100.10:

# Ex 2: A collection of hosts belonging to the 'webservers' group, with shared group var
##webservers:
##  hosts:
##     alpha.example.org:
##     beta.example.org:
##     192.168.1.100:
##     192.168.1.110:
##  vars:
##    http_port: 8080

# Ex 3: You can create hosts using ranges and add children groups and vars to a group
# The child group can define anything you would normally add to a group.
# Hosts in child groups inherit all variables from parent, parents include all hosts in child groups.
# webservers is added as a child group of testing, so all gamma hosts (1-3) are added
# to the 'webservers' group, including gamma3, which is defined in the tree of another parent group.
# All references to webservers will get any hosts defined under webservers.
# References to testing will get all of those hosts plus any host matching www[001:006].example.com

##webservers:
##  hosts:
##    gamma1.example.org:
##    gamma2.example.org:
##testing:
##  hosts:
##    www[001:006].example.com:
##  vars:
##    testing1: value1
##  children:
##    webservers:
##other:
##  children:
##    webservers:
##      gamma3.example.org

# From above, the testing group contains: gamma1.example.org gamma2.example.org gamma3.example.org www001.example.com www002.example.com www003.example.com www004.example.com www005.example.com www006.example.com

# Ex 4: all vars
# keeping within 'all' group you can define common 'all' vars here with lowest precedence


##all:
##  vars:
##      commontoall: thisvar