Setting Up Ansible For ptgbot
Heavily taken from statusbot, but removed wiki and twitter defaults. Change-Id: I7b1958dbe37e5d25b8fde746235c88a4d6763ffd
This commit is contained in:
parent
a24310c17f
commit
62e30e52de
1
playbooks/roles/ptgbot/README.rst
Normal file
1
playbooks/roles/ptgbot/README.rst
Normal file
@ -0,0 +1 @@
|
|||||||
|
Deploy ptgbot
|
10
playbooks/roles/ptgbot/defaults/main.yaml
Normal file
10
playbooks/roles/ptgbot/defaults/main.yaml
Normal 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/'
|
18
playbooks/roles/ptgbot/files/docker-compose.yaml
Normal file
18
playbooks/roles/ptgbot/files/docker-compose.yaml
Normal 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
|
44
playbooks/roles/ptgbot/files/logging.config
Normal file
44
playbooks/roles/ptgbot/files/logging.config
Normal 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=
|
52
playbooks/roles/ptgbot/tasks/main.yaml
Normal file
52
playbooks/roles/ptgbot/tasks/main.yaml
Normal 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
|
9
playbooks/roles/ptgbot/templates/ptgbot.config.j2
Normal file
9
playbooks/roles/ptgbot/templates/ptgbot.config.j2
Normal 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"
|
||||||
|
}
|
@ -7,6 +7,7 @@
|
|||||||
- sync-project-config
|
- sync-project-config
|
||||||
- accessbot
|
- accessbot
|
||||||
- gerritbot
|
- gerritbot
|
||||||
|
- ptgbot
|
||||||
- statusbot
|
- statusbot
|
||||||
- limnoria
|
- limnoria
|
||||||
- matrix-eavesdrop
|
- matrix-eavesdrop
|
||||||
|
@ -488,6 +488,7 @@
|
|||||||
- playbooks/roles/iptables/
|
- playbooks/roles/iptables/
|
||||||
- playbooks/roles/accessbot
|
- playbooks/roles/accessbot
|
||||||
- playbooks/roles/limnoria
|
- playbooks/roles/limnoria
|
||||||
|
- playbooks/roles/ptgbot
|
||||||
- playbooks/roles/statusbot
|
- playbooks/roles/statusbot
|
||||||
- playbooks/roles/logrotate
|
- playbooks/roles/logrotate
|
||||||
- playbooks/roles/matrix-eavesdrop
|
- playbooks/roles/matrix-eavesdrop
|
||||||
|
@ -132,6 +132,7 @@
|
|||||||
- statusbot-container-image
|
- statusbot-container-image
|
||||||
- ircbot-container-image
|
- ircbot-container-image
|
||||||
- matrix-eavesdrop-container-image
|
- matrix-eavesdrop-container-image
|
||||||
|
- ptgbot-container-image
|
||||||
nodeset:
|
nodeset:
|
||||||
nodes:
|
nodes:
|
||||||
- name: bridge.openstack.org
|
- name: bridge.openstack.org
|
||||||
@ -162,6 +163,7 @@
|
|||||||
- playbooks/roles/matrix-eavesdrop
|
- playbooks/roles/matrix-eavesdrop
|
||||||
- playbooks/roles/matrix-gerritbot
|
- playbooks/roles/matrix-gerritbot
|
||||||
- playbooks/roles/statusbot
|
- playbooks/roles/statusbot
|
||||||
|
- playbooks/roles/ptgbot
|
||||||
- playbooks/zuul/templates/group_vars/eavesdrop.yaml.j2
|
- playbooks/zuul/templates/group_vars/eavesdrop.yaml.j2
|
||||||
- docker/accessbot/
|
- docker/accessbot/
|
||||||
- docker/ircbot
|
- docker/ircbot
|
||||||
|
Loading…
x
Reference in New Issue
Block a user