add tls support to datasources
This commit is contained in:
parent
dbb533424f
commit
5366264f44
3 changed files with 63 additions and 10 deletions
|
|
@ -51,22 +51,30 @@
|
|||
method: GET
|
||||
status_code: 200
|
||||
|
||||
- name: convert tls paths to data (datasources)
|
||||
include_tasks: tls-path-to-data.yml
|
||||
vars:
|
||||
grafanakey: datasources
|
||||
loop: "{{ grafana.datasources|dict2items }}"
|
||||
|
||||
- name: create data sources
|
||||
loop: "{{ grafana.datasources }}"
|
||||
loop: "{{ grafana.datasources|dict2items }}"
|
||||
grafana_datasource:
|
||||
name: "{{ item.name }}"
|
||||
name: "{{ item.key }}"
|
||||
grafana_url: "http://127.0.0.1"
|
||||
grafana_user: "admin"
|
||||
grafana_password: "{{ grafana.adminpw }}"
|
||||
ds_type: "{{ item.ds_type }}"
|
||||
url: "{{ item.url }}"
|
||||
is_default: "{{ item.is_default }}"
|
||||
|
||||
ds_type: "{{ item.value.ds_type }}"
|
||||
url: "{{ item.value.url }}"
|
||||
is_default: "{{ item.value.is_default }}"
|
||||
tls_ca_cert: "{{ item.value.tls_ca_cert|d(omit) }}"
|
||||
tls_client_cert: "{{ item.value.tls_client_cert|d(omit) }}"
|
||||
tls_client_key: "{{ item.value.tls_client_key|d(omit) }}"
|
||||
|
||||
- name: import dashboards
|
||||
loop: "{{ grafana.dashboards }}"
|
||||
loop: "{{ grafana.dashboards||dict2items }}"
|
||||
grafana_dashboard:
|
||||
grafana_url: "http://127.0.0.1"
|
||||
grafana_user: "admin"
|
||||
grafana_password: "{{ grafana.adminpw }}"
|
||||
path: "{{ item.path }}"
|
||||
path: "{{ item.value.path }}"
|
||||
|
|
|
|||
45
tasks/tls-path-to-data.yml
Normal file
45
tasks/tls-path-to-data.yml
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
- when:
|
||||
- item.value.tls_ca_cert|d(False)
|
||||
- item.value.tls_ca_cert is not search("-----.*-----")
|
||||
block:
|
||||
- name: slurp up ca_cert
|
||||
slurp:
|
||||
src: "{{ item.value.tls_ca_cert }}"
|
||||
register: slurpfile
|
||||
- name: replace string
|
||||
set_fact:
|
||||
grafana_inventory: "{{ grafana }}"
|
||||
grafana_merge: '{ "{{ grafanakey }}": { "{{ item.key }}": { "tls_ca_cert": "{{ slurpfile.content|b64decode }}" } } }'
|
||||
- name: merge into facts
|
||||
set_fact:
|
||||
grafana: "{{ {}|combine(grafana_inventory, (grafana_merge|replace('\n', '\\n')|from_json), recursive=True) }}"
|
||||
- when:
|
||||
- item.value.tls_client_cert|d(False)
|
||||
- item.value.tls_client_cert is not search("-----.*-----")
|
||||
block:
|
||||
- name: slurp up client_cert
|
||||
slurp:
|
||||
src: "{{ item.value.tls_client_cert }}"
|
||||
register: slurpfile
|
||||
- name: replace string
|
||||
set_fact:
|
||||
grafana_inventory: "{{ grafana }}"
|
||||
grafana_merge: '{ "{{ grafanakey }}": { "{{ item.key }}": { "tls_client_cert": "{{ slurpfile.content|b64decode }}" } } }'
|
||||
- name: merge into facts
|
||||
set_fact:
|
||||
grafana: "{{ {}|combine(grafana_inventory, (grafana_merge|replace('\n', '\\n')|from_json), recursive=True) }}"
|
||||
- when:
|
||||
- item.value.tls_client_key|d(False)
|
||||
- item.value.tls_client_key is not search("-----.*-----")
|
||||
block:
|
||||
- name: slurp up client_key
|
||||
slurp:
|
||||
src: "{{ item.value.tls_client_key }}"
|
||||
register: slurpfile
|
||||
- name: replace string
|
||||
set_fact:
|
||||
grafana_inventory: "{{ grafana }}"
|
||||
grafana_merge: '{ "{{ grafanakey }}": { "{{ item.key }}": { "tls_client_key": "{{ slurpfile.content|b64decode }}" } } }'
|
||||
- name: merge into facts
|
||||
set_fact:
|
||||
grafana: "{{ {}|combine(grafana_inventory, (grafana_merge|replace('\n', '\\n')|from_json), recursive=True) }}"
|
||||
Loading…
Add table
Add a link
Reference in a new issue