2021-06-30 16:46:39 +08:00
---
2021-09-21 16:57:51 +08:00
apiVersion : apiextensions.k8s.io/v1
2021-06-30 16:46:39 +08:00
kind : CustomResourceDefinition
metadata :
annotations :
2021-09-21 16:57:51 +08:00
controller-gen.kubebuilder.io/version : v0.4.1
2021-06-30 16:46:39 +08:00
creationTimestamp : null
name : componentdefinitions.rainbond.io
spec :
group : rainbond.io
names :
categories :
- oam
kind : ComponentDefinition
listKind : ComponentDefinitionList
plural : componentdefinitions
shortNames :
- comp
singular : componentdefinition
scope : Namespaced
2021-09-21 16:57:51 +08:00
versions :
- additionalPrinterColumns :
- jsonPath : .spec.workload.definition.kind
name : WORKLOAD-KIND
type : string
- jsonPath : .metadata.annotations.definition\.oam\.dev/description
name : DESCRIPTION
type : string
name : v1alpha1
schema :
openAPIV3Schema :
description : ComponentDefinition is the Schema for the componentdefinitions
API
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
metadata :
type : object
spec :
description : ComponentDefinitionSpec defines the desired state of ComponentDefinition
properties :
childResourceKinds :
description : ChildResourceKinds are the list of GVK of the child resources
this workload generates
items :
description : A ChildResourceKind defines a child Kubernetes resource
kind with a selector
2021-06-30 16:46:39 +08:00
properties :
apiVersion :
2021-09-21 16:57:51 +08:00
description : APIVersion of the child resource
2021-06-30 16:46:39 +08:00
type : string
kind :
2021-09-21 16:57:51 +08:00
description : Kind of the child resource
2021-06-30 16:46:39 +08:00
type : string
2021-09-21 16:57:51 +08:00
selector :
additionalProperties :
type : string
description : Selector to select the child resources that the
workload wants to expose to traits
type : object
2021-06-30 16:46:39 +08:00
required :
- apiVersion
- kind
type : object
2021-09-21 16:57:51 +08:00
type : array
extension :
description : Extension is used for extension needs by OAM platform
builders
type : object
x-kubernetes-preserve-unknown-fields : true
podSpecPath :
description : PodSpecPath indicates where/if this workload has K8s
podSpec field if one workload has podSpec, trait can do lot's of
assumption such as port, env, volume fields.
type : string
revisionLabel :
description : RevisionLabel indicates which label for underlying resources(e.g.
pods) of this workload can be used by trait to create resource selectors(e.g.
label selector for pods).
type : string
schematic :
description : Schematic defines the data format and template of the
encapsulation of the workload
properties :
cue :
description : CUE defines the encapsulation in CUE format
properties :
template :
description : Template defines the abstraction template data
of the capability, it will replace the old CUE template
in extension field. Template is a required field if CUE
is defined in Capability Definition.
type : string
required :
- template
type : object
type : object
status :
description : Status defines the custom health policy and status message
for workload
2021-06-30 16:46:39 +08:00
properties :
2021-09-21 16:57:51 +08:00
customStatus :
description : CustomStatus defines the custom status message that
could display to user
2021-06-30 16:46:39 +08:00
type : string
2021-09-21 16:57:51 +08:00
healthPolicy :
description : HealthPolicy defines the health check policy for
the abstraction
2021-06-30 16:46:39 +08:00
type : string
2021-09-21 16:57:51 +08:00
type : object
workload :
description : Workload is a workload type descriptor
properties :
definition :
description : Definition mutually exclusive to workload.type, a
embedded WorkloadDefinition
properties :
apiVersion :
type : string
kind :
type : string
required :
- apiVersion
- kind
type : object
type :
description : Type ref to a WorkloadDefinition via name
2021-06-30 16:46:39 +08:00
type : string
2021-09-21 16:57:51 +08:00
type : object
required :
- workload
type : object
status :
description : ComponentDefinitionStatus is the status of ComponentDefinition
properties :
conditions :
description : Conditions of the resource.
items :
description : A Condition that may apply to a resource.
properties :
lastTransitionTime :
description : LastTransitionTime is the last time this condition
transitioned from one status to another.
format : date-time
type : string
message :
description : A Message containing details about this condition's
last transition from one status to another, if any.
type : string
reason :
description : A Reason for this condition's last transition from
one status to another.
type : string
status :
description : Status of this condition; is it currently True,
False , or Unknown?
type : string
type :
description : Type of this condition. At most one of each condition
type may apply to a resource at any point in time.
type : string
required :
- lastTransitionTime
- reason
- status
- type
type : object
type : array
configMapRef :
description : ConfigMapRef refer to a ConfigMap which contains OpenAPI
V3 JSON schema of Component parameters.
type : string
latestRevision :
description : LatestRevision of the component definition
properties :
name :
2021-06-30 16:46:39 +08:00
type : string
2021-09-21 16:57:51 +08:00
revision :
format : int64
type : integer
revisionHash :
description : RevisionHash record the hash value of the spec of
ApplicationRevision object.
2021-06-30 16:46:39 +08:00
type : string
required :
2021-09-21 16:57:51 +08:00
- name
- revision
2021-06-30 16:46:39 +08:00
type : object
2021-09-21 16:57:51 +08:00
type : object
type : object
2021-06-30 16:46:39 +08:00
served : true
storage : true
2021-09-21 16:57:51 +08:00
subresources :
status : {}
2021-06-30 16:46:39 +08:00
status :
acceptedNames :
kind : ""
plural : ""
conditions : [ ]
storedVersions : [ ]