UNPKG

@codefresh-io/yaml-validator

Version:

An NPM module/CLI for validating the Codefresh YAML

62 lines (50 loc) 1.75 kB
/** * Defines the "Travis step" schema, which is a step that is basic a facade for a simplified * composition step. */ 'use strict'; //------------------------------------------------------------------------------ // Requirements //------------------------------------------------------------------------------ const Joi = require('joi'); const BaseSchema = require('./../base-schema'); class Travis extends BaseSchema { //------------------------------------------------------------------------------ // Public Interface //------------------------------------------------------------------------------ static getType() { return 'simple_travis'; } getSchema() { const testObject = Joi.object({ image: Joi.string().required(), command: Joi.string().required(), working_directory: Joi.string(), }).required(); const servicesArray = Joi.array().items( Joi.string().valid([ 'mysql', 'postgresql', 'mariadb', 'mongodb', 'couchdb', 'rabbitmq', // 'riak', // complex as fuck: https://hub.docker.com/r/basho/riak-kv/ 'memcached', 'redis', 'cassandra', 'neo4j', 'elasticsearch', 'rethinkdb' ]) ).required(); const compositionProperties = { type: Joi.string().valid(Travis.getType()), services: servicesArray, test: testObject }; return this._createSchema(compositionProperties).unknown(); } } // Exported objects/methods module.exports = Travis;