[apm] adding env tag to configuration.
diff --git a/manifests/init.pp b/manifests/init.pp
index 4a1531e..da94cce 100644
--- a/manifests/init.pp
+++ b/manifests/init.pp
@@ -154,6 +154,9 @@
# $apm_enabled
# Boolean to enable or disable the trace agent
# Boolean. Default: false
+# $apm_env
+# String defining the environment for the APM traces
+# String. Default: empty
#
# Actions:
#
@@ -241,6 +244,7 @@
$dd_user = $datadog_agent::params::dd_user,
$dd_group = $datadog_agent::params::dd_group,
$apm_enabled = false,
+ $apm_env = '',
) inherits datadog_agent::params {
validate_string($dd_url)
@@ -302,6 +306,7 @@
validate_bool($sd_jmx_enable)
validate_string($consul_token)
validate_bool($apm_enabled)
+ validate_string($apm_env)
if $hiera_tags {
$local_tags = hiera_array('datadog_agent::tags')
diff --git a/spec/classes/datadog_agent_spec.rb b/spec/classes/datadog_agent_spec.rb
index b4225f0..5ffd0cd 100644
--- a/spec/classes/datadog_agent_spec.rb
+++ b/spec/classes/datadog_agent_spec.rb
@@ -512,6 +512,21 @@
'content' => /^apm_enabled: true\n/,
)}
end
+ context 'with apm_enabled set to true and env specified' do
+ let(:params) {
+ {:apm_enabled => true,
+ :apm_env => 'foo',
+ }}
+ it { should contain_file('/etc/dd-agent/datadog.conf').with(
+ 'content' => /^apm_enabled: true\n/,
+ )}
+ it { should contain_file('/etc/dd-agent/datadog.conf').with(
+ 'content' => /^\[trace.agent\]\n/,
+ )}
+ it { should contain_file('/etc/dd-agent/datadog.conf').with(
+ 'content' => /^env: foo\n/,
+ )}
+ end
context 'with service_discovery enabled' do
let(:params) {
{:service_discovery_backend => 'docker',
diff --git a/templates/datadog.conf.erb b/templates/datadog.conf.erb
index 607d511..dfb26c4 100644
--- a/templates/datadog.conf.erb
+++ b/templates/datadog.conf.erb
@@ -414,3 +414,8 @@
# ========================================================================== #
<% end -%>
+
+<% if not @apm_env.empty? -%>
+[trace.agent]
+env = <%= @apm_env %>
+<% end -%>