Clark Boylan 89b15fec21 Flot sources moved, update our minimization to accomodate
Flot sources moved from the repo top level dir into the source dir.
Accomodate this when we minimize and copy those js files.

Change-Id: I3522271361fc43550ac1c6dc2a690c5cc5ce9c64
2020-01-27 15:38:39 -08:00

190 lines
5.2 KiB
Puppet

# == Class: openstack_project::status
#
class openstack_project::status (
$gerrit_host,
$gerrit_ssh_host_key,
$reviewday_ssh_public_key = '',
$reviewday_ssh_private_key = '',
$recheck_ssh_public_key,
$recheck_ssh_private_key,
$recheck_bot_passwd,
$recheck_bot_nick,
$status_base_url = 'http://status.openstack.org',
$status_title = 'OpenStack',
$graphite_render_url = 'http://graphite.opendev.org/render/',
$openstack_health_api_endpoint = 'http://health.openstack.org',
) {
include openstack_project
file { '/home/jenkins':
ensure => absent,
}
include ::httpd
if ! defined(Httpd::Mod['rewrite']) {
httpd::mod { 'rewrite':
ensure => present,
}
}
if ! defined(Httpd::Mod['proxy']) {
httpd::mod { 'proxy':
ensure => present,
}
}
if ! defined(Httpd::Mod['proxy_http']) {
httpd::mod { 'proxy_http':
ensure => present,
}
}
file { '/srv/static':
ensure => directory,
}
###########################################################
# Status - Index
::httpd::vhost { 'status.openstack.org':
port => 80,
priority => '50',
docroot => '/srv/static/status',
template => 'openstack_project/status.vhost.erb',
require => File['/srv/static/status'],
}
file { '/srv/static/status':
ensure => directory,
}
package { 'libjs-jquery':
ensure => present,
}
package { 'yui-compressor':
ensure => present,
}
file { '/srv/static/status/index.html':
ensure => present,
source => 'puppet:///modules/openstack_project/status/index.html',
require => File['/srv/static/status'],
}
file { '/srv/static/status/favicon.ico':
ensure => present,
source => 'puppet:///modules/openstack_project/status/favicon.ico',
require => File['/srv/static/status'],
}
file { '/srv/static/status/common.js':
ensure => present,
content => template('openstack_project/status/common.js.erb'),
require => File['/srv/static/status'],
replace => true,
}
file { '/srv/static/status/jquery.min.js':
ensure => link,
target => '/usr/share/javascript/jquery/jquery.min.js',
require => [File['/srv/static/status'],
Package['libjs-jquery']],
}
vcsrepo { '/opt/jquery-visibility':
ensure => latest,
provider => git,
revision => 'master',
source => 'https://github.com/mathiasbynens/jquery-visibility.git',
}
exec { 'install_jquery-visibility' :
command => 'yui-compressor -o /srv/static/status/jquery-visibility.min.js /opt/jquery-visibility/jquery-visibility.js',
path => '/bin:/usr/bin',
refreshonly => true,
subscribe => Vcsrepo['/opt/jquery-visibility'],
require => [
File['/srv/static/status'],
Package['yui-compressor'],
Vcsrepo['/opt/jquery-visibility'],
],
}
vcsrepo { '/opt/jquery-graphite':
ensure => latest,
provider => git,
revision => 'master',
source => 'https://github.com/prestontimmons/graphitejs.git',
}
file { '/srv/static/status/jquery-graphite.js':
ensure => link,
target => '/opt/jquery-graphite/jquery.graphite.js',
require => [File['/srv/static/status'],
Vcsrepo['/opt/jquery-graphite']],
}
vcsrepo { '/opt/flot':
ensure => latest,
provider => git,
revision => 'master',
source => 'https://github.com/flot/flot.git',
}
exec { 'install_flot' :
command => 'yui-compressor -o \'.js$:.min.js\' /opt/flot/source/jquery.flot*.js; mv /opt/flot/source/jquery.flot*.min.js /srv/static/status',
path => '/bin:/usr/bin',
refreshonly => true,
subscribe => Vcsrepo['/opt/flot'],
require => [
File['/srv/static/status'],
Package['yui-compressor'],
Vcsrepo['/opt/flot'],
],
}
###########################################################
# Status - elastic-recheck
include elastic_recheck
class { 'elastic_recheck::bot':
gerrit_host => $gerrit_host,
gerrit_ssh_host_key => $gerrit_ssh_host_key,
recheck_ssh_public_key => $recheck_ssh_public_key,
recheck_ssh_private_key => $recheck_ssh_private_key,
recheck_bot_passwd => $recheck_bot_passwd,
recheck_bot_nick => $recheck_bot_nick,
}
# sets up the cron update scripts for static pages
include elastic_recheck::cron
###########################################################
# Status - reviewday
include reviewday
reviewday::site { 'reviewday':
git_url => 'https://opendev.org/openstack/reviewday',
serveradmin => 'webmaster@openstack.org',
httproot => '/srv/static/reviewday',
gerrit_url => 'review.opendev.org',
gerrit_port => '29418',
gerrit_user => 'reviewday',
reviewday_gerrit_ssh_key => $gerrit_ssh_host_key,
reviewday_rsa_pubkey_contents => $reviewday_ssh_public_key,
reviewday_rsa_key_contents => $reviewday_ssh_private_key,
}
###########################################################
# Status - openstack-health
include 'openstack_health'
openstack_health::site { 'openstack-health':
httproot => '/srv/static/openstack-health',
api_endpoint => $openstack_health_api_endpoint
}
}