Page MenuHomeSoftware Heritage

datastax_agent.pp
No OneTemporary

datastax_agent.pp

# Install and configure the optional DataStax agent.
class cassandra::datastax_agent (
$defaults_file = '/etc/default/datastax-agent',
$address_config_file = '/var/lib/datastax-agent/conf/address.yaml',
$java_home = undef,
$package_ensure = 'present',
$package_name = 'datastax-agent',
$service_ensure = 'running',
$service_enable = true,
$service_name = 'datastax-agent',
$service_provider = undef,
$service_systemd = false,
$stomp_interface = undef,
$local_interface = undef,
$agent_alias = undef,
$async_pool_size = undef,
$async_queue_size = undef,
) inherits ::cassandra::params {
package { $package_name:
ensure => $package_ensure,
require => Class['cassandra'],
notify => Service[$service_name]
}
if $stomp_interface != undef {
$ensure = present
} else {
$ensure = absent
}
ini_setting { 'stomp_interface':
ensure => $ensure,
path => $address_config_file,
section => '',
key_val_separator => ': ',
setting => 'stomp_interface',
value => $stomp_interface,
require => Package[$package_name],
notify => Service[$service_name]
}
if $local_interface != undef {
$ensure_local_interface = present
} else {
$ensure_local_interface = absent
}
ini_setting { 'local_interface':
ensure => $ensure_local_interface,
path => $address_config_file,
section => '',
key_val_separator => ': ',
setting => 'local_interface',
value => $local_interface,
require => Package[$package_name],
notify => Service[$service_name]
}
if $agent_alias != undef {
$ensure_agent_alias = present
} else {
$ensure_agent_alias = absent
}
ini_setting { 'agent_alias':
ensure => $ensure_agent_alias,
path => $address_config_file,
section => '',
key_val_separator => ': ',
setting => 'alias',
value => $agent_alias,
require => Package[$package_name],
notify => Service[$service_name]
}
if $async_pool_size != undef {
ini_setting { 'async_pool_size':
ensure => present,
path => $address_config_file,
section => '',
key_val_separator => ': ',
setting => 'async_pool_size',
value => $async_pool_size,
require => Package[$package_name],
notify => Service[$service_name]
}
}
if $async_queue_size != undef {
ini_setting { 'async_queue_size':
ensure => present,
path => $address_config_file,
section => '',
key_val_separator => ': ',
setting => 'async_queue_size',
value => $async_queue_size,
require => Package[$package_name],
notify => Service[$service_name]
}
}
if $java_home != undef {
ini_setting { 'java_home':
ensure => present,
path => $defaults_file,
section => '',
key_val_separator => '=',
setting => 'JAVA_HOME',
value => $java_home,
notify => Service[$service_name]
}
}
if $service_provider != undef {
System {
provider => $service_provider
}
}
if $service_systemd == true {
if $::osfamily == 'Debian' {
$systemd_path = '/lib/systemd/system'
} else {
$systemd_path = '/usr/lib/systemd/system'
}
file { '/var/run/datastax-agent':
ensure => directory,
owner => 'cassandra',
group => 'cassandra',
before => Package[$package_name],
}
if ! defined(Exec["${::cassandra::params::systemctl} daemon-reload"]) {
exec { "${::cassandra::params::systemctl} daemon-reload":
refreshonly => true
}
}
file { "${systemd_path}/${service_name}.service":
ensure => present,
owner => 'root',
group => 'root',
content => template('cassandra/datastax-agent.service.erb'),
mode => '0644',
before => Package[$package_name],
notify => Exec["${::cassandra::params::systemctl} daemon-reload"]
}
}
service { $service_name:
ensure => $service_ensure,
enable => $service_enable,
}
}

File Metadata

Mime Type
text/plain
Expires
Jun 4 2025, 6:43 PM (14 w, 1 d ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
3380851

Event Timeline