update ceph-common to 10.2.11-0ubuntu0.16.04.2
[yaml_builds.git] / site_type / sriov / airship-treasuremap / global / v4.0 / schemas / promenade / HostSystem / v1.yaml
1 ---
2 schema: deckhand/DataSchema/v1
3 metadata:
4   schema: metadata/Control/v1
5   name: promenade/HostSystem/v1
6   labels:
7     application: promenade
8 data:
9   $schema: http://json-schema.org/schema#
10   definitions:
11     abs_path:
12       type: string
13       pattern: '^/.+$'
14     apt_source_line:
15       type: string
16       # XXX add regex
17     file:
18       properties:
19         path:
20           $ref: '#/definitions/abs_path'
21         content:
22           type: string
23         mode:
24           type: integer
25           minimum: 0
26         tar_url:
27           $ref: '#/definitions/url'
28         tar_path:
29           $ref: '#/definitions/rel_path'
30
31       requried:
32         - mode
33         - path
34       oneOf:
35         - type: object
36           required:
37             - content
38         - type: object
39           allOf:
40             - type: object
41               required:
42                 - tar_url
43                 - tar_path
44       additionalProperties: false
45
46     image:
47       type: string
48       # XXX add regex
49     package:
50       type: string
51       # XXX add regex
52     public_key:
53       type: string
54       # XXX add regex
55     rel_path:
56       type: string
57       # XXX add regex
58     url:
59       type: string
60       # XXX add regex
61
62   type: object
63
64   properties:
65     files:
66       type: array
67       items:
68         type: object
69         items:
70           $ref: '#/definitions/file'
71     images:
72       type: object
73       properties:
74         haproxy:
75           $ref: '#/definitions/image'
76         coredns:
77           $ref: '#/definitions/image'
78         helm:
79           type: object
80           properties:
81             helm:
82               $ref: '#/definitions/image'
83           required:
84             - helm
85           additionalProperties: false
86         kubernetes:
87           type: object
88           properties:
89             kubectl:
90               $ref: '#/definitions/image'
91           required:
92             - kubectl
93           additionalProperties: false
94       required:
95         - haproxy
96         - coredns
97         - helm
98         - kubernetes
99       additionalProperties: false
100
101     packages:
102       type: object
103       properties:
104         additional:
105           type: array
106           items:
107             $ref: '#/definitions/package'
108         keys:
109           type: array
110           items:
111             $ref: '#/definitions/public_key'
112
113         required:
114           type: object
115           properties:
116             docker:
117               $ref: '#/definitions/package'
118             socat:
119               $ref: '#/definitions/package'
120           required:
121             - docker
122             - socat
123           additionalProperties: false
124
125         repositories:
126           type: array
127           items:
128             $ref: '#/definitions/apt_source_line'
129
130       required:
131         - required
132       additionalProperties: false
133
134   required:
135     - images
136     - packages
137   additionalProperties: false