Schema

ConsenSys-Utils gathers a bench of useful ConfigSchema that can be reused in any project.

Logging

Logging schema

class consensys_utils.config.schema.logging.LoggingConfigSchema(*args, substitution_mapping=None, **kwargs)[source]

Logging configuration schema

Describes and validates against

Key Comment Default value
LOGGING_CONFIG_PATH Valid path to a .yml logging configuration file logging.yml

Flask

Flask application configuration schemas

class consensys_utils.config.schema.flask.FlaskConfigSchema(*args, substitution_mapping=None, **kwargs)[source]

Flask application configuration schema

Describes and validates against

Key Comment Default value
base Required base configuration in BaseConfigSchema format BaseConfigSchema default
session Cookie session configuration in SessionConfigSchema format SessionConfigSchema default
PERMANENT_SESSION_LIFETIME Cookie’s expiration in number of seconds 2678400
healthcheck Healthcheck configuration in HealthCheckConfigSchema format  
swagger Swagger configuration in SwaggerConfigSchema format  

Base

class consensys_utils.config.schema.flask.BaseConfigSchema(*args, substitution_mapping=None, **kwargs)[source]

Base flask configuration schema

Describes and validates against

Key Comment Default value
APP_NAME Required name of the application Required

Session

class consensys_utils.config.schema.flask.SessionConfigSchema(*args, substitution_mapping=None, **kwargs)[source]

Flask Session configuration

Describes and validates against

Key Comment Default value
cookie Session cookie configuration in CookieConfigSchema format CookieConfigSchema default
REFRESH_EACH_REQUEST Control whether the cookie is sent with every response True
class consensys_utils.config.schema.flask.CookieConfigSchema(*args, substitution_mapping=None, **kwargs)[source]

Flask Session cookie configuration

Describes and validates against

Key Comment Default value
NAME The name of the session cookie ‘session’
DOMAIN The domain match rule that the session cookie will be valid for None
PATH Path to the session cookie will be valid for None
HTTPONLY Browsers will not allow JavaScript access to cookies marked as “HTTP only” for security True
SECURE Browsers will only send cookies with requests over HTTPSd False
SAMESITE Restrict how cookies are sent with requests from external sites None

Health Check

class consensys_utils.config.schema.flask.HealthCheckConfigSchema(*args, substitution_mapping=None, **kwargs)[source]

Healthcheck configuration configuration schema

Describes and validates against

Key Comment Default value
ENDPOINT_URL Endpoint URL for healthcheck /healthcheck

Swagger

class consensys_utils.config.schema.flask.SwaggerConfigSchema(*args, substitution_mapping=None, **kwargs)[source]

Swagger configuration

Key Comment Default value
specs List of Swagger-UI specs in SwaggerSpecConfigSchema format [{‘ENDPOINT’: ‘apispec_1’, ‘ROUTE’: ‘/apispec_1.json’}]
STATIC_URL_PATH Endpoint for Swagger static files ‘/flasgger_static’
SWAGGER_UI Boolean indicating if Swagger UI should be activated False
SPECS_ROUTE Route to retrieve specifications ‘/apidocs/’

WSGI

Schema for WSGI middlewares

Request ID

class consensys_utils.config.schema.wsgi.WSGIConfigSchema(*args, substitution_mapping=None, **kwargs)[source]

Configuration relative to wsgi middlewares

Describes and validates against

Key Comment Default value
request_id Request ID configuration in RequestIDConfigSchema None
class consensys_utils.config.schema.wsgi.RequestIDConfigSchema(*args, substitution_mapping=None, **kwargs)[source]

Request ID Middleware configuration

Describes and validates against

Key Comment Default value
REQUEST_ID_HEADER Required header where to load/inject correlation ID ‘X-Request-ID’

Gunicorn

Gunicorn configuration schemas

class consensys_utils.config.schema.gunicorn.GunicornConfigSchema(*args, substitution_mapping=None, **kwargs)[source]

Gunicorn configuration

Please refer to http://docs.gunicorn.org/en/stable/settings.html for exhaustive listing of Gunicorn settings.

Describes and validates against

Key Comment Default value
config Gunicorn config file path  
debugging Debugging config in format DebuggingConfigSchema DebuggingConfigSchema default
logging Gunicorn logging config in format LoggingConfigSchema LoggingConfigSchema default
process-naming Process naming config in format ProcessNamingConfigSchema ProcessNamingConfigSchema default
ssl Debugging config in format SSLConfigSchema SSLConfigSchema default
security Security config in format SecurityConfigSchema SecurityConfigSchema default
server-mechanics Server mechanics config in format ServerMechanicsConfigSchema ServerMechanicsConfigSchema default
server-socket Server Socket config in format ServerSocketConfigSchema ServerSocketConfigSchema default
worker-processes Worker processes config in format WorkerProcessesConfigSchema WorkerProcessesConfigSchema default
class consensys_utils.config.schema.gunicorn.ServerSocketConfigSchema(*args, substitution_mapping=None, **kwargs)[source]

Server Socket configuration

c.f http://docs.gunicorn.org/en/stable/settings.html#server-socket

class consensys_utils.config.schema.gunicorn.WorkerProcessesConfigSchema(*args, substitution_mapping=None, **kwargs)[source]

Worker Processes configuration

c.f http://docs.gunicorn.org/en/stable/settings.html#worker-processes

class consensys_utils.config.schema.gunicorn.LoggingConfigSchema(*args, substitution_mapping=None, **kwargs)[source]

Logging configuration

c.f http://docs.gunicorn.org/en/stable/settings.html#logging

class consensys_utils.config.schema.gunicorn.ServerMechanicsConfigSchema(*args, substitution_mapping=None, **kwargs)[source]

Server Mechanics configuration

c.f http://docs.gunicorn.org/en/stable/settings.html#server-mechanics

class consensys_utils.config.schema.gunicorn.ProcessNamingConfigSchema(*args, substitution_mapping=None, **kwargs)[source]

Process Naming configuration

c.f http://docs.gunicorn.org/en/stable/settings.html#process-naming

class consensys_utils.config.schema.gunicorn.SSLConfigSchema(*args, substitution_mapping=None, **kwargs)[source]

SSL configuration

c.f http://docs.gunicorn.org/en/stable/settings.html#ssl

class consensys_utils.config.schema.gunicorn.SecurityConfigSchema(*args, substitution_mapping=None, **kwargs)[source]

Security configuration

c.f http://docs.gunicorn.org/en/stable/settings.html#security