airshipctl/manifests/function/airshipctl-schemas/versions-catalogue.yaml
Matthew Fuller 7222467df3 Add validation for catalogues
This change ensures that catalogue CRs (i.e. networking,
versions) are validated when running validate_docs script.

Also fixes:
* problem encountered with the creation of the ironic-vars
ConfigMap when a non-string data type was used as the
replacement target value.
* amends VersionsCatalogue schema to allow an optional
'ipam-manager' object in capi_images, necessitated by
a change to the capm3 function[0].

[0] https://review.opendev.org/c/airship/airshipctl/+/780297

Closes: #476
Change-Id: Idd05eb046e411b757b7d4f7b21a9b89b6cc51bb6
2021-03-31 02:44:07 +00:00

95 lines
3.0 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
required: [manager, auth_proxy]
properties:
manager:
type: object
properties:
repository:
type: string
tag:
type: string
auth_proxy:
type: object
properties:
repository:
type: string
tag:
type: string
ipam-manager:
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