#
# Cookbook Name:: irrigate-syslog
# Recipe:: syslog-ng
#
# Copyright (C) 2018 The Orchard
#

if node['syslog-ng']['aws']['credentials_data_bag_name'] && !node['syslog-ng']['aws']['credentials_data_bag_name'].empty?
  syslogng_credentials = data_bag_item('secrets', node['syslog-ng']['aws']['credentials_data_bag_name'])
  node.default['syslog-ng']['aws']['s3_access_key'] = syslogng_credentials['s3_access_key'].chomp
  node.default['syslog-ng']['aws']['s3_secret_key'] = syslogng_credentials['s3_secret_key'].chomp
end

case node['platform_family']
when 'rhel'

  packages = %w(
    epel-release
    syslog-ng
    s3cmd
  )

  # Install packages
  packages.each do |name|
    package name
  end

  template '/etc/syslog-ng/syslog-ng.conf' do
    source 'syslog-ng.conf.erb'
    mode '0644'
    notifies :restart, 'service[syslog-ng]', :immediately
  end

  service 'syslog-ng' do
    supports restart: true, status: true, reload: true
    action [:enable, :start]
  end

end

# logrotate_s3_config
logrotate_s3_config '/etc/logrotate-s3.conf' do
  s3_aws_region 'us-east-1'
  s3_access_key node['syslog-ng']['aws']['s3_access_key']
  s3_secret_key node['syslog-ng']['aws']['s3_secret_key']
end

# logrotate_s3_file
logrotate_s3_file 'syslog-ng' do
  s3_config node['syslog-ng']['aws']['s3_config']
  log_dir node['syslog-ng']['aws']['log_dir']
  rotate node['syslog-ng']['aws']['rotate']
  s3_bucket node['syslog-ng']['aws']['s3_bucket']
  upload_to_s3 node['syslog-ng']['aws']['upload_to_s3']
end
