From 6d9ebd179f7fc39101a7bd29daba4bfe9653439d Mon Sep 17 00:00:00 2001 From: Christian Pointner Date: Fri, 22 Jul 2022 21:14:58 +0200 Subject: elevate: clean up some old hosts --- inventory/host_vars/ch-alix1d.yml | 70 +++++++++++-- inventory/host_vars/ele-helene.yml | 42 +------- inventory/host_vars/ele-mon.yml | 138 -------------------------- inventory/host_vars/ele-sms.yml | 194 ------------------------------------- 4 files changed, 63 insertions(+), 381 deletions(-) delete mode 100644 inventory/host_vars/ele-mon.yml delete mode 100644 inventory/host_vars/ele-sms.yml (limited to 'inventory/host_vars') diff --git a/inventory/host_vars/ch-alix1d.yml b/inventory/host_vars/ch-alix1d.yml index e28d1018..9e579648 100644 --- a/inventory/host_vars/ch-alix1d.yml +++ b/inventory/host_vars/ch-alix1d.yml @@ -8,17 +8,12 @@ openwrt_output_image_suffixes: openwrt_packages_remove: - ppp - ppp-mod-pppoe + - kmod-ppp + - kmod-pppoe + - kmod-pppox - firewall - dnsmasq - odhcpd-ipv6only - - linux-atm - - kmod-pppoa - - kmod-mppe - - ppp-mod-pppoa - - pppstats - - pppdump - - iwinfo - - soloscli openwrt_packages_add: - kmod-e100 - kmod-usb-serial-option @@ -32,6 +27,9 @@ openwrt_packages_add: - iperf3 - mtr - iptraf-ng + - prometheus-node-exporter-lua + - prometheus-node-exporter-lua-netstat + - prometheus-node-exporter-lua-openwrt - usbutils - usb-modeswitch - smstools3 @@ -44,6 +42,39 @@ openwrt_mixin: /etc/htoprc: file: "{{ global_files_dir }}/common/htoprc" + /etc/rc.d/S95sachet: + link: "../init.d/sachet" + + /etc/init.d/sachet: + mode: "0755" + content: | + #!/bin/sh /etc/rc.common + + START=95 + USE_PROCD=1 + + start_service() { + procd_open_instance + + procd_set_param command /root/sachet -config /etc/sachet.yml + procd_set_param respawn + procd_set_param stdout 1 + + procd_close_instance + } + + /etc/sachet.yml: + content: | + providers: + smstools: + outgoing_dir: /var/spool/sms/outgoing + + receivers: + - name: 'equinox-sms' + provider: 'smstools' + to: + - '+436644800222' + /etc/usb-mode.json: content: | { @@ -106,6 +137,13 @@ openwrt_uci: - '2.at.pool.ntp.org' - '3.at.pool.ntp.org' + prometheus-node-exporter-lua: + - name: prometheus-node-exporter-lua 'main' + options: + listen_interface: 'lan' + listen_ipv6: '0' + listen_port: '9100' + dropbear: - name: dropbear options: @@ -138,3 +176,19 @@ openwrt_uci: options: device: eth1 proto: none + + +prometheus_scrape_endpoint: "{{ network_zones.lan.prefix | ipaddr(network_zones.lan.offsets[inventory_hostname]) | ipaddr('address') }}:9100" +prometheus_exporters_default: + - openwrt + + +### TODO: +# +# git clone github:spreadspace/sachet +# git checkout topic/add-smstools +# cd sachet/cmd/sachet +# export GOARCH=386 +# export GO386=softfloat +# go build -a -installsuffix cgo -mod vendor -o ../../sachet . +# scp ../../sachet ch-alix1d:/root/sachet diff --git a/inventory/host_vars/ele-helene.yml b/inventory/host_vars/ele-helene.yml index cf6e06a7..e4d8bd62 100644 --- a/inventory/host_vars/ele-helene.yml +++ b/inventory/host_vars/ele-helene.yml @@ -1,6 +1,4 @@ --- -install_interface: eno1 - system_lvm_volume_size_root: 4G install: efi: true @@ -14,13 +12,11 @@ network: nameservers: "{{ network_zones.lan.dns }}" domain: "{{ host_domain }}" primary: &_network_primary_ - name: br-lan + name: eno1 address: "{{ network_zones.lan.prefix | ipaddr(network_zones.lan.offsets[inventory_hostname]) | ipaddr('address/prefix') }}" gateway: "{{ network_zones.lan.gateway }}" interfaces: - *_network_primary_ - vlans: - eno2: "{{ __vmhost_bridge_interface_zones__['eno2'] | map('extract', network_zones) | map(attribute='vlan') | list }}" apt_repo_components: @@ -31,7 +27,6 @@ apt_repo_components: spreadspace_apt_repo_components: - main - prometheus - - container ntp_variant: chrony @@ -42,14 +37,6 @@ ntp_client: options: iburst -installer_storage: - type: lvm - vg: "{{ host_name }}" - lv: installer - size: 3G - fs: ext4 - - prometheus_exporter_node_textfile_collector_scripts: - deleted-libraries - smartmon @@ -76,30 +63,3 @@ prometheus_job_multitarget_blackbox__probe: blackmagic_desktopvideo_version: 12.2.2a6 blackmagic_desktopvideo_include_gui: yes - - -docker_pkg_provider: docker-com - -docker_storage: - type: lvm - vg: "{{ host_name }}" - lv: docker - size: 10G - fs: ext4 - -kubelet_storage: - type: lvm - vg: "{{ host_name }}" - lv: kubelet - size: 5G - fs: ext4 - -kubernetes_version: 1.24.2 -kubernetes_container_runtime: docker -kubernetes_standalone_max_pods: 42 -kubernetes_standalone_cni_variant: with-portmap - -player_inst_name: emc-feed -player_ffmpeg_image_version: bullseye-decklink11.7-2022-06-12.26 -player_input: [ '-f', 'live_flv', '-rtmp_live', 'live', '-i', "rtmp://{{ network_zones.cc_leslie.prefix | ipaddr(network_zones.cc_leslie.offsets['ele-thetys']) | ipaddr('address') }}/emc-feed/full" ] -player_output: [ '-pix_fmt', 'uyvy422', '-s', '1920x1080', '-f', 'decklink', 'DeckLink SDI' ] diff --git a/inventory/host_vars/ele-mon.yml b/inventory/host_vars/ele-mon.yml deleted file mode 100644 index 3fdb4d17..00000000 --- a/inventory/host_vars/ele-mon.yml +++ /dev/null @@ -1,138 +0,0 @@ ---- -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" diff --git a/inventory/host_vars/ele-sms.yml b/inventory/host_vars/ele-sms.yml deleted file mode 100644 index abbd800e..00000000 --- a/inventory/host_vars/ele-sms.yml +++ /dev/null @@ -1,194 +0,0 @@ ---- -openwrt_arch: x86 -openwrt_target: geode -openwrt_profile: generic -openwrt_output_image_suffixes: - - "{{ openwrt_profile }}-ext4-combined.img.gz" - -openwrt_packages_remove: - - ppp - - ppp-mod-pppoe - - kmod-ppp - - kmod-pppoe - - kmod-pppox - - firewall - - dnsmasq - - odhcpd-ipv6only -openwrt_packages_add: - - kmod-e100 - - kmod-usb-serial-option - - haveged - - htop - - ip - - less - - nano - - tcpdump-mini - - iperf - - iperf3 - - mtr - - iptraf-ng - - prometheus-node-exporter-lua - - prometheus-node-exporter-lua-netstat - - prometheus-node-exporter-lua-openwrt - - usbutils - - usb-modeswitch - - smstools3 - - -openwrt_mixin: - /etc/dropbear/authorized_keys: - content: "{{ ssh_keys_root | join('\n') }}\n" - - /etc/htoprc: - file: "{{ global_files_dir }}/common/htoprc" - - /etc/rc.d/S95sachet: - link: "../init.d/sachet" - - /etc/init.d/sachet: - mode: "0755" - content: | - #!/bin/sh /etc/rc.common - - START=95 - USE_PROCD=1 - - start_service() { - procd_open_instance - - procd_set_param command /root/sachet -config /etc/sachet.yml - procd_set_param respawn - procd_set_param stdout 1 - - procd_close_instance - } - - /etc/sachet.yml: - content: | - providers: - smstools: - outgoing_dir: /var/spool/sms/outgoing - - receivers: - - name: 'equinox-sms' - provider: 'smstools' - to: - - '+436644800222' - - /etc/usb-mode.json: - content: | - { - "messages" : [ - "55534243000000000000000000000011060000000000000000000000000000" - ], - "devices": { - "12d1:1f01": { - "*": { - "t_vendor": 4817, - "t_product": [ 5340 ], - "msg": [ 0 ] - } - } - } - } - - /etc/smsd.conf: - content: | - # - # generated by ansible - # - - devices = GSM1 - incoming = /var/spool/sms/incoming - outgoing = /var/spool/sms/outgoing - checked = /var/spool/sms/checked - failed = /var/spool/sms/failed - sent = /var/spool/sms/sent - receive_before_send = no - autosplit = 3 - logfile = 1 - loglevel = 5 - - [GSM1] - init = AT^CURC=0 - device = /dev/ttyUSB0 - incoming = yes - pin = {{ vault_sms_modem_pin }} - baudrate = 115200 - - -openwrt_uci: - system: - - name: system - options: - hostname: '{{ host_name }}' - timezone: 'CET-1CEST,M3.5.0,M10.5.0/3' - ttylogin: '0' - log_size: '64' - urandom_seed: '0' - - - name: timeserver 'ntp' - options: - enabled: '1' - enable_server: '0' - server: - - '0.at.pool.ntp.org' - - '1.at.pool.ntp.org' - - '2.at.pool.ntp.org' - - '3.at.pool.ntp.org' - - prometheus-node-exporter-lua: - - name: prometheus-node-exporter-lua 'main' - options: - listen_interface: 'lan' - listen_ipv6: '0' - listen_port: '9100' - - dropbear: - - name: dropbear - options: - PasswordAuth: 'off' - RootPasswordAuth: 'off' - Port: '{{ ansible_port | default(22) }}' - - network: - - name: globals 'globals' - options: - ula_prefix: "fc{{ '%02x:%04x:%04x' | format((255 | random(seed=inventory_hostname + '0')), (65535 | random(seed=inventory_hostname + '1')), (65535 | random(seed=inventory_hostname + '2'))) }}::/48" - - - name: interface 'loopback' - options: - device: lo - proto: static - ipaddr: 127.0.0.1 - netmask: 255.0.0.0 - - - name: interface 'lan' - options: - device: eth0 - proto: static - ipaddr: "{{ network_zones.lan.prefix | ipaddr(network_zones.lan.offsets[inventory_hostname]) | ipaddr('address') }}" - netmask: "{{ network_zones.lan.prefix | ipaddr('netmask') }}" - gateway: "{{ network_zones.lan.gateway }}" - dns: "{{ network_zones.lan.dns }}" - - - name: interface 'unused' - options: - device: eth1 - proto: none - - -prometheus_scrape_endpoint: "{{ network_zones.lan.prefix | ipaddr(network_zones.lan.offsets[inventory_hostname]) | ipaddr('address') }}:9100" -prometheus_exporters_default: - - openwrt - - -### TODO: -# -# git clone github:spreadspace/sachet -# git checkout topic/add-smstools -# cd sachet/cmd/sachet -# export GOARCH=386 -# export GO386=softfloat -# go build -a -installsuffix cgo -mod vendor -o ../../sachet . -# scp ../../sachet ele-sms:/root/sachet -- cgit v1.2.3