UNPKG

@codefresh-io/yaml-validator

Version:

An NPM module/CLI for validating the Codefresh YAML

29 lines (24 loc) 1.02 kB
'use strict'; 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 };