ansible/roles/openshift-apps/openscanhub/templates/settings_local.py
Siteshwar Vashisht 3c32cf2e24 openscanhub: enable sending messages to rabbitmq
Signed-off-by: Siteshwar Vashisht <svashisht@redhat.com>
2024-09-23 11:56:59 +02:00

174 lines
5.8 KiB
Python

# SPDX-License-Identifier: GPL-3.0-or-later
# SPDX-FileCopyrightText: Copyright contributors to the OpenScanHub project.
"""
Instance-specific settings.
"""
import os
DEBUG = True
TEMPLATE_DEBUG = DEBUG
ADMINS = (
('Siteshwar Vashisht', 'svashisht@redhat.com'),
)
MANAGERS = ADMINS
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': 'openscanhub',
'USER': 'openscanhub',
{% if env == 'staging' %}
'PASSWORD': '{{ openscanhub_db_password_stg }}',
'HOST': 'db01.stg.iad2.fedoraproject.org',
{% else %}
'PASSWORD': '{{ openscanhub_db_password }}',
'HOST': 'db01.iad2.fedoraproject.org',
{% endif %}
'PORT': '5432',
},
}
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'formatters': {
'verbose': {
'format': '%(levelname)-7s %(asctime)s %(pathname)-50s:%(lineno)d %(funcName)s %(message)s'
},
'simple': {
'format': '%(levelname)s %(message)s'
},
},
'handlers': {
'file': {
'level': 'DEBUG',
'class': 'logging.handlers.RotatingFileHandler',
'formatter': 'verbose',
'filename': '/var/log/osh/hub/hub.log',
'maxBytes': 10 * (1024 ** 2), # 10 MB
'backupCount': 14,
},
},
'loggers': {
'osh': {
'handlers': ['file'],
'level': 'DEBUG',
'propagate': True,
},
# 'django.db.backends': {
# 'handlers': ['file'],
# 'propagate': False,
# 'level': 'INFO',
# },
'kobo': {
'handlers': ['file'],
'level': 'DEBUG',
'propagate': True,
}
}
}
# Local time zone for this installation. Choices can be found here:
# http://en.wikipedia.org/wiki/List_of_tz_zones_by_name
# although not all choices may be available on all operating systems.
# On Unix systems, a value of None will cause Django to use the same
# timezone as the operating system.
# If running in a Windows environment this must be set to the same as your
# system time zone.
TIME_ZONE = 'Europe/Prague'
# TODO: Change it for Fedora staging and production deployments.
KRB_AUTH_PRINCIPAL = 'HTTP/covscan.lab.eng.brq2.redhat.com@REDHAT.COM'
KRB_AUTH_KEYTAB = '/etc/httpd/conf/httpd.keytab'
# This should work with both staging and production.
# https://docs.fedoraproject.org/en-US/infra/sysadmin_guide/bastion-hosts-info/
EMAIL_HOST = "bastion.fedoraproject.org"
EMAIL_PORT = 25
###############################################################################
# OpenScanHub SPECIFIC
###############################################################################
# Absolute path to task logs and other files
FILES_PATH = '/var/lib/osh/hub'
# Files for kobo tasks with predefined structure
TASK_DIR = os.path.join(FILES_PATH, 'tasks')
# Root directory for uploaded files
UPLOAD_DIR = os.path.join(FILES_PATH, 'upload')
BZ_URL = "https://bugzilla.stage.redhat.com"
JIRA_URL = "https://issues.stage.redhat.com"
# TODO: Change or remove this URL?
ET_URL = 'https://errata-web-01.host.stage.eng.bos.redhat.com'
# TODO: Change or remove these URLs?
UMB_BROKER_URLS = [
'amqps://umb-broker01.stage.api.redhat.com:5671',
'amqps://umb-broker02.stage.api.redhat.com:5671',
'amqps://umb-broker03.stage.api.redhat.com:5671',
'amqps://umb-broker04.stage.api.redhat.com:5671',
'amqps://umb-broker05.stage.api.redhat.com:5671',
'amqps://umb-broker06.stage.api.redhat.com:5671']
# TODO: Change or remove this setting?
# https://github.com/openscanhub/fedora-infra/issues/3
UMB_CLIENT_CERT = '/etc/osh/hub/msg-client-osh.pem'
UMB_TOPIC_PREFIX = 'topic://VirtualTopic.eng.OpenScanHub.scan'
# E-mail address used in the From: field of notifications generated by OpenScanHub
NOTIFICATION_EMAIL_ADDRESS = "openscanhub@lists.fedoraproject.org"
# E-mail address where notifications about failed/cancelled tasks are sent
DEVEL_EMAIL_ADDRESS = ""
# Default e-mail domain name for sending notifications to the user.
# It is used when `email` field in the user model is not set.
DEFAULT_EMAIL_DOMAIN = "fedoraproject.org"
URL_PREFIX = ""
STATIC_URL = URL_PREFIX + '/static/'
# If this setting is enabled, a worker is only used to perform a single task.
ENABLE_SINGLE_USE_WORKERS = True
{% if env == 'staging' %}
# This number should be same as the `max` field in the `/etc/resallocserver/pools.yaml`
# on the resalloc server. Otherwise, we may end up with too less or too many tickets
# being opened.
MAX_SINGLE_USE_WORKERS = 128
# TODO: This url is used to dynamically generate worker configuration files.
SINGLE_USE_WORKER_OSH_HUB_URL = "https://openscanhub.stg.fedoraproject.org/xmlrpc"
{% else %}
# This number should be same as the `max` field in the `/etc/resallocserver/pools.yaml`
# on the resalloc server. Otherwise, we may end up with too less or too many tickets
# being opened.
MAX_SINGLE_USE_WORKERS = 32
# TODO: This url is used to dynamically generate worker configuration files.
SINGLE_USE_WORKER_OSH_HUB_URL = "https://openscanhub.fedoraproject.org/xmlrpc"
{% endif %}
# This user is used to ssh to newly created worker.
SINGLE_USE_WORKER_SSH_USER = "ec2-user"
# TODO: What should we use here if we want to deploy across multiple clouds?
# May be, related public key should be copied when a new worker is set up.
SINGLE_USE_WORKER_SSH_PRIVATE_KEY = "/etc/osh/worker-manager/id_rsa"
NOTIFICATION_EMAIL_FOOTER = """You can reply to this e-mail to initiate a discussion on https://lists.fedoraproject.org/archives/list/openscanhub@lists.fedoraproject.org/"""
ALLOWED_HOSTS = ['openscanhub{{ env_suffix }}.fedoraproject.org']
CSRF_TRUSTED_ORIGINS = ['https://openscanhub{{ env_suffix }}.fedoraproject.org']
# Enable sending messages to rabbitmq
ENABLE_FEDORA_MESSAGING = True