63 lines
1.5 KiB
Python
63 lines
1.5 KiB
Python
import os
|
|
import importlib.metadata
|
|
|
|
base_dir = os.path.dirname(os.path.abspath(__file__))
|
|
|
|
|
|
class BaseConfig(object):
|
|
"""Base configuration."""
|
|
|
|
APP_NAME = "HSMAN"
|
|
APP_VERSION = os.getenv('APP_VERSION', "0.0alpha1")
|
|
APP_SHA = os.getenv('APP_SHA', "000000")
|
|
APP_PREFIX = os.getenv('APP_PREFIX', '')
|
|
DEBUG_TB_ENABLED = False
|
|
WTF_CSRF_ENABLED = False
|
|
|
|
# All the followinf vars can be overriden
|
|
# in the environment, using `HSMAN_` prefix
|
|
SECRET_KEY = "secreto"
|
|
ADMIN_GROUPS = "adminGroup"
|
|
OIDC_CLIENT_ID = 'client-id'
|
|
OIDC_CLIENT_SECRET = 'client-secreto'
|
|
OIDC_URL = "https://myidp.example.com/auth"
|
|
OIDC_REDIRECT_URI = 'http://localhost:5000/auth'
|
|
|
|
# These are required by hsapi, should not be defined here
|
|
# HSAPI_SERVER = "https://headscale.example.com"
|
|
# HSAPI_API_TOKEN = 'hs-apikey'
|
|
|
|
@staticmethod
|
|
def configure(app):
|
|
# Implement this method to do further configuration on your app.
|
|
pass
|
|
|
|
|
|
class DevelopmentConfig(BaseConfig):
|
|
"""Development configuration."""
|
|
|
|
DEBUG = True
|
|
ENVIRONMENT = "develop"
|
|
TEMPLATES_AUTO_RELOAD = True
|
|
|
|
|
|
class TestingConfig(BaseConfig):
|
|
"""Testing configuration."""
|
|
|
|
TESTING = True
|
|
PRESERVE_CONTEXT_ON_EXCEPTION = False
|
|
ENVIRONMENT = "test"
|
|
|
|
|
|
class ProductionConfig(BaseConfig):
|
|
"""Production configuration."""
|
|
|
|
ENVIRONMENT = "production"
|
|
WTF_CSRF_ENABLED = True
|
|
|
|
|
|
config = dict(
|
|
development=DevelopmentConfig,
|
|
testing=TestingConfig,
|
|
production=ProductionConfig)
|