telepat-io/telepat-api

View on GitHub
config.spec.json

Summary

Maintainability
Test Coverage
{
    "root": [
        {
            "name": "main_database",
            "env_var": "TP_MAIN_DB",
            "type": "string",
            "enum": ["ElasticSearch"]
        },
        {
            "name": "message_queue",
            "env_var": "TP_MSG_QUE",
            "type": "string",
            "enum": ["amqp", "kafka", "azure_servicebus"]
        },
        {
            "name": "logger",
            "type": "object",
            "optional": true,
            "root": [
                {
                    "name": "type",
                    "enum": ["Console"],
                    "type": "string",
                    "env_var": "TP_LOGGER"
                },
                {
                    "name": "settings",
                    "type": "object",
                    "root": [
                        {
                            "name": "level",
                            "env_var": "TP_LOG_LEVEL",
                            "enum": ["debug", "info", "notice", "warn", "error", "critical", "alert", "emergency"]
                        }
                    ]
                }
            ]
        },
        {
            "name": "ElasticSearch",
            "type": "object",
            "required_by": {
                "main_database": "ElasticSearch"
            },
            "root": [
                {
                    "name": "host",
                    "env_var": "TP_ES_HOST",
                    "type": "string",
                    "exclusive_group": "es_host"
                },
                {
                    "name": "hosts",
                    "env_var": "TP_ES_HOSTS",
                    "type": "array",
                    "exclusive_group": "es_host"
                },
                {
                    "name": "port",
                    "env_var": "TP_ES_PORT",
                    "type": "int",
                    "optional": true
                }
            ]
        },
        {
            "name": "redis",
            "type": "object",
            "root": [
                {
                    "name": "host",
                    "env_var": "TP_REDIS_HOST",
                    "type": "string"
                },
                {
                    "name": "port",
                    "env_var": "TP_REDIS_PORT",
                    "type": "int"
                }
            ]
        },
        {
            "name": "redisCache",
            "type": "object",
            "root": [
                {
                    "name": "host",
                    "env_var": "TP_REDISCACHE_HOST",
                    "type": "string"
                },
                {
                    "name": "port",
                    "env_var": "TP_REDISCACHE_PORT",
                    "type": "int"
                }
            ]
        },
        {
            "name": "amqp",
            "type": "object",
            "required_by": {
                "messaging_queue": "amqp"
            },
            "root": [
                {
                    "name": "host",
                    "env_var": "TP_AMQP_HOST",
                    "type": "string"
                },
                {
                    "name": "user",
                    "env_var": "TP_AMQP_USER",
                    "type": "string"
                },
                {
                    "name": "password",
                    "env_var": "TP_AMQP_PASSWORD",
                    "type": "string"
                }
            ]
        },
        {
            "name": "kafka",
            "type": "object",
            "required_by": {
                "messaging_queue": "kafka"
            },
            "root": [
                {
                    "name": "host",
                    "env_var": "TP_KFK_HOST",
                    "type": "string"
                },
                {
                    "name": "port",
                    "env_var": "TP_KFK_PORT",
                    "type": "int"
                }
            ]
        },
        {
            "name": "password_salt",
            "env_var": "TP_PW_SALT",
            "type": "string"
        },
        {
            "name": "login_providers",
            "type": "object",
            "optional": true,
            "root": [
                {
                    "name": "facebook",
                    "type": "object",
                    "optional": true,
                    "root": [
                        {
                            "name": "client_id",
                            "type": "string"
                        },
                        {
                            "name": "client_secret",
                            "type": "string"
                        }
                    ]
                },
                {
                    "name": "twitter",
                    "type": "object",
                    "optional": true,
                    "root": [
                        {
                            "name": "consumer_key",
                            "type": "string"
                        },
                        {
                            "name": "consumer_secret",
                            "type": "string"
                        }
                    ]
                }
            ]
        },
        {
            "name": "mandrill",
            "type": "object",
            "optional": true,
            "root": [
                {
                    "name": "api_key",
                    "type": "string"
                }
            ]
        },
        {
            "name": "redirect_url",
            "type": "string",
            "optional": true
        },
        {
            "name": "subscribe_limit",
            "type": "int",
            "optional": true
        },
        {
            "name": "get_limit",
            "type": "int",
            "optional": true
        }
    ]
}