@codefresh-io/yaml-validator
Version:
An NPM module/CLI for validating the Codefresh YAML
29 lines (24 loc) • 1.02 kB
JavaScript
;
const Joi = require('joi');
const BaseSchema = require('./base-schema');
class RootSchema {
static getSchema() {
if (!this._schema) {
this._schema = Joi.object({
version: Joi.number().positive().required(),
steps: Joi.object().pattern(/^.+$/, Joi.object()).required(),
stages: Joi.array().items(Joi.string()),
mode: Joi.string().valid('sequential', 'parallel'),
hooks: BaseSchema._getBaseHooksSchema(),
fail_fast: [Joi.object(), Joi.string(), BaseSchema.getBooleanSchema()],
strict_fail_fast: BaseSchema.getBooleanSchema({ strictBoolean: true }).optional(),
success_criteria: BaseSchema.getSuccessCriteriaSchema(),
indicators: Joi.array(),
services: Joi.object(),
build_version: Joi.string().valid('v1', 'v2'),
});
}
return this._schema;
}
}
module.exports = { RootSchema };