fedocal: drop everything related to fedocal in VM

Signed-off-by: Pierre-Yves Chibon <pingou@pingoured.fr>
This commit is contained in:
Pierre-Yves Chibon 2021-04-07 06:51:43 +02:00
parent a56709f808
commit 2b46beed2c
18 changed files with 0 additions and 495 deletions

View file

@ -1,49 +0,0 @@
---
# Define resources for this group of hosts here.
lvm_size: 20000
mem_size: 4096
num_cpus: 2
# for systems that do not match the above - specify the same parameter in
# the host_vars/$hostname file
tcp_ports: [ 80, 443,
# These 16 ports are used by fedmsg. One for each wsgi thread.
3000, 3001, 3002, 3003, 3004, 3005, 3006, 3007,
3008, 3009, 3010, 3011, 3012, 3013, 3014, 3015]
# Neeed for rsync from log01 for logs.
custom_rules: [ '-A INPUT -p tcp -m tcp -s 10.3.163.39 --dport 873 -j ACCEPT', '-A INPUT -p tcp -m tcp -s 192.168.1.59 --dport 873 -j ACCEPT' ]
primary_auth_source: ipa
ipa_host_group: fedocal
ipa_host_group_desc: Fedora calendaring service
ipa_client_shell_groups:
- sysadmin-noc
- sysadmin-web
- sysadmin-veteran
ipa_client_sudo_groups:
- sysadmin-web
freezes: false
# These are consumed by a task in roles/fedmsg/base/main.yml
fedmsg_certs:
- service: shell
owner: root
group: sysadmin
can_send:
- logger.log
- service: fedocal
owner: root
group: apache
can_send:
- fedocal.calendar.clear
- fedocal.calendar.delete
- fedocal.calendar.new
- fedocal.calendar.update
- fedocal.calendar.upload
- fedocal.meeting.delete
- fedocal.meeting.new
- fedocal.meeting.reminder
- fedocal.meeting.update

View file

@ -128,13 +128,6 @@ busgateway01.iad2.fedoraproject.org
[busgateway_stg]
busgateway01.stg.iad2.fedoraproject.org
[fedocal]
fedocal01.iad2.fedoraproject.org
fedocal02.iad2.fedoraproject.org
[fedocal_stg]
# fedocal01.stg.iad2.fedoraproject.org
[github2fedmsg]
github2fedmsg01.iad2.fedoraproject.org
@ -217,7 +210,6 @@ blockerbugs01.stg.iad2.fedoraproject.org
bodhi-backend01.stg.iad2.fedoraproject.org
busgateway01.stg.iad2.fedoraproject.org
datagrepper01.stg.iad2.fedoraproject.org
# fedocal01.stg.iad2.fedoraproject.org
koji01.stg.iad2.fedoraproject.org
os-node01.stg.iad2.fedoraproject.org
os-node02.stg.iad2.fedoraproject.org

View file

@ -33,7 +33,6 @@
- import_playbook: /srv/web/infra/ansible/playbooks/groups/dns.yml
- import_playbook: /srv/web/infra/ansible/playbooks/groups/download.yml
- import_playbook: /srv/web/infra/ansible/playbooks/groups/fedimg.yml
- import_playbook: /srv/web/infra/ansible/playbooks/groups/fedocal.yml
- import_playbook: /srv/web/infra/ansible/playbooks/groups/github2fedmsg.yml
- import_playbook: /srv/web/infra/ansible/playbooks/groups/ipa.yml
- import_playbook: /srv/web/infra/ansible/playbooks/groups/ipsilon.yml

View file

@ -10,8 +10,6 @@
- include_playbook: /srv/web/infra/ansible/playbooks/groups/badges-backend.yml
- include_playbook: /srv/web/infra/ansible/playbooks/groups/badges-web.yml
- include_playbook: /srv/web/infra/ansible/playbooks/groups/busgateway.yml
- include_playbook: /srv/web/infra/ansible/playbooks/groups/elections.yml
- include_playbook: /srv/web/infra/ansible/playbooks/groups/fedocal.yml
- include_playbook: /srv/web/infra/ansible/playbooks/groups/gallery.yml
- include_playbook: /srv/web/infra/ansible/playbooks/groups/koji-hub.yml
- include_playbook: /srv/web/infra/ansible/playbooks/groups/mailman.yml

View file

