Project

General

Profile

Download (3.4 KB) Statistics
| Branch: | Tag: | Revision:
# @summary Install and configure the katello application itself
#
# @param rest_client_timeout
# Timeout for Katello rest API
#
# @param use_pulp_2_for_file
# Configure Katello to use Pulp 2 for file content
#
# @param use_pulp_2_for_docker
# Configure Katello to use Pulp 2 for docker content
#
# @param repo_export_dir
# Create a repository export directory for Katello to use
#
class katello::application (
Integer[0] $rest_client_timeout = 3600,
Boolean $use_pulp_2_for_file = false,
Boolean $use_pulp_2_for_docker = false,
Stdlib::Absolutepath $repo_export_dir = '/var/lib/pulp/katello-export',
) {
include foreman
include certs
include certs::apache
include certs::candlepin
include certs::foreman
include certs::pulp_client
include certs::qpid
include katello::params

include katello::qpid_client
User<|title == $foreman::user|>{groups +> 'qpidd'}

foreman_config_entry { 'pulp_client_cert':
value => $certs::pulp_client::client_cert,
ignore_missing => false,
require => [Class['certs::pulp_client'], Foreman::Rake['db:seed']],
}

foreman_config_entry { 'pulp_client_key':
value => $certs::pulp_client::client_key,
ignore_missing => false,
require => [Class['certs::pulp_client'], Foreman::Rake['db:seed']],
}

include foreman::plugin::tasks

Class['certs', 'certs::ca', 'certs::apache'] ~> Class['apache::service']
Class['certs', 'certs::ca', 'certs::qpid'] ~> Class['foreman::plugin::tasks']

# Used in katello.yaml.erb
$enable_ostree = $katello::params::enable_ostree
$enable_yum = $katello::params::enable_yum
$enable_file = $katello::params::enable_file
$enable_puppet = $katello::params::enable_puppet
$enable_docker = $katello::params::enable_docker
$enable_deb = $katello::params::enable_deb
$pulp_url = $katello::params::pulp_url
$pulp_ca_cert = $certs::katello_server_ca_cert # TODO: certs::apache::...
$candlepin_url = $katello::params::candlepin_url
$candlepin_oauth_key = $katello::params::candlepin_oauth_key
$candlepin_oauth_secret = $katello::params::candlepin_oauth_secret
$candlepin_ca_cert = $certs::ca_cert
$candlepin_events_ssl_cert = $certs::candlepin::client_cert
$candlepin_events_ssl_key = $certs::candlepin::client_key
$crane_url = $katello::params::crane_url
$crane_ca_cert = $certs::katello_server_ca_cert
$postgresql_evr_package = $katello::params::postgresql_evr_package
$manage_db = $foreman::db_manage

# Katello database seeding needs candlepin
Anchor <| title == 'katello::repo' or title == 'katello::candlepin' |> ->
foreman::plugin { 'katello':
package => $foreman::plugin_prefix.regsubst(/foreman_/, 'katello'),
config => template('katello/katello.yaml.erb'),
config_file => "${foreman::plugin_config_dir}/katello.yaml",
}

if $manage_db {
package { $postgresql_evr_package:
ensure => installed,
}
}

foreman::config::apache::fragment { 'katello':
ssl_content => file('katello/katello-apache-ssl.conf'),
}

if $foreman::jobs_manage_service {
foreman::dynflow::worker { 'worker-hosts-queue':
queues => ['hosts_queue'],
}
}

Anchor <| title == 'katello::pulp' |> ->
exec { "mkdir -p ${repo_export_dir}":
path => ['/bin', '/usr/bin'],
creates => $repo_export_dir,
} ->
file { $repo_export_dir:
ensure => directory,
owner => $foreman::user,
group => $foreman::group,
mode => '0755',
}
}
(1-1/9)