--- install: vm: memory: 8G numcpus: 4 autostart: yes disks: primary: /dev/sda scsi: sda: type: lvm vg: "{{ hostvars[vm_host.name].host_name }}" lv: "vm_{{ inventory_hostname }}_root" size: 50g interfaces: - bridge: br-lan name: lan0 - bridge: br-mgmt name: mgmt0 network: nameservers: "{{ network_zones.lan.dns }}" domain: "{{ host_domain }}" systemd_link: interfaces: "{{ install.interfaces }}" primary: &_network_primary_ name: lan0 address: "{{ network_zones.lan.prefix | ipaddr(network_zones.lan.offsets[inventory_hostname]) | ipaddr('address/prefix') }}" gateway: "{{ network_zones.lan.gateway }}" interfaces: - *_network_primary_ - name: mgmt0 address: "{{ network_zones.mgmt.prefix | ipaddr(network_zones.mgmt.offsets[inventory_hostname]) | ipaddr('address/prefix') }}" ssh_users_root: - equinox - datacop spreadspace_apt_repo_components: - prometheus ntp_variant: chrony ntp_client: servers: - name: "{{ network_zones.lan.gateway }}" options: iburst prometheus_server_storage: type: lvm vg: "{{ host_name }}" lv: prometheus size: 30G fs: ext4 prometheus_server_alertmanager: url: "127.0.0.1:9093" path_prefix: "/alertmanager/" prometheus_server_web_external_url: "http://{{ network.primary.address | ipaddr('address') }}/prometheus/" prometheus_exporters_extra: - blackbox - nut prometheus_exporter_node_textfile_collector_scripts: - deleted-libraries - chrony prometheus_exporter_blackbox_modules_extra: icmp: prober: icmp prometheus_job_multitarget_blackbox__probe: ele-mon: - instance: "ssh-{{ inventory_hostname }}" target: "{{ network_zones.lan.prefix | ipaddr(network_zones.lan.offsets[inventory_hostname]) | ipaddr('address') }}:{{ ansible_port | default(22) }}" module: ssh_banner prometheus_alertmanager_web_external_url: "http://{{ network.primary.address | ipaddr('address') }}/alertmanager/" prometheus_alertmanager_smtp: smarthost: "mailrelay.chaos-at-home.org:587" from: "noreply@elev8.at" require_tls: yes auth: username: ele-mon password: "{{ vault_prometheus_alertmanager_smtp_auth_password }}" prometheus_alertmanager_route: receiver: empty routes: - receiver: equinox-mail matchers: - 'alertname != PrometheusAlertmanagerE2eDeadManSwitch' group_by: - instance continue: true - receiver: equinox-sms matchers: - 'alertname != PrometheusAlertmanagerE2eDeadManSwitch' - severity="critical" prometheus_alertmanager_receivers: - name: empty - name: equinox-mail email_configs: - to: equinox@spreadspace.org - name: equinox-sms webhook_configs: - url: "http://{{ network_zones.lan.prefix | ipaddr(network_zones.lan.offsets['ele-sms']) | ipaddr('address') }}:9876/alert" grafana_secret_key: "{{ vault_grafana_secret_key }}" grafana_datasources: - name: "Prometheus" type: "prometheus" access: "proxy" url: "http://127.0.0.1:9090/prometheus" isDefault: yes jsonData: manageAlerts: no grafana_dashboards: - file: node-full datasource: "Prometheus" - file: chronyd datasource: "Prometheus" - file: blackbox datasource: "Prometheus" - file: network-ups-tools datasource: "Prometheus"