config.py 1.89 KB
Newer Older
Markus Scheidgen's avatar
Markus Scheidgen committed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
# Copyright 2018 Markus Scheidgen
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#   http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an"AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

15
16
17
18
19
"""
This module is used to store all configuration values. It makes use of
*namedtuples* to create key sensitive configuration objects.
"""

20
21
22
from collections import namedtuple

S3Config = namedtuple('S3', ['uploads_bucket', 'repository_bucket', 'archive_bucket'])
23
24
""" API independent configuration for the object storage. """

25
RabitMQConfig = namedtuple('RabbitMQ', ['host', 'port', 'user', 'password'])
26
27
""" Used to configure the RabbitMQ used by celery as a task backend. """

28
MinioConfig = namedtuple('Minio', ['host', 'port', 'accesskey', 'secret'])
29
30
""" Used to configure the minio object storage API. """

31
FSConfig = namedtuple('FSConfig', ['tmp'])
32
33
""" Used to configure file stystem access. """

34
LogstashConfig = namedtuple('LogstashConfig', ['enabled', 'host', 'tcp_port'])
35
""" Used to configure and enable/disable the ELK based centralized logging. """
36
37

s3 = S3Config(
38
39
40
    uploads_bucket='uploads',
    repository_bucket='repository',
    archive_bucket='archive'
41
42
)
rabbitmq = RabitMQConfig(
43
44
45
46
    host='localhost',
    port=None,
    user='rabbitmq',
    password='rabbitmq'
47
48
)
minio = MinioConfig(
49
50
51
52
    host='localhost',
    port=9007,
    accesskey='AKIAIOSFODNN7EXAMPLE',
    secret='wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY'
53
54
)
fs = FSConfig(
55
    tmp='.volumes/fs'
56
57
)
logstash = LogstashConfig(
Markus Scheidgen's avatar
Markus Scheidgen committed
58
    enabled=False,
59
60
    host='localhost',
    tcp_port=5000
61
)