|
67 | 67 | # Set the value of the statsd_forward_port varable. Used to forward all |
68 | 68 | # statsd metrics to another host. |
69 | 69 | # $manage_repo |
70 | | -# Boolean to indicate whether this module should attempt to manage |
71 | | -# the package repo. Only for RPM-based distros. Default true. |
| 70 | +# Deprecated. Only works for RPM. Install datadog-agent manually and then set |
| 71 | +# manage_install=false to achieve the same behaviour as setting this to false. |
| 72 | +# $manage_install |
| 73 | +# Boolean to indicate whether this module should attempt to install the |
| 74 | +# Agent, or assume it will be installed by other means. Default true. |
72 | 75 | # $graphite_listen_port |
73 | 76 | # Set graphite listener port |
74 | 77 | # $extra_template |
|
243 | 246 | $service_ensure = 'running', |
244 | 247 | $service_enable = true, |
245 | 248 | Boolean $manage_repo = true, |
| 249 | + Boolean $manage_install = true, |
246 | 250 | $hostname_extraction_regex = undef, |
247 | 251 | Boolean $hostname_fqdn = false, |
248 | 252 | $dogstatsd_port = 8125, |
|
385 | 389 | default: { $_loglevel = 'INFO' } |
386 | 390 | } |
387 | 391 |
|
388 | | - if $use_apt_backup_keyserver { |
389 | | - $_apt_keyserver = $apt_backup_keyserver |
390 | | - } else { |
391 | | - $_apt_keyserver = $apt_keyserver |
392 | | - } |
393 | | - |
394 | | - case $::operatingsystem { |
395 | | - 'Ubuntu','Debian' : { |
396 | | - class { 'datadog_agent::ubuntu': |
397 | | - agent_major_version => $_agent_major_version, |
398 | | - agent_version => $agent_version, |
399 | | - service_ensure => $service_ensure, |
400 | | - service_enable => $service_enable, |
401 | | - service_provider => $service_provider, |
402 | | - agent_repo_uri => $agent_repo_uri, |
403 | | - release => $apt_release, |
404 | | - skip_apt_key_trusting => $skip_apt_key_trusting, |
405 | | - apt_keyserver => $_apt_keyserver, |
406 | | - } |
407 | | - } |
408 | | - 'RedHat','CentOS','Fedora','Amazon','Scientific','OracleLinux' : { |
409 | | - class { 'datadog_agent::redhat': |
410 | | - agent_major_version => $_agent_major_version, |
411 | | - agent_repo_uri => $agent_repo_uri, |
412 | | - manage_repo => $manage_repo, |
413 | | - agent_version => $agent_version, |
414 | | - service_ensure => $service_ensure, |
415 | | - service_enable => $service_enable, |
416 | | - service_provider => $service_provider, |
| 392 | + # Install agent |
| 393 | + if $manage_install { |
| 394 | + case $::operatingsystem { |
| 395 | + 'Ubuntu','Debian' : { |
| 396 | + if $use_apt_backup_keyserver { |
| 397 | + $_apt_keyserver = $apt_backup_keyserver |
| 398 | + } else { |
| 399 | + $_apt_keyserver = $apt_keyserver |
| 400 | + } |
| 401 | + class { 'datadog_agent::ubuntu': |
| 402 | + agent_major_version => $_agent_major_version, |
| 403 | + agent_version => $agent_version, |
| 404 | + agent_repo_uri => $agent_repo_uri, |
| 405 | + release => $apt_release, |
| 406 | + skip_apt_key_trusting => $skip_apt_key_trusting, |
| 407 | + apt_keyserver => $_apt_keyserver, |
| 408 | + } |
417 | 409 | } |
418 | | - } |
419 | | - 'Windows' : { |
420 | | - class { 'datadog_agent::windows' : |
421 | | - agent_major_version => $_agent_major_version, |
422 | | - agent_repo_uri => $agent_repo_uri, |
423 | | - agent_version => $agent_version, |
424 | | - service_ensure => $service_ensure, |
425 | | - service_enable => $service_enable, |
426 | | - msi_location => $win_msi_location, |
427 | | - api_key => $api_key, |
428 | | - hostname => $host, |
429 | | - service_name => $datadog_agent::params::service_name, |
430 | | - tags => $local_tags, |
431 | | - ensure => $win_ensure |
| 410 | + 'RedHat','CentOS','Fedora','Amazon','Scientific','OracleLinux' : { |
| 411 | + class { 'datadog_agent::redhat': |
| 412 | + agent_major_version => $_agent_major_version, |
| 413 | + agent_repo_uri => $agent_repo_uri, |
| 414 | + manage_repo => $manage_repo, |
| 415 | + agent_version => $agent_version, |
| 416 | + } |
432 | 417 | } |
433 | | - if ($win_ensure == absent) { |
434 | | - return() #Config files will remain unchanged on uninstall |
| 418 | + 'Windows' : { |
| 419 | + class { 'datadog_agent::windows' : |
| 420 | + agent_major_version => $_agent_major_version, |
| 421 | + agent_repo_uri => $agent_repo_uri, |
| 422 | + agent_version => $agent_version, |
| 423 | + msi_location => $win_msi_location, |
| 424 | + api_key => $api_key, |
| 425 | + hostname => $host, |
| 426 | + tags => $local_tags, |
| 427 | + ensure => $win_ensure |
| 428 | + } |
| 429 | + if ($win_ensure == absent) { |
| 430 | + return() #Config files will remain unchanged on uninstall |
| 431 | + } |
435 | 432 | } |
| 433 | + default: { fail("Class[datadog_agent]: Unsupported operatingsystem: ${::operatingsystem}") } |
436 | 434 | } |
437 | | - default: { fail("Class[datadog_agent]: Unsupported operatingsystem: ${::operatingsystem}") } |
| 435 | + } else { |
| 436 | + package { $datadog_agent::params::package_name: |
| 437 | + ensure => present, |
| 438 | + source => 'Agent installation not managed by Puppet, make sure the Agent is installed beforehand.', |
| 439 | + } |
| 440 | + } |
| 441 | + |
| 442 | + # Declare service |
| 443 | + class { 'datadog_agent::service' : |
| 444 | + service_ensure => $service_ensure, |
| 445 | + service_enable => $service_enable, |
| 446 | + service_provider => $service_provider, |
438 | 447 | } |
439 | 448 |
|
440 | 449 | if ($::operatingsystem != 'Windows') { |
|
0 commit comments