ansible-role-influxdb/tasks/config.yml

69 lines
1.9 KiB
YAML

---
- name: copy config file
ansible.builtin.template:
src: influxdb.conf.j2
dest: /etc/influxdb/influxdb.conf
owner: root
group: root
mode: 0644
notify: restart influxdb
tags: influxdb
- name: start and enable service
ansible.builtin.service:
name: influxdb
state: started
enabled: yes
tags: influxdb
- name: wait http api is up
ansible.builtin.wait_for:
port: 8086
timeout: 10
tags: influxdb
- name: create databases
community.general.influxdb_database:
database_name: '{{ item }}'
username: '{{ influxdb_api_user }}'
password: '{{ influxdb_api_password }}'
loop: '{{ influxdb_databases }}'
tags: influxdb
- name: create retention policies
community.general.influxdb_retention_policy:
policy_name: '{{ item.name }}'
database_name: '{{ item.database }}'
duration: '{{ item.duration }}'
replication: '{{ item.replication|default(1) }}'
default: '{{ item.default|default(False) }}'
username: '{{ influxdb_api_user }}'
password: '{{ influxdb_api_password }}'
loop: '{{ influxdb_retention_policies }}'
tags: influxdb
- name: create users
community.general.influxdb_user:
user_name: '{{ item.name }}'
user_password: '{{ item.password }}'
admin: '{{ item.admin|default(false) }}'
grants: '{{ item.grants|default([]) }}'
username: '{{ influxdb_api_user }}'
password: '{{ influxdb_api_password }}'
loop: '{{ influxdb_users }}'
loop_control:
label: '{{ item.name }}'
when: item.state is not defined or item.state != 'absent'
tags: influxdb
- name: delete users
community.general.influxdb_user:
user_name: '{{ item.name }}'
username: '{{ influxdb_api_user }}'
password: '{{ influxdb_api_password }}'
state: absent
loop: '{{ influxdb_users }}'
loop_control:
label: '{{ item.name }}'
when: item.state is defined and item.state == 'absent'
tags: influxdb