69 lines
1.9 KiB
YAML
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
|