diff --git a/playbooks/02a-services-common.yml b/playbooks/02a-services-common.yml new file mode 100644 index 0000000..306c9c7 --- /dev/null +++ b/playbooks/02a-services-common.yml @@ -0,0 +1,12 @@ +--- +- name: "Setup hosts for services" + hosts: the_nine_worlds + + tasks: + - import_tasks: tasks/services/a-common/00-podman.yml + - import_tasks: tasks/services/a-common/01-zfs-datasets.yml + when: is_zfs + - import_tasks: tasks/services/a-common/01-directories.yml + - import_tasks: tasks/services/a-common/02-nameserver.yml + - import_tasks: tasks/services/a-common/03-systemd-veth.yml + - import_tasks: tasks/services/a-common/04-systemd-user.yml diff --git a/playbooks/02a-services-setup.yml b/playbooks/02a-services-setup.yml deleted file mode 100644 index b4d1f78..0000000 --- a/playbooks/02a-services-setup.yml +++ /dev/null @@ -1,12 +0,0 @@ ---- -- name: "Setup hosts for services" - hosts: the_nine_worlds - - tasks: - - import_tasks: tasks/services/setup/00-podman.yml - - import_tasks: tasks/services/setup/01-zfs-datasets.yml - when: is_zfs - - import_tasks: tasks/services/setup/01-directories.yml - - import_tasks: tasks/services/setup/02-nameserver.yml - - import_tasks: tasks/services/setup/03-systemd-veth.yml - - import_tasks: tasks/services/setup/04-systemd-user.yml diff --git a/playbooks/02b-services-deploy.yml b/playbooks/02b-services-user.yml similarity index 50% rename from playbooks/02b-services-deploy.yml rename to playbooks/02b-services-user.yml index 2a6dff2..af2622c 100644 --- a/playbooks/02b-services-deploy.yml +++ b/playbooks/02b-services-user.yml @@ -2,12 +2,8 @@ - name: "Deploy services" hosts: the_nine_worlds - vars: - - service_rproxy_hosts: - tasks: - - import_tasks: tasks/services/deploy/00-hosts.yml - - include_tasks: tasks/services/deploy/01-service.yml + - include_tasks: tasks/services/b-user/service-user.yml with_items: "{{ host_services }}" loop_control: loop_var: service_name diff --git a/playbooks/02c-services-deploy.yml b/playbooks/02c-services-deploy.yml new file mode 100644 index 0000000..8f6ce8e --- /dev/null +++ b/playbooks/02c-services-deploy.yml @@ -0,0 +1,10 @@ +--- +- name: "Deploy services" + hosts: the_nine_worlds + + tasks: + - import_tasks: tasks/services/c-deploy/00-hosts.yml + - include_tasks: tasks/services/c-deploy/01-service-deploy.yml + with_items: "{{ host_services }}" + loop_control: + loop_var: service_name diff --git a/playbooks/tasks/services/setup/00-podman.yml b/playbooks/tasks/services/a-common/00-podman.yml similarity index 100% rename from playbooks/tasks/services/setup/00-podman.yml rename to playbooks/tasks/services/a-common/00-podman.yml diff --git a/playbooks/tasks/services/setup/01-directories.yml b/playbooks/tasks/services/a-common/01-directories.yml similarity index 100% rename from playbooks/tasks/services/setup/01-directories.yml rename to playbooks/tasks/services/a-common/01-directories.yml diff --git a/playbooks/tasks/services/setup/01-zfs-datasets.yml b/playbooks/tasks/services/a-common/01-zfs-datasets.yml similarity index 100% rename from playbooks/tasks/services/setup/01-zfs-datasets.yml rename to playbooks/tasks/services/a-common/01-zfs-datasets.yml diff --git a/playbooks/tasks/services/setup/02-nameserver.yml b/playbooks/tasks/services/a-common/02-nameserver.yml similarity index 100% rename from playbooks/tasks/services/setup/02-nameserver.yml rename to playbooks/tasks/services/a-common/02-nameserver.yml diff --git a/playbooks/tasks/services/setup/03-systemd-veth.yml b/playbooks/tasks/services/a-common/03-systemd-veth.yml similarity index 100% rename from playbooks/tasks/services/setup/03-systemd-veth.yml rename to playbooks/tasks/services/a-common/03-systemd-veth.yml diff --git a/playbooks/tasks/services/setup/04-systemd-user.yml b/playbooks/tasks/services/a-common/04-systemd-user.yml similarity index 100% rename from playbooks/tasks/services/setup/04-systemd-user.yml rename to playbooks/tasks/services/a-common/04-systemd-user.yml diff --git a/playbooks/tasks/services/b-user/service-user.yml b/playbooks/tasks/services/b-user/service-user.yml new file mode 100644 index 0000000..199892c --- /dev/null +++ b/playbooks/tasks/services/b-user/service-user.yml @@ -0,0 +1,7 @@ +- block: + - import_tasks: ../vars.yml + - import_tasks: service-user/00-zfs-datasets.yml + when: is_zfs + - import_tasks: service-user/00-user.yml + - import_tasks: service-user/01-veth.yml + tags: "{{ service_name }}" diff --git a/playbooks/tasks/services/deploy/service/01-user.d/data/_default.yml b/playbooks/tasks/services/b-user/service-user/00-user.d/data/_default.yml similarity index 100% rename from playbooks/tasks/services/deploy/service/01-user.d/data/_default.yml rename to playbooks/tasks/services/b-user/service-user/00-user.d/data/_default.yml diff --git a/playbooks/tasks/services/deploy/service/01-user.d/data/database.yml b/playbooks/tasks/services/b-user/service-user/00-user.d/data/database.yml similarity index 100% rename from playbooks/tasks/services/deploy/service/01-user.d/data/database.yml rename to playbooks/tasks/services/b-user/service-user/00-user.d/data/database.yml diff --git a/playbooks/tasks/services/deploy/service/01-user.d/data/lrproxy.yml b/playbooks/tasks/services/b-user/service-user/00-user.d/data/lrproxy.yml similarity index 100% rename from playbooks/tasks/services/deploy/service/01-user.d/data/lrproxy.yml rename to playbooks/tasks/services/b-user/service-user/00-user.d/data/lrproxy.yml diff --git a/playbooks/tasks/services/deploy/service/01-user.d/data/rproxy.yml b/playbooks/tasks/services/b-user/service-user/00-user.d/data/rproxy.yml similarity index 100% rename from playbooks/tasks/services/deploy/service/01-user.d/data/rproxy.yml rename to playbooks/tasks/services/b-user/service-user/00-user.d/data/rproxy.yml diff --git a/playbooks/tasks/services/deploy/service/01-user.d/shell/_default.yml b/playbooks/tasks/services/b-user/service-user/00-user.d/shell/_default.yml similarity index 100% rename from playbooks/tasks/services/deploy/service/01-user.d/shell/_default.yml rename to playbooks/tasks/services/b-user/service-user/00-user.d/shell/_default.yml diff --git a/playbooks/tasks/services/deploy/service/01-user.d/shell/rproxy.yml b/playbooks/tasks/services/b-user/service-user/00-user.d/shell/rproxy.yml similarity index 100% rename from playbooks/tasks/services/deploy/service/01-user.d/shell/rproxy.yml rename to playbooks/tasks/services/b-user/service-user/00-user.d/shell/rproxy.yml diff --git a/playbooks/tasks/services/deploy/service/01-user.yml b/playbooks/tasks/services/b-user/service-user/00-user.yml similarity index 94% rename from playbooks/tasks/services/deploy/service/01-user.yml rename to playbooks/tasks/services/b-user/service-user/00-user.yml index 99c750f..f174b8a 100644 --- a/playbooks/tasks/services/deploy/service/01-user.yml +++ b/playbooks/tasks/services/b-user/service-user/00-user.yml @@ -9,8 +9,8 @@ - include_tasks: "{{ item }}" with_first_found: - files: - - "01-user.d/shell/{{ service_name }}.yml" - - "01-user.d/shell/_default.yml" + - "00-user.d/shell/{{ service_name }}.yml" + - "00-user.d/shell/_default.yml" - block: @@ -52,8 +52,8 @@ - include_tasks: "{{ item }}" with_first_found: - files: - - "01-user.d/data/{{ service_name }}.yml" - - "01-user.d/data/_default.yml" + - "00-user.d/data/{{ service_name }}.yml" + - "00-user.d/data/_default.yml" - block: - name: Create configuration directory for user {{ service_user_name }} diff --git a/playbooks/tasks/services/deploy/service/01-zfs-datasets.d/_default.yml b/playbooks/tasks/services/b-user/service-user/00-zfs-datasets.d/_default.yml similarity index 100% rename from playbooks/tasks/services/deploy/service/01-zfs-datasets.d/_default.yml rename to playbooks/tasks/services/b-user/service-user/00-zfs-datasets.d/_default.yml diff --git a/playbooks/tasks/services/deploy/service/01-zfs-datasets.d/database.yml b/playbooks/tasks/services/b-user/service-user/00-zfs-datasets.d/database.yml similarity index 100% rename from playbooks/tasks/services/deploy/service/01-zfs-datasets.d/database.yml rename to playbooks/tasks/services/b-user/service-user/00-zfs-datasets.d/database.yml diff --git a/playbooks/tasks/services/deploy/service/01-zfs-datasets.d/lrproxy.yml b/playbooks/tasks/services/b-user/service-user/00-zfs-datasets.d/lrproxy.yml similarity index 100% rename from playbooks/tasks/services/deploy/service/01-zfs-datasets.d/lrproxy.yml rename to playbooks/tasks/services/b-user/service-user/00-zfs-datasets.d/lrproxy.yml diff --git a/playbooks/tasks/services/deploy/service/01-zfs-datasets.yml b/playbooks/tasks/services/b-user/service-user/00-zfs-datasets.yml similarity index 83% rename from playbooks/tasks/services/deploy/service/01-zfs-datasets.yml rename to playbooks/tasks/services/b-user/service-user/00-zfs-datasets.yml index 95b1072..ebff1b4 100644 --- a/playbooks/tasks/services/deploy/service/01-zfs-datasets.yml +++ b/playbooks/tasks/services/b-user/service-user/00-zfs-datasets.yml @@ -15,5 +15,5 @@ - include_tasks: "{{ item }}" with_first_found: - files: - - "01-zfs-datasets.d/{{ service_name }}.yml" - - "01-zfs-datasets.d/_default.yml" + - "00-zfs-datasets.d/{{ service_name }}.yml" + - "00-zfs-datasets.d/_default.yml" diff --git a/playbooks/tasks/services/deploy/service/02-veth.yml b/playbooks/tasks/services/b-user/service-user/01-veth.yml similarity index 100% rename from playbooks/tasks/services/deploy/service/02-veth.yml rename to playbooks/tasks/services/b-user/service-user/01-veth.yml diff --git a/playbooks/tasks/services/deploy/00-hosts.yml b/playbooks/tasks/services/c-deploy/00-hosts.yml similarity index 75% rename from playbooks/tasks/services/deploy/00-hosts.yml rename to playbooks/tasks/services/c-deploy/00-hosts.yml index 917fa85..3dc13fd 100644 --- a/playbooks/tasks/services/deploy/00-hosts.yml +++ b/playbooks/tasks/services/c-deploy/00-hosts.yml @@ -1,3 +1,7 @@ +- name: Reset reverse proxy hosts variable + set_fact: + service_rproxy_hosts: + - name: Collect reverse proxy hosts set_fact: service_rproxy_hosts: "{{ service_rproxy_hosts }} --add-host=pod-{{ item.key }}:{{ item.value.address }}" diff --git a/playbooks/tasks/services/c-deploy/01-service-deploy.yml b/playbooks/tasks/services/c-deploy/01-service-deploy.yml new file mode 100644 index 0000000..bdd5317 --- /dev/null +++ b/playbooks/tasks/services/c-deploy/01-service-deploy.yml @@ -0,0 +1,4 @@ +- block: + - import_tasks: ../vars.yml + - import_tasks: service-deploy/service.yml + tags: "{{ service_name }}" diff --git a/playbooks/tasks/services/deploy/service/03-pod.d/database.yml b/playbooks/tasks/services/c-deploy/service-deploy/service.d/database.yml similarity index 70% rename from playbooks/tasks/services/deploy/service/03-pod.d/database.yml rename to playbooks/tasks/services/c-deploy/service-deploy/service.d/database.yml index b54dd3e..cc5b7ac 100644 --- a/playbooks/tasks/services/deploy/service/03-pod.d/database.yml +++ b/playbooks/tasks/services/c-deploy/service-deploy/service.d/database.yml @@ -1,9 +1,4 @@ - block: - - name: Create service configuration directory for {{ service_user_name }} - file: - path: "{{ service_home }}/.config/{{ service_user_name }}" - state: directory - mode: 0755 - name: Create database password template: diff --git a/playbooks/tasks/services/deploy/service/03-pod.d/lrproxy.yml b/playbooks/tasks/services/c-deploy/service-deploy/service.d/lrproxy.yml similarity index 89% rename from playbooks/tasks/services/deploy/service/03-pod.d/lrproxy.yml rename to playbooks/tasks/services/c-deploy/service-deploy/service.d/lrproxy.yml index 977b419..3565135 100644 --- a/playbooks/tasks/services/deploy/service/03-pod.d/lrproxy.yml +++ b/playbooks/tasks/services/c-deploy/service-deploy/service.d/lrproxy.yml @@ -1,9 +1,4 @@ - block: - - name: Create service configuration directory for {{ service_user_name }} - file: - path: "{{ service_home }}/.config/{{ service_user_name }}" - state: directory - mode: 0755 - name: Synchronise service configuration copy: diff --git a/playbooks/tasks/services/deploy/service/03-pod.d/rproxy.yml b/playbooks/tasks/services/c-deploy/service-deploy/service.d/rproxy.yml similarity index 84% rename from playbooks/tasks/services/deploy/service/03-pod.d/rproxy.yml rename to playbooks/tasks/services/c-deploy/service-deploy/service.d/rproxy.yml index e93bfca..4b3fe5b 100644 --- a/playbooks/tasks/services/deploy/service/03-pod.d/rproxy.yml +++ b/playbooks/tasks/services/c-deploy/service-deploy/service.d/rproxy.yml @@ -1,9 +1,4 @@ - block: - - name: Create service configuration directory for {{ service_user_name }} - file: - path: "{{ service_home }}/.config/{{ service_user_name }}" - state: directory - mode: 0755 - name: Synchronise service configuration copy: diff --git a/playbooks/tasks/services/deploy/service/03-pod.d/www.yml b/playbooks/tasks/services/c-deploy/service-deploy/service.d/www.yml similarity index 100% rename from playbooks/tasks/services/deploy/service/03-pod.d/www.yml rename to playbooks/tasks/services/c-deploy/service-deploy/service.d/www.yml diff --git a/playbooks/tasks/services/deploy/service/03-pod.yml b/playbooks/tasks/services/c-deploy/service-deploy/service.yml similarity index 74% rename from playbooks/tasks/services/deploy/service/03-pod.yml rename to playbooks/tasks/services/c-deploy/service-deploy/service.yml index a33360d..41f2966 100644 --- a/playbooks/tasks/services/deploy/service/03-pod.yml +++ b/playbooks/tasks/services/c-deploy/service-deploy/service.yml @@ -1,7 +1,8 @@ - block: - - name: Create configuration directory for user {{ service_user_name }} + + - name: Create service configuration directory for {{ service_user_name }} file: - path: "{{ service_home }}/.config" + path: "{{ service_home }}/.config/{{ service_user_name }}" state: directory mode: 0755 @@ -22,19 +23,7 @@ when: local_service_path.stat.exists - - name: Create systemd directory for user {{ service_user_name }} - file: - path: "{{ service_home }}/.config/systemd" - state: directory - mode: 0755 - - - name: Create systemd service directory for user {{ service_user_name }} - file: - path: "{{ service_home }}/.config/systemd/user" - state: directory - mode: 0755 - - - name: Configure {{ service_user_name }} service + - name: Configure {{ service_user_name }} SystemD service template: src: "{{ item }}" dest: /{{ service_home }}/.config/systemd/user/{{ item | basename | regex_replace('\.j2','') }} @@ -53,7 +42,7 @@ - include_tasks: "{{ item }}" with_first_found: - files: - - "03-pod.d/{{ service_name }}.yml" + - "service.d/{{ service_name }}.yml" skip: true - name: Enable the {{ service_name }} service diff --git a/playbooks/tasks/services/deploy/01-service.yml b/playbooks/tasks/services/deploy/01-service.yml deleted file mode 100644 index 9186f52..0000000 --- a/playbooks/tasks/services/deploy/01-service.yml +++ /dev/null @@ -1,8 +0,0 @@ -- block: - - import_tasks: service/00-vars.yml - - import_tasks: service/01-zfs-datasets.yml - when: is_zfs - - import_tasks: service/01-user.yml - - import_tasks: service/02-veth.yml - - import_tasks: service/03-pod.yml - tags: "{{ service_name }}" diff --git a/playbooks/tasks/services/deploy/service/00-vars.yml b/playbooks/tasks/services/vars.yml similarity index 100% rename from playbooks/tasks/services/deploy/service/00-vars.yml rename to playbooks/tasks/services/vars.yml