Merge "Setting Up Ansible For ptgbot"
This commit is contained in:
commit
50c5727d42
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
|
||||
- accessbot
|
||||
- gerritbot
|
||||
- ptgbot
|
||||
- statusbot
|
||||
- limnoria
|
||||
- matrix-eavesdrop
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user