Update files part of fedocal configuration
This commit is contained in:
parent
69de001b01
commit
3fc278dadb
8 changed files with 156 additions and 46 deletions
|
@ -22,7 +22,8 @@
|
|||
dest={{ item.location }}/{{ item.dest }}
|
||||
owner=apache group=apache mode=0600
|
||||
with_items:
|
||||
- { file: fedocal_admin.cfg, location: /etc/fedocal, dest: fedocal.cfg }
|
||||
- { file: fedocal.cfg, location: /etc/fedocal, dest: fedocal.cfg }
|
||||
- { file: alembic.ini, location: /etc/fedocal, dest: alembic.ini }
|
||||
tags:
|
||||
- config
|
||||
notify:
|
||||
|
@ -33,12 +34,13 @@
|
|||
environment:
|
||||
FEDOCAL_CONFIG: /etc/fedocal/fedocal.cfg
|
||||
|
||||
- name: replace the fedocal configuration file by the one with the normal user
|
||||
- name: Install all the configuration file of fedocal
|
||||
template: src={{ item.file }}
|
||||
dest={{ item.location }}/{{ item.file }}
|
||||
owner=apache group=apache mode=0600
|
||||
with_items:
|
||||
- { file: fedocal.cfg, location: /etc/fedocal }
|
||||
- { file: alembic.ini, location: /etc/fedocal }
|
||||
- { file: fedocal.conf, location: /etc/httpd/conf.d }
|
||||
- { file: fedocal.wsgi, location: /usr/share/fedocal }
|
||||
tags:
|
||||
|
@ -46,6 +48,14 @@
|
|||
notify:
|
||||
- restart apache
|
||||
|
||||
- name: Install the reminder cron job
|
||||
template: src={{ item.file }}
|
||||
dest={{ item.location }}/{{ item.file }}
|
||||
with_items:
|
||||
- { file: 'fedocal-reminder.cron', location: /etc/cron.d }
|
||||
tags:
|
||||
- config
|
||||
|
||||
- name: set sebooleans so fedocal can talk to the db
|
||||
action: seboolean name=httpd_can_network_connect_db
|
||||
state=true
|
||||
|
|
51
roles/fedocal/templates/alembic.ini
Normal file
51
roles/fedocal/templates/alembic.ini
Normal file
|
@ -0,0 +1,51 @@
|
|||
# A generic, single database configuration.
|
||||
|
||||
[alembic]
|
||||
# path to migration scripts
|
||||
script_location = /usr/share/fedocal/alembic
|
||||
|
||||
# template used to generate migration files
|
||||
# file_template = %%(rev)s_%%(slug)s
|
||||
|
||||
# set to 'true' to run the environment during
|
||||
# the 'revision' command, regardless of autogenerate
|
||||
# revision_environment = false
|
||||
|
||||
#sqlalchemy.url = postgresql://<%= fedocal_app %>:<%= fedocal_appPassword %>@db-fedocal/fedocal
|
||||
sqlalchemy.url = postgresql://{{ fedocal_db_user }}:{{ fedocal_db_pass }}@{{ fedocal_db_host }}/{{ nuancier_db_name }}
|
||||
|
||||
|
||||
# Logging configuration
|
||||
[loggers]
|
||||
keys = root,sqlalchemy,alembic
|
||||
|
||||
[handlers]
|
||||
keys = console
|
||||
|
||||
[formatters]
|
||||
keys = generic
|
||||
|
||||
[logger_root]
|
||||
level = WARN
|
||||
handlers = console
|
||||
qualname =
|
||||
|
||||
[logger_sqlalchemy]
|
||||
level = WARN
|
||||
handlers =
|
||||
qualname = sqlalchemy.engine
|
||||
|
||||
[logger_alembic]
|
||||
level = INFO
|
||||
handlers =
|
||||
qualname = alembic
|
||||
|
||||
[handler_console]
|
||||
class = StreamHandler
|
||||
args = (sys.stderr,)
|
||||
level = NOTSET
|
||||
formatter = generic
|
||||
|
||||
[formatter_generic]
|
||||
format = %(levelname)-5.5s [%(name)s] %(message)s
|
||||
datefmt = %H:%M:%S
|
7
roles/fedocal/templates/fedocal-proxy.conf
Normal file
7
roles/fedocal/templates/fedocal-proxy.conf
Normal file
|
@ -0,0 +1,7 @@
|
|||
RewriteEngine On
|
||||
|
||||
ProxyPass <%= path %> <%= proxyurl %>/calendar
|
||||
ProxyPassReverse <%= path %> <%= proxyurl %>/calendar
|
||||
|
||||
RequestHeader set X-Forwarded-Scheme https early
|
||||
|
7
roles/fedocal/templates/fedocal-reminder.cron
Normal file
7
roles/fedocal/templates/fedocal-reminder.cron
Normal file
|
@ -0,0 +1,7 @@
|
|||
# Sends the reminder about coming meetings
|
||||
#
|
||||
# The frequency set here should be consistent with the one set in the
|
||||
# configuration file.
|
||||
#
|
||||
*/30 * * * * root FEDOCAL_CONFIG=/etc/fedocal/fedocal.cfg /usr/bin/fedocal_cron.py
|
||||
|
34
roles/fedocal/templates/fedocal.cfg
Normal file
34
roles/fedocal/templates/fedocal.cfg
Normal file
|
@ -0,0 +1,34 @@
|
|||
# Beware that the quotes around the values are mandatory
|
||||
|
||||
### Secret key for the Flask application
|
||||
SECRET_KEY='{{ fedocal_secret_key }}'
|
||||
|
||||
### url to the database server:
|
||||
#DB_URL=mysql://user:pass@host/db_name
|
||||
#DB_URL=postgres://user:pass@host/db_name
|
||||
#DB_URL="postgresql://<%= fedocal_app %>:<%= fedocal_appPassword %>@db-fedocal/fedocal"
|
||||
DB_URL='postgresql://{{ fedocal_db_user }}:{{ fedocal_db_pass }}@{{ fedocal_db_host }}/{{ nuancier_db_name }}'
|
||||
|
||||
|
||||
### The FAS group in which the admin of fedocal are
|
||||
ADMIN_GROUP='sysadmin-calendar'
|
||||
|
||||
### The address of the SMTP server used to send the reminders emails
|
||||
### via the cron job.
|
||||
### Default: 'localhost'
|
||||
SMTP_SERVER='localhost'
|
||||
|
||||
### The cron job can be set with any frequency but fedocal_cron needs
|
||||
### this information to accurately retrieve the meetings to remind and
|
||||
### avoid sending multiple reminders for a single meeting.
|
||||
### Default: 30
|
||||
CRON_FREQUENCY=30
|
||||
|
||||
### Path to the alembic configuration file
|
||||
### When creating the database, we need to tell the database which
|
||||
### revision of alembic we are at and to do this we need access to the
|
||||
### alembic.ini file.
|
||||
PATH_ALEMBIC_INI='/etc/fedocal/alembic.ini'
|
||||
|
||||
# This is required to fix login
|
||||
PREFERRED_URL_SCHEME='https'
|
23
roles/fedocal/templates/fedocal.conf
Normal file
23
roles/fedocal/templates/fedocal.conf
Normal file
|
@ -0,0 +1,23 @@
|
|||
|
||||
Alias /calendar/static /usr/lib/python2.6/site-packages/fedocal/static/default/
|
||||
|
||||
WSGIDaemonProcess fedocal user=apache maximum-requests=1000 display-name=fedocal processes=2 threads=1
|
||||
WSGISocketPrefix run/wsgi
|
||||
WSGIRestrictStdout On
|
||||
WSGIRestrictSignal Off
|
||||
WSGIPythonOptimize 1
|
||||
|
||||
WSGIScriptAlias /calendar /usr/share/fedocal/fedocal.wsgi
|
||||
|
||||
<Location />
|
||||
WSGIProcessGroup fedocal
|
||||
<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>
|
22
roles/fedocal/templates/fedocal.wsgi
Normal file
22
roles/fedocal/templates/fedocal.wsgi
Normal file
|
@ -0,0 +1,22 @@
|
|||
#-*- 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__ = ['SQLAlchemy >= 0.7', 'jinja2 >= 2.4']
|
||||
import pkg_resources
|
||||
|
||||
import os
|
||||
## Set the environment variable pointing to the configuration file
|
||||
os.environ['FEDOCAL_CONFIG'] = '/etc/fedocal/fedocal.cfg'
|
||||
|
||||
## The following is only needed if you did not install fedocal
|
||||
## as a python module (for example if you run it from a git clone).
|
||||
#import sys
|
||||
#sys.path.insert(0, '/path/to/fedocal/')
|
||||
|
||||
|
||||
## The most import line to make the wsgi working
|
||||
from fedocal import APP as application
|
||||
|
|
@ -1,44 +0,0 @@
|
|||
# Beware that the quotes around the values are mandatory
|
||||
|
||||
import os
|
||||
|
||||
### Secret key for the Flask application
|
||||
SECRET_KEY='{{ nuancier_secret_key }}'
|
||||
|
||||
### url to the database server:
|
||||
DB_URL='postgresql://{{ nuancier_db_admin_user }}:{{ nuancier_db_admin_pass }}@{{ nuancier_db_host }}/{{ nuancier_db_name }}'
|
||||
|
||||
### The FAS groups in which the admin of nuancier-lite are
|
||||
### This can either be a single group or multiple, defined between
|
||||
### parenthesis.
|
||||
ADMIN_GROUP=('sysadmin-nuancier', 'sysadmin-main')
|
||||
|
||||
|
||||
### Static folder
|
||||
### The folder containing the css, javascript as well as the pictures
|
||||
### candidates and the cache of those pictures.
|
||||
### This directory should be somewhere where apache can access, it's
|
||||
### proposed in '/var/www/nuancier'
|
||||
STATIC_FOLDER = '/var/www/nuancier'
|
||||
|
||||
### Pictures folder
|
||||
### The folder in which are located the pictures of the different elections.
|
||||
### This folder does not have to be writable by the application but should be
|
||||
### readable.
|
||||
### /!\ It should be the full path to this folder
|
||||
PICTURE_FOLDER = os.path.join(STATIC_FOLDER, 'pictures')
|
||||
|
||||
### Cache folder
|
||||
### The folder in which the application will generate thumbnails of the pictures
|
||||
### selected for an election.
|
||||
### This folder *must* be *writable* by the application.
|
||||
### /!\ It should be the full path to this folder
|
||||
CACHE_FOLDER = os.path.join(STATIC_FOLDER, 'cache')
|
||||
|
||||
### Size of the thumbnails (keeping the ratio)
|
||||
### In order to reduce the loading page of the election page that might contains
|
||||
### more than hundreds pictures, the application generates thumbnails of each
|
||||
### pictures.
|
||||
### The application will keep the ratio intact and just make sure that either
|
||||
### length or width of the picture fit the length and width specified below.
|
||||
THUMB_SIZE = (256, 256)
|
Loading…
Add table
Add a link
Reference in a new issue