mirror of
https://github.com/kubevela/kubevela.git
synced 2026-02-14 10:00:06 +00:00
291 lines
12 KiB
YAML
291 lines
12 KiB
YAML
---
|
|
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
annotations:
|
|
controller-gen.kubebuilder.io/version: v0.16.5
|
|
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: 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
|
|
terraform:
|
|
description: Terraform is the struct to describe cloud resources
|
|
managed by Hashicorp Terraform
|
|
properties:
|
|
configuration:
|
|
description: Configuration is Terraform Configuration
|
|
type: string
|
|
customRegion:
|
|
description: Region is cloud provider's region. It will override
|
|
the region in the region field of ProviderReference
|
|
type: string
|
|
deleteResource:
|
|
default: true
|
|
description: DeleteResource will determine whether provisioned
|
|
cloud resources will be deleted when CR is deleted
|
|
type: boolean
|
|
gitCredentialsSecretReference:
|
|
description: GitCredentialsSecretReference specifies the reference
|
|
to the secret containing the git credentials
|
|
properties:
|
|
name:
|
|
description: name is unique within a namespace to reference
|
|
a secret resource.
|
|
type: string
|
|
namespace:
|
|
description: namespace defines the space within which
|
|
the secret name must be unique.
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
path:
|
|
description: Path is the sub-directory of remote git repository.
|
|
It's valid when remote is set
|
|
type: string
|
|
providerRef:
|
|
description: ProviderReference specifies the reference to
|
|
Provider
|
|
properties:
|
|
name:
|
|
description: Name of the referenced object.
|
|
type: string
|
|
namespace:
|
|
default: default
|
|
description: Namespace of the referenced object.
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
type:
|
|
default: hcl
|
|
description: Type specifies which Terraform configuration
|
|
it is, HCL or JSON syntax
|
|
enum:
|
|
- hcl
|
|
- json
|
|
- remote
|
|
type: string
|
|
writeConnectionSecretToRef:
|
|
description: |-
|
|
WriteConnectionSecretToReference specifies the namespace and name of a
|
|
Secret to which any connection details for this managed resource should
|
|
be written. Connection details frequently include the endpoint, username,
|
|
and password required to connect to the managed resource.
|
|
properties:
|
|
name:
|
|
description: Name of the secret.
|
|
type: string
|
|
namespace:
|
|
description: Namespace of the secret.
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
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
|
|
details:
|
|
description: Details stores a string representation of a CUE status
|
|
map to be evaluated at runtime for display
|
|
type: string
|
|
healthPolicy:
|
|
description: HealthPolicy defines the health check policy for
|
|
the abstraction
|
|
type: string
|
|
type: object
|
|
version:
|
|
type: string
|
|
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: {}
|