--- /dev/null
+---
+schema: deckhand/DataSchema/v1
+metadata:
+ schema: metadata/Control/v1
+ name: promenade/KubernetesNode/v1
+ labels:
+ application: promenade
+data:
+ $schema: http://json-schema.org/schema#
+ definitions:
+ hostname:
+ type: string
+ pattern: '^[a-z][a-z0-9-]+$'
+ ip_address:
+ type: string
+ pattern: '^(\d|[1-9]\d|1\d\d|2([0-4]\d|5[0-5]))\.(\d|[1-9]\d|1\d\d|2([0-4]\d|5[0-5]))\.(\d|[1-9]\d|1\d\d|2([0-4]\d|5[0-5]))\.(\d|[1-9]\d|1\d\d|2([0-4]\d|5[0-5]))$'
+ kubernetes_label:
+ type: string
+ # XXX add regex
+
+ type: object
+ properties:
+ hostname:
+ $ref: '#/definitions/hostname'
+
+ ip:
+ $ref: '#/definitions/ip_address'
+
+ join_ip:
+ $ref: '#/definitions/ip_address'
+
+ labels:
+ properties:
+ static:
+ type: array
+ items:
+ $ref: '#/definitions/kubernetes_label'
+ dynamic:
+ type: array
+ items:
+ $ref: '#/definitions/kubernetes_label'
+ additionalProperties: false
+
+ required:
+ - ip
+ - join_ip
+ additionalProperties: false