summaryrefslogtreecommitdiffstats
path: root/roles/media
diff options
context:
space:
mode:
authorSacha Chua <sacha@sachachua.com>2022-10-29 07:33:39 -0400
committerSacha Chua <sacha@sachachua.com>2022-10-29 07:33:39 -0400
commita6a373410bde6918f27992ff967660c0541f810a (patch)
treeab8fbd6a5e12f065a7af82027b98df818dfb9603 /roles/media
parentbff9ceae7f42723f939f620f9ef9faebca966742 (diff)
downloademacsconf-ansible-a6a373410bde6918f27992ff967660c0541f810a.tar.xz
emacsconf-ansible-a6a373410bde6918f27992ff967660c0541f810a.zip
media, wiki-publish, caption updates
* common-playbook.yml: Start moving publishing setup to res * group_vars/all.yml: New common variables. * inventory.yml (prod): Number of threads, new hosts * roles/caption/templates/process-captions.py: Add mp4, try to figure out why script was failing, simplify * roles/media/tasks/main.yml: New role for setting up media.emacsconf.org for this year * roles/prerec/templates/reencode.sh: Keep a copy of zaeph's script * roles/stream/defaults/main.yml: Add more variables * roles/stream: Restreaming lowres * roles/wiki-publish/tasks/emacs.yml: Build Emacs from source
Diffstat (limited to '')
-rw-r--r--roles/media/defaults/main.yml1
-rw-r--r--roles/media/tasks/main.yml34
-rw-r--r--roles/media/templates/nginx-include20
3 files changed, 55 insertions, 0 deletions
diff --git a/roles/media/defaults/main.yml b/roles/media/defaults/main.yml
new file mode 100644
index 0000000..0d8046d
--- /dev/null
+++ b/roles/media/defaults/main.yml
@@ -0,0 +1 @@
+media_protect_root: false
diff --git a/roles/media/tasks/main.yml b/roles/media/tasks/main.yml
new file mode 100644
index 0000000..6eb3ab6
--- /dev/null
+++ b/roles/media/tasks/main.yml
@@ -0,0 +1,34 @@
+- name: Install package for setting htpasswd
+ package:
+ name: python3-passlib
+- name: Ensure web path exists
+ file:
+ path: /var/www/{{ host_name }}/{{ emacsconf_year }}/backstage
+ state: directory
+- name: Change ownership and permissions
+ file:
+ path: /var/www/{{ host_name }}/{{ emacsconf_year }}
+ owner: "{{ emacsconf_user }}"
+ group: "{{ emacsconf_group }}"
+ mode: "u=rwX,g=rwX,o=rX"
+ recurse: true
+- name: Create htpasswd entry
+ htpasswd:
+ create: yes
+ name: "{{ emacsconf_backstage_user }}"
+ password: "{{ emacsconf_backstage_password }}"
+ path: /etc/nginx/sites-available/{{ host_name }}-{{ emacsconf_year }}-htpasswd
+- name: Create Nginx include
+ template:
+ src: nginx-include
+ dest: /etc/nginx/sites-available/{{ host_name }}-{{ emacsconf_year }}-include
+- name: Include it in the main configuration
+ lineinfile:
+ path: /etc/nginx/sites-available/{{ host_name }}
+ regexp: "{{ host_name }}-{{ emacsconf_year }}-include"
+ line: " include sites-available/{{ host_name }}-{{ emacsconf_year }}-include;"
+ insertafter: root
+- name: Reload configuration
+ service:
+ name: nginx
+ state: reloaded
diff --git a/roles/media/templates/nginx-include b/roles/media/templates/nginx-include
new file mode 100644
index 0000000..3bfb58e
--- /dev/null
+++ b/roles/media/templates/nginx-include
@@ -0,0 +1,20 @@
+ location /{{ emacsconf_year }}/backstage {
+ auth_basic "Restricted";
+ auth_basic_user_file /etc/nginx/sites-available/{{ host_name }}-{{ emacsconf_year }}-htpasswd;
+ autoindex on;
+ }
+ {% if media_protect_root %}
+ location /{{ emacsconf_year }} {
+ auth_basic "Restricted";
+ auth_basic_user_file /etc/nginx/sites-available/{{ host_name }}-{{ emacsconf_year }}-htpasswd;
+ autoindex on;
+ }
+ {% endif %}
+ location /{{ emacsconf_year }}/emacsconf.ics {
+ auth_basic off;
+ }
+ {% for track in emacsconf_tracks %}
+ location /{{ emacsconf_year }}/emacsconf-{{ track.id }}.ics {
+ auth_basic off;
+ }
+ {% endfor %} \ No newline at end of file