You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
137 lines
2.8 KiB
137 lines
2.8 KiB
--- |
|
schema: deckhand/DataSchema/v1 |
|
metadata: |
|
schema: metadata/Control/v1 |
|
name: promenade/HostSystem/v1 |
|
labels: |
|
application: promenade |
|
data: |
|
$schema: http://json-schema.org/schema# |
|
definitions: |
|
abs_path: |
|
type: string |
|
pattern: '^/.+$' |
|
apt_source_line: |
|
type: string |
|
# XXX add regex |
|
file: |
|
properties: |
|
path: |
|
$ref: '#/definitions/abs_path' |
|
content: |
|
type: string |
|
mode: |
|
type: integer |
|
minimum: 0 |
|
tar_url: |
|
$ref: '#/definitions/url' |
|
tar_path: |
|
$ref: '#/definitions/rel_path' |
|
|
|
required: |
|
- mode |
|
- path |
|
oneOf: |
|
- type: object |
|
required: |
|
- content |
|
- type: object |
|
allOf: |
|
- type: object |
|
required: |
|
- tar_url |
|
- tar_path |
|
additionalProperties: false |
|
|
|
image: |
|
type: string |
|
# XXX add regex |
|
package: |
|
type: string |
|
# XXX add regex |
|
public_key: |
|
type: string |
|
# XXX add regex |
|
rel_path: |
|
type: string |
|
# XXX add regex |
|
url: |
|
type: string |
|
# XXX add regex |
|
|
|
type: object |
|
|
|
properties: |
|
files: |
|
type: array |
|
items: |
|
type: object |
|
items: |
|
$ref: '#/definitions/file' |
|
images: |
|
type: object |
|
properties: |
|
haproxy: |
|
$ref: '#/definitions/image' |
|
coredns: |
|
$ref: '#/definitions/image' |
|
helm: |
|
type: object |
|
properties: |
|
helm: |
|
$ref: '#/definitions/image' |
|
required: |
|
- helm |
|
additionalProperties: false |
|
kubernetes: |
|
type: object |
|
properties: |
|
kubectl: |
|
$ref: '#/definitions/image' |
|
required: |
|
- kubectl |
|
additionalProperties: false |
|
required: |
|
- haproxy |
|
- coredns |
|
- helm |
|
- kubernetes |
|
additionalProperties: false |
|
|
|
packages: |
|
type: object |
|
properties: |
|
additional: |
|
type: array |
|
items: |
|
$ref: '#/definitions/package' |
|
keys: |
|
type: array |
|
items: |
|
$ref: '#/definitions/public_key' |
|
|
|
required: |
|
type: object |
|
properties: |
|
docker: |
|
$ref: '#/definitions/package' |
|
socat: |
|
$ref: '#/definitions/package' |
|
required: |
|
- docker |
|
- socat |
|
additionalProperties: false |
|
|
|
repositories: |
|
type: array |
|
items: |
|
$ref: '#/definitions/apt_source_line' |
|
|
|
required: |
|
- required |
|
additionalProperties: false |
|
|
|
required: |
|
- images |
|
- packages |
|
additionalProperties: false
|
|
|