Nameko · Schema

Nameko Service Configuration

JSON Schema for Nameko microservices framework configuration (config.yml).

AMQPDependency InjectionFrameworksMicroservicesPythonRPCTesting

Properties

Name Type Description
AMQP_URI string AMQP broker connection URI.
WEB_SERVER_ADDRESS string Address for HTTP entrypoints to listen on.
rpc_exchange string Name of the RPC exchange.
max_workers integer Maximum number of concurrent workers per service.
parent_calls_tracked integer Number of parent calls tracked for call ID stacks.
serializer string Default serializer for RPC messages.
ACCEPT_CONTENT array Accepted content types for deserialization.
HEARTBEAT integer AMQP heartbeat interval in seconds.
PREFETCH_COUNT integer AMQP consumer prefetch count.
LOGIN_METHOD string AMQP login method.
LOGGING object Python logging dictConfig configuration.
View JSON Schema on GitHub

JSON Schema

nameko-configuration.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://github.com/api-evangelist/nameko/json-schema/nameko-configuration.json",
  "title": "Nameko Service Configuration",
  "description": "JSON Schema for Nameko microservices framework configuration (config.yml).",
  "type": "object",
  "properties": {
    "AMQP_URI": {
      "type": "string",
      "default": "pyamqp://guest:guest@localhost",
      "description": "AMQP broker connection URI."
    },
    "WEB_SERVER_ADDRESS": {
      "type": "string",
      "default": "0.0.0.0:8000",
      "description": "Address for HTTP entrypoints to listen on."
    },
    "rpc_exchange": {
      "type": "string",
      "default": "nameko-rpc",
      "description": "Name of the RPC exchange."
    },
    "max_workers": {
      "type": "integer",
      "default": 10,
      "description": "Maximum number of concurrent workers per service."
    },
    "parent_calls_tracked": {
      "type": "integer",
      "default": 10,
      "description": "Number of parent calls tracked for call ID stacks."
    },
    "serializer": {
      "type": "string",
      "default": "json",
      "description": "Default serializer for RPC messages."
    },
    "ACCEPT_CONTENT": {
      "type": "array",
      "items": { "type": "string" },
      "default": ["json"],
      "description": "Accepted content types for deserialization."
    },
    "HEARTBEAT": {
      "type": "integer",
      "default": 60,
      "description": "AMQP heartbeat interval in seconds."
    },
    "PREFETCH_COUNT": {
      "type": "integer",
      "default": 10,
      "description": "AMQP consumer prefetch count."
    },
    "LOGIN_METHOD": {
      "type": "string",
      "description": "AMQP login method."
    },
    "LOGGING": {
      "type": "object",
      "properties": {
        "version": { "type": "integer", "default": 1 },
        "handlers": {
          "type": "object",
          "additionalProperties": {
            "type": "object",
            "properties": {
              "class": { "type": "string" },
              "level": { "type": "string" },
              "formatter": { "type": "string" }
            }
          }
        },
        "root": {
          "type": "object",
          "properties": {
            "level": { "type": "string" },
            "handlers": {
              "type": "array",
              "items": { "type": "string" }
            }
          }
        }
      },
      "description": "Python logging dictConfig configuration."
    }
  }
}