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: {}