@ -1,65 +0,0 @@
- import_playbook: "/srv/web/infra/ansible/playbooks/include/virt-create.yml myhosts=fedocal_stg:fedocal"
- name: make the box be real
hosts: fedocal_stg:fedocal
user: root
gather_facts: True
vars_files:
- /srv/web/infra/ansible/vars/global.yml
- "/srv/private/ansible/vars.yml"
- /srv/web/infra/ansible/vars/{{ ansible_distribution }}.yml
roles:
- base
- rkhunter
- nagios_client
- hosts
- { role: openvpn/client,
when: env != "staging" }
- ipa/client
- rsyncd
- sudo
- mod_wsgi
- collectd/base
pre_tasks:
- import_tasks: "{{ tasks_path }}/yumrepos.yml"
tasks:
- import_tasks: "{{ tasks_path }}/motd.yml"
handlers:
- import_tasks: "{{ handlers_path }}/restart_services.yml"
- name: set up fedmsg
hosts: fedocal_stg:fedocal
user: root
gather_facts: True
vars_files:
- /srv/web/infra/ansible/vars/global.yml
- "/srv/private/ansible/vars.yml"
- "{{ vars_path }}/{{ ansible_distribution }}.yml"
roles:
- fedmsg/base
handlers:
- import_tasks: "{{ handlers_path }}/restart_services.yml"
- name: deploy fedocal itself
hosts: fedocal_stg:fedocal
user: root
gather_facts: True
vars_files:
- /srv/web/infra/ansible/vars/global.yml
- "/srv/private/ansible/vars.yml"
- "{{ vars_path }}/{{ ansible_distribution }}.yml"
roles:
- fedocal
handlers:
- import_tasks: "{{ handlers_path }}/restart_services.yml"

View file

@ -61,9 +61,6 @@ syncHttpLogs proxy40.vpn.fedoraproject.org
syncHttpLogs proxy101.iad2.fedoraproject.org
syncHttpLogs proxy110.iad2.fedoraproject.org
# syncHttpLogs proxy01.stg.iad2.fedoraproject.org
syncHttpLogs fedocal01.iad2.fedoraproject.org
syncHttpLogs fedocal02.iad2.fedoraproject.org
# syncHttpLogs fedocal01.stg.iad2.fedoraproject.org
syncHttpLogs datagrepper01.iad2.fedoraproject.org
# syncHttpLogs datagrepper02.iad2.fedoraproject.org
# syncHttpLogs datagrepper01.stg.iad2.fedoraproject.org

View file

@ -97,7 +97,6 @@
- ssl.py
- endpoints.py
- endpoints-anitya.py
- endpoints-fedocal.py
- endpoints-fedbadges.py
- endpoints-fmn-backend.py
- endpoints-mbs-backend.py

View file

@ -1,30 +0,0 @@
{% if datacenter == 'iad2' %}
{% if env == 'staging' %}
suffix = 'stg.iad2.fedoraproject.org'
{% else %}
suffix = 'iad2.fedoraproject.org'
vpn_suffix = 'vpn.fedoraproject.org'
{% endif %}
{% else %}
{% if env == 'staging' %}
suffix = 'stg.fedoraproject.org'
{% else %}
suffix = 'fedoraproject.org'
vpn_suffix = 'vpn.fedoraproject.org'
{% endif %}
{% endif %}
config = dict(
endpoints={
"fedocal.fedocal01": [
"tcp://fedocal01.%s:30%02i" % (suffix, i)
for i in range(2)
],
{% if env != 'staging' %}
"fedocal.fedocal02": [
"tcp://fedocal02.%s:30%02i" % (suffix, i)
for i in range(2)
],
{% endif %}
},
)

View file

@ -1,74 +0,0 @@
---
# Configuration for the fedocal webapp
- name: install needed packages
package:
state: present
name:
- fedocal
- python-psycopg2
- python-openid-cla
- python-openid-teams
- python-memcached
- libsemanage-python
tags:
- packages
- name: copy sundry fedocal configuration
template: src={{ item.file }}
dest={{ item.location }}/{{ item.dest }}
owner=apache group=apache mode=0600
with_items:
- { file: fedocal.cfg, location: /etc/fedocal, dest: fedocal.cfg }
- { file: alembic.ini, location: /etc/fedocal, dest: alembic.ini }
changed_when: "1 != 1"
tags:
- config
notify:
- restart apache
#- name: create the database scheme
# command: /usr/bin/python2 /usr/share/fedocal/fedocal_createdb.py
# environment:
# FEDOCAL_CONFIG: /etc/fedocal/fedocal.cfg
- 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: /var/www/ }
tags:
- config
notify:
- restart apache
- name: Install the reminder cron job
when: inventory_hostname.startswith('fedocal02')
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
seboolean: name=httpd_can_network_connect_db
state=true
persistent=true
- name: Install the SAR script for GDPR
when: inventory_hostname.startswith('fedocal02')
template: src={{ item.file }}
dest={{ item.location }}/{{ item.file }}
owner=apache group=apache mode=0700
with_items:
- { file: 'fedocal_sar.py', location: /usr/local/bin/ }
tags:
- config
- GDPR
- SAR

