lavkach3

Форк
0
/
inventory_config.py 
55 строк · 1.3 Кб
1
import logging
2
import os
3

4
from dotenv import load_dotenv
5
from pydantic import BaseConfig
6

7
from core.service_config import Config as CoreConfig
8

9
BaseConfig.arbitrary_types_allowed = True
10
logging.basicConfig(level=logging.INFO)
11

12
load_dotenv()
13

14

15
class Config(CoreConfig):
16
    BROKER_PATH: str = 'app.inventory.inventory_server:app'
17
    APP_HOST: str = os.environ.get("INVENTORY_HOST") or os.environ.get("APP_HOST") or '127.0.0.1'
18
    APP_PORT: int = os.environ.get("INVENTORY_PORT") or os.environ.get("APP_PORT") or '8002'
19
    APP_PROTOCOL: str = os.environ.get('INVENTORY_PROTOCOL') or os.environ.get(
20
        'APP_PROTOCOL') or 'http'
21

22

23
class DevelopmentConfig(Config):
24
    ...
25

26

27
class DockerConfig(Config):
28
    APP_HOST: str = 'inventory_app'
29
    APP_PORT: int = '80'
30

31

32
class LocalConfig(Config):
33
    ...
34

35

36
class ProductionConfig(Config):
37
    ...
38

39

40
def get_config():
41
    env = os.getenv("ENV", "local")
42
    for name, value in os.environ.items():
43
        # logging.info("{0}: {1}".format(name, value))
44
        # print("{0}: {1}".format(name, value))
45
        pass
46
    config_type = {
47
        "dev": DevelopmentConfig(),
48
        "local": LocalConfig(),
49
        "docker": DockerConfig(),
50
        "prod": ProductionConfig(),
51
    }
52
    return config_type[env]
53

54

55
config: Config = get_config()
56

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.