Skip to main content

Manifest version 08

What's new

  • pipeline.steps: Pipeline steps have been moved here.
  • pipeline.readInputFiles: New field that enables pipeline jobs accessing input files.

Overview

Manifests of version io.batchx.manifest-08 are JSON documents containing for following information:

Field NameDescriptionRequired
nameImage name.true
versionImage version.true
titleShort description of the purpose of the image.true
readmeDetailed image documentation. Markdown supported.false
scmSource code repository URL.false
authorImage creator.true
schemaSection where image inputs and outputs must be defined.true
errorCodesError codes that might be returned. Keys must be integer numbers.false
warningCodesWarning codes that might be returned. Keys must be integer numbers.false
runtimeSection that defines the minimum resident set size (RSS) memory assigned to the container (in MB) and GPU usage.true
changeLogDescription of how this version improves the previous one.false
pipeline.stepsDeclares this image as a pipeline, and lists the coordinates of the orchestrated images.false
pipeline.readInputFilesArray referencing the JSON paths of the files that the pipeline job accesses.false

Definition

More precisely, io.batchx.manifest-08 manifests are JSON documents adhering to the following JSON schema:

JSON schema for io.batchx.manifest-08
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"required": [
"name",
"title",
"schema",
"author",
"version",
"runtime",
"changeLog"
],
"additionalProperties": false,
"properties": {
"name": {
"type": "string",
"description": "Image name",
"maxLength": 60
},
"version": {
"type": "string",
"description": "Semantic version of the image",
"maxLength": 15,
"pattern": "^\\d+\\.\\d+\\.\\d+$"
},
"title": {
"type": "string",
"description": "Short description of the purpose of the image",
"maxLength": 100
},
"readme": {
"type": "string",
"description": "Detailed image documentation. Markdown supported"
},
"changeLog": {
"type": "string",
"description": "Short description of what news this version brings, compared to the previous one",
"maxLength": 80
},
"schema": {
"type": "object",
"required": [
"input",
"output"
],
"additionalProperties": false,
"properties": {
"input": {
"type": "object",
"description": "JSON-Schema of the input data",
"additionalProperties": true
},
"output": {
"type": "object",
"description": "JSON-Schema of the output data",
"additionalProperties": true
}
}
},
"errorCodes": {
"description": "Error codes that might be returned. Keys must be integer numbers",
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"warningCodes": {
"description": "Warning return codes that might be returned. Keys must be integer numbers",
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"author": {
"type": "string",
"description": "Individual or environment",
"maxLength": 40
},
"scm": {
"type": "string",
"description": "Source code repository URL",
"maxLength": 70
},
"pipeline": {
"type": "object",
"required": [
"steps"
],
"additionalProperties": false,
"properties": {
"steps": {
"type": "array",
"uniqueItems": true,
"minItems": 1,
"description": "Declares all the images that this pipeline orchestrates",
"items": {
"type": "string",
"description": "BatchX image coordinates"
},
"minMem": {
"type": "integer",
"description": "Minimum RSS limit for the container (in MB)"
}
},
"readInputFiles": {
"type": "array",
"uniqueItems": true,
"minItems": 1,
"description": "Declares all the input files the orchestrator job reads at runtime",
"items": {
"type": "string",
"description": "Json path of the input file (relative to the input schema), for example: $.sampleNames"
}
}
}
},
"runtime": {
"type": "object",
"required": [
"minMem"
],
"additionalProperties": false,
"properties": {
"gpus": {
"type": "string",
"description": "Indicates whether the image requires at least one gpu to run",
"enum": [
"required",
"supported"
]
},
"minMem": {
"type": "integer",
"description": "Minimum RSS limit for the container (in MB)"
}
}
}
}
}