mirror of
https://pagure.io/fm-orchestrator.git
synced 2026-02-09 08:13:21 +08:00
140 lines
4.5 KiB
Python
140 lines
4.5 KiB
Python
from os import path
|
|
|
|
# FIXME: workaround for this moment till confdir, dbdir (installdir etc.) are
|
|
# declared properly somewhere/somehow
|
|
confdir = path.abspath(path.dirname(__file__))
|
|
# use parent dir as dbdir else fallback to current dir
|
|
dbdir = path.abspath(path.join(confdir, '..')) if confdir.endswith('conf') \
|
|
else confdir
|
|
|
|
|
|
class BaseConfiguration(object):
|
|
DEBUG = False
|
|
# Make this random (used to generate session keys)
|
|
SECRET_KEY = '74d9e9f9cd40e66fc6c4c2e9987dce48df3ce98542529fd0'
|
|
SQLALCHEMY_DATABASE_URI = 'sqlite:///{0}'.format(path.join(
|
|
dbdir, 'module_build_service.db'))
|
|
SQLALCHEMY_TRACK_MODIFICATIONS = True
|
|
# Where we should run when running "manage.py run" directly.
|
|
HOST = '0.0.0.0'
|
|
PORT = 5000
|
|
|
|
# Global network-related values, in seconds
|
|
NET_TIMEOUT = 120
|
|
NET_RETRY_INTERVAL = 30
|
|
|
|
SYSTEM = 'koji'
|
|
MESSAGING = 'fedmsg' # or amq
|
|
MESSAGING_TOPIC_PREFIX = ['org.fedoraproject.prod']
|
|
KOJI_CONFIG = '/etc/module-build-service/koji.conf'
|
|
KOJI_PROFILE = 'koji'
|
|
KOJI_ARCHES = ['i686', 'armv7hl', 'x86_64']
|
|
KOJI_PROXYUSER = True
|
|
KOJI_REPOSITORY_URL = 'https://kojipkgs.fedoraproject.org/repos'
|
|
KOJI_TAG_PREFIXES = ['module']
|
|
KOJI_ENABLE_CONTENT_GENERATOR = True
|
|
COPR_CONFIG = '/etc/module-build-service/copr.conf'
|
|
PDC_URL = 'https://pdc.fedoraproject.org/rest_api/v1'
|
|
PDC_INSECURE = False
|
|
PDC_DEVELOP = True
|
|
SCMURLS = ["git://pkgs.fedoraproject.org/modules/"]
|
|
YAML_SUBMIT_ALLOWED = False
|
|
|
|
# How often should we resort to polling, in seconds
|
|
# Set to zero to disable polling
|
|
POLLING_INTERVAL = 600
|
|
|
|
# Determines how many builds that can be submitted to the builder
|
|
# and be in the build state at a time. Set this to 0 for no restrictions
|
|
NUM_CONCURRENT_BUILDS = 5
|
|
|
|
ALLOW_CUSTOM_SCMURLS = False
|
|
|
|
RPMS_DEFAULT_REPOSITORY = 'git://pkgs.fedoraproject.org/rpms/'
|
|
RPMS_ALLOW_REPOSITORY = False
|
|
RPMS_DEFAULT_CACHE = 'http://pkgs.fedoraproject.org/repo/pkgs/'
|
|
RPMS_ALLOW_CACHE = False
|
|
|
|
MODULES_DEFAULT_REPOSITORY = 'git://pkgs.fedoraproject.org/modules/'
|
|
MODULES_ALLOW_REPOSITORY = False
|
|
|
|
ALLOWED_GROUPS = set([
|
|
'packager',
|
|
# 'modularity-wg',
|
|
])
|
|
|
|
# Available backends are: console, file, journal.
|
|
LOG_BACKEND = 'journal'
|
|
|
|
# Path to log file when LOG_BACKEND is set to "file".
|
|
LOG_FILE = 'module_build_service.log'
|
|
|
|
# Available log levels are: debug, info, warn, error.
|
|
LOG_LEVEL = 'info'
|
|
|
|
# Settings for Kerberos
|
|
KRB_KEYTAB = None
|
|
KRB_PRINCIPAL = None
|
|
KRB_CCACHE = None
|
|
|
|
# AMQ prefixed variables are required only while using 'amq' as messaging backend
|
|
# Addresses to listen to
|
|
AMQ_RECV_ADDRESSES = ['amqps://messaging.mydomain.com/Consumer.m8y.VirtualTopic.eng.koji',
|
|
('amqps://messaging.mydomain.com/Consumer.m8y.VirtualTopic.eng.'
|
|
'module_build_service')]
|
|
# Address for sending messages
|
|
AMQ_DEST_ADDRESS = ('amqps://messaging.mydomain.com/Consumer.m8y.'
|
|
'VirtualTopic.eng.module_build_service')
|
|
AMQ_CERT_FILE = '/etc/module_build_service/msg-m8y-client.crt'
|
|
AMQ_PRIVATE_KEY_FILE = '/etc/module_build_service/msg-m8y-client.key'
|
|
AMQ_TRUSTED_CERT_FILE = '/etc/module_build_service/Root-CA.crt'
|
|
|
|
# Disable Client Authorization
|
|
NO_AUTH = False
|
|
|
|
CACHE_DIR = '~/modulebuild/cache'
|
|
|
|
|
|
class TestConfiguration(BaseConfiguration):
|
|
BUILD_LOGS_DIR = '/tmp'
|
|
BUILD_LOGS_NAME_FORMAT = 'build-{id}.log'
|
|
LOG_BACKEND = 'console'
|
|
LOG_LEVEL = 'debug'
|
|
SQLALCHEMY_DATABASE_URI = 'sqlite:///{0}'.format(
|
|
path.join(dbdir, 'tests', 'test_module_build_service.db'))
|
|
DEBUG = True
|
|
MESSAGING = 'in_memory'
|
|
PDC_URL = 'https://pdc.fedoraproject.org/rest_api/v1'
|
|
|
|
# Global network-related values, in seconds
|
|
NET_TIMEOUT = 3
|
|
NET_RETRY_INTERVAL = 1
|
|
|
|
KOJI_CONFIG = './conf/koji.conf'
|
|
KOJI_PROFILE = 'staging'
|
|
SERVER_NAME = 'localhost'
|
|
|
|
KOJI_REPOSITORY_URL = 'https://kojipkgs.stg.fedoraproject.org/repos'
|
|
SCMURLS = ["git://pkgs.stg.fedoraproject.org/modules/"]
|
|
AUTH_METHOD = 'oidc'
|
|
|
|
|
|
class ProdConfiguration(BaseConfiguration):
|
|
pass
|
|
|
|
|
|
class LocalBuildConfiguration(BaseConfiguration):
|
|
LOG_LEVEL = 'debug'
|
|
MESSAGING = 'in_memory'
|
|
|
|
ARCH_AUTODETECT = True
|
|
ARCH_FALLBACK = 'x86_64'
|
|
|
|
ALLOW_CUSTOM_SCMURLS = True
|
|
|
|
|
|
class DevConfiguration(LocalBuildConfiguration):
|
|
DEBUG = True
|
|
LOG_BACKEND = 'console'
|
|
COPR_CONFIG = path.join(confdir, 'copr.conf')
|