Seneca · Schema
Seneca Configuration
JSON Schema for Seneca microservices toolkit configuration including plugin and transport options.
FrameworksJavaScriptMessage HandlingMicroservicesNode.jsPattern MatchingPlugins
Properties
| Name | Type | Description |
|---|---|---|
| tag | string | Tag to identify this Seneca instance. |
| timeout | integer | Default action timeout in milliseconds. |
| log | object | Logging configuration. |
| debug | object | |
| plugin | object | Plugin configurations keyed by plugin name. |
| transport | object | |
| errhandler | string | Error handler function reference. |
| legacy | object |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://github.com/api-evangelist/seneca/json-schema/seneca-configuration.json",
"title": "Seneca Configuration",
"description": "JSON Schema for Seneca microservices toolkit configuration including plugin and transport options.",
"type": "object",
"properties": {
"tag": {
"type": "string",
"description": "Tag to identify this Seneca instance."
},
"timeout": {
"type": "integer",
"default": 22222,
"description": "Default action timeout in milliseconds."
},
"log": {
"oneOf": [
{ "type": "string", "enum": ["silent", "quiet", "any", "all", "test", "print"] },
{
"type": "object",
"properties": {
"level": {
"type": "string",
"enum": ["debug", "info", "warn", "error", "fatal", "none"],
"description": "Log level."
},
"logger": {
"type": "string",
"description": "Logger implementation."
}
}
}
],
"description": "Logging configuration."
},
"debug": {
"type": "object",
"properties": {
"undead": {
"type": "boolean",
"default": false,
"description": "Keep process alive on fatal errors."
},
"short_logs": {
"type": "boolean",
"default": false,
"description": "Use shortened log output."
},
"callpoint": {
"type": "boolean",
"default": false,
"description": "Include callpoint in logs."
}
}
},
"plugin": {
"type": "object",
"additionalProperties": {
"type": "object",
"description": "Plugin-specific configuration options."
},
"description": "Plugin configurations keyed by plugin name."
},
"transport": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": ["tcp", "http", "web"],
"default": "http",
"description": "Transport type."
},
"web": {
"type": "object",
"properties": {
"port": {
"type": "integer",
"default": 10101,
"description": "HTTP port for web transport."
},
"host": {
"type": "string",
"default": "0.0.0.0",
"description": "HTTP host for web transport."
}
}
},
"tcp": {
"type": "object",
"properties": {
"port": {
"type": "integer",
"default": 10201,
"description": "TCP port."
},
"host": {
"type": "string",
"default": "0.0.0.0",
"description": "TCP host."
}
}
}
}
},
"errhandler": {
"type": "string",
"description": "Error handler function reference."
},
"legacy": {
"type": "object",
"properties": {
"transport": {
"type": "boolean",
"default": false,
"description": "Use legacy transport."
},
"error_codes": {
"type": "boolean",
"default": false,
"description": "Use legacy error codes."
}
}
}
}
}