#
# Cookbook:: irrigate-cron
# Recipe:: talend
#
# Description:
#  This recipe manages configuration needed for talend repo jobs
#  It is not functional unless included in a role with mounts for /mnt/data

if platform_family?('rhel')
  if node['platform_version'].start_with?('7')

    # There are extra required packages for various scripts to run.
    packages = %w(
      gzip
      java-1.8.0-openjdk
      java-1.8.0-openjdk-devel
      unzip
      zip
    )

    packages.each do |name|
      package name
    end

    # Ensure requisite directories are created and writable
    git_directories = %w(
      /var/www
    )

    git_directories.each do |directory_name|
      directory directory_name do
        owner node['git']['owner']
        group node['git']['group']
        mode '0755'
        action :create
      end
    end

    git 'ETL' do
      repository 'git@github.com:theorchard/talend.git'
      reference 'master'
      destination '/var/www/talend'
      user 'deploy'
      group 'deploy'
      action :checkout
    end

    remote_file 'get_new_releases_properties' do
      path '/var/www/talend/publishing/HFA/GetNewReleases/'\
           'Populate_HFA_Pending_Requests/Populate_HFA_Pending_Requests/hfa/'\
           'populate_hfa_pending_requests_0_1/contexts/Production.properties'
      source 'file:///mnt/data/configs/talend/Populate_HFA_Pending_Requests/'\
             'Production.properties'
      owner 'deploy'
      group 'deploy'
      mode '644'
    end

    remote_file 'generate_requests_properties' do
      path '/var/www/talend/publishing/HFA/GenerateRequests/'\
           'HFA_Request_File/HFA_Request_File/hfa_populate_request/'\
           'hfa_request_file_1_0/contexts/Production.properties'
      source 'file:///mnt/data/configs/talend/HFA_Request_File/'\
             'Production.properties'
      owner 'deploy'
      group 'deploy'
      mode '644'
    end

    # Ensure scripts are executable
    talend_shell_scripts = %w(
      /var/www/talend/publishing/HFA/GetNewReleases/Populate_HFA_Pending_Requests/Populate_HFA_Pending_Requests/Populate_HFA_Pending_Requests_run.sh
      /var/www/talend/publishing/HFA/GenerateRequests/HFA_Request_File/HFA_Request_File/HFA_Request_File_run.sh
    )

    talend_shell_scripts.each do |shell_script|
      file shell_script do
        mode '0755'
        action :create
      end
    end

  end
end
