--- {% if cookiecutter.has_service == 'True' %} - name: {{ cookiecutter.app_name | upper }} | Ensure {{ cookiecutter.app_name }} group group: name: "{% raw %}{{{% endraw %} {{ cookiecutter.app_name }}_group {% raw %}}}{% endraw %}" system: yes state: present tags: - {{ cookiecutter.app_name }}_install - name: {{ cookiecutter.app_name | upper }} | Ensure {{ cookiecutter.app_name }} user user: name: "{% raw %}{{{% endraw %} {{ cookiecutter.app_name }}_user {% raw %}}}{% endraw %}" group: "{% raw %}{{{% endraw %} {{ cookiecutter.app_name }}_group {% raw %}}}{% endraw %}" system: yes shell: "{% raw %}{{{% endraw %} {{ cookiecutter.app_name }}_user_shell {% raw %}}}{% endraw %}" createhome: no tags: - {{ cookiecutter.app_name }}_install {% endif %} - name: {{ cookiecutter.app_name | upper }} | Ensure skeleton paths file: dest: "{% raw %}{{{% endraw %} item {% raw %}}}{% endraw %}" {% if cookiecutter.has_service == 'True' %} owner: "{% raw %}{{{% endraw %} {{ cookiecutter.app_name }}_user {% raw %}}}{% endraw %}" group: "{% raw %}{{{% endraw %} {{ cookiecutter.app_name }}_group {% raw %}}}{% endraw %}" {% endif %} state: directory with_items: - "{% raw %}{{{% endraw %} {{ cookiecutter.app_name }}_skeleton_paths {% raw %}}}{% endraw %}" tags: - {{ cookiecutter.app_name }}_install - name: {{ cookiecutter.app_name | upper }} | Ensure skeleton log paths file: dest: "{% raw %}{{{% endraw %} {{ cookiecutter.app_name }}_log_path {% raw %}}}{% endraw %}" {% if cookiecutter.has_service == 'True' %} owner: "{% raw %}{{{% endraw %} {{ cookiecutter.app_name }}_user {% raw %}}}{% endraw %}" group: "{% raw %}{{{% endraw %} {{ cookiecutter.app_name }}_group {% raw %}}}{% endraw %}" {% endif %} state: directory when: {{ cookiecutter.app_name }}_log_file is defined tags: - {{ cookiecutter.app_name }}_install - name: {{ cookiecutter.app_name | upper }} | Check {{ cookiecutter.app_name }} version command: "{% raw %}{{{% endraw %} {{ cookiecutter.app_name }}_exec_name {% raw %}}}{% endraw %} --version" register: {{ cookiecutter.app_name }}_check changed_when: false ignore_errors: true check_mode: no tags: - {{ cookiecutter.app_name }}_install - name: {{ cookiecutter.app_name | upper }} | Download package get_url: url: "{% raw %}{{{% endraw %} {{ cookiecutter.app_name }}_url {% raw %}}}{% endraw %}" dest: "{% raw %}{{{% endraw %} {{ cookiecutter.app_name }}_package_path {% raw %}}}{% endraw %}" when: {{ cookiecutter.app_name }}_force_reinstall or {{ cookiecutter.app_name }}_check is failed or {{ cookiecutter.app_name }}_version not in {{ cookiecutter.app_name }}_check.stderr tags: - {{ cookiecutter.app_name }}_install - name: {{ cookiecutter.app_name | upper }} | Extract downloaded package unarchive: src: "{% raw %}{{{% endraw %} {{ cookiecutter.app_name }}_package_path {% raw %}}}{% endraw %}" dest: "{% raw %}{{{% endraw %} {{ cookiecutter.app_name }}_download_path {% raw %}}}{% endraw %}" remote_src: True when: {{ cookiecutter.app_name }}_force_reinstall or {{ cookiecutter.app_name }}_check is failed or {{ cookiecutter.app_name }}_version not in {{ cookiecutter.app_name }}_check.stderr tags: - {{ cookiecutter.app_name }}_install - name: {{ cookiecutter.app_name | upper }} | Copy binary copy: src: "{% raw %}{{{% endraw %} {{ cookiecutter.app_name }}_src_bin {% raw %}}}{% endraw %}" dest: "{% raw %}{{{% endraw %} {{ cookiecutter.app_name }}_bin_path {% raw %}}}{% endraw %}/{% raw %}{{{% endraw %} {{ cookiecutter.app_name }}_exec_name {% raw %}}}{% endraw %}" {% if cookiecutter.has_service == 'True' %} owner: "{% raw %}{{{% endraw %} {{ cookiecutter.app_name }}_user {% raw %}}}{% endraw %}" group: "{% raw %}{{{% endraw %} {{ cookiecutter.app_name }}_group {% raw %}}}{% endraw %}" {% endif %} remote_src: True mode: 0755 when: {{ cookiecutter.app_name }}_force_reinstall or {{ cookiecutter.app_name }}_check is failed or {{ cookiecutter.app_name }}_version not in {{ cookiecutter.app_name }}_check.stderr tags: - {{ cookiecutter.app_name }}_install - name: {{ cookiecutter.app_name | upper }} | Link binary file: src: "{% raw %}{{{% endraw %} {{ cookiecutter.app_name }}_bin_path {% raw %}}}{% endraw %}/{% raw %}{{{% endraw %} {{ cookiecutter.app_name }}_exec_name {% raw %}}}{% endraw %}" dest: "/usr/bin/{% raw %}{{{% endraw %} {{ cookiecutter.app_name }}_exec_name {% raw %}}}{% endraw %}" state: link when: {{ cookiecutter.app_name }}_force_reinstall or {{ cookiecutter.app_name }}_check is failed or {{ cookiecutter.app_name }}_version not in {{ cookiecutter.app_name }}_check.stderr tags: - {{ cookiecutter.app_name }}_install