#
# Cookbook:: irrigate-jenkins
# Attributes:: default
#
# Author:: Russell de Moose (<rdemoose@theorchard.com>)
#

default['jenkins']['jenkins_home_dir'] = '/var/lib/jenkins'
default['jenkins']['user']             = 'jenkins'
default['jenkins']['group']            = 'jenkins'

default['jenkins']['fabric_home_dir']  = '/home/fabric_user'
default['jenkins']['fabric_user']      = 'fabric_user'

default['jenkins']['agent']['setuptools_version'] = '39.0.1'
default['jenkins']['agent']['mysql_apt_components'] = %w(
   mysql-8.4-lts
   mysql-tools
)
default['jenkins']['agent']['docker_run_limit_seconds'] = '9000'
default['jenkins']['agent']['container_clean_up_log_file'] = '/var/log/container_clean_up.log'

default['jenkins']['aws_region'] = 'us-east-1'

default['jenkins']['main']['install_method'] = 'package'
default['jenkins']['prerequisite_plugins'] = %w(junit
                                                matrix-project
                                                script-security
                                                structs
                                                ssh-credentials
                                                ssh-slaves
                                             )
default['jenkins']['latest_plugins']       = ['credentials']
default['jenkins']['pinned_plugins']       = ['token-macro']

default['jenkins']['main']['plugins']['build-pipeline-plugin']     = '1.5.6'
default['jenkins']['main']['plugins']['conditional-buildstep']     = '1.3.5'
default['jenkins']['main']['plugins']['pipeline-model-definition'] = '1.1.1'
default['jenkins']['main']['plugins']['token-macro']               = '2.1'
default['jenkins']['main']['jvm_options'] = ['-Djenkins.install.runSetupWizard=false',
                                               '-Dorg.jenkinsci.main.modules.sshd.SSHD.hostName=$(hostname -I)',
].join(' ')
default['jenkins']['main']['cli_remoting'] = false
default['jenkins']['cli_credentials_file_path']       = '/root/.jenkins_credentials'
default['jenkins']['agent_private_key_data_bag_name'] = 'jenkins_agent_ssh_private_key'
default['jenkins']['stack_name'] = 'jenkins_cluster'

# Enable/disable SSHd.
# If the port is 0, Jenkins will serve SSHd on a random port
# If the port is > 0, Jenkins will serve SSHd on that port specifically
# If the port is -1 turns off SSHd.
default['jenkins']['ssh']['port'] = -1

# Create cli jenkins user with SSH pub key
default['jenkins']['cli']['protocol'] = 'ssh'
default['jenkins']['cli']['user_name']              = 'chef_cli_user'
default['jenkins']['cli']['user_full_name']         = 'Continuous Integration'
default['jenkins']['cli_private_key_data_bag_name'] = 'jenkins_agent_ssh_private_key'
# Change cli protocol for cookbook
default['jenkins']['executor']['cli_user']          = default['jenkins']['cli']['user_name']
default['jenkins']['executor']['protocol']          = default['jenkins']['cli']['protocol']

# Set file system inotify watcher
default['jenkins']['sysctl']['params']['fs.inotify.max_user_watches'] = '20000'

default['jenkins']['accounting_nfs']['mount_directory']     = '/mnt/outfile'
default['jenkins']['accounting_nfs']['remote_endpoint']     = 'server.domain.com:/share'
default['jenkins']['accounting_nfs']['efs_access_point_id'] = 'fsap-0055f6607de02f707'
