Matthew Fuller 3fec6981f0 Define structural schema for VersionsCatalogue
Changes the versions catalogue from a VariableCatalogue
to a structural schema VersionsCatalogue CRD.

Relates-To: #363
Change-Id: I445111356662ab33d9337ddd1537885d5afd094f
2021-02-24 18:00:28 +00:00

87 lines
2.7 KiB
YAML

apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
name: versionscatalogues.airshipit.org
spec:
group: airshipit.org
names:
kind: VersionsCatalogue
plural: versionscatalogues
singular: versionscatalogue
scope: Namespaced
versions:
- name: v1alpha1
served: true
storage: true
schema:
openAPIV3Schema:
type: object
properties:
spec:
type: object
properties:
helm_repositories:
type: object
additionalProperties:
type: object
properties:
url:
type: string
charts:
type: object
additionalProperties:
type: object
properties:
chart:
type: string
version:
type: string
files:
type: object
additionalProperties: # file group
type: object
additionalProperties: # file
type: object
properties:
url:
type: string
checksum:
type: string
capi_images:
type: object
additionalProperties:
type: object
properties:
manager:
type: object
properties:
repository:
type: string
tag:
type: string
auth_proxy:
type: object
properties:
repository:
type: string
tag:
type: string
images:
type: object
additionalProperties: # image groups
type: object
additionalProperties: # Deployments in image group
type: object
additionalProperties: # images in Deployment
type: object
properties:
image:
type: string
# TODO(mfuller): add fields for 'tag' and 'hash' which
# will require a function in the replacement transformer
# to properly concatenate the complete image string, i.e.
# image/name:tag and image/name@sha256:hash
kubernetes:
type: string