--- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: v0.16.1 name: devcontainerapps.devcontainer.devstar.cn spec: group: devcontainer.devstar.cn names: kind: DevcontainerApp listKind: DevcontainerAppList plural: devcontainerapps singular: devcontainerapp scope: Namespaced versions: - name: v1 schema: openAPIV3Schema: description: DevcontainerApp is the Schema for the devcontainerapps 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: DevcontainerAppSpec defines the desired state of DevcontainerApp properties: failedJobsHistoryLimit: description: |- The number of failed finished jobs to retain. This is a pointer to distinguish between explicit zero and not specified. format: int32 minimum: 0 type: integer service: description: ServiceSpec specifies Service for DevContainer properties: nodePort: maximum: 32767 minimum: 30000 type: integer servicePort: minimum: 1 type: integer type: object startingDeadlineSeconds: description: |- Optional deadline in seconds for starting the job if it misses scheduled time for any reason. Missed jobs executions will be counted as failed ones. format: int64 minimum: 0 type: integer statefulset: description: StatefulSetSpec specifies StatefulSet for DevContainer properties: command: items: type: string type: array containerPort: minimum: 1 type: integer gitRepositoryURL: type: string image: type: string sshPublicKeyList: description: 至少包含一个 SSH Public Key 才能通过校验规则 items: type: string minItems: 1 type: array required: - command - gitRepositoryURL - image - sshPublicKeyList type: object successfulJobsHistoryLimit: description: |- The number of successful finished jobs to retain. This is a pointer to distinguish between explicit zero and not specified. format: int32 minimum: 0 type: integer suspend: description: |- This flag tells the controller to suspend subsequent executions, it does not apply to already started executions. Defaults to false. type: boolean required: - statefulset type: object status: description: DevcontainerAppStatus defines the observed state of DevcontainerApp properties: active: description: A list of pointers to currently running jobs. items: description: ObjectReference contains enough information to let you inspect or modify the referred object. properties: apiVersion: description: API version of the referent. type: string fieldPath: description: |- If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. type: string kind: description: |- Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string name: description: |- Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names type: string namespace: description: |- Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ type: string resourceVersion: description: |- Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency type: string uid: description: |- UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids type: string type: object x-kubernetes-map-type: atomic type: array lastScheduleTime: description: Information when was the last time the job was successfully scheduled. format: date-time type: string nodePortAssigned: description: NodePortAssigned 存储 DevcontainerApp CRD调度后集群分配的 NodePort type: integer ready: description: Ready 标识 DevcontainerApp 管理的 Pod 的 Readiness Probe 是否达到就绪状态 type: boolean type: object type: object served: true storage: true subresources: status: {}