{ "description": "Configuration schema for RivetKit registry. This is typically passed to the setup() function.", "type": "object", "properties": { "use": { "description": "Actor definitions. Keys are actor names, values are actor definitions.", "type": "object", "propertyNames": { "type": "string" }, "additionalProperties": {} }, "maxIncomingMessageSize": { "description": "Maximum size of incoming WebSocket messages in bytes. Default: 65536", "type": "number" }, "maxOutgoingMessageSize": { "description": "Maximum size of outgoing WebSocket messages in bytes. Default: 1048576", "type": "number" }, "noWelcome": { "description": "Disable the welcome message on startup. Default: false", "type": "boolean" }, "logging": { "description": "Logging configuration.", "type": "object", "properties": { "level": { "description": "Log level for RivetKit. Default: 'warn'", "type": "string", "enum": [ "trace", "debug", "info", "warn", "error", "fatal", "silent" ] } }, "additionalProperties": false }, "endpoint": { "description": "Endpoint URL to connect to Rivet Engine. Supports URL auth syntax: https://namespace:token@api.rivet.dev. Can also be set via RIVET_ENDPOINT environment variable.", "type": "string" }, "token": { "description": "Authentication token for Rivet Engine. Can also be set via RIVET_TOKEN environment variable.", "type": "string" }, "namespace": { "description": "Namespace to use. Default: 'default'. Can also be set via RIVET_NAMESPACE environment variable.", "type": "string" }, "headers": { "description": "Additional headers to include in requests to Rivet Engine.", "type": "object", "propertyNames": { "type": "string" }, "additionalProperties": { "type": "string" } }, "staticDir": { "description": "Directory to serve static files from. When set, registry.start() serves static files alongside the actor API.", "type": "string" }, "httpBasePath": { "description": "Base path for the local RivetKit API. Default: '/'", "type": "string" }, "httpPort": { "description": "Port to run the local HTTP server on. Default: 6421", "type": "number" }, "httpHost": { "description": "Host to bind the local HTTP server to.", "type": "string" }, "inspector": { "description": "Inspector configuration for debugging and development.", "type": "object", "properties": { "enabled": { "description": "Whether to enable the Rivet Inspector. Defaults to true in development mode.", "type": "boolean" }, "token": { "description": "Token used to access the Inspector.", "type": "string" }, "defaultEndpoint": { "description": "Default RivetKit server endpoint for Rivet Inspector to connect to.", "type": "string" } }, "additionalProperties": false }, "startEngine": { "description": "Starts the full Rust engine process locally. Default: false", "type": "boolean" }, "engineVersion": { "description": "Version of the local engine package to use. Defaults to the current RivetKit version.", "type": "string" }, "configurePool": { "description": "Automatically configure serverless runners in the engine.", "type": "object", "properties": { "name": { "description": "Name of the runner pool.", "type": "string" }, "url": { "description": "URL of the serverless platform to configure runners.", "type": "string" }, "headers": { "description": "Headers to include in requests to the serverless platform.", "type": "object", "propertyNames": { "type": "string" }, "additionalProperties": { "type": "string" } }, "requestLifespan": { "description": "Maximum lifespan of a request in seconds.", "type": "number" }, "metadata": { "description": "Additional metadata to pass to the serverless platform.", "type": "object", "propertyNames": { "type": "string" }, "additionalProperties": {} }, "metadataPollInterval": { "description": "Interval in milliseconds between metadata polls from the engine. Defaults to 10000 milliseconds (10 seconds).", "type": "number" }, "drainOnVersionUpgrade": { "description": "Drain runners when a new version is deployed. Defaults to true.", "type": "boolean" } }, "required": [ "url" ], "additionalProperties": false }, "serverless": { "description": "Configuration for serverless deployment mode.", "type": "object", "properties": { "basePath": { "description": "Base path for serverless API routes. Default: '/api/rivet'", "type": "string" }, "publicEndpoint": { "description": "The endpoint that clients should connect to. Supports URL auth syntax: https://namespace:token@api.rivet.dev", "type": "string" }, "publicToken": { "description": "Token that clients should use when connecting via the public endpoint.", "type": "string" } }, "additionalProperties": false }, "envoy": { "description": "Configuration for envoy mode.", "type": "object", "properties": { "totalSlots": { "description": "Total number of actor slots available. Default: 100000", "type": "number" }, "poolName": { "description": "Name of this envoy pool. Default: 'default'", "type": "string" }, "envoyKey": { "description": "Deprecated. Authentication key for the envoy.", "type": "string" }, "version": { "description": "Version number of this envoy. Default: 1", "type": "number" } }, "additionalProperties": false } }, "required": [ "use" ], "additionalProperties": false, "title": "RivetKit Registry Configuration" }