diff --git a/README.md b/README.md index 5e67f49..53f0dc2 100644 --- a/README.md +++ b/README.md @@ -44,6 +44,18 @@ Add role to your playbook. - { role: kibatic.traefik, tags: traefik } ``` +Update Traefik +-------------- + +You have to change `traefik_binary_url` or update this role. Then run your playbook +with following **extra vars** : + +```bash +$ ansible-playbook playbook.yml -t traefik --extra-vars "traefik_update=yes" +``` + +Use same command if you want to downgrade. + License ------- diff --git a/defaults/main.yml b/defaults/main.yml index d303a07..90c090b 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -7,3 +7,4 @@ traefik_config_file: /etc/traefik.toml traefik_template: traefik.toml traefik_systemd_unit_template: traefik.service traefik_systemd_unit_dest: /etc/systemd/system/traefik.service +traefik_update: no diff --git a/tasks/main.yml b/tasks/main.yml index 7f0a592..919a629 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -18,6 +18,23 @@ with_items: - "{{ traefik_install_dir }}" +- name: Copy traefik config file + template: + src: "{{ traefik_template }}.j2" + dest: "{{ traefik_config_file }}" + owner: root + group: root + mode: 0744 + notify: + - Restart traefik + +- name: Ensure traefik service is stopped before traefik update + service: + name: traefik + state: stopped + enabled: yes + when: traefik_update == "yes" + - name: Download Traefik binary get_url: url: "{{ item.url }}" @@ -25,20 +42,11 @@ owner: root group: root mode: 0755 + force: "{{ traefik_update }}" with_items: - url: "{{ traefik_binary_url }}" dest: "{{ traefik_bin_path }}" -- name: Copy traefik config file - template: - src: "{{ traefik_template }}.j2" - dest: "{{ traefik_config_file }}" - owner: root - group: root - mode: 0744 - notify: - - Restart traefik - - name: Ensure traefik service is enabled and running service: name: traefik