From 086beeaadbc2fe38fb3a612da7ab3618d5c5ee01 Mon Sep 17 00:00:00 2001 From: Jakob Meier Date: Tue, 22 Aug 2023 14:36:15 +0200 Subject: [PATCH] containers/transport: new role for db-rest container used by l8 --- roles/containers/transport/README.org | 9 ++++++ roles/containers/transport/defaults/main.yml | 3 ++ roles/containers/transport/tasks/caddy.yml | 29 ++++++++++++++++++++ roles/containers/transport/tasks/main.yml | 5 ++++ roles/containers/transport/tasks/setup.yml | 8 ++++++ run.yml | 6 ++++ 6 files changed, 60 insertions(+) create mode 100644 roles/containers/transport/README.org create mode 100644 roles/containers/transport/defaults/main.yml create mode 100644 roles/containers/transport/tasks/caddy.yml create mode 100644 roles/containers/transport/tasks/main.yml create mode 100644 roles/containers/transport/tasks/setup.yml diff --git a/roles/containers/transport/README.org b/roles/containers/transport/README.org new file mode 100644 index 0000000..a80ac9d --- /dev/null +++ b/roles/containers/transport/README.org @@ -0,0 +1,9 @@ +* container/transport +Ansible role used to setup a [[https://github.com/derhuerst/db-rest#installing--running][db-rest]] server. + +This server is provided to guarantee the functionality of [[codeberg.org/comcloudway/l8][l8]]. + +#+begin_src yaml +transport_port: 7945 +transport_domain: "transport.ccw.icu" +#+end_src diff --git a/roles/containers/transport/defaults/main.yml b/roles/containers/transport/defaults/main.yml new file mode 100644 index 0000000..a9fe197 --- /dev/null +++ b/roles/containers/transport/defaults/main.yml @@ -0,0 +1,3 @@ +--- +transport_port: 7945 +transport_domain: "transport.ccw.icu" diff --git a/roles/containers/transport/tasks/caddy.yml b/roles/containers/transport/tasks/caddy.yml new file mode 100644 index 0000000..8d04446 --- /dev/null +++ b/roles/containers/transport/tasks/caddy.yml @@ -0,0 +1,29 @@ +--- +- name: Make sure transport caddy reverse proxy config exists + become: true + vars: + project_domain: "{{ transport_domain }}" + project_port: "{{ transport_port }}" + ansible.builtin.template: + src: ../../../network/caddy/templates/reverse-proxy.template + dest: /etc/caddy/transport + mode: "0644" + validate: caddy validate --adapter caddyfile --config %s + register: projectconfig + +- name: Make sure caddy links to the transport config + become: true + ansible.builtin.lineinfile: + path: /etc/caddy/Caddyfile + mode: "0644" + search_string: ^import /etc/caddy/transport + line: import /etc/caddy/transport + validate: caddy validate --adapter caddyfile --config %s + register: caddyconfig + +- name: Restart caddy + become: true + ansible.builtin.service: + name: caddy + state: restarted + when: caddyconfig.changed or projectconfig.changed diff --git a/roles/containers/transport/tasks/main.yml b/roles/containers/transport/tasks/main.yml new file mode 100644 index 0000000..731ed42 --- /dev/null +++ b/roles/containers/transport/tasks/main.yml @@ -0,0 +1,5 @@ +--- +- name: Setup the transport.rest server + ansible.builtin.include_tasks: setup.yml +- name: Setup reverse proxy + ansible.builtin.include_tasks: caddy.yml diff --git a/roles/containers/transport/tasks/setup.yml b/roles/containers/transport/tasks/setup.yml new file mode 100644 index 0000000..741d96c --- /dev/null +++ b/roles/containers/transport/tasks/setup.yml @@ -0,0 +1,8 @@ +--- +- name: Create transport.rest server docker container + community.docker.docker_container: + name: transport-backend + image: derhuerst/db-rest:6 + restart_policy: unless-stopped + ports: + - "{{ transport_port }}:3000" diff --git a/run.yml b/run.yml index 5e14927..7eb8a73 100644 --- a/run.yml +++ b/run.yml @@ -74,3 +74,9 @@ roles: - role: containers/homepage tags: homepage +# Misc +- name: transport-rest germany + hosts: all + roles: + - role: containers/transport + tags: l8 -- 2.38.5