Setting Up Ansible For ptgbot

Heavily taken from statusbot, but removed wiki and twitter defaults.

Change-Id: I7b1958dbe37e5d25b8fde746235c88a4d6763ffd
This commit is contained in:
Kendall Nelson 2021-08-02 03:43:25 -07:00 committed by Ian Wienand
parent a24310c17f
commit 62e30e52de
9 changed files with 138 additions and 0 deletions

View File

@ -0,0 +1 @@
Deploy ptgbot

View File

@ -0,0 +1,10 @@
ptgbot_nick: 'opendevptg_{{ 100 | random }}'
ptgbot_pass: ''
ptgbot_server: 'irc.oftc.net'
ptgbot_auth_nicks:
- testonly
ptgbot_channels:
- opendev-sandbox
ptgbot_irclogs_url : 'https://meetings.opendev.org/'

View File

@ -0,0 +1,18 @@
# Version 2 is the latest that is supported by docker-compose in
# Ubuntu Xenial.
version: '2'
services:
ptgbot:
image: docker.io/opendevorg/ptgbot:latest
network_mode: host
restart: always
logging:
driver: syslog
options:
tag: "docker-ptgbot"
volumes:
# This contains the main config, channel config, and ssh key
- /etc/ptgbot:/etc/ptgbot
- /var/lib/ptgbot:/var/lib/ptgbot
- /var/log/ptgbot:/var/log/ptgbot

View File

@ -0,0 +1,44 @@
[loggers]
keys=root,ptgbot,irc
[handlers]
keys=console,debug,normal
[formatters]
keys=simple
[logger_root]
level=WARNING
handlers=console
[logger_ptgbot]
level=DEBUG
handlers=debug,normal
qualname=ptgbot
[logger_irc]
level=DEBUG
handlers=debug,normal
qualname=irc
[handler_console]
level=WARNING
class=StreamHandler
formatter=simple
args=(sys.stdout,)
[handler_debug]
level=DEBUG
class=logging.handlers.TimedRotatingFileHandler
formatter=simple
args=('/var/log/ptgbot/ptgbot_debug.log', 'midnight', 1, 30,)
[handler_normal]
level=INFO
class=logging.handlers.TimedRotatingFileHandler
formatter=simple
args=('/var/log/ptgbot/ptgbot.log', 'midnight', 1, 30,)
[formatter_simple]
format=%(asctime)s %(levelname)s %(name)s: %(message)s
datefmt=

View File

@ -0,0 +1,52 @@
- name: Ensure ptgbot directories
file:
state: directory
path: '{{ item }}'
owner: root
group: root
mode: 0755
loop:
- /etc/ptgbot
- /etc/ptgbot-docker
- /var/log/ptgbot
- /var/lib/ptgbot
- /var/lib/ptgbot/www
- name: Put ptgbot config in place
template:
src: ptgbot.config.j2
dest: /etc/ptgbot/ptgbot.config
owner: root
group: root
mode: 0600
register: ptgbot_config_copied
- name: Put ptgbot logging config in place
copy:
src: logging.config
dest: /etc/ptgbot/logging.config
owner: root
group: root
mode: 0644
- name: Put docker-compose file in place
copy:
src: docker-compose.yaml
dest: /etc/ptgbot-docker/docker-compose.yaml
owner: root
group: root
mode: 0644
- name: Run docker-compose pull
shell:
cmd: docker-compose pull
chdir: /etc/ptgbot-docker/
- name: Run docker-compose up
shell:
cmd: "docker-compose up -d {{ ptgbot_config_copied is changed | ternary('--force-recreate', '') }}"
chdir: /etc/ptgbot-docker/
- name: Run docker prune to cleanup unneeded images
shell:
cmd: docker image prune -f

View File

@ -0,0 +1,9 @@
{
"irc_nick": "{{ ptgbot_nick }}",
"irc_pass": "{{ ptgbot_pass }}",
"irc_server": "{{ ptgbot_server }}",
"irc_port": 6697,
"irc_channel": "{{ ptgbot_channels | join(',') }}",
"db_filename": "/var/lib/ptgbot/www/ptg.json",
"log_config": "/etc/ptgbot/logging.config"
}

View File

@ -7,6 +7,7 @@
- sync-project-config
- accessbot
- gerritbot
- ptgbot
- statusbot
- limnoria
- matrix-eavesdrop

View File

@ -488,6 +488,7 @@
- playbooks/roles/iptables/
- playbooks/roles/accessbot
- playbooks/roles/limnoria
- playbooks/roles/ptgbot
- playbooks/roles/statusbot
- playbooks/roles/logrotate
- playbooks/roles/matrix-eavesdrop

View File

@ -132,6 +132,7 @@
- statusbot-container-image
- ircbot-container-image
- matrix-eavesdrop-container-image
- ptgbot-container-image
nodeset:
nodes:
- name: bridge.openstack.org
@ -162,6 +163,7 @@
- playbooks/roles/matrix-eavesdrop
- playbooks/roles/matrix-gerritbot
- playbooks/roles/statusbot
- playbooks/roles/ptgbot
- playbooks/zuul/templates/group_vars/eavesdrop.yaml.j2
- docker/accessbot/
- docker/ircbot