system-config/modules/openstack_project/manifests/storyboard.pp
Clark Boylan a36b76bb51 Switch storyboard to LE cert
Once we are happy with the newly provisioned LE cert for storyboard we
can land this change to swap apache2 over to it.

Change-Id: Ib77ce8c0b6927a85f09b857ca67ad56059898a84
2021-05-24 12:41:11 -07:00

92 lines
2.6 KiB
Puppet

# == Class: openstack_project::storyboard
#
class openstack_project::storyboard(
$mysql_host = '',
$mysql_password = '',
$mysql_user = '',
$rabbitmq_user = 'storyboard',
$rabbitmq_password,
$superusers =
'puppet:///modules/openstack_project/storyboard/superusers.yaml',
$ssl_cert = undef,
$ssl_cert_file_contents = undef,
$ssl_key = undef,
$ssl_key_file_contents = undef,
$ssl_ca = undef,
$ssl_chain_file_contents = undef,
$openid_url = 'https://login.ubuntu.com/+openid',
$project_config_repo = '',
$hostname = $::fqdn,
$valid_oauth_clients = [$::fqdn],
$cors_allowed_origins = ["https://${::fqdn}"],
$sender_email_address = undef,
$default_url = undef,
) {
class { 'project_config':
url => $project_config_repo,
}
class { 'openstack_project::server': }
class { '::storyboard::mysql':
mysql_database => 'storyboard',
mysql_user => $mysql_user,
mysql_user_password => $mysql_password,
}
mysql_backup::backup { 'storyboard':
require => Class['::storyboard::mysql'],
}
class { '::storyboard::cert':
ssl_cert_content => $ssl_cert_file_contents,
ssl_cert => $ssl_cert,
ssl_key_content => $ssl_key_file_contents,
ssl_key => $ssl_key,
ssl_ca_content => $ssl_chain_file_contents,
ssl_ca => $ssl_ca,
}
class { '::storyboard::application':
hostname => $hostname,
cors_allowed_origins => $cors_allowed_origins,
valid_oauth_clients => $valid_oauth_clients,
cors_max_age => 3600,
openid_url => $openid_url,
mysql_host => $mysql_host,
mysql_database => 'storyboard',
mysql_user => $mysql_user,
mysql_user_password => $mysql_password,
rabbitmq_host => 'localhost',
rabbitmq_port => 5672,
rabbitmq_vhost => '/',
rabbitmq_user => $rabbitmq_user,
rabbitmq_user_password => $rabbitmq_password,
sender_email_address => $sender_email_address,
default_url => $default_url,
}
class { '::storyboard::rabbit':
rabbitmq_user => $rabbitmq_user,
rabbitmq_user_password => $rabbitmq_password,
}
class { '::storyboard::workers':
worker_count => 5,
}
# Load the projects into the database.
class { '::storyboard::load_projects':
source => $::project_config::jeepyb_project_file,
require => $::project_config::config_dir,
}
# Load the superusers into the database
class { '::storyboard::load_superusers':
source => $superusers,
}
}