Add traefik 2.1

This commit is contained in:
Adrien Reslinger 2020-02-27 18:54:09 +01:00
parent 28b8910ad4
commit a804841f87
27 changed files with 709 additions and 11 deletions

View file

@ -46,7 +46,7 @@
tags: traefik
- name: Get Deployment information object
k8s_facts:
k8s_info:
context: "{{ my_context }}"
api_version: v1
kind: Deployment
@ -63,4 +63,9 @@
- 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.)')
- traefik_version | regex_search('(^2.0)')
- name: install / uninstall version 2.1
include_tasks: "version_2.1.yml"
when:
- traefik_version | regex_search('(^2.1)') or traefik_actual_version.stdout | regex_search('(^2.)')

View file

@ -7,7 +7,7 @@
k8s:
state: present
context: "{{ my_context }}"
name: tools
name: {{ traefik_namespace }}
api_version: v1
kind: Namespace
@ -20,7 +20,7 @@
kind: Secret
metadata:
name: basic-auth
namespace: tools
namespace: {{ traefik_namespace }}
type: Opaque
data:
basic_auth: "{{ basic_auth_data | b64encode }}"
@ -34,7 +34,7 @@
api_version: v1
kind: Deployment
name: traefik
namespace: tools
namespace: {{ traefik_namespace }}
field_selectors:
- spec.template.spec.containers.image
register: traefik_actual_resources

View file

@ -2,12 +2,12 @@
- set_fact:
traefik_2_0_state: "present"
when:
- traefik_version | regex_search('(2.)')
- traefik_version | regex_search('(^2.0)')
- set_fact:
traefik_2_0_state: "absent"
when:
- not traefik_version | regex_search('(2.0)')
- not traefik_version | regex_search('(^2.0)')
- name: traefik files version {{ traefik_version }} need to be {{ traefik_2_0_state }}
k8s:
@ -34,7 +34,7 @@
- 2.0/traefik-ping.yml.j2
tags: traefik
- name: IP white list need to be {{ traefik_2_0_state }} for traefik version {{ traefik_version }}
- name: IP white list need to be {{ traefik_2_0_state }} for traefik version 2.0
k8s:
state: "{{ traefik_2_0_state }}"
context: "{{ my_context }}"

47
tasks/version_2.1.yml Normal file
View file

@ -0,0 +1,47 @@
---
- set_fact:
traefik_2_1_state: "present"
when:
- traefik_version | regex_search('(^2.1)')
- set_fact:
traefik_2_1_state: "absent"
when:
- not traefik_version | regex_search('(^2.1)')
- name: traefik files version 2.1 need to be {{ traefik_2_1_state }}
k8s:
state: "{{ traefik_2_1_state }}"
context: "{{ my_context }}"
resource_definition: "{{ lookup('template', item) | from_yaml }}"
with_items:
- 2.1/traefik-cm.yml.j2
- 2.1/traefik-sa.yml.j2
- 2.1/traefik-clusterrole.yml.j2
- 2.1/traefik-clusterrolebinding.yml.j2
- 2.1/traefik-crd-ingressroute.yml.j2
- 2.1/traefik-crd-ingressroutetcp.yml.j2
- 2.1/traefik-crd-middleware.yml.j2
- 2.1/traefik-crd-tlsoption.yml.j2
- 2.1/traefik-crd-traefikservice.yml.j2
- 2.1/traefik-dp.yml.j2
- 2.1/traefik-svc.yml.j2
- 2.1/traefik-dashboard-svc.yml.j2
- 2.1/traefik-middleware-httpsredirect.yml.j2
- 2.1/traefik-middleware-basicauth.yml.j2
- 2.1/traefik-tls-options.yml.j2
- 2.1/traefik-dashboard.yml.j2
- 2.1/traefik-dashboard-insecure.yml.j2
- 2.1/traefik-ping.yml.j2
tags: traefik
- name: IP white list need to be {{ traefik_2_1_state }} for traefik version 2.1
k8s:
state: "{{ traefik_2_1_state }}"
context: "{{ my_context }}"
resource_definition: "{{ lookup('template', item) | from_yaml }}"
with_items:
- 2.1/traefik-middleware-ipwhitelist.yml.j2
when:
- ingress_whitelist is defined or traefik_2_1_state == "absent"
tags: traefik