Getting started

Example inventory

To install InfluxDB on a host, you need to add it to [debops_service_influxdb_server] Ansible group:

[debops_service_influxdb_server]
database-host

This will install influxdb package, configure the server to listen on all interfaces for new connections, and install autoinfluxdbbackup script to automatically create daily, weekly and monthly backups of the database.

Example playbook

Here's an example Ansible playbook that uses the debops.influxdb_server role:

---

- name: Manage InfluxDB server
  collections: [ 'debops.debops' ]
  hosts: [ 'debops_service_influxdb_server' ]
  become: True

  environment: '{{ inventory__environment | d({})
                   | combine(inventory__group_environment | d({}))
                   | combine(inventory__host_environment  | d({})) }}'

  roles:

    - role: keyring
      tags: [ 'role::keyring', 'skip::keyring', 'role::influxdata' ]
      keyring__dependent_apt_keys:
        - '{{ influxdata__keyring__dependent_apt_keys }}'

    - role: etc_services
      tags: [ 'role::etc_services', 'skip::etc_services' ]
      etc_services__dependent_list:
        - '{{ influxdb_server__etc_services__dependent_list }}'

    - role: ferm
      tags: [ 'role::ferm', 'skip::ferm' ]
      ferm__dependent_rules:
        - '{{ influxdb_server__ferm__dependent_rules }}'

    - role: python
      tags: [ 'role::python', 'skip::python', 'role::influxdb_server' ]
      python__dependent_packages3:
        - '{{ influxdb_server__python__dependent_packages3 }}'
      python__dependent_packages2:
        - '{{ influxdb_server__python__dependent_packages2 }}'

    - role: influxdata
      tags: [ 'role::influxdata', 'skip::influxdata' ]
      influxdata__dependent_packages:
        - '{{ influxdb_server__influxdata__dependent_packages }}'

    - role: influxdb_server
      tags: [ 'role::influxdb_server', 'skip::influxdb_server' ]

Remote access to the database

If you want to allow connections from remote hosts to the InfluxDB server, you need specify the list of IP addresses or CIDR networks which can connect to the daemon:

influxdb_server__allow: [ '192.0.2.0/24', '2001:db8:3232::/64' ]

Database and user management

debops.influxdb_server is not meant to be used to manage databases and user accounts. You should use debops.influxdb role instead, which was designed specifically for this purpose.