diff options
Diffstat (limited to 'elevate/ele-calypso.yml')
-rw-r--r-- | elevate/ele-calypso.yml | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/elevate/ele-calypso.yml b/elevate/ele-calypso.yml new file mode 100644 index 00000000..5d8e51ce --- /dev/null +++ b/elevate/ele-calypso.yml @@ -0,0 +1,56 @@ +--- +- name: Basic Setup + hosts: ele-calypso + roles: + - role: apt-repo/base + - role: core/base + - role: core/sshd/base + - role: core/zsh + - role: core/ntp + - role: core/cpu-microcode + +- name: Payload Setup + hosts: ele-calypso + roles: + - role: apt-repo/spreadspace + - role: streaming/blackmagic/desktopvideo + - role: storage/lvm/base + - role: kubernetes/base + - role: kubernetes/standalone/base + - role: streaming/player + - role: nginx/base + - role: monitoring/sachet + - role: monitoring/prometheus/server + - role: monitoring/prometheus/exporter + - role: monitoring/prometheus/alertmanager + - role: monitoring/grafana + - role: monitoring/landingpage + post_tasks: + ## TODO: move to network/interfaces when this is done + - name: install vlan interfaces + loop: "{{ network.vlans | dict2items }}" + loop_control: + label: "{{ item.key }} ({{ item.value | join(',') }})" + copy: + dest: "/etc/network/interfaces.d/{{ item.key }}" + content: | + auto {{ item.key }} + iface {{ item.key }} inet manual + {% for vlan in item.value %} + {% set vlan_ifname = item.key + '.' + (vlan | string) %} + {% set vlan_iface = (network.interfaces | selectattr('name', 'eq', vlan_ifname)) %} + + auto {{ vlan_ifname }} + {% if vlan_iface %} + iface {{ vlan_ifname }} inet static + address {{ (vlan_iface | first).address }} + {% for route in vlan_iface[0].static_routes | default([]) %} + up /bin/ip route add {{ route.destination }} via {{ route.gateway }}{% if 'source' in route %} src {{ route.source }}{% endif %}{{ '' }} + {% endfor %} + {% for route in vlan_iface[0].static_routes | default([]) | reverse %} + down /bin/ip route del {{ route.destination }} via {{ route.gateway }}{% if 'source' in route %} src {{ route.source }}{% endif %}{{ '' }} + {% endfor %} + {% else %} + iface {{ vlan_ifname }} inet manual + {% endif %} + {% endfor %} |