- name: "set the user variables" ansible.builtin.import_role: name: "services/include" vars_from: "user" - name: "set the version variables" ansible.builtin.import_role: name: "services/deploy/include" vars_from: "versions" - name: "check if hugo is installed" ansible.builtin.stat: path: "/usr/local/bin/hugo" register: services_deploy_www_hugo_path - block: - name: "install hugo" ansible.builtin.apt: deb: "https://github.com/gohugoio/hugo/releases/download/v{{ services_deploy_www_hugo_version }}/hugo_extended_{{ services_deploy_www_hugo_version }}_Linux-64bit.deb" when: not services_deploy_www_hugo_path.stat.exists - name: "pin hugo version" ansible.builtin.template: src: "./hugo/apt.j2" dest: "/etc/apt/preferences.d/hugo" mode: 0644 vars: services_deploy_www_hugo_version: "0.56.0" - block: - name: "configure systemd service" ansible.builtin.template: src: "./systemd/{{ item }}.j2" dest: "{{ services_service_user_home }}/.config/systemd/user/{{ item }}" mode: 0600 loop: - "pod-www.service" - "container-www-nginx.service" register: services_deploy_www_systemd_files - name: "systemd user daemon reload" ansible.builtin.systemd: daemon_reload: true scope: "user" when: services_deploy_www_systemd_files.changed - name: "clone website repository" ansible.builtin.git: repo: "https://{{ services[services_service_name].repo_user }}:{{ services[services_service_name].repo_token }}@git.wojciechkozlowski.eu/wojtek/wojciechkozlowski.eu.git" dest: "{{ services_service_user_home }}/.config/{{ services_service_user_name }}/wojciechkozlowski.eu" recursive: true register: services_deploy_www_webiste_git - name: "generate static page using hugo" ansible.builtin.command: cmd: "hugo" chdir: "{{ services_service_user_home }}/.config/{{ services_service_user_name }}/wojciechkozlowski.eu" when: services_deploy_www_webiste_git.changed - name: "enable the service" ansible.builtin.systemd: name: "pod-{{ services_service_name }}.service" enabled: true scope: "user" - name: "start the service" ansible.builtin.systemd: name: "pod-{{ services_service_name }}.service" state: "started" scope: "user" register: services_deploy_www_service_start - name: "restart the service" ansible.builtin.systemd: name: "pod-{{ services_service_name }}.service" state: "restarted" scope: "user" when: services_deploy_www_systemd_files.changed and not services_deploy_www_service_start.changed become_user: "{{ services_service_user_name }}"