Set up mote webapp role
This commit is contained in:
parent
5b606d4a19
commit
f5de255fd3
4 changed files with 159 additions and 0 deletions
72
roles/mote/tasks/main.yml
Normal file
72
roles/mote/tasks/main.yml
Normal file
|
@ -0,0 +1,72 @@
|
||||||
|
---
|
||||||
|
# Configuration for the mote webapp
|
||||||
|
|
||||||
|
- name: install needed packages
|
||||||
|
yum: pkg={{ item }} state=present
|
||||||
|
with_items:
|
||||||
|
- mote
|
||||||
|
tags:
|
||||||
|
- packages
|
||||||
|
|
||||||
|
- name: copy sundry mote configuration
|
||||||
|
template: src={{ item.file }}
|
||||||
|
dest={{ item.location }}/{{ item.dest }}
|
||||||
|
owner=apache group=apache mode=0600
|
||||||
|
with_items:
|
||||||
|
- { file: mote_config.py, location: /etc/mote, dest: config.py }
|
||||||
|
- { file: alembic.ini, location: /etc/nuancier, dest: alembic.ini }
|
||||||
|
changed_when: "1 != 1"
|
||||||
|
tags:
|
||||||
|
- config
|
||||||
|
notify:
|
||||||
|
- restart apache
|
||||||
|
|
||||||
|
- name: create the cache folder where nuancier creates the thumbnails
|
||||||
|
action: file state=directory
|
||||||
|
path=/var/cache/nuancier/cache
|
||||||
|
owner=apache group=apache mode=0700
|
||||||
|
tags:
|
||||||
|
- setup
|
||||||
|
|
||||||
|
- name: replace the mote configuration file by the one with the normal user
|
||||||
|
template: src={{ item.file }}
|
||||||
|
dest="{{ item.location }}/{{ item.file }}"
|
||||||
|
owner=apache group=apache mode=0600
|
||||||
|
changed_when: "1 != 1"
|
||||||
|
with_items:
|
||||||
|
- { file: mote_config.py, location: /etc/mote, dest: config.py }
|
||||||
|
- { file: mote.conf, location: /etc/httpd/conf.d }
|
||||||
|
- { file: mote.wsgi, location: /usr/share/mote }
|
||||||
|
tags:
|
||||||
|
- config
|
||||||
|
notify:
|
||||||
|
- restart apache
|
||||||
|
- restart memcached
|
||||||
|
|
||||||
|
- name: set sebooleans so nuancier can talk to the db
|
||||||
|
action: seboolean name=httpd_can_network_connect_db
|
||||||
|
state=true
|
||||||
|
persistent=true
|
||||||
|
|
||||||
|
- name: apply selinux type to static files
|
||||||
|
file: >
|
||||||
|
dest=/usr/lib/python2.7/site-packages/mote/static/
|
||||||
|
setype=httpd_sys_content_t
|
||||||
|
state=directory
|
||||||
|
recurse=yes
|
||||||
|
- name: apply selinux type to meetbot files
|
||||||
|
file: >
|
||||||
|
dest=/srv/web/meetbot/
|
||||||
|
setype=httpd_sys_content_t
|
||||||
|
state=directory
|
||||||
|
recurse=yes
|
||||||
|
|
||||||
|
- name: set sebooleans so apache can use memcached
|
||||||
|
action: seboolean name=httpd_can_network_memcache
|
||||||
|
state=true
|
||||||
|
persistent=true
|
||||||
|
|
||||||
|
- name: apply selinux type to the wsgi file
|
||||||
|
file: >
|
||||||
|
dest=/usr/share/mote/mote.wsgi
|
||||||
|
setype=httpd_sys_content_t
|
24
roles/mote/templates/mote.conf
Normal file
24
roles/mote/templates/mote.conf
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
# Apache configuration file for mote
|
||||||
|
|
||||||
|
Alias /static /usr/lib/python2.7/site-packages/mote/static
|
||||||
|
|
||||||
|
WSGIDaemonProcess mote user=apache maximum-requests=1000 display-name=mote processes=2 threads=1
|
||||||
|
WSGISocketPrefix run/wsgi
|
||||||
|
WSGIRestrictStdout On
|
||||||
|
WSGIRestrictSignal Off
|
||||||
|
WSGIPythonOptimize 1
|
||||||
|
|
||||||
|
WSGIScriptAlias / /usr/share/mote/mote.wsgi
|
||||||
|
|
||||||
|
<Location />
|
||||||
|
WSGIProcessGroup mote
|
||||||
|
<IfModule mod_authz_core.c>
|
||||||
|
# Apache 2.4
|
||||||
|
Require all granted
|
||||||
|
</IfModule>
|
||||||
|
<IfModule !mod_authz_core.c>
|
||||||
|
# Apache 2.2
|
||||||
|
Order deny,allow
|
||||||
|
Allow from all
|
||||||
|
</IfModule>
|
||||||
|
</Location>
|
24
roles/mote/templates/mote.wsgi
Normal file
24
roles/mote/templates/mote.wsgi
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
#-*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
# The three lines below are required to run on EL6 as EL6 has
|
||||||
|
# two possible version of python-sqlalchemy and python-jinja2
|
||||||
|
# These lines make sure the application uses the correct version.
|
||||||
|
import __main__
|
||||||
|
__main__.__requires__ = ['jinja2 >= 2.4']
|
||||||
|
import pkg_resources
|
||||||
|
|
||||||
|
import os
|
||||||
|
#Set the environment variable pointing to the configuration file
|
||||||
|
os.environ['MOTE_CONFIG_FOLDER'] = '/etc/mote/'
|
||||||
|
|
||||||
|
# The following is only needed if you did not install mote
|
||||||
|
# as a python module (for example if you run it from a git clone).
|
||||||
|
# import sys
|
||||||
|
# sys.path.insert(0, '/path/to/mote/')
|
||||||
|
|
||||||
|
|
||||||
|
# The most import line to make the wsgi working
|
||||||
|
from mote import app as application
|
||||||
|
from mote import soke
|
||||||
|
# Generate cache and store in memcached
|
||||||
|
soke.run()
|
39
roles/mote/templates/mote_config.py
Normal file
39
roles/mote/templates/mote_config.py
Normal file
|
@ -0,0 +1,39 @@
|
||||||
|
'''
|
||||||
|
Crawler Configuration
|
||||||
|
'''
|
||||||
|
|
||||||
|
log_endpoint = "/srv/web/meetbot"
|
||||||
|
#log_endpoint = "/home/user/mote/test_data/meetbot"
|
||||||
|
|
||||||
|
# Fedora has a "teams" folder which contains
|
||||||
|
# logs from meetings started with a certain team name
|
||||||
|
# for instance, `#startmeeting famna` will save in "/teams/famna"
|
||||||
|
# Folders not in "teams" reflect the channel name of the meeting
|
||||||
|
log_team_folder = "teams"
|
||||||
|
|
||||||
|
# Directories to ignore in crawling the logs.
|
||||||
|
# These folders are ignored. The "meetbot" folder is
|
||||||
|
# an infinite loop on Fedora's meetbot instance.
|
||||||
|
ignore_dir = "meetbot"
|
||||||
|
|
||||||
|
# Location where raw logs/minutes are stored (remote location)
|
||||||
|
meetbot_prefix = "http://meetbot.fedoraproject.org"
|
||||||
|
|
||||||
|
# Time (in seconds) after which the log/meeting cache expires
|
||||||
|
cache_expire_time = 60 * 60 * 1
|
||||||
|
|
||||||
|
|
||||||
|
'''
|
||||||
|
Development Configuration
|
||||||
|
'''
|
||||||
|
|
||||||
|
enable_debug = True
|
||||||
|
app_port = 5000
|
||||||
|
|
||||||
|
'''
|
||||||
|
General Configuration
|
||||||
|
'''
|
||||||
|
|
||||||
|
app_host = "127.0.0.1"
|
||||||
|
admin_groups = ["sysadmin-mote"]
|
||||||
|
memcached_ip = "127.0.0.1:11211"
|
Loading…
Add table
Add a link
Reference in a new issue