influxdb
: Installs, configures, and performs initial setup of InfluxDB 2.xinfluxdb::profile::toml
: Installs the toml-rb gem inside Puppet server and agent
influxdb_auth
: Manages authentication tokens in InfluxDBinfluxdb_bucket
: Manages InfluxDB bucketsinfluxdb_dbrp
: Manages dbrps, or database and retention policy mappings. These provide backwards compatibilty for 1.x queries. Note that these are automatically created by the influxdb_bucket resource, so it isn't necessary to use this resource unless you need to customize them.influxdb_label
: Manages labels in InfluxDBinfluxdb_org
: Manages organizations in InfluxDBinfluxdb_setup
: Manages initial setup of InfluxDB. It is recommended to use the influxdb::install class instead of this resource directly.influxdb_user
: Manages users in InfluxDB. Note that currently, passwords can only be set upon creating the user and must be updated manually using the cli. A user must be added to an organization to be able to log in.
Installs, configures, and performs initial setup of InfluxDB 2.x
include influxdb
class { 'influxdb':
initial_org => 'my_org',
initial_bucket => 'my_bucket',
}
The following parameters are available in the influxdb
class:
manage_repo
manage_setup
repo_name
version
archive_source
use_ssl
manage_ssl
use_system_store
ssl_cert_file
ssl_key_file
ssl_ca_file
host
port
initial_org
initial_bucket
admin_user
admin_pass
token_file
repo_gpg_key_id
repo_url
repo_gpg_key_url
Data type: Boolean
Whether to manage a repository to provide InfluxDB packages.
Default value: false
Data type: Boolean
Whether to perform initial setup of InfluxDB. This will create an initial organization, bucket, and admin token.
Default value: true
Data type: String
Name of the InfluxDB repository if using $manage_repo.
Default value: 'influxdb2'
Data type: String
Version of InfluxDB to install. Changing this is not recommended.
Default value: '2.6.1'
Data type: Variant[String,Boolean[false]]
URL containing an InfluxDB archive if not installing from a repository or false to disable installing from source.
Default value: 'https://dl.influxdata.com/influxdb/releases/influxdb2-2.6.1-linux-amd64.tar.gz'
Data type: Boolean
Whether to use http or https connections.
Default value: true
Data type: Boolean
Whether to manage the SSL bundle for https connections.
Default value: true
Data type: Boolean
Whether to use the system store for SSL connections.
Default value: false
Data type: String
SSL certificate to be used by the influxdb service.
Default value: "/etc/puppetlabs/puppet/ssl/certs/${trusted['certname']}.pem"
Data type: String
Private key used in the CSR for the certificate specified by $ssl_cert_file.
Default value: "/etc/puppetlabs/puppet/ssl/private_keys/${trusted['certname']}.pem"
Data type: String
CA certificate issued by the CA which signed the certificate specified by $ssl_cert_file.
Default value: '/etc/puppetlabs/puppet/ssl/certs/ca.pem'
Data type: Stdlib::Host
fqdn of the host running InfluxDB.
Default value: $facts['networking']['fqdn']
Data type: Stdlib::Port::Unprivileged
port of the InfluxDB service.
Default value: 8086
Data type: String[1]
Name of the initial organization to use during initial setup.
Default value: 'puppetlabs'
Data type: String[1]
Name of the initial bucket to use during initial setup.
Default value: 'puppet_data'
Data type: String
Name of the administrative user to use during initial setup.
Default value: 'admin'
Data type: Sensitive[String[1]]
Password for the administrative user in Sensitive format used during initial setup.
Default value: Sensitive('puppetlabs')
Data type: String
File on disk containing an administrative token. This class will write the token generated as part of initial setup to this file. Note that functions or code run in Puppet server will not be able to use this file, so setting $token after setup is recommended.
Default value: $facts['identity']['user']
Data type: String[1]
ID of the GPG signing key
Default value: '9D539D90D3328DC7D6C8D3B9D8FF8E1F7DF8B07E'
Data type: Optional[String]
URL of the Package repository
Default value: undef
Data type: Stdlib::HTTPSUrl
URL of the GPG signing key
Default value: 'https://repos.influxdata.com/influxdata-archive_compat.key'
Installs the toml-rb gem inside Puppet server and agent
include influxdb::profile::toml
The following parameters are available in the influxdb::profile::toml
class:
Data type: String
Version of the toml-rb gem to install
Default value: '2.1.1'
Data type: Array[String[1]]
Pass additional parameters to the puppetserver gem installation
Default value: []
Data type: Array[String[1]]
Pass additional parameters to the puppetserver gem installation
Default value: []
Manages authentication tokens in InfluxDB
influxdb_auth {"telegraf read token":
ensure => present,
org => 'my_org'
permissions => [
{
"action" => "read",
"resource" => {
"type" => "telegrafs"
}
},
],
}
The following properties are available in the influxdb_auth
type.
Data type: Enum[present, absent]
Whether the token should be present or absent on the target system.
Default value: present
Data type: Boolean
Recreate resource if immutable property changes
Data type: Optional[String]
The host running InfluxDB
Data type: String
Name of the token. Note that InfluxDB does not currently have a human readable identifer for token, so for convinience we use the description property as the namevar of this resource
Data type: String
The organization that owns the token
Data type: Array[Hash]
List of permissions granted by the token
Data type: Optional[Integer]
Port used by the InfluxDB service
Default value: 8086
Data type: Enum[active, inactive]
Status of the token
Default value: active
Data type: Optional[Sensitive[String]]
Administrative token used for authenticating API calls
Data type: Optional[String]
File on disk containing an administrative token
Data type: Boolean
Whether to enable SSL for the InfluxDB service
Default value: true
Data type: Boolean
Whether to use the system store for SSL connections
Data type: Optional[String]
User to scope authorization to
Manages InfluxDB buckets
influxdb_bucket {'my_bucket':
ensure => present,
org => 'my_org',
labels => ['my_label1', 'my_label2'],
require => Influxdb_org['my_org'],
}
The following properties are available in the influxdb_bucket
type.
Data type: Boolean
Whether to create a "database retention policy" mapping to allow for legacy access
Default value: true
Data type: Enum[present, absent]
Whether the bucket should be present or absent on the target system.
Default value: present
Data type: Optional[String]
The host running InfluxDB
Data type: Optional[Array[String]]
Labels to apply to the bucket. For convenience, these will be created automatically without the need to create influxdb_label resources
Data type: Optional[Array[String]]
List of users to add as members of the bucket. For convenience, these will be created automatically without the need to create influxdb_user resources
Data type: String
Name of the bucket
Data type: String
Organization which the buckets belongs to
Data type: Optional[Integer]
Port used by the InfluxDB service
Default value: 8086
Data type: Array
Rules to determine retention of data inside the bucket
Default value: [{"type"=>"expire", "everySeconds"=>7776000, "shardGroupDurationSeconds"=>604800}]
Data type: Optional[Sensitive[String]]
Administrative token used for authenticating API calls
Data type: Optional[String]
File on disk containing an administrative token
Data type: Boolean
Whether to enable SSL for the InfluxDB service
Default value: true
Data type: Boolean
Whether to use the system store for SSL connections
This type provides the ability to manage InfluxDB dbrps
influxdb_dbrp {'my_bucket':
ensure => present,
org => 'my_org',
bucket => 'my_bucket',
rp => 'Forever',
}
The following properties are available in the influxdb_dbrp
type.
Data type: String
The bucket to map to the retention policy to
Data type: Enum[present, absent]
Whether the dbrp should be present or absent on the target system.
Default value: present
Data type: Optional[String]
The host running InfluxDB
Data type: Optional[Boolean]
Whether this should be the default policy
Default value: true
Data type: String
Name of the dbrp to manage in InfluxDB
Data type: String
Name of the organization that owns the mapping
Data type: Optional[Integer]
Port used by the InfluxDB service
Default value: 8086
Data type: String
Name of the InfluxDB 1.x retention policy
Data type: Optional[Sensitive[String]]
Administrative token used for authenticating API calls
Data type: Optional[String]
File on disk containing an administrative token
Data type: Boolean
Whether to enable SSL for the InfluxDB service
Default value: true
Data type: Boolean
Whether to use the system store for SSL connections
Manages labels in InfluxDB
influxdb_label {'puppetlabs/influxdb':
ensure => present,
org => 'puppetlabs',
}
The following properties are available in the influxdb_label
type.
Data type: Enum[present, absent]
Whether the label should be present or absent on the target system.
Default value: present
Data type: Optional[String]
The host running InfluxDB
Data type: String
Name of the label
Data type: String
Organization the label belongs to
Data type: Optional[Integer]
Port used by the InfluxDB service
Default value: 8086
Data type: Optional[Hash]
Key/value pairs associated with the label
Data type: Optional[Sensitive[String]]
Administrative token used for authenticating API calls
Data type: Optional[String]
File on disk containing an administrative token
Data type: Boolean
Whether to enable SSL for the InfluxDB service
Default value: true
Data type: Boolean
Whether to use the system store for SSL connections
Manages organizations in InfluxDB
influxdb_org {'puppetlabs':
ensure => present,
}
The following properties are available in the influxdb_org
type.
Data type: Optional[String]
Optional description for a given org
Data type: Enum[present, absent]
Whether the organization should be present or absent on the target system.
Default value: present
Data type: Optional[String]
The host running InfluxDB
Data type: Optional[Array[String]]
A list of users to add as members of the organization
Data type: String
Name of the organization to manage in InfluxDB
Data type: Optional[Integer]
Port used by the InfluxDB service
Default value: 8086
Data type: Optional[Sensitive[String]]
Administrative token used for authenticating API calls
Data type: Optional[String]
File on disk containing an administrative token
Data type: Boolean
Whether to enable SSL for the InfluxDB service
Default value: true
Data type: Boolean
Whether to use the system store for SSL connections
Manages initial setup of InfluxDB. It is recommended to use the influxdb::install class instead of this resource directly.
influxdb_setup {'<influx_fqdn>':
ensure => 'present',
token_file => <path_to_token_file>,
bucket => 'my_bucket',
org => 'my_org',
username => 'admin',
password => 'admin',
}
The following properties are available in the influxdb_setup
type.
Data type: String
Name of the initial bucket to create
Data type: Enum[present, absent]
Whether initial setup has been performed. present/absent is determined by the response from the /setup api
Default value: present
Data type: Optional[String]
The host running InfluxDB
Data type: String
Name of the initial organization to create
Data type: Sensitive[String]
Initial admin user password
Data type: Optional[Integer]
Port used by the InfluxDB service
Default value: 8086
Data type: Optional[Sensitive[String]]
Administrative token used for authenticating API calls
Data type: Optional[String]
File on disk containing an administrative token
Data type: Boolean
Whether to enable SSL for the InfluxDB service
Default value: true
Data type: Boolean
Whether to use the system store for SSL connections
Data type: String
Name of the initial admin user
The following parameters are available in the influxdb_setup
type.
namevar
Data type: String
The fqdn of the host running InfluxDB
Manages users in InfluxDB. Note that currently, passwords can only be set upon creating the user and must be updated manually using the cli. A user must be added to an organization to be able to log in.
influxdb_user {'bob':
ensure => present,
password => Sensitive('thisisbobspassword'),
}
influxdb_org {'my_org':
ensure => present,
members => ['bob'],
}
The following properties are available in the influxdb_user
type.
Data type: Enum[present, absent]
Whether the user should be present or absent on the target system.
Default value: present
Data type: Optional[String]
The host running InfluxDB
Data type: String
Name of the user
Data type: Optional[Sensitive[String]]
User password
Data type: Optional[Integer]
Port used by the InfluxDB service
Default value: 8086
Data type: Enum[active, inactive]
Status of the user
Default value: active
Data type: Optional[Sensitive[String]]
Administrative token used for authenticating API calls
Data type: Optional[String]
File on disk containing an administrative token
Data type: Boolean
Whether to enable SSL for the InfluxDB service
Default value: true
Data type: Boolean
Whether to use the system store for SSL connections
Type: Ruby 4.x API
The influxdb::from_toml function.
The influxdb::from_toml function.
Returns: Any
Data type: String
Type: Puppet Language
The influxdb::hosts_with_pe_profile function.
The influxdb::hosts_with_pe_profile function.
Returns: Array
Data type: String
Type: Ruby 4.x API
The influxdb::retrieve_token function.
influxdb::retrieve_token(String $uri, String $token_name, String $admin_token_file, Optional[Boolean] $use_system_store)
The influxdb::retrieve_token function.
Returns: Any
Data type: String
Data type: String
Data type: String
Data type: Optional[Boolean]
influxdb::retrieve_token(String $uri, String $token_name, Sensitive $admin_token, Optional[Boolean] $use_system_store)
The influxdb::retrieve_token function.
Returns: Any
Data type: String
Data type: String
Data type: Sensitive
Data type: Optional[Boolean]
Type: Ruby 4.x API
The influxdb::to_toml function.
The influxdb::to_toml function.
Returns: Any
Data type: Hash