The heart of any xcore project is the integration.yaml file. This central configuration file defines how services, plugins, and the core system behave.
app:name:my-xcore-appenv:production# "development" | "production"debug:falsesecret_key:"${APP_KEY}"plugin_prefix:"/plugin"# base URL for all plugin routes
security:strict_trusted:true# require plugin.sig for all trusted pluginsscan_on_load:true# re-scan sandboxed plugins on every loadallowed_imports:-fastapi-pydantic-json-datetime-mathforbidden_imports:-os-subprocess-socket
plugins:directory:./pluginssecret_key:"${PLUGINS_KEY}"# must match the key used with `xcli plugin sign`strict_trusted:falseinterval:2# hot-reload polling interval in seconds
Plugin Verification
plugins.secret_key is used to verify HMAC-SHA256 signatures (plugin.sig) of your plugins. Set strict_trusted: true in production.
services:databases:default:# aliased as 'db'type:"postgresql+aio"url:"postgresql+asyncpg://user:pass@localhost/mydb"pool_size:20echo:falsemongo:type:"mongodb"url:"mongodb://localhost:27017"database:"app_logs"cache:backend:"redis"url:"redis://localhost:6379/0"ttl:300scheduler:enabled:truebackend:"redis"timezone:"UTC"xworker:enabled:truebroker_url:"redis://localhost:6379/0"result_backend:"redis://localhost:6379/0"queues:["default","high"]concurrency:4