summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Pointner <equinox@spreadspace.org>2019-02-08 19:24:45 +0100
committerChristian Pointner <equinox@spreadspace.org>2019-02-08 19:24:45 +0100
commitf3d2ae665a3be620e91f2f2db47eaeac0c819753 (patch)
tree2e0507fe9d3d2cc8fa5b34c84ca42e36fa2a68f3
parentrefactored accesspoint config (diff)
added role to configure info-beamer
-rwxr-xr-xconfigure-info-beamer.sh19
-rw-r--r--dan/group_vars/elevate-festival.yml24
-rw-r--r--dan/info-beamer.yml14
-rw-r--r--files/dan/elevate/info-beamer/branding.ppmbin0 -> 24352 bytes
-rw-r--r--files/dan/elevate/info-beamer/e19-branding.jpgbin0 -> 773623 bytes
-rw-r--r--inventory/group_vars/ele-infobeamer/main.yml12
-rw-r--r--inventory/hosts.ini4
-rw-r--r--roles/info-beamer/config/defaults/main.yml42
-rw-r--r--roles/info-beamer/config/tasks/main.yml84
9 files changed, 189 insertions, 10 deletions
diff --git a/configure-info-beamer.sh b/configure-info-beamer.sh
new file mode 100755
index 00000000..2d290872
--- /dev/null
+++ b/configure-info-beamer.sh
@@ -0,0 +1,19 @@
+#!/bin/bash
+
+if [ -z "$1" ]; then
+ echo "$0 <hostname>"
+ exit 1
+fi
+name=$1
+shift
+
+cd "${BASH_SOURCE%/*}"
+source common/utils.sh
+ansible_variable__get env_group "$name" || exit 1
+vault_environment__set "$env_group" || exit 1
+
+echo "configuring $name in environment '$env_group'"
+echo ""
+
+echo "######## running the info-beamer playbook ########"
+exec ansible-playbook -e "hostname=$name" $@ "$env_group/info-beamer.yml"
diff --git a/dan/group_vars/elevate-festival.yml b/dan/group_vars/elevate-festival.yml
index 65fff4ae..45027556 100644
--- a/dan/group_vars/elevate-festival.yml
+++ b/dan/group_vars/elevate-festival.yml
@@ -1,11 +1,15 @@
$ANSIBLE_VAULT;1.2;AES256;dan
-34633531626133353532363232623862353130643634316665623064373664396666666231653234
-6230353431633961333131303236376465373535323463370a346433626232373561633631666263
-65613132356563366266333733373335373062613336623032613034643934356430313538343735
-3639393666663462300a633232616430633364323932383639313832646131313135316466626638
-37373130343961393837646339653533663339313063323864383561653932623130626364343730
-65343939313565383837383731653938643362383630366162303335376239336533376130366437
-65366136366435316136333637326335313738343934343862626462323161346137396237363064
-39323038373637613764393330646363643736623165343137313036343737313364636532323666
-61373735313061313064336662353261386534306563663061656234646431393231333235633631
-3638666437343562653261623464336162666366373834353738
+65383434323538376538303334666130306665323930626563366231316139373832353866356639
+6630613931306633363865343663646138646663343562650a313463373433636165373237626264
+31363337663434633861613361313534343164646135626332666534623262656561316563363736
+6234303763633034390a646432656338663963613735396564376230366564653261343633623563
+64303634326435613336373934316334626566326534356630386133323634363965633032353937
+36353833333637393665653161653632653764663039303432353664376133643763313630663030
+61323837363366663438646662663836343237663662663763396438313263343338393039323333
+30666164306263366130343231643162313331626239633333626264306366373861616431343339
+39613364303630666661616636333863386565393939663333343961666137623638663938356336
+61653933396632303932386437396666363434356666393931366466656165646437346430623131
+35383934633133613965303132383465363561343937393333386365343834663932643237656132
+34373038366236373166313633633030623739333465653063306537393735396164366565366339
+39373263383235623663653161303035346330313838383134353835653031313934353330373933
+3435393066363263393634326233386138383631336461643765
diff --git a/dan/info-beamer.yml b/dan/info-beamer.yml
new file mode 100644
index 00000000..3c9f65fe
--- /dev/null
+++ b/dan/info-beamer.yml
@@ -0,0 +1,14 @@
+---
+- name: configure info-beamer
+ hosts: "{{ hostname }}"
+ connection: local
+ gather_facts: no
+
+ vars_prompt:
+ - name: info_beamer_base_path
+ prompt: Where is the SD-Card mounted to?
+ default: ""
+ private: no
+
+ roles:
+ - info-beamer/config
diff --git a/files/dan/elevate/info-beamer/branding.ppm b/files/dan/elevate/info-beamer/branding.ppm
new file mode 100644
index 00000000..66b4996d
--- /dev/null
+++ b/files/dan/elevate/info-beamer/branding.ppm
Binary files differ
diff --git a/files/dan/elevate/info-beamer/e19-branding.jpg b/files/dan/elevate/info-beamer/e19-branding.jpg
new file mode 100644
index 00000000..43dea652
--- /dev/null
+++ b/files/dan/elevate/info-beamer/e19-branding.jpg
Binary files differ
diff --git a/inventory/group_vars/ele-infobeamer/main.yml b/inventory/group_vars/ele-infobeamer/main.yml
new file mode 100644
index 00000000..76816242
--- /dev/null
+++ b/inventory/group_vars/ele-infobeamer/main.yml
@@ -0,0 +1,12 @@
+---
+info_beamer_tvservice: "{{ info_beamer_tvservices['1080i50'] }}"
+info_beamer_audio_target: "hdmi"
+info_beamer_ssh_keys: "{{ ssh_keys_root }}"
+
+info_beamer_wireless: "{{ network_zones.infoscreens.wifi }}"
+info_beamer_prefer_wired: true
+
+info_beamer_branding_logo: "{{ global_files_dir }}/dan/elevate/info-beamer/branding.ppm"
+info_beamer_branding_background: "{{ global_files_dir }}/dan/elevate/info-beamer/e19-branding.jpg"
+
+info_beamer_device_connect_key: "{{ vault_info_beamer_device_connect_key }}"
diff --git a/inventory/hosts.ini b/inventory/hosts.ini
index d5928df3..41950608 100644
--- a/inventory/hosts.ini
+++ b/inventory/hosts.ini
@@ -88,6 +88,9 @@ ele-ap-orpheum0
ele-dol-mixer
ele-dol-translator
+[ele-infobeamer]
+ele-infobeamer0
+
[elevate:vars]
host_domain=elevate.at
env_group=dan
@@ -101,6 +104,7 @@ ele-thetys host_name=thetys
[elevate:children]
ele-ap
ele-dolmetsch-ctl
+ele-infobeamer
###############################
diff --git a/roles/info-beamer/config/defaults/main.yml b/roles/info-beamer/config/defaults/main.yml
new file mode 100644
index 00000000..7d0609e9
--- /dev/null
+++ b/roles/info-beamer/config/defaults/main.yml
@@ -0,0 +1,42 @@
+---
+## path to the info-beamer boot partition
+# info_beamer_base_path:
+
+info_beamer_tvservices:
+ 1080i50: "CEA 20"
+ 1080p25: "CEA 33"
+ 1080p50: "CEA 31"
+ 1080p60: "DMT 82"
+ 576p: "CEA 17"
+ 576p_wide: "CEA 18"
+ 576p_wide_quad: "CEA 38"
+ 720p50: "CEA 19"
+ 720p60: "CEA 4"
+
+# info_beamer_tvservice: "{{ info_beamer_tvservices['1080i50'] }}"
+
+## 'local' or 'hdmi'
+# info_beamer_audio_target: "hdmi"
+
+# info_beamer_ssh_keys: "{{ ssh_root_keys }}"
+
+info_beamer_feature_flags:
+ p2p: "{{ info_beamer_feature_p2p | default(true) }}"
+ prefer_wired: "{{ info_beamer_prefer_wired | default(true) }}"
+
+# info_beamer_network:
+# address: "192.0.0.1"
+# netmask: "255.255.255.0"
+# gateway: "192.0.2.254"
+# dns: "9.9.9.9"
+
+# info_beamer_wireless:
+# ssid: "Infoscreens"
+# key: "very-secret"
+
+## path to file will be installed using 'copy' module
+# info_beamer_branding_logo: ""
+# info_beamer_branding_background: ""
+# info_beamer_branding_video: ""
+
+# info_beamer_device_connect_key: ""
diff --git a/roles/info-beamer/config/tasks/main.yml b/roles/info-beamer/config/tasks/main.yml
new file mode 100644
index 00000000..b4627fb7
--- /dev/null
+++ b/roles/info-beamer/config/tasks/main.yml
@@ -0,0 +1,84 @@
+---
+- name: check if info-beamer base directory is configured
+ debug:
+ msg: "check if base directory is set"
+ failed_when: not info_beamer_base_path
+
+- name: remove existing config directory
+ file:
+ path: "{{ info_beamer_base_path }}/config"
+ state: absent
+
+- name: create new/empty config directory
+ file:
+ path: "{{ info_beamer_base_path }}/config"
+ state: directory
+
+- name: configure video output resolution
+ copy:
+ content: "{{ info_beamer_tvservice }}"
+ dest: "{{ info_beamer_base_path }}/config/tvservice"
+ when: info_beamer_tvservice is defined
+
+- name: configure audio output
+ copy:
+ content: "{{ info_beamer_audio_target }}"
+ dest: "{{ info_beamer_base_path }}/config/audio"
+ when: info_beamer_audio_target is defined
+
+- name: configure ssh keys
+ copy:
+ content: "{{ info_beamer_ssh_keys | join('\n') }}"
+ dest: "{{ info_beamer_base_path }}/config/authorized_keys"
+ when: info_beamer_ssh_keys is defined
+
+- name: configure wired network interface
+ copy:
+ content: |
+ {{ info_beamer_network.address }}
+ {{ info_beamer_network.netmask }}
+ {{ info_beamer_network.gateway }}
+ {{ info_beamer_network.dns }}
+ dest: "{{ info_beamer_base_path }}/config/network"
+ when: info_beamer_network is defined
+
+- name: configure wireless network interface
+ copy:
+ content: |
+ {{ info_beamer_wireless.ssid }}
+ {{ info_beamer_wireless.key }}
+ dest: "{{ info_beamer_base_path }}/config/wireless"
+ when: info_beamer_wireless is defined
+
+- name: enable info-beamer feature flags
+ copy:
+ content: ""
+ dest: "{{ info_beamer_base_path }}/config/{{ item.key }}"
+ with_dict: "{{ info_beamer_feature_flags }}"
+ when: item.value
+ loop_control:
+ label: "{{ item.key }}({{ item.value }}"
+
+- name: install branding logo
+ copy:
+ src: "{{ info_beamer_branding_logo }}"
+ dest: "{{ info_beamer_base_path }}/config/branding.ppm"
+ when: info_beamer_branding_logo is defined
+
+- name: install branding background
+ copy:
+ src: "{{ info_beamer_branding_background }}"
+ dest: "{{ info_beamer_base_path }}/config/branding.jpg"
+ when: info_beamer_branding_background is defined
+
+- name: install branding logo
+ copy:
+ src: "{{ info_beamer_branding_video }}"
+ dest: "{{ info_beamer_base_path }}/config/branding.mp4"
+ when: info_beamer_branding_video is defined
+
+- name: configure device connect key
+ copy:
+ content: "{{ info_beamer_device_connect_key }}"
+ dest: "{{ info_beamer_base_path }}/config/device-connect-key.txt"
+ when: info_beamer_device_connect_key is defined