# Copyright 2017 AT&T Intellectual Property. All other rights reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # JSON schema for validating Armada charts. --- schema: deckhand/DataSchema/v1 metadata: name: armada/Chart/v2 schema: metadata/Control/v1 data: $schema: http://json-schema.org/schema# definitions: labels: type: object additionalProperties: type: string hook_action: type: array items: properties: type: type: string labels: $ref: '#/definitions/labels' required: - type additionalProperties: false wait_resource_type_config: properties: labels: $ref: '#/definitions/labels' min_ready: anyOf: - type: integer - type: string required: type: boolean type: object properties: release: type: string namespace: type: string values: type: object # TODO: Remove this, and just read dependencies out of `chart` dir as helm # CLI does. dependencies: type: array items: type: string protected: type: object properties: continue_processing: type: boolean additionalProperties: false test: type: object properties: enabled: type: boolean timeout: type: integer options: type: object properties: cleanup: type: boolean additionalProperties: false additionalProperties: false wait: type: object properties: timeout: type: integer resources: anyOf: - additionalProperties: anyOf: - $ref: '#/definitions/wait_resource_type_config' - type: array items: $ref: '#/definitions/wait_resource_type_config' - type: array items: allOf: - $ref: '#/definitions/wait_resource_type_config' - properties: type: type: string required: - type labels: $ref: "#/definitions/labels" # Config for helm's native `--wait` param. native: type: object properties: enabled: type: boolean additionalProperties: false additionalProperties: false source: type: object properties: type: type: string location: type: string subpath: type: string reference: type: string proxy_server: type: string auth_method: type: string required: - location - type delete: type: object properties: timeout: type: integer upgrade: type: object properties: pre: type: object additionalProperties: false properties: delete: $ref: '#/definitions/hook_action' options: type: object properties: force: type: boolean no_hooks: type: boolean additionalProperties: false additionalProperties: false required: - namespace - release - source additionalProperties: false ...