system-config/modules/openstack_project/manifests/eavesdrop.pp

122 lines
3.4 KiB
Puppet

# Eavesdrop server
class openstack_project::eavesdrop (
$nickpass = '',
$statusbot_nick = '',
$statusbot_password = '',
$statusbot_server = '',
$statusbot_channels = '',
$statusbot_auth_nicks = '',
$statusbot_wiki_user = '',
$statusbot_wiki_password = '',
$statusbot_wiki_url = '',
$statusbot_wiki_pageid = '',
$statusbot_wiki_successpageid = '',
$statusbot_wiki_successpageurl = '',
$statusbot_wiki_thankspageid = '',
$statusbot_wiki_thankspageurl = '',
$statusbot_irclogs_url = '',
$statusbot_twitter = undef,
$statusbot_twitter_key = '',
$statusbot_twitter_secret = '',
$statusbot_twitter_token_key = '',
$statusbot_twitter_token_secret = '',
$meetbot_channels = [],
$ptgbot_nick = '',
$ptgbot_password = '',
) {
include ::httpd
include meetbot
$vhost_extra = '
<Location /alert>
Header set Access-Control-Allow-Origin "*"
</Location>
'
meetbot::site { 'openstack':
nick => 'opendevmeet',
nickpass => $nickpass,
network => 'OFTC',
server => 'irc4.oftc.net:6697',
use_ssl => 'True',
vhost_extra => $vhost_extra,
vhost_name => 'eavesdrop.openstack.org',
manage_index => false,
channels => $meetbot_channels,
}
class { 'statusbot':
nick => $statusbot_nick,
password => $statusbot_password,
server => $statusbot_server,
channels => $statusbot_channels,
auth_nicks => $statusbot_auth_nicks,
wiki_user => $statusbot_wiki_user,
wiki_password => $statusbot_wiki_password,
wiki_url => $statusbot_wiki_url,
wiki_pageid => $statusbot_wiki_pageid,
wiki_successpageid => $statusbot_wiki_successpageid,
wiki_successpageurl => $statusbot_wiki_successpageurl,
wiki_thankspageid => $statusbot_wiki_thankspageid,
wiki_thankspageurl => $statusbot_wiki_thankspageurl,
irclogs_url => $statusbot_irclogs_url,
twitter => $statusbot_twitter,
twitter_key => $statusbot_twitter_key,
twitter_secret => $statusbot_twitter_secret,
twitter_token_key => $statusbot_twitter_token_key,
twitter_token_secret => $statusbot_twitter_token_secret,
}
file { '/srv/meetbot-openstack/alert':
ensure => link,
target => '/var/lib/statusbot/www',
require => Class['statusbot'],
}
if ! defined(Httpd::Mod['headers']) {
httpd::mod { 'headers':
ensure => present,
}
}
file { '/srv/yaml2ical':
ensure => directory,
owner => 'zuul',
group => 'zuul',
}
file { '/srv/yaml2ical/calendars':
ensure => directory,
owner => 'zuul',
group => 'zuul',
require => File['/srv/yaml2ical'],
}
file { '/srv/meetbot-openstack/index.html':
ensure => link,
target => '/srv/yaml2ical/index.html',
require => File['/srv/yaml2ical'],
}
file { '/srv/meetbot-openstack/irc-meetings.ical':
ensure => link,
target => '/srv/yaml2ical/irc-meetings.ical',
require => File['/srv/yaml2ical'],
}
file { '/srv/meetbot-openstack/calendars/':
ensure => link,
target => '/srv/yaml2ical/calendars/',
require => File['/srv/yaml2ical'],
}
class { 'ptgbot':
nick => $ptgbot_nick,
password => $ptgbot_password,
channel => '#openinfra-events',
vhost_name => 'ptg.openstack.org',
}
}