52c5aedc63
'make manifests' attempts to generate all airshipctl API types, but several types throw errors and the resulting CRDs can't be properly generated. This change: - updates the controller-gen version to pull in a bug fix for the error 'map values must be a named type, not *ast.StarExpr' - modifies the Templater type's Values member to be of type JSON since controller-gen does not support map[string]interface{}, and unmarshals it separately in the templater itself - adds 'image_repositories' to the VersionsCatalogueSpec struct to ensure it doesn't get deleted from the schema when manifests get regenerated - checks in generated copies of all CRDs from airshipctl's API types, not just catalogues, to be used for validation Closes: #574 Change-Id: I89a12cfd307a08da9aaec9773eac01169ea43ace
103 lines
4.0 KiB
YAML
103 lines
4.0 KiB
YAML
|
|
---
|
|
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
annotations:
|
|
controller-gen.kubebuilder.io/version: v0.6.1
|
|
creationTimestamp: null
|
|
name: clustermaps.airshipit.org
|
|
spec:
|
|
group: airshipit.org
|
|
names:
|
|
kind: ClusterMap
|
|
listKind: ClusterMapList
|
|
plural: clustermaps
|
|
singular: clustermap
|
|
scope: Namespaced
|
|
versions:
|
|
- name: v1alpha1
|
|
schema:
|
|
openAPIV3Schema:
|
|
description: ClusterMap represents cluster defined for this manifest
|
|
properties:
|
|
apiVersion:
|
|
description: 'APIVersion defines the versioned schema of this representation
|
|
of an object. Servers should convert recognized schemas to the latest
|
|
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
|
|
type: string
|
|
kind:
|
|
description: 'Kind is a string value representing the REST resource this
|
|
object represents. Servers may infer this from the endpoint the client
|
|
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
|
|
type: string
|
|
map:
|
|
additionalProperties:
|
|
description: Cluster uniquely identifies a cluster and its parent cluster
|
|
properties:
|
|
kubeconfigSources:
|
|
description: KubeconfigContext is the context in kubeconfig, default
|
|
is equals to clusterMap key
|
|
items:
|
|
description: KubeconfigSource describes source of the kubeconfig
|
|
properties:
|
|
bundle:
|
|
description: KubeconfigSourceBundle get kubeconfig from bundle
|
|
properties:
|
|
contextName:
|
|
type: string
|
|
type: object
|
|
clusterAPI:
|
|
description: KubeconfigSourceClusterAPI get kubeconfig from
|
|
clusterAPI parent cluster
|
|
properties:
|
|
clusterNamespacedName:
|
|
description: NamespacedName is a name combined with namespace
|
|
to uniquely identify objects
|
|
properties:
|
|
name:
|
|
type: string
|
|
namespace:
|
|
type: string
|
|
type: object
|
|
timeout:
|
|
type: string
|
|
type: object
|
|
filesystem:
|
|
description: KubeconfigSourceFilesystem get kubeconfig from
|
|
filesystem path
|
|
properties:
|
|
contextName:
|
|
type: string
|
|
path:
|
|
type: string
|
|
type: object
|
|
type:
|
|
description: KubeconfigSourceType type of source
|
|
type: string
|
|
required:
|
|
- type
|
|
type: object
|
|
type: array
|
|
parent:
|
|
description: Parent is a key in ClusterMap.Map that identifies the
|
|
name of the parent(management) cluster
|
|
type: string
|
|
required:
|
|
- kubeconfigSources
|
|
type: object
|
|
description: Keys in this map MUST correspond to context names in kubeconfigs
|
|
provided
|
|
type: object
|
|
metadata:
|
|
type: object
|
|
type: object
|
|
served: true
|
|
storage: true
|
|
status:
|
|
acceptedNames:
|
|
kind: ""
|
|
plural: ""
|
|
conditions: []
|
|
storedVersions: []
|