airship-in-a-bottle/tools/multi_nodes_gate/airship_gate/manifest-schema.json
Scott Hussey b987b2b52f Emulate external DNS for ingress
Ingress requires external DNS or host header
forging. For a better gate test, run a external
DNS resolver for Ingress entries.

Change-Id: I6558230b7fa9f3145c472eb437177d90b7b52835
2018-09-06 21:48:39 +00:00

131 lines
2.6 KiB
JSON

{
"$schema": "http://json-schema.org/schema#",
"definitions": {
"publish": {
"type": "object",
"properties": {
"junit": {
"type": "array",
"items": {
"$ref": "#/definitions/relativePath"
}
}
},
"additionalProperties": false
},
"relativePath": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_\\.-]*(/[A-Za-z0-9_\\.-]+)*[A-Za-z0-9_-]$"
}
},
"type": "object",
"properties": {
"configuration": {
"type": "array",
"items": {
"$ref": "#/definitions/relativePath"
}
},
"publish": {
"$ref": "#/definitions/publish"
},
"ingress": {
"type": "object",
"properties": {
"domain": {
"type": "string"
},
"additionalProperties": {
"type": "array",
"items": {
"type": "string"
}
},
"required": ["domain"]
},
"stages": {
"type": "array",
"items": {
"type": "object",
"properties": {
"arguments": {
"type": "array",
"items": {
"type": "string"
}
},
"name": {
"type": "string"
},
"on_error": {
"$ref": "#/definitions/relativePath"
},
"publish": {
"$ref": "#/definitions/publish"
},
"script": {
"$ref": "#/definitions/relativePath"
}
},
"required": [
"name",
"script"
],
"additionalProperties": false
},
"minItems": 1
},
"vm": {
"type": "object",
"properties": {
"memory": {
"type": "integer",
"minimum": 1024
},
"names": {
"type": "array",
"items": {
"type": "string",
"enum": [
"n0",
"n1",
"n2",
"n3"
]
},
"uniqueItems": true
},
"non_genesis": {
"type": "array",
"items": {
"type": "string",
"enum": [
"n1",
"n2",
"n3"
]
},
"uniqueItems": true
},
"vcpus": {
"type": "integer",
"minimum": 1,
"maximum": 8
}
},
"required": [
"memory",
"names",
"vcpus"
],
"additionalProperties": false
}
},
"required": [
"stages"
],
"additionalProperties": false
}