You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

70 lines
2.4 KiB
YAML

---
- name: Set fact for Grafana URL when using HTTP
ansible.builtin.set_fact:
grafana_server_grafana_url: "http://localhost:{{ grafana_server_http_port }}"
when:
- not grafana_server_enable_https | bool
- name: Set fact for Grafana URL when using HTTPS
ansible.builtin.set_fact:
grafana_server_grafana_url: "https://localhost:{{ grafana_server_http_port }}"
when:
- grafana_server_enable_https | bool
- name: Check that Grafana is up and running
ansible.builtin.uri:
url: "{{ grafana_server_grafana_url }}"
method: GET
validate_certs: "{{ grafana_server_validate_certs }}"
status_code:
- 200
register: grafana_server_check_grafana_up
until: grafana_server_check_grafana_up.status == 200
retries: 10
- name: Create new admin account using initial admin credentials
community.grafana.grafana_user:
url: "{{ grafana_server_grafana_url }}"
url_username: "{{ grafana_server_security_initial_admin_user }}"
url_password: "{{ grafana_server_security_initial_admin_password }}"
validate_certs: "{{ grafana_server_validate_certs }}"
is_admin: true
login: "{{ grafana_server_admin_user }}"
name: "{{ grafana_server_admin_user_name }}"
email: "{{ grafana_server_admin_user_email }}"
password: "{{ grafana_server_admin_password }}"
state: present
register: grafana_server_create_admin_user
failed_when:
- grafana_server_create_admin_user.msg is defined
- "'Permission Denied' not in grafana_server_create_admin_user.msg"
- name: Delete initial admin account
community.grafana.grafana_user:
url: "{{ grafana_server_grafana_url }}"
url_username: "{{ grafana_server_admin_user }}"
url_password: "{{ grafana_server_admin_password }}"
validate_certs: "{{ grafana_server_validate_certs }}"
login: "{{ grafana_server_security_initial_admin_user }}"
state: absent
- name: Create any additional users
community.grafana.grafana_user:
url: "{{ grafana_server_grafana_url }}"
url_username: "{{ grafana_server_admin_user }}"
url_password: "{{ grafana_server_admin_password }}"
validate_certs: "{{ grafana_server_validate_certs }}"
name: "{{ item.key }}"
login: "{{ item.value.login }}"
email: "{{ item.value.email }}"
is_admin: "{{ item.value.is_admin }}"
password: "{{ item.value.password }}"
state: present
no_log: true
loop: "{{ grafana_server_users | dict2items }}"
when:
- grafana_server_users is defined
...