68 lines
1.8 KiB
YAML
68 lines
1.8 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 users
|
|
community.general.influxdb_user:
|
|
user_name: '{{ item.name }}'
|
|
user_password: '{{ item.password }}'
|
|
admin: '{{ item.admin|default(false) }}'
|
|
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
|
|
|
|
- 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 privileges
|
|
influxdb_privilege:
|
|
user: '{{ item.user }}'
|
|
database: '{{ item.database }}'
|
|
privilege: '{{ item.privilege }}'
|
|
api_user: '{{ influxdb_api_user }}'
|
|
api_password: '{{ influxdb_api_password }}'
|
|
api_port: '{{ influxdb_api_port }}'
|
|
state: '{{ item.state|default("present") }}'
|
|
loop: '{{ influxdb_privileges }}'
|
|
tags: influxdb
|