cube.js 配置json schema
通过对与cube 配置的json schema 学习我们可以知道cube.js 都包含了那些扩展点,可以方便系统的扩容以及优化
内容
const schemaOptions = Joi.object().keys({
// server CreateOptions
initApp: Joi.func(),
webSockets: Joi.boolean(),
http: Joi.object().keys({
cors: Joi.object(),
}),
gracefulShutdown: Joi.number().min(0).integer(),
// Additional from WebSocketServerOptions
processSubscriptionsInterval: Joi.number(),
webSocketsBasePath: Joi.string(),
// server-core CoreCreateOptions
dbType: dbTypes,
externalDbType: dbTypes,
schemaPath: Joi.string(),
basePath: Joi.string(),
devServer: Joi.boolean(),
apiSecret: Joi.string(),
logger: Joi.func(),
// source
dialectFactory: Joi.func(),
driverFactory: Joi.func(),
// external
externalDialectFactory: Joi.func(),
externalDriverFactory: Joi.func(),
//
cacheAndQueueDriver: Joi.string().valid('redis', 'memory'),
contextToAppId: Joi.func(),
contextToOrchestratorId: Joi.func(),
contextToDataSourceId: Joi.func(),
repositoryFactory: Joi.func(),
checkAuth: Joi.func(),
checkAuthMiddleware: Joi.func(),
jwt: jwtOptions,
queryTransformer: Joi.func(),
queryRewrite: Joi.func(),
preAggregationsSchema: Joi.alternatives().try(
Joi.string(),
Joi.func()
),
schemaVersion: Joi.func(),
extendContext: Joi.func(),
// Scheduled refresh
scheduledRefreshTimer: Joi.alternatives().try(
Joi.boolean(),
Joi.number().min(0).integer()
),
scheduledRefreshTimeZones: Joi.array().items(Joi.string()),
scheduledRefreshContexts: Joi.func(),
scheduledRefreshConcurrency: Joi.number().min(1).integer(),
// Compiler cache
compilerCacheSize: Joi.number().min(0).integer(),
updateCompilerCacheKeepAlive: Joi.boolean(),
maxCompilerCacheKeepAlive: Joi.number().min(0).integer(),
telemetry: Joi.boolean(),
allowUngroupedWithoutPrimaryKey: Joi.boolean(),
orchestratorOptions: Joi.alternatives().try(
Joi.func(),
Joi.object().keys({
redisPrefix: Joi.string().allow(''),
redisPoolOptions: Joi.object().keys({
poolMin: Joi.number().min(0),
poolMax: Joi.number().min(0),
idleTimeoutSeconds: Joi.number().min(0),
softIdleTimeoutSeconds: Joi.number().min(0),
createClient: Joi.func(),
destroyClient: Joi.func(),
poolOptions: Joi.object().keys({
maxWaitingClients: Joi.number(),
testOnBorrow: Joi.bool(),
testOnReturn: Joi.bool(),
acquireTimeoutMillis: Joi.number(),
fifo: Joi.bool(),
priorityRange: Joi.number(),
autostart: Joi.bool(),
evictionRunIntervalMillis: Joi.number().min(0),
numTestsPerEvictionRun: Joi.number().min(1),
softIdleTimeoutMillis: Joi.number().min(0),
idleTimeoutMillis: Joi.number().min(0),
})
}),
continueWaitTimeout: Joi.number().min(0).integer(),
skipExternalCacheAndQueue: Joi.boolean(),
queryCacheOptions: Joi.object().keys({
refreshKeyRenewalThreshold: Joi.number().min(0).integer(),
backgroundRenew: Joi.boolean(),
queueOptions: schemaQueueOptions,
externalQueueOptions: schemaQueueOptions
}),
preAggregationsOptions: {
queueOptions: schemaQueueOptions,
externalRefresh: Joi.boolean(),
},
rollupOnlyMode: Joi.boolean()
})
),
allowJsDuplicatePropsInSchema: Joi.boolean(),
dashboardAppPath: Joi.string(),
dashboardAppPort: Joi.number(),
sqlCache: Joi.boolean(),
livePreview: Joi.boolean(),
// SQL API
sqlPort: Joi.number(),
pgSqlPort: Joi.number(),
checkSqlAuth: Joi.func(),
sqlUser: Joi.string(),
sqlPassword: Joi.string(),
// Additional system flags
serverless: Joi.boolean(),
allowNodeRequire: Joi.boolean(),
});
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
2021-06-11 jcasbin redis watcher 一些修改
2021-06-11 cube.js 0.27.31 一些新特性
2020-06-11 pgspider clickhouse fdw v2 版本
2020-06-11 ola 不错的sql server 维护方案
2020-06-11 几个不错的web资源inlines npm包
2020-06-11 nodejs 几个不错的callback 以及promise 转换处理工具
2019-06-11 circus security 来自官方的安全建议