fedora-hubs: delete unused ansible role + config
Signed-off-by: Clement Verna <cverna@tutanota.com>
This commit is contained in:
parent
ba71e878c2
commit
18048e10ed
32 changed files with 0 additions and 846 deletions
|
@ -113,6 +113,5 @@ csi_relationship: |
|
||||||
* Blockerbugs checks bodhi for lists of updates.
|
* Blockerbugs checks bodhi for lists of updates.
|
||||||
* fedora-packages will try to query bodhi for the release status of
|
* fedora-packages will try to query bodhi for the release status of
|
||||||
updates.
|
updates.
|
||||||
* fedora-hubs has some widgets that display bodhi update information.
|
|
||||||
* fedora-easy-karma, abrt, 'fedpkg update', an eclipse plugin and other
|
* fedora-easy-karma, abrt, 'fedpkg update', an eclipse plugin and other
|
||||||
client tools make queries to the bodhi webapp here.
|
client tools make queries to the bodhi webapp here.
|
||||||
|
|
|
@ -116,6 +116,5 @@ csi_relationship: |
|
||||||
* Blockerbugs checks bodhi for lists of updates.
|
* Blockerbugs checks bodhi for lists of updates.
|
||||||
* fedora-packages will try to query bodhi for the release status of
|
* fedora-packages will try to query bodhi for the release status of
|
||||||
updates.
|
updates.
|
||||||
* fedora-hubs has some widgets that display bodhi update information.
|
|
||||||
* fedora-easy-karma, abrt, 'fedpkg update', an eclipse plugin and other
|
* fedora-easy-karma, abrt, 'fedpkg update', an eclipse plugin and other
|
||||||
client tools make queries to the bodhi webapp here.
|
client tools make queries to the bodhi webapp here.
|
||||||
|
|
|
@ -1,33 +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 ]
|
|
||||||
|
|
||||||
fas_client_groups: sysadmin-noc,sysadmin-web,sysadmin-hubs,sysadmin-veteran
|
|
||||||
|
|
||||||
# These are consumed by a task in roles/fedmsg/base/tasks/main.yml
|
|
||||||
fedmsg_certs:
|
|
||||||
- service: shell
|
|
||||||
owner: hubs
|
|
||||||
group: hubs
|
|
||||||
can_send:
|
|
||||||
- logger.log
|
|
||||||
- hubs.user.created
|
|
||||||
- hubs.user.role.added
|
|
||||||
- hubs.user.role.changed
|
|
||||||
- hubs.user.role.removed
|
|
||||||
- hubs.hub.created
|
|
||||||
- hubs.hub.updated
|
|
||||||
- hubs.widget.updated
|
|
||||||
|
|
||||||
# Used by the hubs role
|
|
||||||
hubs_url_hostname: hubs.stg.fedoraproject.org
|
|
||||||
hubs_db_host: db01.stg.phx2.fedoraproject.org
|
|
||||||
hubs_oidc_url: id.stg.fedoraproject.org
|
|
||||||
hubs_oidc_secret: "{{ hubs_stg_oidc_secret }}"
|
|
|
@ -138,7 +138,6 @@
|
||||||
- import_playbook: /srv/web/infra/ansible/playbooks/hosts/fedora-bootstrap.fedorainfracloud.org.yml
|
- import_playbook: /srv/web/infra/ansible/playbooks/hosts/fedora-bootstrap.fedorainfracloud.org.yml
|
||||||
- import_playbook: /srv/web/infra/ansible/playbooks/hosts/fedimg-dev.fedorainfracloud.org.yml
|
- import_playbook: /srv/web/infra/ansible/playbooks/hosts/fedimg-dev.fedorainfracloud.org.yml
|
||||||
- import_playbook: /srv/web/infra/ansible/playbooks/hosts/glittergallery-dev.fedorainfracloud.org.yml
|
- import_playbook: /srv/web/infra/ansible/playbooks/hosts/glittergallery-dev.fedorainfracloud.org.yml
|
||||||
- import_playbook: /srv/web/infra/ansible/playbooks/hosts/hubs-dev.fedorainfracloud.org.yml
|
|
||||||
- import_playbook: /srv/web/infra/ansible/playbooks/hosts/iddev.fedorainfracloud.org.yml
|
- import_playbook: /srv/web/infra/ansible/playbooks/hosts/iddev.fedorainfracloud.org.yml
|
||||||
- import_playbook: /srv/web/infra/ansible/playbooks/hosts/lists-dev.fedorainfracloud.org.yml
|
- import_playbook: /srv/web/infra/ansible/playbooks/hosts/lists-dev.fedorainfracloud.org.yml
|
||||||
- import_playbook: /srv/web/infra/ansible/playbooks/hosts/magazine2.fedorainfracloud.org.yml
|
- import_playbook: /srv/web/infra/ansible/playbooks/hosts/magazine2.fedorainfracloud.org.yml
|
||||||
|
|
|
@ -290,12 +290,6 @@
|
||||||
cert_name: "{{wildcard_cert_name}}"
|
cert_name: "{{wildcard_cert_name}}"
|
||||||
tags: ostree
|
tags: ostree
|
||||||
|
|
||||||
- role: httpd/website
|
|
||||||
site_name: hubs.fedoraproject.org
|
|
||||||
sslonly: true
|
|
||||||
server_aliases: [hubs.stg.fedoraproject.org]
|
|
||||||
cert_name: "{{wildcard_cert_name}}"
|
|
||||||
|
|
||||||
- role: httpd/website
|
- role: httpd/website
|
||||||
site_name: flocktofedora.org
|
site_name: flocktofedora.org
|
||||||
server_aliases:
|
server_aliases:
|
||||||
|
|
|
@ -78,29 +78,6 @@ config = dict(
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
|
||||||
# For fedora-hubs (not fedora-apps)
|
|
||||||
dict(
|
|
||||||
network='chat.freenode.net',
|
|
||||||
port=6667,
|
|
||||||
make_pretty=True,
|
|
||||||
make_terse=True,
|
|
||||||
|
|
||||||
{% if env == 'staging' %}
|
|
||||||
nickname='fn-stg-hubs',
|
|
||||||
{% else %}
|
|
||||||
nickname='fm-hubs',
|
|
||||||
{% endif %}
|
|
||||||
channel='fedora-hubs',
|
|
||||||
filters=dict(
|
|
||||||
topic=[
|
|
||||||
'^((?!(github\.create|github\.issue\.|github\.pull_request\.|github\.commit_comment|github\.star|pagure)).)*$',
|
|
||||||
],
|
|
||||||
body=[
|
|
||||||
"^((?!(fedora-hubs)).)*$",
|
|
||||||
],
|
|
||||||
),
|
|
||||||
),
|
|
||||||
|
|
||||||
# For that commops crew!
|
# For that commops crew!
|
||||||
dict(
|
dict(
|
||||||
network='chat.freenode.net',
|
network='chat.freenode.net',
|
||||||
|
|
|
@ -178,17 +178,6 @@ backend fedocal-backend
|
||||||
{% endif %}
|
{% endif %}
|
||||||
option httpchk GET /calendar
|
option httpchk GET /calendar
|
||||||
|
|
||||||
frontend hubs-frontend
|
|
||||||
bind 0.0.0.0:10068
|
|
||||||
default_backend hubs-backend
|
|
||||||
|
|
||||||
backend hubs-backend
|
|
||||||
balance hdr(appserver)
|
|
||||||
{% if env != "production" %}
|
|
||||||
server hubs01 hubs01:80 check inter 10s rise 1 fall 2
|
|
||||||
{% endif %}
|
|
||||||
option httpchk GET /
|
|
||||||
|
|
||||||
# IMPORTANT: 10023-10026 will NOT work because of selinux policies
|
# IMPORTANT: 10023-10026 will NOT work because of selinux policies
|
||||||
|
|
||||||
frontend datagrepper-frontend
|
frontend datagrepper-frontend
|
||||||
|
|
|
@ -1,21 +0,0 @@
|
||||||
main_user: hubs
|
|
||||||
hubs_dev_mode: false
|
|
||||||
hubs_secret_key: changeme
|
|
||||||
hubs_base_dir: "/srv/hubs"
|
|
||||||
hubs_code_dir: "{{ hubs_base_dir }}/fedora-hubs"
|
|
||||||
hubs_conf_dir: "{{ hubs_base_dir }}/config"
|
|
||||||
hubs_var_dir: "{{ hubs_base_dir }}/var"
|
|
||||||
hubs_log_dir: "{{ hubs_base_dir }}/log"
|
|
||||||
hubs_db_type: sqlite
|
|
||||||
hubs_db_user: hubs
|
|
||||||
hubs_db_password: changeme
|
|
||||||
hubs_db_host: localhost
|
|
||||||
hubs_db_name: hubs
|
|
||||||
hubs_url_hostname: "{{ ansible_fqdn }}"
|
|
||||||
hubs_url: http{% if not hubs_dev_mode %}s{% endif %}://{{ hubs_url_hostname }}{% if hubs_dev_mode %}:5000{% endif %}
|
|
||||||
hubs_ssl_cert: /etc/pki/tls/certs/{{ hubs_url_hostname }}.crt
|
|
||||||
hubs_ssl_key: /etc/pki/tls/private/{{ hubs_url_hostname }}.key
|
|
||||||
hubs_fas_username: null
|
|
||||||
hubs_fas_password: null
|
|
||||||
hubs_oidc_url: iddev.fedorainfracloud.org
|
|
||||||
hubs_oidc_secret: changeme
|
|
|
@ -1,9 +0,0 @@
|
||||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
||||||
proxy_set_header X-Forwarded-Proto $scheme;
|
|
||||||
proxy_set_header Host $http_host;
|
|
||||||
# we don't want nginx trying to do something clever with
|
|
||||||
# redirects, we set the Host: header above already.
|
|
||||||
proxy_redirect off;
|
|
||||||
# OpenID Connect uses large headers, we need bigger buffers.
|
|
||||||
proxy_buffer_size 128k;
|
|
||||||
proxy_buffers 8 256k;
|
|
|
@ -1,14 +0,0 @@
|
||||||
# PostgreSQL Client Authentication Configuration File
|
|
||||||
# ===================================================
|
|
||||||
#
|
|
||||||
# Refer to the "Client Authentication" section in the PostgreSQL
|
|
||||||
# documentation for a complete description of this file.
|
|
||||||
|
|
||||||
# TYPE DATABASE USER ADDRESS METHOD
|
|
||||||
|
|
||||||
# "local" is for Unix domain socket connections only
|
|
||||||
local all all peer
|
|
||||||
# IPv4 local connections:
|
|
||||||
host all all 127.0.0.1/32 md5
|
|
||||||
# IPv6 local connections:
|
|
||||||
host all all ::1/128 md5
|
|
|
@ -1,26 +0,0 @@
|
||||||
- name: restart postgresql
|
|
||||||
service: name=postgresql state=restarted
|
|
||||||
|
|
||||||
- name: restart hubs triage
|
|
||||||
service: name=fedora-hubs-triage@* state=restarted
|
|
||||||
listen: "hubs configuration change"
|
|
||||||
when: not hubs_dev_mode
|
|
||||||
|
|
||||||
- name: restart hubs workers
|
|
||||||
service: name=fedora-hubs-worker@* state=restarted
|
|
||||||
listen: "hubs configuration change"
|
|
||||||
when: not hubs_dev_mode
|
|
||||||
|
|
||||||
- name: restart hubs SSE server
|
|
||||||
service: name=fedora-hubs-sse state=restarted
|
|
||||||
listen: "hubs configuration change"
|
|
||||||
when: not hubs_dev_mode
|
|
||||||
|
|
||||||
# Webserver
|
|
||||||
- name: restart hubs webapp
|
|
||||||
service: name=fedora-hubs-webapp state=restarted
|
|
||||||
listen: "hubs configuration change"
|
|
||||||
when: not hubs_dev_mode
|
|
||||||
|
|
||||||
- name: restart nginx
|
|
||||||
service: name=nginx state=restarted
|
|
|
@ -1,3 +0,0 @@
|
||||||
dependencies:
|
|
||||||
- certbot
|
|
||||||
- mongodb
|
|
|
@ -1,52 +0,0 @@
|
||||||
# Set up Postgres, create the database, and populate it.
|
|
||||||
|
|
||||||
- name: Install dependencies
|
|
||||||
dnf: name={{ item }} state=present
|
|
||||||
with_items:
|
|
||||||
- postgresql-server
|
|
||||||
- python3-psycopg2
|
|
||||||
# For the ansible module
|
|
||||||
- python-psycopg2
|
|
||||||
|
|
||||||
- name: Set up postgresql database
|
|
||||||
command: postgresql-setup --initdb
|
|
||||||
args:
|
|
||||||
creates: /var/lib/pgsql/data/base
|
|
||||||
|
|
||||||
- name: Set up postgresql access rules to allow local access
|
|
||||||
copy:
|
|
||||||
src: pg_hba.conf
|
|
||||||
dest: /var/lib/pgsql/data/pg_hba.conf
|
|
||||||
owner: postgres
|
|
||||||
group: postgres
|
|
||||||
mode: 0600
|
|
||||||
notify: restart postgresql
|
|
||||||
|
|
||||||
- name: Start and enable postgresql
|
|
||||||
service: name=postgresql state=started enabled=yes
|
|
||||||
|
|
||||||
- name: Set up the DB user
|
|
||||||
postgresql_user:
|
|
||||||
name: hubs
|
|
||||||
password: "{{ hubs_db_password }}"
|
|
||||||
role_attr_flags: NOSUPERUSER,NOCREATEROLE,NOCREATEDB
|
|
||||||
become: true
|
|
||||||
become_user: postgres
|
|
||||||
|
|
||||||
- name: Create the database
|
|
||||||
postgresql_db:
|
|
||||||
name: hubs
|
|
||||||
owner: hubs
|
|
||||||
register: db_creation
|
|
||||||
become: true
|
|
||||||
become_user: postgres
|
|
||||||
|
|
||||||
- name: Populate the Fedora Hubs database
|
|
||||||
command: "python3 {{ hubs_code_dir }}/populate.py"
|
|
||||||
args:
|
|
||||||
chdir: "{{ hubs_code_dir }}"
|
|
||||||
environment:
|
|
||||||
HUBS_CONFIG: "{{ hubs_conf_dir }}/hubs.py"
|
|
||||||
become: true
|
|
||||||
become_user: "{{ main_user }}"
|
|
||||||
when: db_creation|succeeded and db_creation is changed and hubs_dev_mode
|
|
|
@ -1,9 +0,0 @@
|
||||||
- name: Create and populate the Fedora Hubs database
|
|
||||||
command: "python3 {{ hubs_code_dir }}/populate.py"
|
|
||||||
args:
|
|
||||||
creates: "{{ hubs_var_dir }}/hubs.db"
|
|
||||||
chdir: "{{ hubs_code_dir }}"
|
|
||||||
environment:
|
|
||||||
HUBS_CONFIG: "{{ hubs_conf_dir }}/hubs.py"
|
|
||||||
become: true
|
|
||||||
become_user: "{{ main_user }}"
|
|
|
@ -1,82 +0,0 @@
|
||||||
# Set up the Python development environment
|
|
||||||
|
|
||||||
- name: Install Fedora Hubs requirements.txt into hubs virtualenv
|
|
||||||
pip:
|
|
||||||
requirements: "{{ hubs_code_dir }}/requirements.txt"
|
|
||||||
executable: pip3
|
|
||||||
|
|
||||||
- name: Install Fedora Hubs test-requirements.txt into hubs virtualenv
|
|
||||||
pip:
|
|
||||||
requirements: "{{ hubs_code_dir }}/test-requirements.txt"
|
|
||||||
executable: pip3
|
|
||||||
|
|
||||||
- name: Install other packages into hubs virtualenv
|
|
||||||
pip:
|
|
||||||
name: "{{ item }}"
|
|
||||||
executable: pip3
|
|
||||||
with_items:
|
|
||||||
- bleach
|
|
||||||
|
|
||||||
- name: Install Fedora Hubs into the virtualenv
|
|
||||||
command: "pip3 install -e {{ hubs_code_dir }}"
|
|
||||||
args:
|
|
||||||
creates: "/usr/lib/python3.6/site-packages/fedora-hubs.egg-link"
|
|
||||||
|
|
||||||
|
|
||||||
# Set up JavaScript requirements
|
|
||||||
|
|
||||||
- name: Install npm packages
|
|
||||||
command: npm install
|
|
||||||
become: true
|
|
||||||
become_user: "{{ main_user }}"
|
|
||||||
args:
|
|
||||||
creates: node_modules
|
|
||||||
chdir: "{{ hubs_code_dir }}/js"
|
|
||||||
|
|
||||||
- name: Build JavaScript assets
|
|
||||||
command: npm run build
|
|
||||||
become: true
|
|
||||||
become_user: "{{ main_user }}"
|
|
||||||
args:
|
|
||||||
chdir: "{{ hubs_code_dir }}/js"
|
|
||||||
creates: "{{ hubs_code_dir }}/hubs/static/js/build/common.js"
|
|
||||||
|
|
||||||
|
|
||||||
# Development tools
|
|
||||||
|
|
||||||
- name: Install helpful development packages
|
|
||||||
dnf: name={{ item }} state=present
|
|
||||||
with_items:
|
|
||||||
- git
|
|
||||||
- vim-enhanced
|
|
||||||
|
|
||||||
- name: Install Fedora Hubs development tools
|
|
||||||
dnf: name={{ item }} state=present
|
|
||||||
with_items:
|
|
||||||
- python3-honcho
|
|
||||||
- python3-tox
|
|
||||||
|
|
||||||
- name: Ease local access to the database
|
|
||||||
copy:
|
|
||||||
content: "*:*:hubs:hubs:{{ hubs_db_password }}"
|
|
||||||
dest: /home/{{ main_user }}/.pgpass
|
|
||||||
mode: 600
|
|
||||||
owner: "{{ main_user }}"
|
|
||||||
group: "{{ main_user }}"
|
|
||||||
when: hubs_db_type == "postgresql"
|
|
||||||
|
|
||||||
- name: Install a custom bashrc
|
|
||||||
template: src=bashrc dest=/home/{{ main_user }}/.bashrc
|
|
||||||
|
|
||||||
- name: Install Honcho's env file
|
|
||||||
template: src=honcho-env dest={{ hubs_base_dir }}/.env
|
|
||||||
|
|
||||||
- name: Install Honcho's procfile
|
|
||||||
template: src=honcho-procfile dest={{ hubs_base_dir }}/Procfile
|
|
||||||
|
|
||||||
- name: Link to the FAS credentials file if any
|
|
||||||
file:
|
|
||||||
state: link
|
|
||||||
path: "/etc/fedmsg.d/fas_credentials.py"
|
|
||||||
src: "{{ hubs_code_dir }}/fedmsg.d/fas_credentials.py"
|
|
||||||
notify: "hubs configuration change"
|
|
|
@ -1,64 +0,0 @@
|
||||||
- name: Install Fedora Hubs development packages
|
|
||||||
dnf: name={{ item }} state=present
|
|
||||||
with_items:
|
|
||||||
- gcc
|
|
||||||
- gcc-c++
|
|
||||||
- libffi-devel
|
|
||||||
- openssl-devel
|
|
||||||
- python-sphinx
|
|
||||||
- python2-devel
|
|
||||||
- python3-devel
|
|
||||||
- python3-virtualenv
|
|
||||||
- python3-flask-oidc
|
|
||||||
- python3-moksha-common
|
|
||||||
- redhat-rpm-config
|
|
||||||
- sqlite-devel
|
|
||||||
- npm
|
|
||||||
- fedmsg-hub
|
|
||||||
|
|
||||||
- name: Install the distribution versions of requirements.txt
|
|
||||||
dnf: name={{ item }} state=present
|
|
||||||
with_items:
|
|
||||||
- python3-alembic
|
|
||||||
- python3-arrow
|
|
||||||
- python3-beautifulsoup4
|
|
||||||
- python3-bleach
|
|
||||||
- python3-blinker
|
|
||||||
- python3-dateutil
|
|
||||||
- python3-decorator
|
|
||||||
- python3-dogpile-cache
|
|
||||||
- python3-fedmsg
|
|
||||||
- python3-fedmsg-meta-fedora-infrastructure
|
|
||||||
- python3-fedora
|
|
||||||
- python3-flask
|
|
||||||
- python3-flask-oidc
|
|
||||||
- python3-html5lib
|
|
||||||
- python3-humanize
|
|
||||||
- python3-iso3166
|
|
||||||
- python3-markdown
|
|
||||||
- python3-munch
|
|
||||||
- python3-pkgwat-api
|
|
||||||
- python3-pygments
|
|
||||||
- python3-pygments-markdown-lexer
|
|
||||||
- python3-pymongo
|
|
||||||
- python3-pytz
|
|
||||||
- python3-redis
|
|
||||||
- python3-requests
|
|
||||||
- python3-retask
|
|
||||||
- python3-six
|
|
||||||
- python3-sqlalchemy
|
|
||||||
- python3-twisted
|
|
||||||
|
|
||||||
|
|
||||||
- name: Create the directory structure
|
|
||||||
file:
|
|
||||||
path: "{{ item.path }}"
|
|
||||||
state: directory
|
|
||||||
owner: "{{ main_user }}"
|
|
||||||
group: "{{ main_user }}"
|
|
||||||
mode: "{{ item.mode }}"
|
|
||||||
#setype: httpd_sys_content_rw_t
|
|
||||||
with_items:
|
|
||||||
- {path: "{{ hubs_base_dir }}", mode: 755}
|
|
||||||
- {path: "{{ hubs_conf_dir }}", mode: 750}
|
|
||||||
- {path: "{{ hubs_var_dir }}", mode: 750}
|
|
|
@ -1,98 +0,0 @@
|
||||||
---
|
|
||||||
- name: Install external dependencies
|
|
||||||
dnf: name={{ item }} state=present
|
|
||||||
with_items:
|
|
||||||
- redis
|
|
||||||
- python3-fedmsg
|
|
||||||
- postfix
|
|
||||||
|
|
||||||
|
|
||||||
- include_tasks: dev_deps.yml
|
|
||||||
when: hubs_dev_mode
|
|
||||||
|
|
||||||
- include_tasks: prod_deps.yml
|
|
||||||
when: not hubs_dev_mode
|
|
||||||
|
|
||||||
|
|
||||||
- name: Add a basic Hubs configuration file
|
|
||||||
template:
|
|
||||||
src: "{{ item }}"
|
|
||||||
dest: "{{ hubs_conf_dir }}/hubs.py"
|
|
||||||
owner: root
|
|
||||||
group: "{{ main_user }}"
|
|
||||||
mode: 0640
|
|
||||||
with_first_found:
|
|
||||||
- hubs_config.{{ ansible_hostname }}
|
|
||||||
- hubs_config
|
|
||||||
notify: "hubs configuration change"
|
|
||||||
|
|
||||||
|
|
||||||
- name: Add a basic fedmsg configuration file
|
|
||||||
template:
|
|
||||||
src: "{{ item }}"
|
|
||||||
dest: "/etc/fedmsg.d/fedora-hubs.py"
|
|
||||||
with_first_found:
|
|
||||||
- fedmsg_config.{{ ansible_hostname }}
|
|
||||||
- fedmsg_config
|
|
||||||
notify: "hubs configuration change"
|
|
||||||
|
|
||||||
|
|
||||||
- name: Configure application to authenticate with the OIDC provider (dev)
|
|
||||||
block:
|
|
||||||
- dnf: name=python3-flask-oidc state=present
|
|
||||||
- command:
|
|
||||||
oidc-register
|
|
||||||
--output-file {{ hubs_conf_dir }}/client_secrets.json
|
|
||||||
https://{{ hubs_oidc_url }}/ {{ hubs_url }}
|
|
||||||
args:
|
|
||||||
creates: "{{ hubs_conf_dir }}/client_secrets.json"
|
|
||||||
notify: "hubs configuration change"
|
|
||||||
when: hubs_oidc_url == "iddev.fedorainfracloud.org"
|
|
||||||
|
|
||||||
|
|
||||||
- name: Configure application to authenticate with the OIDC provider
|
|
||||||
template:
|
|
||||||
src: oidc_client_secrets.json
|
|
||||||
dest: "{{ hubs_conf_dir }}/client_secrets.json"
|
|
||||||
owner: root
|
|
||||||
group: "{{ main_user }}"
|
|
||||||
mode: 0640
|
|
||||||
notify: "hubs configuration change"
|
|
||||||
when: hubs_oidc_url != "iddev.fedorainfracloud.org"
|
|
||||||
|
|
||||||
|
|
||||||
- name: Fix the permissions on the OIDC secrets file
|
|
||||||
file:
|
|
||||||
path: "{{ hubs_conf_dir }}/client_secrets.json"
|
|
||||||
owner: root
|
|
||||||
group: "{{ main_user }}"
|
|
||||||
mode: 0640
|
|
||||||
|
|
||||||
|
|
||||||
- name: Start and enable the common services
|
|
||||||
service: name={{ item }} state=started enabled=yes
|
|
||||||
with_items:
|
|
||||||
- redis
|
|
||||||
- postfix
|
|
||||||
|
|
||||||
# Set up, create, and populate the database.
|
|
||||||
- include_tasks: db-{{ hubs_db_type }}.yml
|
|
||||||
|
|
||||||
|
|
||||||
# Services
|
|
||||||
- name: Disable the system-wide fedmsg daemons
|
|
||||||
service: name={{ item }} state=stopped enabled=no
|
|
||||||
with_items:
|
|
||||||
# We use honcho in dev mode and fedmsg-hub-3 in prod mode
|
|
||||||
- fedmsg-hub
|
|
||||||
# We use honcho in dev mode and fedmsg-relay-3 in prod mode
|
|
||||||
- fedmsg-relay
|
|
||||||
|
|
||||||
|
|
||||||
# Include mode-specific tasks
|
|
||||||
|
|
||||||
- include_tasks: dev.yml
|
|
||||||
when: hubs_dev_mode
|
|
||||||
|
|
||||||
- include_tasks: prod.yml
|
|
||||||
when: not hubs_dev_mode
|
|
|
@ -1,19 +0,0 @@
|
||||||
- name: Install the service environment file
|
|
||||||
template:
|
|
||||||
src: env
|
|
||||||
dest: /etc/sysconfig/fedora-hubs
|
|
||||||
|
|
||||||
- name: Start and enable the services in prod mode
|
|
||||||
service: name={{ item }} state=started enabled=yes
|
|
||||||
with_items:
|
|
||||||
- fedmsg-relay-3
|
|
||||||
- fedmsg-hub-3
|
|
||||||
- fedora-hubs-triage@1
|
|
||||||
- fedora-hubs-triage@2
|
|
||||||
- fedora-hubs-worker@1
|
|
||||||
- fedora-hubs-worker@2
|
|
||||||
- fedora-hubs-worker@3
|
|
||||||
- fedora-hubs-worker@4
|
|
||||||
- fedora-hubs-sse
|
|
||||||
|
|
||||||
- include_tasks: web-apache.yml
|
|
|
@ -1,2 +0,0 @@
|
||||||
- name: Install the Fedora Hubs package
|
|
||||||
dnf: name=fedora-hubs state=present
|
|
|
@ -1,42 +0,0 @@
|
||||||
# Webserver config
|
|
||||||
|
|
||||||
- name: Install the webserver packages
|
|
||||||
dnf: name={{ item }} state=present
|
|
||||||
with_items:
|
|
||||||
- python3-mod_wsgi
|
|
||||||
- libselinux-python
|
|
||||||
- policycoreutils-python
|
|
||||||
|
|
||||||
|
|
||||||
- name: Apache configuration for hubs
|
|
||||||
template:
|
|
||||||
src: apache.conf
|
|
||||||
dest: /etc/httpd/conf.d/fedora-hubs.conf
|
|
||||||
notify:
|
|
||||||
- restart apache
|
|
||||||
|
|
||||||
|
|
||||||
- name: Allow network connection for Apache
|
|
||||||
seboolean:
|
|
||||||
name: httpd_can_network_connect
|
|
||||||
state: yes
|
|
||||||
persistent: yes
|
|
||||||
|
|
||||||
|
|
||||||
- name: Allow execmem for Apache
|
|
||||||
seboolean:
|
|
||||||
name: httpd_execmem
|
|
||||||
state: yes
|
|
||||||
persistent: yes
|
|
||||||
|
|
||||||
|
|
||||||
- name: Allow Apache to write to the cache files
|
|
||||||
sefcontext:
|
|
||||||
setype: httpd_sys_rw_content_t
|
|
||||||
target: "/var/lib/fedora-hubs(/.*)?"
|
|
||||||
|
|
||||||
|
|
||||||
- name: Start and enable the services
|
|
||||||
service: name={{ item }} state=started enabled=yes
|
|
||||||
with_items:
|
|
||||||
- httpd
|
|
|
@ -1,80 +0,0 @@
|
||||||
# Webserver config
|
|
||||||
|
|
||||||
- name: Install the webserver packages
|
|
||||||
dnf: name={{ item }} state=present
|
|
||||||
with_items:
|
|
||||||
- python3-gunicorn
|
|
||||||
- nginx
|
|
||||||
- libsemanage-python
|
|
||||||
|
|
||||||
|
|
||||||
- name: install python3-certbot-nginx
|
|
||||||
dnf: name=python3-certbot-nginx state=present
|
|
||||||
when: hubs_ssl_cert != None
|
|
||||||
|
|
||||||
- name: get the letsencrypt cert
|
|
||||||
command: certbot certonly -n --standalone --pre-hook "systemctl stop nginx" --post-hook "systemctl start nginx" -d {{ hubs_url_hostname }} --agree-tos --email admin@fedoraproject.org
|
|
||||||
args:
|
|
||||||
creates: "{{ hubs_ssl_key }}"
|
|
||||||
when: hubs_ssl_cert != None
|
|
||||||
notify:
|
|
||||||
- restart nginx
|
|
||||||
|
|
||||||
|
|
||||||
- name: Nginx configuration for hubs
|
|
||||||
template:
|
|
||||||
src: nginx.conf
|
|
||||||
dest: /etc/nginx/conf.d/fedora-hubs.conf
|
|
||||||
notify:
|
|
||||||
- restart nginx
|
|
||||||
|
|
||||||
|
|
||||||
- name: Nginx SSL configuration
|
|
||||||
template:
|
|
||||||
src: "{{ item }}"
|
|
||||||
dest: /etc/nginx/ssl_params
|
|
||||||
with_first_found:
|
|
||||||
- nginx_ssl_params.{{ ansible_hostname }}
|
|
||||||
- nginx_ssl_params
|
|
||||||
when: hubs_ssl_cert != None
|
|
||||||
notify:
|
|
||||||
- restart nginx
|
|
||||||
|
|
||||||
|
|
||||||
- name: Nginx proxy configuration
|
|
||||||
copy:
|
|
||||||
src: "{{ item }}"
|
|
||||||
dest: /etc/nginx/proxy_params
|
|
||||||
with_first_found:
|
|
||||||
- nginx_proxy_params.{{ ansible_hostname }}
|
|
||||||
- nginx_proxy_params
|
|
||||||
notify:
|
|
||||||
- restart nginx
|
|
||||||
|
|
||||||
|
|
||||||
- name: Allow network connection for Nginx
|
|
||||||
seboolean:
|
|
||||||
name: httpd_can_network_connect
|
|
||||||
state: yes
|
|
||||||
persistent: yes
|
|
||||||
|
|
||||||
|
|
||||||
- name: Create the log directory
|
|
||||||
file:
|
|
||||||
path: "{{ hubs_log_dir }}"
|
|
||||||
owner: "{{ main_user }}"
|
|
||||||
state: directory
|
|
||||||
|
|
||||||
|
|
||||||
- name: Install the Gunicorn config file
|
|
||||||
template:
|
|
||||||
src: gunicorn.py
|
|
||||||
dest: "{{ hubs_conf_dir }}/gunicorn.py"
|
|
||||||
notify: "hubs configuration change"
|
|
||||||
|
|
||||||
|
|
||||||
- name: Start and enable the services
|
|
||||||
service: name={{ item }} state=started enabled=yes
|
|
||||||
with_items:
|
|
||||||
- fedora-hubs-webapp
|
|
||||||
- nginx
|
|
|
@ -1,27 +0,0 @@
|
||||||
Alias /static /usr/lib/python3.6/site-packages/hubs/static
|
|
||||||
|
|
||||||
WSGIScriptAlias / /usr/share/fedora-hubs/hubs.wsgi
|
|
||||||
WSGIDaemonProcess hubs user=hubs group=hubs display-name=hubs maximum-requests=1000 processes=4 threads=30
|
|
||||||
WSGISocketPrefix run/wsgi
|
|
||||||
WSGIRestrictStdout On
|
|
||||||
WSGIRestrictSignal Off
|
|
||||||
WSGIPythonOptimize 1
|
|
||||||
|
|
||||||
<Directory "/usr/share/fedora-hubs">
|
|
||||||
<Files hubs.wsgi>
|
|
||||||
Order deny,allow
|
|
||||||
Allow from all
|
|
||||||
Require all granted
|
|
||||||
</Files>
|
|
||||||
WSGIProcessGroup hubs
|
|
||||||
</Directory>
|
|
||||||
|
|
||||||
<Directory "/usr/lib/python3.6/site-packages/hubs/static">
|
|
||||||
Order deny,allow
|
|
||||||
Allow from all
|
|
||||||
Require all granted
|
|
||||||
</Directory>
|
|
||||||
|
|
||||||
# SSE
|
|
||||||
ProxyPass /sse http://localhost:8080
|
|
||||||
ProxyPassReverse /sse http://localhost:8080
|
|
|
@ -1,48 +0,0 @@
|
||||||
# .bashrc
|
|
||||||
|
|
||||||
# Source global definitions
|
|
||||||
if [ -f /etc/bashrc ]; then
|
|
||||||
. /etc/bashrc
|
|
||||||
fi
|
|
||||||
|
|
||||||
alias vi=vim
|
|
||||||
|
|
||||||
|
|
||||||
# Uncomment the following line if you don't like systemctl's auto-paging feature:
|
|
||||||
# export SYSTEMD_PAGER=
|
|
||||||
|
|
||||||
# User specific aliases and functions
|
|
||||||
# If adding new functions to this file, note that you can add help text to the function
|
|
||||||
# by defining a variable with name _<function>_help containing the help text
|
|
||||||
|
|
||||||
|
|
||||||
# Honcho has issues outputing UTF-8 in Vagrant SSH
|
|
||||||
# https://github.com/nickstenning/honcho/issues/51
|
|
||||||
export PYTHONIOENCODING=utf-8
|
|
||||||
|
|
||||||
export HUBS_CONFIG={{ hubs_conf_dir }}/hubs.py
|
|
||||||
export FLASK_APP={{ hubs_code_dir }}/hubs/app.py
|
|
||||||
|
|
||||||
|
|
||||||
workon() {
|
|
||||||
[ "$1" == "hubs" ] || ( echo "No such virtualenv."; exit 1 )
|
|
||||||
cd {{ hubs_code_dir }}
|
|
||||||
}
|
|
||||||
|
|
||||||
alias hup="pushd ~ ; honcho start ; popd"
|
|
||||||
|
|
||||||
hreset() {
|
|
||||||
{% if hubs_db_type == "postgresql" %}
|
|
||||||
sudo -u postgres dropdb hubs
|
|
||||||
sudo -u postgres createdb -O hubs hubs
|
|
||||||
{% else %}
|
|
||||||
rm {{ hubs_var_dir }}/hubs.db
|
|
||||||
{% endif %}
|
|
||||||
rm {{ hubs_var_dir }}/cache.db
|
|
||||||
pushd {{ hubs_code_dir }}
|
|
||||||
python3 populate.py
|
|
||||||
popd
|
|
||||||
}
|
|
||||||
|
|
||||||
# Enable autocomplete for the fedora-hubs command
|
|
||||||
eval "$(_FEDORA_HUBS_COMPLETE=source fedora-hubs)"
|
|
|
@ -1,2 +0,0 @@
|
||||||
HUBS_CONFIG={{ hubs_conf_dir }}/hubs.py
|
|
||||||
WEBAPP_CONFIG={{ hubs_conf_dir }}/gunicorn.py
|
|
|
@ -1,32 +0,0 @@
|
||||||
config = {
|
|
||||||
|
|
||||||
# Database
|
|
||||||
{% if hubs_db_type == "postgresql" %}
|
|
||||||
'hubs.sqlalchemy.uri': 'postgresql://{{ hubs_db_user }}:{{ hubs_db_password }}@{{ hubs_db_host }}/{{ hubs_db_name }}',
|
|
||||||
{% else %}
|
|
||||||
'hubs.sqlalchemy.uri': 'sqlite:///{{ hubs_var_dir }}/hubs.db',
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
# Some configuration for the general hubs cache.
|
|
||||||
"fedora-hubs.cache": {
|
|
||||||
"backend": "dogpile.cache.dbm",
|
|
||||||
#"expiration_time": 0,
|
|
||||||
"arguments": {
|
|
||||||
"filename": "{{ hubs_var_dir }}/cache.db",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
|
|
||||||
{% if hubs_fas_username and hubs_fas_password %}
|
|
||||||
# FAS credentials
|
|
||||||
'fas_credentials': {
|
|
||||||
'username': '{{ hubs_fas_username }}',
|
|
||||||
'password': '{{ hubs_fas_password }}',
|
|
||||||
{% if env == "staging" %}
|
|
||||||
'base_url': "https://admin.stg.fedoraproject.org/accounts/",
|
|
||||||
{% endif %}
|
|
||||||
},
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
# Use fedmsg-relay to publish messages
|
|
||||||
'active': True,
|
|
||||||
}
|
|
|
@ -1,8 +0,0 @@
|
||||||
# flake8:noqa
|
|
||||||
|
|
||||||
bind = "127.0.0.1:8000"
|
|
||||||
threads = 12
|
|
||||||
logconfig = "{{ hubs_conf_dir }}/logging.ini"
|
|
||||||
accesslog = "{{ hubs_log_dir }}/access.log"
|
|
||||||
errorlog = "{{ hubs_log_dir }}/error.log"
|
|
||||||
access_log_format = '%(h)s %(l)s %(u)s %(t)s "%(r)s" %(s)s %(b)s "%(f)s" "%(a)s" (%(L)ss)'
|
|
|
@ -1,3 +0,0 @@
|
||||||
FLASK_DEBUG=1
|
|
||||||
FLASK_APP={{ hubs_code_dir }}/hubs/app.py
|
|
||||||
HUBS_CONFIG={{ hubs_conf_dir }}/hubs.py
|
|
|
@ -1,7 +0,0 @@
|
||||||
web: /usr/bin/flask-3 run --host 0.0.0.0 --port 5000
|
|
||||||
triage: fedora-hubs run triage
|
|
||||||
worker: fedora-hubs run worker
|
|
||||||
sse: /usr/bin/twistd-3 -l - --pidfile= -n hubs-sse
|
|
||||||
fedmsg_hub: /usr/bin/fedmsg-hub-3
|
|
||||||
fedmsg_relay: /usr/bin/fedmsg-relay-3
|
|
||||||
js_build: cd {{ hubs_code_dir }}/js && npm run dev
|
|
|
@ -1,28 +0,0 @@
|
||||||
# Enter any hubs configuration here
|
|
||||||
|
|
||||||
SECRET_KEY = "{{ hubs_secret_key }}"
|
|
||||||
|
|
||||||
{% if hubs_dev_mode %}
|
|
||||||
# Allow the cookie to be sent of http since we work on localhost
|
|
||||||
OIDC_ID_TOKEN_COOKIE_SECURE = False
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
OIDC_CLIENT_SECRETS = "{{ hubs_conf_dir }}/client_secrets.json"
|
|
||||||
OIDC_OPENID_REALM = "{{ hubs_url }}/oidc_callback"
|
|
||||||
{% if hubs_ssl_cert == None %}
|
|
||||||
# There's an SSL proxy, flask_oidc will generate a redirect_uri without https
|
|
||||||
# if we don't overwrite it here.
|
|
||||||
OVERWRITE_REDIRECT_URI = "{{ hubs_url }}/oidc_callback"
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
SSE_URL = {
|
|
||||||
# "host": "sse.example.com",
|
|
||||||
{% if hubs_dev_mode %}
|
|
||||||
"port": "8080",
|
|
||||||
{% else %}
|
|
||||||
{% if hubs_ssl_cert == None %}
|
|
||||||
"scheme": "https", # Because of the SSL proxy
|
|
||||||
{% endif %}
|
|
||||||
"path": "/sse",
|
|
||||||
{% endif %}
|
|
||||||
}
|
|
|
@ -1,76 +0,0 @@
|
||||||
upstream hubs {
|
|
||||||
# fail_timeout=0 means we always retry an upstream even if it failed
|
|
||||||
# to return a good HTTP response
|
|
||||||
|
|
||||||
# for UNIX domain socket setups
|
|
||||||
#server unix:/tmp/gunicorn.sock fail_timeout=0;
|
|
||||||
|
|
||||||
# for a TCP configuration
|
|
||||||
server 127.0.0.1:8000 fail_timeout=0;
|
|
||||||
}
|
|
||||||
|
|
||||||
upstream hubs-sse {
|
|
||||||
# SSE server (twisted-based)
|
|
||||||
server 127.0.0.1:8080 fail_timeout=0;
|
|
||||||
}
|
|
||||||
|
|
||||||
# Main server block
|
|
||||||
server {
|
|
||||||
{% if hubs_ssl_cert == None %}
|
|
||||||
listen 80;
|
|
||||||
listen [::]:80;
|
|
||||||
{% else %}
|
|
||||||
listen 443 deferred;
|
|
||||||
listen [::]:443 deferred;
|
|
||||||
include ssl_params;
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
server_name {{ hubs_url_hostname }};
|
|
||||||
|
|
||||||
client_max_body_size 4G;
|
|
||||||
keepalive_timeout 5;
|
|
||||||
|
|
||||||
location / {
|
|
||||||
# checks for static file, if not found proxy to app
|
|
||||||
try_files $uri @proxy_to_app;
|
|
||||||
}
|
|
||||||
|
|
||||||
# path for static files
|
|
||||||
location /static {
|
|
||||||
alias /usr/lib/python3.6/site-packages/hubs/static;
|
|
||||||
}
|
|
||||||
|
|
||||||
location /sse/ {
|
|
||||||
include proxy_params;
|
|
||||||
proxy_pass http://hubs-sse/;
|
|
||||||
# Allow long-running queries (SSE):
|
|
||||||
proxy_buffering off;
|
|
||||||
proxy_http_version 1.1;
|
|
||||||
proxy_set_header Connection "";
|
|
||||||
proxy_cache off;
|
|
||||||
chunked_transfer_encoding off;
|
|
||||||
keepalive_timeout 0;
|
|
||||||
proxy_read_timeout 30m;
|
|
||||||
}
|
|
||||||
|
|
||||||
location @proxy_to_app {
|
|
||||||
include proxy_params;
|
|
||||||
proxy_pass http://hubs;
|
|
||||||
}
|
|
||||||
|
|
||||||
#error_page 500 502 503 504 /500.html;
|
|
||||||
#location = /500.html {
|
|
||||||
# root /path/to/app/current/public;
|
|
||||||
#}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
{% if hubs_ssl_cert != None %}
|
|
||||||
# Redirect cleartext traffic to HTTPS
|
|
||||||
server {
|
|
||||||
listen 80;
|
|
||||||
listen [::]:80;
|
|
||||||
server_name {{ hubs_url_hostname }};
|
|
||||||
return 301 https://$server_name$request_uri;
|
|
||||||
}
|
|
||||||
{% endif %}
|
|
|
@ -1,5 +0,0 @@
|
||||||
ssl on;
|
|
||||||
ssl_certificate {{ hubs_ssl_cert }};
|
|
||||||
ssl_certificate_key {{ hubs_ssl_key }};
|
|
||||||
include /etc/letsencrypt/options-ssl-nginx.conf;
|
|
||||||
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
|
|
|
@ -1,13 +0,0 @@
|
||||||
{
|
|
||||||
"web": {
|
|
||||||
"client_id": "hubs",
|
|
||||||
"auth_uri": "https://{{ hubs_oidc_url }}/openidc/Authorization",
|
|
||||||
"issuer": "https://{{ hubs_oidc_url }}/openidc/",
|
|
||||||
"client_secret": "{{ hubs_oidc_secret }}",
|
|
||||||
"token_uri": "https://{{ hubs_oidc_url }}/openidc/Token",
|
|
||||||
"userinfo_uri": "https://{{ hubs_oidc_url }}/openidc/UserInfo",
|
|
||||||
"redirect_uris": [
|
|
||||||
"{{ hubs_url }}/oidc_callback"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
Loading…
Add table
Add a link
Reference in a new issue