#- debug: var=my_context # tags: traefik - name: traefik setup block: - name: namespace k8s: state: present context: "{{ my_context }}" name: traefik api_version: v1 kind: Namespace - name: Create a Secret object for basic authentification k8s: state: present context: "{{ my_context }}" definition: apiVersion: v1 kind: Secret metadata: name: basic-auth namespace: traefik type: Opaque data: basic_auth: "{{ basic_auth_data | b64encode }}" when: - basic_auth == true tags: traefik - name: Add host label for traefik deployment k8s: state: present context: "{{ my_context }}" definition: apiVersion: v1 kind: Node metadata: name: "{{ item }}" labels: entrypoint: traefik with_items: - '{{ traefik_node_selector }}' when: - traefik_node_selector is defined tags: traefik - name: Get Deployment information object k8s_facts: context: "{{ my_context }}" api_version: v1 kind: Deployment name: traefik namespace: traefik field_selectors: - spec.template.spec.containers.image register: traefik_actual_resources - name: Retreive actual traefik version shell: echo "{{ traefik_actual_resources.resources }}" | sed "s/.*traefik:\([.0-9]*\).*/\1/" | uniq register: traefik_actual_version - name: install / uninstall version 2.0 include_tasks: "version_2.0.yml" when: - traefik_version | regex_search('(2.)') or traefik_actual_version.stdout | regex_search('(2.)')