blob: 1a628c7f5ce4951b992df6c441599139c8141016 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
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" }
|