X-Git-Url: https://gerrit.akraino.org/r/gitweb?a=blobdiff_plain;f=site_type%2Fovsdpdk%2Fairship-treasuremap%2Fglobal%2Fv4.0%2Fschemas%2Fpromenade%2FGenesis%2Fv1.yaml;fp=site_type%2Fovsdpdk%2Fairship-treasuremap%2Fglobal%2Fv4.0%2Fschemas%2Fpromenade%2FGenesis%2Fv1.yaml;h=d261698396e804caf770ef57eb2b130d9d10f3bf;hb=fe885c06b13b6807209a76d0226a40d84ec61df3;hp=0000000000000000000000000000000000000000;hpb=f75a047e5d98eea7d43cfbe6ade55ce2e2e0f3a9;p=yaml_builds.git diff --git a/site_type/ovsdpdk/airship-treasuremap/global/v4.0/schemas/promenade/Genesis/v1.yaml b/site_type/ovsdpdk/airship-treasuremap/global/v4.0/schemas/promenade/Genesis/v1.yaml new file mode 100644 index 0000000..d261698 --- /dev/null +++ b/site_type/ovsdpdk/airship-treasuremap/global/v4.0/schemas/promenade/Genesis/v1.yaml @@ -0,0 +1,141 @@ +--- +schema: deckhand/DataSchema/v1 +metadata: + schema: metadata/Control/v1 + name: promenade/Genesis/v1 + labels: + application: promenade +data: + $schema: http://json-schema.org/schema# + definitions: + abs_path: + type: string + pattern: '^/.+$' + hostname: + type: string + pattern: '^[a-z][a-z0-9-]+$' + 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' + + requried: + - 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 + 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 + rel_path: + type: string + # XXX add regex + + type: object + properties: + armada: + type: object + properties: + target_manifest: + type: string + additionalProperties: false + + apiserver: + type: object + properties: + command_prefix: + type: array + items: + type: string + additionalProperties: false + + files: + type: array + items: + $ref: '#/definitions/file' + + hostname: + $ref: '#/definitions/hostname' + + 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 + + images: + type: object + properties: + armada: + $ref: '#/definitions/image' + helm: + type: object + properties: + tiller: + $ref: '#/definitions/image' + required: + - tiller + additionalProperties: false + kubernetes: + type: object + properties: + apiserver: + $ref: '#/definitions/image' + controller-manager: + $ref: '#/definitions/image' + etcd: + $ref: '#/definitions/image' + scheduler: + $ref: '#/definitions/image' + required: + - apiserver + - controller-manager + - etcd + - scheduler + additionalProperties: false + required: + - armada + - helm + - kubernetes + additionalProperties: false + + required: + - hostname + - ip + - images + - labels + additionalProperties: false +...