From b350698148be3fe81a5f8320eedb47379d61650f Mon Sep 17 00:00:00 2001 From: "Dustin C. Hatch" Date: Sun, 27 Feb 2022 17:42:15 -0600 Subject: [PATCH] r/formsubmit: Deploy formsubmit app *formsubmit* is a simple, customizable HTML for submission handler. I designed it for Tabitha to use to collect information from forms on her websites. Notably, we will use it for the RSVP page on our wedding invitation site. --- roles/formsubmit/files/formsubmit.service | 10 ++++++ roles/formsubmit/handlers/main.yml | 8 +++++ roles/formsubmit/tasks/main.yml | 39 +++++++++++++++++++++++ websites.yml | 2 ++ 4 files changed, 59 insertions(+) create mode 100644 roles/formsubmit/files/formsubmit.service create mode 100644 roles/formsubmit/handlers/main.yml create mode 100644 roles/formsubmit/tasks/main.yml diff --git a/roles/formsubmit/files/formsubmit.service b/roles/formsubmit/files/formsubmit.service new file mode 100644 index 0000000..580ae22 --- /dev/null +++ b/roles/formsubmit/files/formsubmit.service @@ -0,0 +1,10 @@ +[Unit] +Description=HTML Form Submit Handler +After=network.target + +[Service] +ExecStart=/usr/local/formsubmit/bin/uvicorn formsubmit:app +User=apache + +[Install] +WantedBy=multi-user.target diff --git a/roles/formsubmit/handlers/main.yml b/roles/formsubmit/handlers/main.yml new file mode 100644 index 0000000..fd0f62d --- /dev/null +++ b/roles/formsubmit/handlers/main.yml @@ -0,0 +1,8 @@ +- name: reload systemd + systemd: + daemon_reload: true + +- name: restart formsubmit + service: + name: formsubmit + state: restarted diff --git a/roles/formsubmit/tasks/main.yml b/roles/formsubmit/tasks/main.yml new file mode 100644 index 0000000..979e1b9 --- /dev/null +++ b/roles/formsubmit/tasks/main.yml @@ -0,0 +1,39 @@ +- name: ensure latest formsubmit is installed # noqa package-latest + environment: + PIP_FIND_LINKS: http://files.pyrocufflink.blue/wheels/formsubmit + PIP_TRUSTED_HOST: files.pyrocufflink.blue + pip: + name: formsubmit + virtualenv: /usr/local/formsubmit + virtualenv_command: python3.9 -m venv + state: latest + notify: + - restart formsubmit + tags: + - install + +- name: ensure formsubmit deployment dependencies are installed + pip: + name: + - uvicorn + virtualenv: /usr/local/formsubmit + state: present + tags: + - install + +- name: ensure formsubmit systemd unit is installed + copy: + src: formsubmit.service + dest: /etc/systemd/system/formsubmit.service + mode: u=rw,go=r + notify: + - reload systemd + - restart formsubmit + tags: + - systemd + +- name: ensure formsubmit configuration directory exists + file: + path: /etc/formsubmit + mode: u=rwx,go=rx + state: directory diff --git a/websites.yml b/websites.yml index 429c04a..d34a803 100755 --- a/websites.yml +++ b/websites.yml @@ -3,6 +3,8 @@ apache_default_ssl_vhost: false roles: - apache + - role: formsubmit + tags: formsubmit - role: websites/pyrocufflink.net tags: websites/pyrocufflink.net - role: websites/dustin.hatch.name