Skip to content

Commit 23e70dd

Browse files
authoredAug 18, 2021
Add security-agent config (#706)
Add the security-agent. config file and the needed update to system-probe.yaml
1 parent 9aa9bc8 commit 23e70dd

File tree

4 files changed

+69
-1
lines changed

4 files changed

+69
-1
lines changed
 

‎manifests/params.pp

+1
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
$logs_open_files_limit = undef
2121
$container_collect_all = false
2222
$sysprobe_service_name = 'datadog-agent-sysprobe'
23+
$securityagent_service_name = 'datadog-agent-security'
2324
$module_metadata = load_module_metadata($module_name)
2425

2526
case $::operatingsystem {

‎manifests/security_agent.pp

+59
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
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+
}

‎manifests/system_probe.pp

+3-1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
Optional[String] $log_file = undef,
55
Optional[String] $sysprobe_socket = undef,
66
Optional[Boolean] $enable_oom_kill = false,
7+
Optional[Hash] $runtime_security_config = undef,
78

89
Boolean $service_enable = true,
910
String $service_ensure = 'running',
@@ -20,7 +21,8 @@
2021
},
2122
'network_config' => {
2223
'enabled' => $network_enabled,
23-
}
24+
},
25+
'runtime_security_config' => $runtime_security_config,
2426
}
2527

2628
if $::operatingsystem == 'Windows' {

‎templates/security-agent.yaml.erb

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
### MANAGED BY PUPPET
2+
3+
<%
4+
require 'yaml'
5+
%>
6+
<%= @securityagent_config.to_yaml %>

0 commit comments

Comments
 (0)