diff options
author | Sam Thursfield <sam@afuera.me.uk> | 2016-02-20 11:38:51 +0000 |
---|---|---|
committer | Sam Thursfield <sam@afuera.me.uk> | 2016-02-20 12:31:53 +0000 |
commit | 6c4c284968b0d541ffca465f9116ec842d711f77 (patch) | |
tree | 5047da7f0338405b2a569ec50f5fa5e54d5ecc3d /schemas/007/cluster.json-schema | |
download | spec-6c4c284968b0d541ffca465f9116ec842d711f77.tar.gz |
Creation of Baserock definitions format specification repo
This contains:
- textual description of the Baserock definitions format, and the list
of changes since version 0, taken from: git://baserock.branchable.com/
- migrations and schemas taken from
git://git.baserock.org/baserock/baserock/definitions.
Diffstat (limited to 'schemas/007/cluster.json-schema')
-rw-r--r-- | schemas/007/cluster.json-schema | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/schemas/007/cluster.json-schema b/schemas/007/cluster.json-schema new file mode 100644 index 0000000..1a628c7 --- /dev/null +++ b/schemas/007/cluster.json-schema @@ -0,0 +1,64 @@ +$schema: http://json-schema.org/draft-04/schema# +id: http://git.baserock.org/cgi-bin/cgit.cgi/baserock/baserock/definitions.git/tree/schemas/cluster.json-schema + +description: + This is a JSON-Schema description of a 'cluster' .morph file, which is part + of the Baserock definitions YAML representation format. + + This JSON-Schema file is valid for VERSION 7 of the Baserock definitions + YAML serialisation format. + + The Baserock definitions format is the recommended way of representing + Baserock definitions on disk. The actual data model is described separately. + See https://wiki.baserock.org/definitions for more information. + + This schema is represented as YAML, so that it can be edited more easily. + You may need to convert to JSON if using a JSON-Schema tool that expects + its input to be an actual string containing data serialised as JSON. + +definitions: + # A reference to a System, plus one or more SystemDeployment for that system. + system-deployment-set: + type: object + + required: [ 'morph', 'deploy' ] + additionalProperties: false + + properties: + morph: { type: string } + deploy-defaults: + type: object + additionalProperties: true + deploy: + patternProperties: + ^.*$: { $ref: "#/definitions/system-deployment" } + subsystems: + type: array + items: { $ref: "#/definitions/system-deployment-set" } + + # Corresponds to SystemDeployment in Baserock data model. + system-deployment: + type: object + + required: [ 'type', 'location' ] + additionalProperties: true + + properties: + type: { type: string } + location: { type: string } + + +# Corresponds to Cluster in Baserock data model. +type: object + +#required: [ 'name', 'kind', 'systems' ] +additionalProperties: false + +properties: + name: { type: string } + kind: { enum: [ "cluster" ] } + description: { type: string } + + systems: + type: array + items: { $ref: "#/definitions/system-deployment-set" } |