projects/tinkerbell/tinkerbell-crds/chart/templates/tink-controller/tinkerbell.org_workflows.yaml (141 lines of code) (raw):

apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: v0.16.3 helm.sh/resource-policy: keep name: workflows.tinkerbell.org spec: group: tinkerbell.org names: categories: - tinkerbell kind: Workflow listKind: WorkflowList plural: workflows shortNames: - wf singular: workflow scope: Namespaced versions: - additionalPrinterColumns: - jsonPath: .spec.templateRef name: Template type: string - jsonPath: .status.state name: State type: string - jsonPath: .status.currentAction name: Current-Action type: string - jsonPath: .status.templateRending name: Template-Rendering type: string name: v1alpha1 schema: openAPIV3Schema: description: Workflow is the Schema for the Workflows 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: WorkflowSpec defines the desired state of Workflow. properties: bootOptions: description: BootOptions are options that control the booting of Hardware. properties: bootMode: description: BootMode is the type of booting that will be done. enum: - netboot - iso type: string isoURL: description: |- ISOURL is the URL of the ISO that will be one-time booted. When this field is set, the controller will create a job.bmc.tinkerbell.org object for getting the associated hardware into a CDROM booting state. A HardwareRef that contains a spec.BmcRef must be provided. format: url type: string toggleAllowNetboot: description: |- ToggleAllowNetboot indicates whether the controller should toggle the field in the associated hardware for allowing PXE booting. This will be enabled before a Workflow is executed and disabled after the Workflow has completed successfully. A HardwareRef must be provided. type: boolean type: object hardwareMap: additionalProperties: type: string description: A mapping of template devices to hadware mac addresses. type: object hardwareRef: description: Name of the Hardware associated with this workflow. type: string templateRef: description: Name of the Template associated with this workflow. type: string type: object status: description: WorkflowStatus defines the observed state of a Workflow. properties: bootOptions: description: BootOptions holds the state of any boot options. properties: allowNetboot: description: AllowNetboot holds the state of the the controller's interactions with the allowPXE field in a Hardware object. properties: toggledFalse: type: boolean toggledTrue: type: boolean type: object jobs: additionalProperties: description: JobStatus holds the state of a specific job.bmc.tinkerbell.org object created. properties: complete: description: Complete indicates whether the created job.bmc.tinkerbell.org has reported its conditions as complete. type: boolean existingJobDeleted: description: |- ExistingJobDeleted indicates whether any existing job.bmc.tinkerbell.org was deleted. The name of each job.bmc.tinkerbell.org object created by the controller is the same, so only one can exist at a time. Using the same name was chosen so that there is only ever 1 job.bmc.tinkerbell.org per Hardware/Machine.bmc.tinkerbell.org. This makes clean up easier and we dont just orphan jobs every time. type: boolean uid: description: |- UID is the UID of the job.bmc.tinkerbell.org object associated with this workflow. This is used to uniquely identify the job.bmc.tinkerbell.org object, as all objects for a specific Hardware/Machine.bmc.tinkerbell.org are created with the same name. type: string type: object description: Jobs holds the state of any job.bmc.tinkerbell.org objects created. type: object type: object conditions: description: Conditions are the latest available observations of an object's current state. items: description: JobCondition describes current state of a job. properties: message: description: Message is a human readable message indicating details about last transition. type: string reason: description: Reason is a (brief) reason for the condition's last transition. type: string status: description: Status of the condition, one of True, False, Unknown. type: string time: description: Time when the condition was created. format: date-time type: string type: description: Type of job condition, Complete or Failed. type: string required: - status - type type: object type: array x-kubernetes-list-type: atomic currentAction: description: CurrentAction is the action that is currently in the running state. type: string globalTimeout: description: GlobalTimeout represents the max execution time. format: int64 type: integer state: description: State is the current overall state of the Workflow. type: string tasks: description: Tasks are the tasks to be run by the worker(s). items: description: Task represents a series of actions to be completed by a worker. properties: actions: items: description: Action represents a workflow action. properties: command: items: type: string type: array environment: additionalProperties: type: string type: object image: type: string message: type: string name: type: string pid: type: string seconds: format: int64 type: integer startedAt: format: date-time type: string status: type: string timeout: format: int64 type: integer volumes: items: type: string type: array type: object type: array environment: additionalProperties: type: string type: object name: type: string volumes: items: type: string type: array worker: type: string required: - actions - name - worker type: object type: array templateRending: description: |- TemplateRendering indicates whether the template was rendered successfully. Possible values are "successful" or "failed" or "unknown". type: string type: object type: object served: true storage: true subresources: status: {}