mirror of
https://github.com/kubevela/kubevela.git
synced 2026-02-14 18:10:21 +00:00
566 lines
24 KiB
YAML
566 lines
24 KiB
YAML
|
|
---
|
|
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
annotations:
|
|
controller-gen.kubebuilder.io/version: v0.6.2
|
|
name: componentdefinitions.core.oam.dev
|
|
spec:
|
|
group: core.oam.dev
|
|
names:
|
|
categories:
|
|
- oam
|
|
kind: ComponentDefinition
|
|
listKind: ComponentDefinitionList
|
|
plural: componentdefinitions
|
|
shortNames:
|
|
- comp
|
|
singular: componentdefinition
|
|
scope: Namespaced
|
|
versions:
|
|
- additionalPrinterColumns:
|
|
- jsonPath: .spec.workload.definition.kind
|
|
name: WORKLOAD-KIND
|
|
type: string
|
|
- jsonPath: .metadata.annotations.definition\.oam\.dev/description
|
|
name: DESCRIPTION
|
|
type: string
|
|
name: v1alpha2
|
|
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
|
|
properties:
|
|
apiVersion:
|
|
description: APIVersion of the child resource
|
|
type: string
|
|
kind:
|
|
description: Kind of the child resource
|
|
type: string
|
|
selector:
|
|
additionalProperties:
|
|
type: string
|
|
description: Selector to select the child resources that the
|
|
workload wants to expose to traits
|
|
type: object
|
|
required:
|
|
- apiVersion
|
|
- kind
|
|
type: object
|
|
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
|
|
helm:
|
|
description: A Helm represents resources used by a Helm module
|
|
properties:
|
|
release:
|
|
description: Release records a Helm release used by a Helm
|
|
module workload.
|
|
type: object
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
repository:
|
|
description: HelmRelease records a Helm repository used by
|
|
a Helm module workload.
|
|
type: object
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
required:
|
|
- release
|
|
- repository
|
|
type: object
|
|
kube:
|
|
description: Kube defines the encapsulation in raw Kubernetes
|
|
resource format
|
|
properties:
|
|
parameters:
|
|
description: Parameters defines configurable parameters
|
|
items:
|
|
description: A KubeParameter defines a configurable parameter
|
|
of a component.
|
|
properties:
|
|
description:
|
|
description: Description of this parameter.
|
|
type: string
|
|
fieldPaths:
|
|
description: "FieldPaths specifies an array of fields
|
|
within this workload that will be overwritten by the
|
|
value of this parameter. \tAll fields must be of the
|
|
same type. Fields are specified as JSON field paths
|
|
without a leading dot, for example 'spec.replicas'."
|
|
items:
|
|
type: string
|
|
type: array
|
|
name:
|
|
description: Name of this parameter
|
|
type: string
|
|
required:
|
|
default: false
|
|
description: Required specifies whether or not a value
|
|
for this parameter must be supplied when authoring
|
|
an Application.
|
|
type: boolean
|
|
type:
|
|
description: 'ValueType indicates the type of the parameter
|
|
value, and only supports basic data types: string,
|
|
number, boolean.'
|
|
enum:
|
|
- string
|
|
- number
|
|
- boolean
|
|
type: string
|
|
required:
|
|
- fieldPaths
|
|
- name
|
|
- type
|
|
type: object
|
|
type: array
|
|
template:
|
|
description: Template defines the raw Kubernetes resource
|
|
type: object
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
required:
|
|
- template
|
|
type: object
|
|
terraform:
|
|
description: Terraform is the struct to describe cloud resources
|
|
managed by Hashicorp Terraform
|
|
properties:
|
|
configuration:
|
|
description: Configuration is Terraform Configuration
|
|
type: string
|
|
type:
|
|
default: hcl
|
|
description: Type specifies which Terraform configuration
|
|
it is, HCL or JSON syntax
|
|
enum:
|
|
- hcl
|
|
- json
|
|
type: string
|
|
required:
|
|
- configuration
|
|
type: object
|
|
type: object
|
|
status:
|
|
description: Status defines the custom health policy and status message
|
|
for workload
|
|
properties:
|
|
customStatus:
|
|
description: CustomStatus defines the custom status message that
|
|
could display to user
|
|
type: string
|
|
healthPolicy:
|
|
description: HealthPolicy defines the health check policy for
|
|
the abstraction
|
|
type: string
|
|
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
|
|
type: string
|
|
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:
|
|
type: string
|
|
revision:
|
|
format: int64
|
|
type: integer
|
|
revisionHash:
|
|
description: RevisionHash record the hash value of the spec of
|
|
ApplicationRevision object.
|
|
type: string
|
|
required:
|
|
- name
|
|
- revision
|
|
type: object
|
|
type: object
|
|
type: object
|
|
served: true
|
|
storage: false
|
|
subresources:
|
|
status: {}
|
|
- additionalPrinterColumns:
|
|
- jsonPath: .spec.workload.definition.kind
|
|
name: WORKLOAD-KIND
|
|
type: string
|
|
- jsonPath: .metadata.annotations.definition\.oam\.dev/description
|
|
name: DESCRIPTION
|
|
type: string
|
|
name: v1beta1
|
|
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
|
|
properties:
|
|
apiVersion:
|
|
description: APIVersion of the child resource
|
|
type: string
|
|
kind:
|
|
description: Kind of the child resource
|
|
type: string
|
|
selector:
|
|
additionalProperties:
|
|
type: string
|
|
description: Selector to select the child resources that the
|
|
workload wants to expose to traits
|
|
type: object
|
|
required:
|
|
- apiVersion
|
|
- kind
|
|
type: object
|
|
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
|
|
helm:
|
|
description: A Helm represents resources used by a Helm module
|
|
properties:
|
|
release:
|
|
description: Release records a Helm release used by a Helm
|
|
module workload.
|
|
type: object
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
repository:
|
|
description: HelmRelease records a Helm repository used by
|
|
a Helm module workload.
|
|
type: object
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
required:
|
|
- release
|
|
- repository
|
|
type: object
|
|
kube:
|
|
description: Kube defines the encapsulation in raw Kubernetes
|
|
resource format
|
|
properties:
|
|
parameters:
|
|
description: Parameters defines configurable parameters
|
|
items:
|
|
description: A KubeParameter defines a configurable parameter
|
|
of a component.
|
|
properties:
|
|
description:
|
|
description: Description of this parameter.
|
|
type: string
|
|
fieldPaths:
|
|
description: "FieldPaths specifies an array of fields
|
|
within this workload that will be overwritten by the
|
|
value of this parameter. \tAll fields must be of the
|
|
same type. Fields are specified as JSON field paths
|
|
without a leading dot, for example 'spec.replicas'."
|
|
items:
|
|
type: string
|
|
type: array
|
|
name:
|
|
description: Name of this parameter
|
|
type: string
|
|
required:
|
|
default: false
|
|
description: Required specifies whether or not a value
|
|
for this parameter must be supplied when authoring
|
|
an Application.
|
|
type: boolean
|
|
type:
|
|
description: 'ValueType indicates the type of the parameter
|
|
value, and only supports basic data types: string,
|
|
number, boolean.'
|
|
enum:
|
|
- string
|
|
- number
|
|
- boolean
|
|
type: string
|
|
required:
|
|
- fieldPaths
|
|
- name
|
|
- type
|
|
type: object
|
|
type: array
|
|
template:
|
|
description: Template defines the raw Kubernetes resource
|
|
type: object
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
required:
|
|
- template
|
|
type: object
|
|
terraform:
|
|
description: Terraform is the struct to describe cloud resources
|
|
managed by Hashicorp Terraform
|
|
properties:
|
|
configuration:
|
|
description: Configuration is Terraform Configuration
|
|
type: string
|
|
type:
|
|
default: hcl
|
|
description: Type specifies which Terraform configuration
|
|
it is, HCL or JSON syntax
|
|
enum:
|
|
- hcl
|
|
- json
|
|
type: string
|
|
required:
|
|
- configuration
|
|
type: object
|
|
type: object
|
|
status:
|
|
description: Status defines the custom health policy and status message
|
|
for workload
|
|
properties:
|
|
customStatus:
|
|
description: CustomStatus defines the custom status message that
|
|
could display to user
|
|
type: string
|
|
healthPolicy:
|
|
description: HealthPolicy defines the health check policy for
|
|
the abstraction
|
|
type: string
|
|
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
|
|
type: string
|
|
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:
|
|
type: string
|
|
revision:
|
|
format: int64
|
|
type: integer
|
|
revisionHash:
|
|
description: RevisionHash record the hash value of the spec of
|
|
ApplicationRevision object.
|
|
type: string
|
|
required:
|
|
- name
|
|
- revision
|
|
type: object
|
|
type: object
|
|
type: object
|
|
served: true
|
|
storage: true
|
|
subresources:
|
|
status: {}
|
|
status:
|
|
acceptedNames:
|
|
kind: ""
|
|
plural: ""
|
|
conditions: []
|
|
storedVersions: []
|