{ "$schema": "http://json-schema.org/draft-07/schema#", "title": "DBOS Config", "type": "object", "additionalProperties": false, "properties": { "name": { "type": "string", "description": "The name of your application" }, "language": { "type": "string", "description": "The language used in your application", "enum": [ "node", "python" ] }, "database": { "type": "object", "additionalProperties": false, "properties": { "hostname": { "type": "string", "description": "The hostname or IP address of the application database" }, "port": { "type": "number", "description": "The port number of the application database" }, "username": { "type": "string", "description": "The username to use when connecting to the application database", "not": { "enum": ["dbos"] } }, "password": { "type": "string", "description": "The password to use when connecting to the application database. Developers are strongly encouraged to use environment variable substitution to avoid storing secrets in source." }, "connectionTimeoutMillis": { "type": "number", "description": "The number of milliseconds the system waits before timing out when connecting to the application database" }, "app_db_name": { "type": "string", "description": "The name of the application database" }, "sys_db_name": { "type": "string", "description": "The name of the system database" }, "ssl": { "type": "boolean", "description": "Use SSL/TLS to securely connect to the database (default: true)" }, "ssl_ca": { "type": "string", "description": "If using SSL/TLS to securely connect to a database, path to an SSL root certificate file" }, "local_suffix": { "type": "boolean", "description": "Whether to suffix app_db_name with '_local'. Set to true when doing local development using a DBOS Cloud database." }, "app_db_client": { "type": "string", "description": "Specify the database client to use to connect to the application database", "enum": [ "pg-node", "prisma", "typeorm", "knex", "drizzle" ] }, "migrate": { "type": "array", "description": "Specify a list of user DB migration commands to run" }, "rollback": { "type": "array", "description": "Specify a list of user DB rollback commands to run" } }, "required": [ "hostname", "port", "username", "password" ] }, "telemetry": { "type": "object", "additionalProperties": false, "properties": { "logs": { "type": "object", "additionalProperties": false, "properties": { "addContextMetadata": { "type": "boolean", "description": "Adds contextual information, such as workflow UUID, to each log entry" }, "logLevel": { "type": "string", "description": "A filter on what logs should be printed to the standard output" }, "silent": { "type": "boolean", "description": "Silences the logger such that nothing is printed to the standard output" } } }, "OTLPExporter": { "type": "object", "additionalProperties": false, "properties": { "logsEndpoint": { "type": "string", "description": "The URL of an OTLP collector to which to export logs" }, "tracesEndpoint": { "type": "string", "description": "The URL of an OTLP collector to which to export traces" } } } } }, "runtimeConfig": { "type": "object", "additionalProperties": false, "properties": { "entrypoints": { "type": "array", "items": { "type": "string" } }, "port": { "type": "number", "description": "The port number of the application server (Default: 3000)" }, "admin_port": { "type": "number", "description": "The port number of the admin server (Default: 3001 or the app server port + 1)" } } }, "http": { "type": "object", "additionalProperties": false, "properties": { "cors_middleware": { "type": "boolean" }, "credentials": { "type": "boolean" }, "allowed_origins": { "type": "array", "items": { "type": "string" } } } }, "application": {}, "env": {}, "version": { "type": "string", "deprecated": true } }, "required": [ "database" ] }