diff options
Diffstat (limited to 'tasks')
-rw-r--r-- | tasks/kong-app.yml | 9 | ||||
-rw-r--r-- | tasks/main.yml | 5 | ||||
-rw-r--r-- | tasks/plugins.yml | 6 | ||||
-rw-r--r-- | tasks/routes.yml | 6 |
4 files changed, 16 insertions, 10 deletions
diff --git a/tasks/kong-app.yml b/tasks/kong-app.yml index df95f2e..f94f044 100644 --- a/tasks/kong-app.yml +++ b/tasks/kong-app.yml | |||
@@ -1,6 +1,6 @@ | |||
1 | - name: Check if service exists | 1 | - name: Check if service exists |
2 | uri: | 2 | uri: |
3 | url: "{{ kong_app_admin_url }}/services/{{ kong_app_service_name }}" | 3 | url: "{{ kong_app_admin_url }}/services/{{ service.name }}" |
4 | method: GET | 4 | method: GET |
5 | headers: | 5 | headers: |
6 | apikey: "{{ kong_app_admin_apikey }}" | 6 | apikey: "{{ kong_app_admin_apikey }}" |
@@ -9,15 +9,18 @@ | |||
9 | 9 | ||
10 | - name: Update or Create service | 10 | - name: Update or Create service |
11 | uri: | 11 | uri: |
12 | url: "{{ kong_app_admin_url }}/services/{{ exists_service | ternary('', kong_app_service_name) }}" | 12 | url: "{{ kong_app_admin_url }}/services/{{ exists_service | ternary('', service.name) }}" |
13 | method: "{{ exists_service | ternary('POST', 'PATCH') }}" | 13 | method: "{{ exists_service | ternary('POST', 'PATCH') }}" |
14 | body: "{{ kong_app_service_body | to_json }}" | 14 | body: "{{ service_body | to_json }}" |
15 | status_code: 200,201 | 15 | status_code: 200,201 |
16 | headers: | 16 | headers: |
17 | apikey: "{{ kong_app_admin_apikey }}" | 17 | apikey: "{{ kong_app_admin_apikey }}" |
18 | Content-Type: application/json | 18 | Content-Type: application/json |
19 | vars: | 19 | vars: |
20 | exists_service: "{{ kong_app_check_service.status|default(404) == 404 }}" | 20 | exists_service: "{{ kong_app_check_service.status|default(404) == 404 }}" |
21 | service_body: | ||
22 | name: "{{ service.name }}" | ||
23 | url: "{{ service.url }}" | ||
21 | 24 | ||
22 | - name: Setup plugins | 25 | - name: Setup plugins |
23 | import_tasks: plugins.yml | 26 | import_tasks: plugins.yml |
diff --git a/tasks/main.yml b/tasks/main.yml index 4bb562f..4bd42c8 100644 --- a/tasks/main.yml +++ b/tasks/main.yml | |||
@@ -1,5 +1,8 @@ | |||
1 | --- | 1 | --- |
2 | - name: Include kong-app tasks | 2 | - name: Include kong-app tasks |
3 | import_tasks: kong-app.yml | 3 | include_tasks: kong-app.yml |
4 | tags: | 4 | tags: |
5 | - kong-app | 5 | - kong-app |
6 | with_items: "{{ kong_services }}" | ||
7 | loop_control: | ||
8 | loop_var: service | ||
diff --git a/tasks/plugins.yml b/tasks/plugins.yml index f096d4b..3ae0fbe 100644 --- a/tasks/plugins.yml +++ b/tasks/plugins.yml | |||
@@ -1,6 +1,6 @@ | |||
1 | - name: Get plugins | 1 | - name: Get plugins |
2 | uri: | 2 | uri: |
3 | url: "{{ kong_app_admin_url }}/services/{{ kong_app_service_name }}/plugins" | 3 | url: "{{ kong_app_admin_url }}/services/{{ service.name }}/plugins" |
4 | method: GET | 4 | method: GET |
5 | validate_certs: no | 5 | validate_certs: no |
6 | headers: | 6 | headers: |
@@ -9,14 +9,14 @@ | |||
9 | 9 | ||
10 | - name: Setup plugin | 10 | - name: Setup plugin |
11 | uri: | 11 | uri: |
12 | url: "{{ kong_app_admin_url }}/{{ exists_plugin | ternary('services/' ~ kong_app_service_name ~ '/plugins','plugins/' ~ current_config.id) }}" | 12 | url: "{{ kong_app_admin_url }}/{{ exists_plugin | ternary('services/' ~ service.name ~ '/plugins','plugins/' ~ current_config.id) }}" |
13 | method: "{{ exists_plugin | ternary ('POST', 'PATCH') }}" | 13 | method: "{{ exists_plugin | ternary ('POST', 'PATCH') }}" |
14 | body: "{{ plugin | combine(current_body) | to_json }}" | 14 | body: "{{ plugin | combine(current_body) | to_json }}" |
15 | headers: | 15 | headers: |
16 | apikey: "{{ kong_app_admin_apikey }}" | 16 | apikey: "{{ kong_app_admin_apikey }}" |
17 | Content-Type: application/json | 17 | Content-Type: application/json |
18 | status_code: 200,201 | 18 | status_code: 200,201 |
19 | with_items: "{{ kong_app_plugins }}" | 19 | with_items: "{{ service.plugins | default([]) }}" |
20 | loop_control: | 20 | loop_control: |
21 | loop_var: plugin | 21 | loop_var: plugin |
22 | vars: | 22 | vars: |
diff --git a/tasks/routes.yml b/tasks/routes.yml index 4581e8c..881fc96 100644 --- a/tasks/routes.yml +++ b/tasks/routes.yml | |||
@@ -1,6 +1,6 @@ | |||
1 | - name: Get app routes | 1 | - name: Get app routes |
2 | uri: | 2 | uri: |
3 | url: "{{ kong_app_admin_url }}/services/{{ kong_app_service_name }}/routes" | 3 | url: "{{ kong_app_admin_url }}/services/{{ service.name }}/routes" |
4 | method: GET | 4 | method: GET |
5 | validate_certs: no | 5 | validate_certs: no |
6 | headers: | 6 | headers: |
@@ -9,14 +9,14 @@ | |||
9 | 9 | ||
10 | - name: Setup route | 10 | - name: Setup route |
11 | uri: | 11 | uri: |
12 | url: "{{ kong_app_admin_url }}/services/{{ kong_app_service_name }}/routes" | 12 | url: "{{ kong_app_admin_url }}/services/{{ service.name }}/routes" |
13 | method: POST | 13 | method: POST |
14 | body: "{{ route | to_json }}" | 14 | body: "{{ route | to_json }}" |
15 | headers: | 15 | headers: |
16 | apikey: "{{ kong_app_admin_apikey }}" | 16 | apikey: "{{ kong_app_admin_apikey }}" |
17 | Content-Type: application/json | 17 | Content-Type: application/json |
18 | status_code: 201 | 18 | status_code: 201 |
19 | with_items: "{{ kong_app_routes }}" | 19 | with_items: "{{ service.routes | default([]) }}" |
20 | loop_control: | 20 | loop_control: |
21 | loop_var: route | 21 | loop_var: route |
22 | 22 | ||