apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  # 名字必需与下面的 spec 字段匹配，并且格式为 '<名称的复数形式>.<组名>'
  name: tasks.api.gok8s.fun
spec:
  # 分组名，在REST API中也会用到的，格式是: /apis/分组名/CRD版本
  group: api.gok8s.fun
  # 列举此 CustomResourceDefinition 所支持的版本
  versions:
    - name: v1alpha1
      # 是否有效
      served: true
      storage: true
      schema:
        openAPIV3Schema:
          type: object
          # 不会被裁剪
          x-kubernetes-preserve-unknown-fields: true
      # subresources 描述定制资源的子资源
      subresources:
        # status 启用 status 子资源
        status: {}
  # 范围是属于namespace的 ,可以是 Namespaced 或 Cluster
  scope: Namespaced
  names:
    # 复数名
    plural: tasks
    # 单数名
    singular: task
    # 类型名
    kind: Task
    listKind: TaskList
    # kind的简称，就像service的简称是svc
    shortNames:
      - ts
