github.com/oam-dev/kubevela@v1.9.11/charts/vela-core/crds/core.oam.dev_componentdefinitions.yaml (about) 1 --- 2 apiVersion: apiextensions.k8s.io/v1 3 kind: CustomResourceDefinition 4 metadata: 5 annotations: 6 controller-gen.kubebuilder.io/version: v0.11.4 7 name: componentdefinitions.core.oam.dev 8 spec: 9 group: core.oam.dev 10 names: 11 categories: 12 - oam 13 kind: ComponentDefinition 14 listKind: ComponentDefinitionList 15 plural: componentdefinitions 16 shortNames: 17 - comp 18 singular: componentdefinition 19 scope: Namespaced 20 versions: 21 - additionalPrinterColumns: 22 - jsonPath: .spec.workload.definition.kind 23 name: WORKLOAD-KIND 24 type: string 25 - jsonPath: .metadata.annotations.definition\.oam\.dev/description 26 name: DESCRIPTION 27 type: string 28 name: v1beta1 29 schema: 30 openAPIV3Schema: 31 description: ComponentDefinition is the Schema for the componentdefinitions 32 API 33 properties: 34 apiVersion: 35 description: 'APIVersion defines the versioned schema of this representation 36 of an object. Servers should convert recognized schemas to the latest 37 internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' 38 type: string 39 kind: 40 description: 'Kind is a string value representing the REST resource this 41 object represents. Servers may infer this from the endpoint the client 42 submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 43 type: string 44 metadata: 45 type: object 46 spec: 47 description: ComponentDefinitionSpec defines the desired state of ComponentDefinition 48 properties: 49 childResourceKinds: 50 description: ChildResourceKinds are the list of GVK of the child resources 51 this workload generates 52 items: 53 description: A ChildResourceKind defines a child Kubernetes resource 54 kind with a selector 55 properties: 56 apiVersion: 57 description: APIVersion of the child resource 58 type: string 59 kind: 60 description: Kind of the child resource 61 type: string 62 selector: 63 additionalProperties: 64 type: string 65 description: Selector to select the child resources that the 66 workload wants to expose to traits 67 type: object 68 required: 69 - apiVersion 70 - kind 71 type: object 72 type: array 73 extension: 74 description: Extension is used for extension needs by OAM platform 75 builders 76 type: object 77 x-kubernetes-preserve-unknown-fields: true 78 podSpecPath: 79 description: PodSpecPath indicates where/if this workload has K8s 80 podSpec field if one workload has podSpec, trait can do lot's of 81 assumption such as port, env, volume fields. 82 type: string 83 revisionLabel: 84 description: RevisionLabel indicates which label for underlying resources(e.g. 85 pods) of this workload can be used by trait to create resource selectors(e.g. 86 label selector for pods). 87 type: string 88 schematic: 89 description: Schematic defines the data format and template of the 90 encapsulation of the workload 91 properties: 92 cue: 93 description: CUE defines the encapsulation in CUE format 94 properties: 95 template: 96 description: Template defines the abstraction template data 97 of the capability, it will replace the old CUE template 98 in extension field. Template is a required field if CUE 99 is defined in Capability Definition. 100 type: string 101 required: 102 - template 103 type: object 104 terraform: 105 description: Terraform is the struct to describe cloud resources 106 managed by Hashicorp Terraform 107 properties: 108 configuration: 109 description: Configuration is Terraform Configuration 110 type: string 111 customRegion: 112 description: Region is cloud provider's region. It will override 113 the region in the region field of ProviderReference 114 type: string 115 deleteResource: 116 default: true 117 description: DeleteResource will determine whether provisioned 118 cloud resources will be deleted when CR is deleted 119 type: boolean 120 gitCredentialsSecretReference: 121 description: GitCredentialsSecretReference specifies the reference 122 to the secret containing the git credentials 123 properties: 124 name: 125 description: name is unique within a namespace to reference 126 a secret resource. 127 type: string 128 namespace: 129 description: namespace defines the space within which 130 the secret name must be unique. 131 type: string 132 type: object 133 x-kubernetes-map-type: atomic 134 path: 135 description: Path is the sub-directory of remote git repository. 136 It's valid when remote is set 137 type: string 138 providerRef: 139 description: ProviderReference specifies the reference to 140 Provider 141 properties: 142 name: 143 description: Name of the referenced object. 144 type: string 145 namespace: 146 default: default 147 description: Namespace of the referenced object. 148 type: string 149 required: 150 - name 151 type: object 152 type: 153 default: hcl 154 description: Type specifies which Terraform configuration 155 it is, HCL or JSON syntax 156 enum: 157 - hcl 158 - json 159 - remote 160 type: string 161 writeConnectionSecretToRef: 162 description: WriteConnectionSecretToReference specifies the 163 namespace and name of a Secret to which any connection details 164 for this managed resource should be written. Connection 165 details frequently include the endpoint, username, and password 166 required to connect to the managed resource. 167 properties: 168 name: 169 description: Name of the secret. 170 type: string 171 namespace: 172 description: Namespace of the secret. 173 type: string 174 required: 175 - name 176 type: object 177 required: 178 - configuration 179 type: object 180 type: object 181 status: 182 description: Status defines the custom health policy and status message 183 for workload 184 properties: 185 customStatus: 186 description: CustomStatus defines the custom status message that 187 could display to user 188 type: string 189 healthPolicy: 190 description: HealthPolicy defines the health check policy for 191 the abstraction 192 type: string 193 type: object 194 workload: 195 description: Workload is a workload type descriptor 196 properties: 197 definition: 198 description: Definition mutually exclusive to workload.type, a 199 embedded WorkloadDefinition 200 properties: 201 apiVersion: 202 type: string 203 kind: 204 type: string 205 required: 206 - apiVersion 207 - kind 208 type: object 209 type: 210 description: Type ref to a WorkloadDefinition via name 211 type: string 212 type: object 213 required: 214 - workload 215 type: object 216 status: 217 description: ComponentDefinitionStatus is the status of ComponentDefinition 218 properties: 219 conditions: 220 description: Conditions of the resource. 221 items: 222 description: A Condition that may apply to a resource. 223 properties: 224 lastTransitionTime: 225 description: LastTransitionTime is the last time this condition 226 transitioned from one status to another. 227 format: date-time 228 type: string 229 message: 230 description: A Message containing details about this condition's 231 last transition from one status to another, if any. 232 type: string 233 reason: 234 description: A Reason for this condition's last transition from 235 one status to another. 236 type: string 237 status: 238 description: Status of this condition; is it currently True, 239 False, or Unknown? 240 type: string 241 type: 242 description: Type of this condition. At most one of each condition 243 type may apply to a resource at any point in time. 244 type: string 245 required: 246 - lastTransitionTime 247 - reason 248 - status 249 - type 250 type: object 251 type: array 252 configMapRef: 253 description: ConfigMapRef refer to a ConfigMap which contains OpenAPI 254 V3 JSON schema of Component parameters. 255 type: string 256 latestRevision: 257 description: LatestRevision of the component definition 258 properties: 259 name: 260 type: string 261 revision: 262 format: int64 263 type: integer 264 revisionHash: 265 description: RevisionHash record the hash value of the spec of 266 ApplicationRevision object. 267 type: string 268 required: 269 - name 270 - revision 271 type: object 272 type: object 273 type: object 274 served: true 275 storage: true 276 subresources: 277 status: {}