summaryrefslogtreecommitdiff
blob: e290f7b61d82a770136c45c0af1c66f2ae35963d (plain) (blame)
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
---
network:
  # These interface names are used to pull IP addresses into templates.
  # interface.public has the IP we use to open ports to the world (mail, web, etc)
  # interface.private has the IP for private services (ssh login, reporting, etc)
  # Right now we don't support multiple IPs per interface, we just grab the IPv4
  # address as presented by ansible fact e.g. 'ansible_{{interface.public}}.ipv4.address'
  interface:
    private: ens3
    public: ens4
  hostname:
    # network.hostname.public is used populate templates with
    # server's public hostname, including:
    #   - TLS certs to use with this pattern:
    #     /etc/ssl/[hostname]-cert-combined.pem
    #     /etc/ssl/[hostname]-key.pem
    #   - Postfix config parameter "myhostname"
    public: yourmail.server.com

  # Below is almost (almost!) the netplan schema with three changes:
  # - only one "interface" per system because ansible can't seem to generate multiple
  #   templates from one yaml dict?
  # - so, the 'interface' key is added, other wise it would just be ethernets: ens4: ...
  # - also, 'addresses' needs per-address broadcast, so addresses are now lists
  #   of dicts, so 'ip' is a new name as is 'broadcast'
  ethernets:
      interface: ens4
      macaddress: 02:00:00:7d:ca:ab
      networks:
        - subnet: 4.4.4.0/30
          gateway: 5.5.5.5
      addresses:
        - 4.4.4.4/32
      routes:
        - to: 0.0.0.0/0
          via: 5.5.5.5
          on-link: true
Powered by cgit v1.2.3 (git 2.41.0)