
In order to get the puppet module for storyboard up to a level where we can publish it to puppetforge, I did some work on it to create separate modules which can be used by anyone to install storyboard. - API and Webclient are now installed via storyboard::application, which assumes that you can provide the DB connection criteria. - storyboard::cert is now a separate class, which accepts either files or strings, which generates the SSL certificate and chain files for storyboard. - storyboard::params is our dependency checker. - storyboard::init will install a standalone, entirely self-contained instance of storyboard. - Added various puppet module files necessary for eventual deployment to puppetforge. - Added README.md documentation for later puppetforge addition. This patch also includes a new module: example42-puppi, which is a series of convenience utilities useful for deployment. For example, puppi::netinstall (used here) will fetch tarballs and zip files and extract them into a provided directory. It also contains changes to the storyboard configuration for the new refresh token support patch in #94363 Change-Id: I6ab8c24b308df38774fc0694d218dcb5022cd899
45 lines
1.4 KiB
Puppet
45 lines
1.4 KiB
Puppet
# == Class: openstack_project::storyboard
|
|
#
|
|
class openstack_project::storyboard(
|
|
$mysql_host = '',
|
|
$mysql_password = '',
|
|
$mysql_user = '',
|
|
$sysadmins = [],
|
|
$ssl_cert_file_contents = undef,
|
|
$ssl_key_file_contents = undef,
|
|
$ssl_chain_file_contents = undef,
|
|
$openid_url = 'https://login.launchpad.net/+openid'
|
|
) {
|
|
class { 'openstack_project::server':
|
|
sysadmins => $sysadmins,
|
|
iptables_public_tcp_ports => [80, 443],
|
|
}
|
|
|
|
class { '::storyboard::cert':
|
|
ssl_cert_content => $ssl_cert_file_contents,
|
|
ssl_cert => '/etc/ssl/certs/storyboard.openstack.org.pem',
|
|
ssl_key_content => $ssl_key_file_contents,
|
|
ssl_key => '/etc/ssl/private/storyboard.openstack.org.key',
|
|
ssl_ca_content => $ssl_chain_file_contents
|
|
}
|
|
|
|
class { '::storyboard::application':
|
|
hostname => $::fqdn,
|
|
openid_url => $openid_url,
|
|
mysql_host => $mysql_host,
|
|
mysql_database => 'storyboard',
|
|
mysql_user => $mysql_user,
|
|
mysql_user_password => $mysql_password
|
|
}
|
|
|
|
# Load the projects into the database.
|
|
class { '::storyboard::load_projects':
|
|
source => 'puppet:///modules/openstack_project/review.projects.yaml',
|
|
}
|
|
|
|
# Load the superusers into the database
|
|
class { '::storyboard::load_superusers':
|
|
source => 'puppet:///modules/openstack_project/storyboard/superusers.yaml',
|
|
}
|
|
}
|