## confdroid_alloy::params.pp # Module name: confdroid_alloy # Author: 12ww1160 (12ww1160@confdroid.com) # @param [String] ay_reqpackages which packages to install # @param [String] ay_pkg_ensure 'latest' or 'present' # @param [String] ay_loki_url the url where alloy will send logs to. # @param [String] ay_loki_username the username to logon to loki # @param [String] ay_loki_userpass the password to logon to loki # @param [Boolean] ay_manage_loki whether to manage log forwarding to loki # @param [Boolean] ay_manage_prom whether to manage metric forwarding # @param [String] ay_prom_url the url where alloy will send metrics # @param [Array] ay_log_targets the logging targets # @param [Boolean] ay_prom_honor_timestamps whether to honor # timestamps in prometheus metrics # @param [Boolean] ay_prom_track_timestamps_staleness whether to track timestamps # staleness in prometheus metrics # @param [String] ay_prom_max_shards the maximum number of shards to use for prometheus metrics # @param [String] ay_prom_max_samples_per_send the maximum number of samples to send # @param [String] ay_prom_batch_send_deadline the maximum time to wait before sending # @param [Boolean] ay_manage_nagios whether to manage nagios service exports # @param [String] ay_target_service the target file for nagios service exports # @param [Array] ay_target_contacts the contacts for nagios service exports # @summary Class contains all parameters for the confdroid_alloy module. ############################################################################## class confdroid_alloy::params ( String $ay_reqpackages = 'alloy', String $ay_pkg_ensure = 'latest', # loki Boolean $ay_manage_loki = true, String $ay_loki_url = 'https://loki.example.net/loki/api/v1/push', String $ay_loki_username = 'loki_user', String $ay_loki_userpass = 'loki_pass', Array $ay_log_targets = ['/var/log/messages','/var/log/secure',], # prometheus Boolean $ay_manage_prom = true, String $ay_prom_url = 'https://prometheus.example.net/api/v1/write', Boolean $ay_prom_honor_timestamps = true, Boolean $ay_prom_track_timestamps_staleness = true, String $ay_prom_max_shards = '10', String $ay_prom_max_samples_per_send = '2000', String $ay_prom_batch_send_deadline = '5s', # nagios Boolean $ay_manage_nagios = false, String $ay_target_service = '/etc/nagios/conf.d/alloy_service.cfg', Array $ay_target_contacts = ['nagiosadmin'], ) { # defaults $fqdn = $facts['networking']['fqdn'] # service $ay_service = 'alloy' # dirs $ay_main_dir = '/etc/alloy' # files $ay_main_file = "${ay_main_dir}/config.alloy" # includes must be last include confdroid_alloy::main::config }