aboutsummaryrefslogtreecommitdiffstats
path: root/inventory.yml
blob: 3f32c36837e01ffd91188d255038585f3c4a5d7d (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
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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123

# inventory.yml

--- 

all:

  vars:

    _i:
      dcontroller: "dcontroller"
      domain_name: "rgoncalves.se"
      dns:
        - 8.8.8.8
        - 8.8.4.4

    packages:
      zsh: "zsh"
      curl: "curl"
      tmux: "tmux"
      wget: "wget"
      figlet: "figlet"
      neovim: "neovim"
      pip: "pip3"

    group:
      root: "root"

    ansible_port: "22"
    ansible_python_interpreter: "/usr/bin/python3"


  # ---
  # Declaration of all hosts
  # ---
  hosts:

    # SERVER for domain controller
    dcontroller:
      ansible_host: "dcontroller"
      ip: { in: "10.8.0.1", out: "185.203.114.234" }
      services:
        - { name: "ssh", proto: "tcp", port: "22", public: "true" }
        - { name: "httpd", proto: "tcp", port: "80", public: "true", domain: "www" }
        - { name: "wireguard", proto: "udp", port: "53", public: "true" }

    # SERVER for vm
    stack0:
      ansible_host: "stack0"
      ip: { in: "10.8.0.40", out: "192.168.5.40" }
      services:
        - { name: "ssh", proto: "tcp", port: "22", public: "false" }
        - { name: "nextcloud", proto: "udp", port: "80", public: "true", domain: "cloud" }
      vms:
        - { name: "vm0", iso: "alpine", memory: "2G", size: "4G", enabled: "true" }
        - { name: "vm1", iso: "alpine", memory: "2G", size: "4G", enabled: "true" }
      hypervisor:
        enabled: "true"
        interface: "bnx0"
        switch: "bridge0"
        gateway: "192.168.5.1"
        mask: "255.255.255.0"

    # SERVER for personnal file sync
    emb0:
      ansible_host: "emb0"
      ip: { in: "10.8.0.41", out: "192.168.5.41" }
      services:
        - { name: "ssh", proto: "tcp", port: "22", public: "false" }
        - { name: "syncthing", proto: "tcp", port: "8384", public: "false" }

    vm0:
      ansible_host: "vm0"
      ip: { in: "", out: "192.168.5.60" }

    vm1:
      ansible_host: "vm1"
      ip: { in: "", out: "192.168.5.61" }


  # ---
  # Declaration of groups
  # ---
  children:

    # GROUP server
    servers:
      hosts:
        dcontroller:
        stack0:
        emb0:

    vm:
      hosts:
        vm-stack0-minecraft:
        vm-stack0-nextcloud:

    # GROUP openbsd
    openbsd:
      vars:
        ansible_become_method: "doas"
        ansible_python_interpreter: "/usr/local/bin/python3"
        group_root: "wheel"
        path_zsh: "/usr/local/bin/zsh"

      hosts:
        dcontroller:
        stack0:

    # GROUP debian
    debian:
      vars:
        group_root: "root"
        path_zsh: "/bin/zsh"

      hosts:
        emb0:

    # GROUP alpine
    alpine:
      hosts:
        vm-stack0-minecraft:
        vm-stack0-nextcloud:
remember that computers suck.