system-config/modules/openstack_project/manifests/eavesdrop.pp
Monty Taylor 9fd2135a46 Split eavesdrop into its own playbook
Extract eavedrop into its own service playbook and
puppet manifest. While doing that, stop using jenkinsuser
on eavesdrop in favor of zuul-user.

Add the ability to override the keys for the zuul user.

Remove openstack_project::server, it doesn't do anything.

Containerize and anisblize accessbot. The structure of
how we're doing it in puppet makes it hard to actually
run the puppet in the gate. Run the script in its own
playbook so that we can avoid running it in the gate.

Change-Id: I53cb63ffa4ae50575d4fa37b24323ad13ec1bac3
2020-04-23 14:34:28 -05:00

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 => 'openstack',
nickpass => $nickpass,
network => 'FreeNode',
server => 'chat.freenode.net:7000',
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 => '#openstack-ptg',
vhost_name => 'ptg.openstack.org',
}
}