influxdb
: Installs, configures, and performs initial setup of InfluxDB 2.xinfluxdb::profile::toml
: Installs the toml-rb gem inside Puppet server
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
ssl_cert_file
ssl_key_file
ssl_ca_file
host
intial_org
intial_bucket
admin_user
admin_pass
token_file
port
initial_org
initial_bucket
Data type: Boolean
Whether to manage a repository to provide InfluxDB packages. Defaults to true
Default value: true
Data type: Boolean
Whether to perform initial setup of InfluxDB. This will create an initial organization, bucket, and admin token. Defaults to true.
Default value: true
Data type: String
Name of the InfluxDB repository if using $manage_repo. Defaults to influxdb2
Default value: 'influxdb2'
Data type: String
Version of InfluxDB to install. Changing this is not recommended.
Default value: '2.1.1'
Data type: String
URL containing an InfluxDB archive if not installing from a repository. Defaults to version 2-2.1.1 on amd64 architechture.
Default value: 'https://dl.influxdata.com/influxdb/releases/influxdb2-2.1.1-linux-amd64.tar.gz'
Data type: Boolean
Whether to use http or https connections. Defaults to true (https).
Default value: true
Data type: Boolean
Whether to manage the SSL bundle for https connections. Defaults to true.
Default value: true
Data type: String
SSL certificate to be used by the influxdb service. Defaults to the agent certificate issued by the Puppet CA for the local machine.
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. Defaults to the private key of the local machine for generating a CSR for the Puppet CA
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. Defaults to the Puppet CA.
Default value: '/etc/puppetlabs/puppet/ssl/certs/ca.pem'
Data type: String
fqdn of the host running InfluxDB. Defaults to the fqdn of the local machine
Name of the initial organization to use during initial setup. Defaults to puppetlabs
Name of the initial bucket to use during initial setup. Defaults to puppet_data
Data type: String
Name of the administrative user to use during initial setup. Defaults to admin
Default value: 'admin'
Data type: Sensitive[String[1]]
Password for the administrative user in Sensitive format used during initial setup. Defaults to puppetlabs
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: Integer
Data type: String
Data type: String
Installs the toml-rb gem inside Puppet server
include influxdb::profile::toml
The following parameters are available in the influxdb::profile::toml
class:
Data type: String
Default value: '2.1.1'
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: 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: 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"=>0, "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
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
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
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
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: 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
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.
The influxdb::retrieve_token function.
Returns: Any
Data type: String
Data type: String
Data type: String
Type: Ruby 4.x API
The influxdb::to_toml function.
The influxdb::to_toml function.
Returns: Any
Data type: Hash