|
| 1 | +class datadog_agent::security_agent( |
| 2 | + Boolean $enabled = false, |
| 3 | + Optional[String] $socket = undef, |
| 4 | + |
| 5 | + Boolean $service_enable = true, |
| 6 | + String $service_ensure = 'running', |
| 7 | + Optional[String] $service_provider = undef, |
| 8 | + |
| 9 | +) inherits datadog_agent::params { |
| 10 | + |
| 11 | + $securityagent_config = { |
| 12 | + 'runtime_security_config' => { |
| 13 | + 'enabled' => $enabled, |
| 14 | + 'socket' => $socket, |
| 15 | + }, |
| 16 | + } |
| 17 | + |
| 18 | + if $::operatingsystem == 'Windows' { |
| 19 | + |
| 20 | + file { 'C:/ProgramData/Datadog/security-agent.yaml': |
| 21 | + owner => $datadog_agent::params::dd_user, |
| 22 | + group => $datadog_agent::params::dd_group, |
| 23 | + mode => '0640', |
| 24 | + content => template('datadog_agent/security-agent.yaml.erb'), |
| 25 | + require => File['C:/ProgramData/Datadog'], |
| 26 | + } |
| 27 | + |
| 28 | + } else { |
| 29 | + |
| 30 | + if $service_provider { |
| 31 | + service { $datadog_agent::params::securityagent_service_name: |
| 32 | + ensure => $service_ensure, |
| 33 | + enable => $service_enable, |
| 34 | + provider => $service_provider, |
| 35 | + hasstatus => false, |
| 36 | + pattern => 'dd-agent', |
| 37 | + require => Package[$datadog_agent::params::package_name], |
| 38 | + } |
| 39 | + } else { |
| 40 | + service { $datadog_agent::params::securityagent_service_name: |
| 41 | + ensure => $service_ensure, |
| 42 | + enable => $service_enable, |
| 43 | + hasstatus => false, |
| 44 | + pattern => 'dd-agent', |
| 45 | + require => Package[$datadog_agent::params::package_name], |
| 46 | + } |
| 47 | + } |
| 48 | + |
| 49 | + file { '/etc/datadog-agent/security-agent.yaml': |
| 50 | + owner => $datadog_agent::params::dd_user, |
| 51 | + group => $datadog_agent::params::dd_group, |
| 52 | + mode => '0640', |
| 53 | + content => template('datadog_agent/security-agent.yaml.erb'), |
| 54 | + notify => Service[$datadog_agent::params::securityagent_service_name], |
| 55 | + require => File['/etc/datadog-agent'], |
| 56 | + } |
| 57 | + } |
| 58 | + |
| 59 | +} |
0 commit comments