diff options
author | Christian Pointner <equinox@spreadspace.org> | 2019-02-08 19:24:45 +0100 |
---|---|---|
committer | Christian Pointner <equinox@spreadspace.org> | 2019-02-08 19:24:45 +0100 |
commit | f3d2ae665a3be620e91f2f2db47eaeac0c819753 (patch) | |
tree | 2e0507fe9d3d2cc8fa5b34c84ca42e36fa2a68f3 | |
parent | refactored accesspoint config (diff) |
added role to configure info-beamer
-rwxr-xr-x | configure-info-beamer.sh | 19 | ||||
-rw-r--r-- | dan/group_vars/elevate-festival.yml | 24 | ||||
-rw-r--r-- | dan/info-beamer.yml | 14 | ||||
-rw-r--r-- | files/dan/elevate/info-beamer/branding.ppm | bin | 0 -> 24352 bytes | |||
-rw-r--r-- | files/dan/elevate/info-beamer/e19-branding.jpg | bin | 0 -> 773623 bytes | |||
-rw-r--r-- | inventory/group_vars/ele-infobeamer/main.yml | 12 | ||||
-rw-r--r-- | inventory/hosts.ini | 4 | ||||
-rw-r--r-- | roles/info-beamer/config/defaults/main.yml | 42 | ||||
-rw-r--r-- | roles/info-beamer/config/tasks/main.yml | 84 |
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 Binary files differnew file mode 100644 index 00000000..66b4996d --- /dev/null +++ b/files/dan/elevate/info-beamer/branding.ppm diff --git a/files/dan/elevate/info-beamer/e19-branding.jpg b/files/dan/elevate/info-beamer/e19-branding.jpg Binary files differnew file mode 100644 index 00000000..43dea652 --- /dev/null +++ b/files/dan/elevate/info-beamer/e19-branding.jpg 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 |