connectionString: joi.string().required(), }).when('kafka.backlogMetrics', { is: joi.exist(), then: joi.required() }), kafka: joi.object({ hosts: joi.string().required(), backlogMetrics: { zkPath: joi.string().required(), intervalS: joi.number().default(60), }, }).required(), topic: joi.string().required(), groupId: joi.string().required(), queueProcessor: joi.func(), fromOffset: joi.alternatives().try('latest', 'earliest', 'none'),