# This puppet manifest is used to configure Telegraf for Sweden Connect # @param version Version of the docker image to use. (referenced in compose file) # @param server_fqdn The FQDN of the server. (referenced in compose file) # @param ports Port mappings for container # @param service_dir The directory where all related config and files are stored. (referenced in compose file) # @param influx_urls List of influxdb urls to send data to class eid::telegraf2 ( String $version = 'latest', String $server_fqdn = $facts['networking']['fqdn'], Array $ports = [], String $service_dir = '/etc/telegraf', Array $influx_urls = ["https://metrics-external-1.sunet.se:8086"], String $influxdb2_org = "SwedenConnect", String $influxdb2_bucket = "eidas", String $influxdb2_bucket_proxy = "eidas-proxy", ) { # Get influx values $influx2_token = hiera(influx2_token,'NOT_SET_IN_HIERA') sunet::docker_compose { 'telegraf': content => template('eid/telegraf2/docker-compose.yml.erb'), service_name => 'telegraf', compose_dir => '/etc/', compose_filename => 'docker-compose.yml', description => 'telegraf' } #file {["${service_dir}/telegraf.conf.d"]: ensure => directory } #concat {"${service_dir}/telegraf.conf": # owner => 'root', # group => 'root', # mode => '0644', #notify => [Sunet::Docker_compose["telegraf"]] #} # Below not pretty but I'm piggy-backing on this class to add a secondary output to test the new influx2-server #if ($influx2_token != 'NOT_SET_IN_HIERA') { # file { "${service_dir}/telegraf.conf.d/95-telegraf.conf": # ensure => file, # owner => 'root', # group => 'root', # path => "${service_dir}/telegraf.conf.d/95-telegraf.conf", # mode => '0644', # content => template('eid/telegraf2/95-telegraf.conf.erb'), # } #} #eid_glob(["${service_dir}/telegraf.conf.d/*.conf"]).each |String $file| { # concat::fragment { $file: # target => "${service_dir}/telegraf.conf", # source => $file, # } #} file { "${service_dir}/telegraf.conf": ensure => file, owner => 'root', group => 'root', path => "${service_dir}/telegraf.conf", mode => '0644', content => template('eid/telegraf2/telegraf.conf.erb'), } }