View file

@ -1,51 +0,0 @@
# 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 }}/{{ fedocal_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

View file

@ -1,6 +0,0 @@
RewriteEngine On
ProxyPass <%= path %> <%= proxyurl %>/calendar
ProxyPassReverse <%= path %> <%= proxyurl %>/calendar
RequestHeader set X-Scheme https early

View file

@ -1,6 +0,0 @@
# 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

View file

@ -1,63 +0,0 @@
# 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 }}/{{ fedocal_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'
# Make browsers send session cookie only via HTTPS
SESSION_COOKIE_SECURE = True
SESSION_COOKIE_PATH = '/calendar'
SESSION_COOKIE_NAME = 'fedocal'
# Used by SESSION_COOKIE_PATH
APPLICATION_ROOT = '/calendar/'
{% if env == 'staging' %}
APP_URL = 'https://apps.stg.fedoraproject.org/' + APPLICATION_ROOT
FAS_OPENID_ENDPOINT = 'https://id.stg.fedoraproject.org/openid/'
SITE_ROOT = 'https://apps.stg.fedoraproject.org'
SITE_URL = '%s/calendar' % SITE_ROOT
{% else %}
APP_URL = 'https://apps.fedoraproject.org/' + APPLICATION_ROOT
SITE_ROOT = 'https://apps.fedoraproject.org'
SITE_URL = '%s/calendar' % SITE_ROOT
{% endif %}
## URLs to fedmenu resources
{% if env == 'staging' %}
FEDMENU_URL = 'https://apps.stg.fedoraproject.org/fedmenu'
FEDMENU_DATA_URL = 'https://apps.stg.fedoraproject.org/js/data.js'
{% else %}
FEDMENU_URL = 'https://apps.fedoraproject.org/fedmenu'
FEDMENU_DATA_URL = 'https://apps.fedoraproject.org/js/data.js'
{% endif %}

View file

@ -1,23 +0,0 @@
Alias /calendar/static /usr/lib/python2.7/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 /var/www/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>

View file

@ -1,22 +0,0 @@
#-*- 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

View file

@ -1,77 +0,0 @@
#!/usr/bin/python
from __future__ import unicode_literals, print_function
import os
import json
import sys
if 'FEDOCAL_CONFIG' not in os.environ \
and os.path.exists('/etc/fedocal/fedocal.cfg'):
os.environ['FEDOCAL_CONFIG'] = '/etc/fedocal/fedocal.cfg'
from fedocal import SESSION # noqa
from fedocal.fedocallib import model # noqa
def get_user_calendars(email):
''' Return fedocal.fedocallib.model.Calendar objects related to the
specified user.
'''
query = SESSION.query(
model.Calendar
).filter(
model.Calendar.calendar_contact == email
).order_by(
model.Calendar.calendar_name
)
return query.all()
def get_user_meetings(username):
''' Return fedocal.fedocallib.model.Meeting objects related to the
specified user.
'''
query = SESSION.query(
model.Meeting
).filter(
model.Meeting.meeting_id == model.MeetingsUsers.meeting_id
).filter(
model.MeetingsUsers.username == username
).order_by(
model.Meeting.meeting_id
)
return query.all()
def main():
''' Prints out all the calendar and meeting related to the username
specified in the SAR_USERNAME environment variable.
If no such environment variable is available, the script will bail.
'''
email = os.getenv('SAR_EMAIL')
username = os.getenv('SAR_USERNAME')
if not username:
print('An username is required to query fedocal')
return 1
output = {}
# Get all calendar related to this user.
output['calendars'] = [
calendar.to_json()
for calendar in get_user_calendars(email)
]
output['meetings'] = [
meeting.to_json()
for meeting in get_user_meetings(username)
]
print(json.dumps(
output, sort_keys=True, indent=4, separators=(',', ': ')
).encode('utf-8'))
if __name__ == '__main__':
sys.exit(main())

View file

@ -103,15 +103,6 @@ backend blockerbugs-backend
server blockerbugs01 blockerbugs01:80 check inter 10s rise 1 fall 2
option httpchk GET /blockerbugs
frontend fedocal-frontend
bind 0.0.0.0:10023
default_backend fedocal-backend
backend fedocal-backend
balance hdr(appserver)
server fedocal01 fedocal01:80 check inter 10s rise 1 fall 2
option httpchk GET /calendar
# IMPORTANT: 10023-10026 will NOT work because of selinux policies
frontend datagrepper-frontend

View file

@ -77,11 +77,6 @@ backend blockerbugs {
.port = "10022";
}
backend fedocal {
.host = "localhost";
.port = "10023";
}
backend kerneltest {
.host = "localhost";
.port = "10038";