diff --git a/defaults/main.yml b/defaults/main.yml new file mode 100644 index 0000000..98d0548 --- /dev/null +++ b/defaults/main.yml @@ -0,0 +1,5 @@ +--- +etesync_dav__user: 'etesync_dav' + +# should we do a version check? (recomended) +submodules_versioncheck: false diff --git a/meta/main.yml b/meta/main.yml new file mode 100644 index 0000000..946e22e --- /dev/null +++ b/meta/main.yml @@ -0,0 +1,31 @@ +--- +galaxy_info: + role_name: etesync_dav + author: l3d + namespace: l3d + description: Ansible role to install and enable autostart of etesync-dav + license: "MIT" + min_ansible_version: "2.14" + platforms: + - name: Debian + versions: ['all'] + - name: Ubuntu + versions: ['all'] + - name: Fedora + versions: ['all'] + - name: EL + versions: ['all'] + - name: ArchLinux + versions: ['all'] + galaxy_tags: + - etesync + - etesyncdav + - synchronisation + - encryption + - e2eencryption + - endtoend + - tasks + - calendar + - dav + - linux +dependencies: [] diff --git a/tasks/main.yml b/tasks/main.yml new file mode 100644 index 0000000..f188539 --- /dev/null +++ b/tasks/main.yml @@ -0,0 +1,4 @@ +--- +- name: Run optional versionscheck + ansible.builtin.include_tasks: versioncheck.yml + when: submodules_versioncheck | bool diff --git a/tasks/versioncheck.yml b/tasks/versioncheck.yml new file mode 100644 index 0000000..dd22a1a --- /dev/null +++ b/tasks/versioncheck.yml @@ -0,0 +1,45 @@ +--- +# Copyright (c) 2021 L3D +# this file is released with the MIT license. +# License: https://github.com/roles-ansible/ansible_role_template/blob/main/LICENSE +- name: Create directory for versionscheck + become: true + ansible.builtin.file: + path: '/etc/.ansible-version' + state: directory + mode: 0755 + when: submodules_versioncheck | bool + +- name: Check playbook version + become: true + ansible.builtin.slurp: + src: "/etc/.ansible-version/{{ playbook_version_path }}" + register: playbook_version + when: submodules_versioncheck | bool + ignore_errors: true + failed_when: false + +- name: Print remote role version + ansible.builtin.debug: + msg: "Remote role version: {{ playbook_version.content | default('Y3VycmVudGx5IG5vdCBkZXBsb3llZAo=') | b64decode | string }}" + when: submodules_versioncheck | bool + +- name: Print locale role version + ansible.builtin.debug: + msg: "Local role version: '{{ playbook_version_number | string }}'." + when: submodules_versioncheck | bool + +- name: Check if your version is outdated + ansible.builtin.fail: + msg: "Your ansible module has the version '{{ playbook_version_number }}' and is outdated. You need to update it!" + when: + - playbook_version.content|default("Mgo=")|b64decode|int - 1 >= playbook_version_number|int and submodules_versioncheck | bool + +- name: Write new version to remote disk + become: true + ansible.builtin.copy: + content: "{{ playbook_version_number }}" + dest: "/etc/.ansible-version/{{ playbook_version_path }}" + mode: '0644' + when: submodules_versioncheck | bool + tags: skip_ansible_lint_template-instead-of-copy diff --git a/vars/main.yml b/vars/main.yml new file mode 100644 index 0000000..8296272 --- /dev/null +++ b/vars/main.yml @@ -0,0 +1,8 @@ +--- +etesync_dav__repo: 'https://github.com/etesync/server.git' +etesync_dav__repo_api: 'https://api.github.com/repos/etesync/server/tags' +etesync_dav__venv: "{{ etesync_dav__venv_path }}/{{ etesync_dav_version_target }}" + +# versionscheck +playbook_version_number: 15 # should be a integer +playbook_version_path: 'role-l3d.etesync_dav.version'