summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Pointner <equinox@spreadspace.org>2022-07-22 21:14:58 +0200
committerChristian Pointner <equinox@spreadspace.org>2022-07-22 21:14:58 +0200
commit6d9ebd179f7fc39101a7bd29daba4bfe9653439d (patch)
treec8a5f16b6a82dd7bbed05c5614e645ddab5edd4c
parentele-calypso: add temporary workaround for network config (diff)
elevate: clean up some old hosts
-rw-r--r--dan/ele-helene.yml7
-rw-r--r--dan/ele-mon.yml33
-rw-r--r--dan/host_vars/ele-mon.yml18
-rw-r--r--dan/host_vars/ele-sms.yml7
-rw-r--r--inventory/group_vars/elevate-festival/vars.yml5
-rw-r--r--inventory/group_vars/vmhost-ele-helene/vars.yml20
-rw-r--r--inventory/host_vars/ch-alix1d.yml70
-rw-r--r--inventory/host_vars/ele-helene.yml42
-rw-r--r--inventory/host_vars/ele-mon.yml138
-rw-r--r--inventory/host_vars/ele-sms.yml194
-rw-r--r--inventory/hosts.ini15
11 files changed, 68 insertions, 481 deletions
diff --git a/dan/ele-helene.yml b/dan/ele-helene.yml
index fea6a533..5bc35c32 100644
--- a/dan/ele-helene.yml
+++ b/dan/ele-helene.yml
@@ -12,6 +12,7 @@
- name: Payload Setup
hosts: ele-helene
roles:
- # - role: apt-repo/spreadspace
- # - role: nginx/base
- # - role: monitoring/prometheus/exporter
+ - role: apt-repo/spreadspace
+ - role: nginx/base
+ - role: monitoring/prometheus/exporter
+ - role: streaming/blackmagic/desktopvideo
diff --git a/dan/ele-mon.yml b/dan/ele-mon.yml
deleted file mode 100644
index 08a2d283..00000000
--- a/dan/ele-mon.yml
+++ /dev/null
@@ -1,33 +0,0 @@
----
-- name: Basic Setup
- hosts: ele-mon
- roles:
- - role: apt-repo/base
- - role: core/base
- - role: core/sshd/base
- - role: core/zsh
- - role: core/ntp
-
-- name: Payload Setup
- hosts: ele-mon
- roles:
- - role: nginx/base
- - role: apt-repo/spreadspace
- - role: monitoring/prometheus/ca
- - role: monitoring/prometheus/exporter
- - role: monitoring/prometheus/server
- - role: monitoring/prometheus/alertmanager
- - role: monitoring/grafana
- - role: nginx/vhost
- nginx_vhost:
- name: monitoring
- template: generic-proxy-no-buffering
- hostnames:
- - "_"
- locations:
- '/grafana/':
- proxy_pass: "http://127.0.0.1:3000"
- '/prometheus/':
- proxy_pass: "http://127.0.0.1:9090"
- '/alertmanager/':
- proxy_pass: "http://127.0.0.1:9093"
diff --git a/dan/host_vars/ele-mon.yml b/dan/host_vars/ele-mon.yml
deleted file mode 100644
index a2b4b274..00000000
--- a/dan/host_vars/ele-mon.yml
+++ /dev/null
@@ -1,18 +0,0 @@
-$ANSIBLE_VAULT;1.2;AES256;dan
-65313637323836653464366563323931303339653632356337303163653562633831343435313734
-3335333361643831653630383861323864306166623962610a666663346233383938313037623837
-39333964383236316565643832666361373836303636356265303266346465663633313836663062
-3261353233623432320a663465383066333239363532313064376366616264316233363439346666
-33613761366137346435653936386435376436623764663232633365663665663864366562613038
-38333031396230656631356335323031656163633764643633373533316630646138306437666139
-33653562613731623064376632323063343030623837353532306139376236343765386666323635
-62323832666230323863616531316537393666623339373835653332623037633362613263373735
-66623938353730616434376433653361303965343637346336343765646363613865383364313637
-36663136643065343538613563333337646265656562333466386263316335663466303537386537
-39666464613034353530366665363135336139643139646235376462393662653533663562633462
-39356564373633663233306137316432376264353238333839356561616239353736383061303664
-38633036623232333437616537353433356262303630666130393435376162363061623233373563
-37333732363736653233346136333866663336333365393737653832353762313039303864363331
-63663130326230383135393662393438326232643536366566333734376363383331333136383435
-35356531623938633564323062663966396633353365333038303765356330646437313232623833
-3462
diff --git a/dan/host_vars/ele-sms.yml b/dan/host_vars/ele-sms.yml
deleted file mode 100644
index e8f6af03..00000000
--- a/dan/host_vars/ele-sms.yml
+++ /dev/null
@@ -1,7 +0,0 @@
-$ANSIBLE_VAULT;1.2;AES256;dan
-35323663333130653638633361623763373261643832306638643462313832383234643536393065
-6330663437663765643362333432653937633065313837640a626634353766396232633735383663
-36343266343539636638333435396336626330373038316336366365646531373533626463333032
-6631343131356564380a353662613634343036636561386539616534623134303539653662363835
-34653065376566636566333336336665306264346537303331663533346137393939383933373038
-6164343962636437333663333563653966323166333030346262
diff --git a/inventory/group_vars/elevate-festival/vars.yml b/inventory/group_vars/elevate-festival/vars.yml
index 2ddd64e2..5597454f 100644
--- a/inventory/group_vars/elevate-festival/vars.yml
+++ b/inventory/group_vars/elevate-festival/vars.yml
@@ -19,8 +19,6 @@ network_zones:
ele-tsdatacop: 210
ele-hpws-maxi: 211
ele-hpws-mini1: 212
- ele-mon: 222
- ele-sms: 223
ele-orpheum: 240
tricaster: 245
datacop: 249
@@ -165,7 +163,6 @@ network_zones:
ele-ups-leslie0: 213
### Other
- ele-mon: 222
ele-tub: 240
datacop: 249
equinox-t450s: 250
@@ -299,7 +296,6 @@ network_zones:
ele-tub: 14
ele-br-tub1: 13 # --> ele-br-nextlib1
ele-br-nextlib1: 12 # --> ele-br-tub1
- ele-mon: 11
murat_transfer:
description: "transfer network for upstream via mur.at"
@@ -308,7 +304,6 @@ network_zones:
ele-telesto: 1
ele-dione: 2
equinox-t450s: 10
- ele-mon: 11
ele-router: 13
ele-mur: 14
diff --git a/inventory/group_vars/vmhost-ele-helene/vars.yml b/inventory/group_vars/vmhost-ele-helene/vars.yml
deleted file mode 100644
index 45f6ca62..00000000
--- a/inventory/group_vars/vmhost-ele-helene/vars.yml
+++ /dev/null
@@ -1,20 +0,0 @@
----
-__vmhost_bridge_interface_zones__:
- eno2: "{{ network_zones | dict2items | rejectattr('value.vlan', 'undefined') | map(attribute='key') | difference(['lan']) }}"
-
-__vmhost_bridge_interface_zones_yaml__: |
- {% for interface in (__vmhost_bridge_interface_zones__.keys() | sort) %}
- {% for zone in __vmhost_bridge_interface_zones__[interface] %}
- {{ zone }}:
- interfaces:
- - {{ interface }}.{{ network_zones[zone].vlan }}
- {% endfor %}
- {% endfor %}
- lan:
- interfaces:
- - eno1
-
-vm_host:
- name: ele-helene
- network:
- bridges: "{{ __vmhost_bridge_interface_zones_yaml__ | from_yaml }}"
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
diff --git a/inventory/hosts.ini b/inventory/hosts.ini
index 14be3fe1..9496112e 100644
--- a/inventory/hosts.ini
+++ b/inventory/hosts.ini
@@ -239,8 +239,6 @@ ele-gwhetzner
ele-mur
ele-coturn
ele-jitsi
-ele-mon
-ele-sms
[elevate:children]
ele-ap
@@ -292,7 +290,6 @@ ele-router-emc
ele-uhrturm
ele-orpheum
ele-tub
-ele-sms
[openwrt:children]
accesspoints
chaos-at-home-sensors
@@ -391,13 +388,6 @@ sk-tomnext
[vmhost-sk-tomnext:children]
vmhost-sk-tomnext-guests
-[vmhost-ele-helene-guests]
-ele-mon
-[vmhost-ele-helene]
-ele-helene
-[vmhost-ele-helene:children]
-vmhost-ele-helene-guests
-
[kvmhosts]
ch-phoebe
@@ -405,7 +395,6 @@ ch-prometheus
ch-atlas
sk-2019vm
sk-tomnext
-ele-helene
[kvmguests:children]
vmhost-ch-phoebe-guests
@@ -413,7 +402,6 @@ vmhost-ch-prometheus-guests
vmhost-ch-atlas-guests
vmhost-sk-2019vm-guests
vmhost-sk-tomnext-guests
-vmhost-ele-helene-guests
## prometheus monitoring
@@ -435,7 +423,7 @@ promzone-chaos-at-home-server
[promzone-elevate-festival-server]
ele-calypso
[promzone-elevate-festival]
-#ele-helene
+ele-helene
ele-dione
ele-telesto
#ele-router-hmtsaal
@@ -531,7 +519,6 @@ ch-apps
sk-cloudio
ele-media
ele-thetys
-ele-helene
ele-calypso
ele-coturn
ele-jitsi