projects/tinkerbell/tinkerbell-crds/chart/templates/rufio/bmc.tinkerbell.org_tasks.yaml (314 lines of code) (raw):

--- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: v0.16.4 helm.sh/resource-policy: keep name: tasks.bmc.tinkerbell.org spec: group: bmc.tinkerbell.org names: categories: - tinkerbell kind: Task listKind: TaskList plural: tasks shortNames: - t singular: task scope: Namespaced versions: - name: v1alpha1 schema: openAPIV3Schema: description: Task is the Schema for the Task 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: TaskSpec defines the desired state of Task. properties: connection: description: Connection represents the Machine connectivity information. properties: authSecretRef: description: |- AuthSecretRef is the SecretReference that contains authentication information of the Machine. The Secret must contain username and password keys. This is optional as it is not required when using the RPC provider. properties: name: description: name is unique within a namespace to reference a secret resource. type: string namespace: description: namespace defines the space within which the secret name must be unique. type: string type: object x-kubernetes-map-type: atomic host: description: Host is the host IP address or hostname of the Machine. minLength: 1 type: string insecureTLS: description: InsecureTLS specifies trusted TLS connections. type: boolean port: default: 623 description: Port is the port number for connecting with the Machine. type: integer providerOptions: description: ProviderOptions contains provider specific options. properties: intelAMT: description: IntelAMT contains the options to customize the IntelAMT provider. properties: hostScheme: default: http description: HostScheme determines whether to use http or https for intelAMT calls. enum: - http - https type: string port: description: Port that intelAMT will use for calls. type: integer type: object ipmitool: description: IPMITOOL contains the options to customize the Ipmitool provider. properties: cipherSuite: description: CipherSuite that ipmitool will use for calls. type: string port: description: Port that ipmitool will use for calls. type: integer type: object preferredOrder: description: |- PreferredOrder allows customizing the order that BMC providers are called. Providers added to this list will be moved to the front of the default order. Provider names are case insensitive. The default order is: ipmitool, asrockrack, gofish, intelamt, dell, supermicro, openbmc. items: description: ProviderName is the bmclib specific provider name. Names are case insensitive. pattern: (?i)^(ipmitool|asrockrack|gofish|IntelAMT|dell|supermicro|openbmc)$ type: string type: array redfish: description: Redfish contains the options to customize the Redfish provider. properties: port: description: Port that redfish will use for calls. type: integer systemName: description: |- SystemName is the name of the system to use for redfish calls. With redfish implementations that manage multiple systems via a single endpoint, this allows for specifying the system to manage. type: string useBasicAuth: description: UseBasicAuth for redfish calls. The default is false which means token based auth is used. type: boolean type: object rpc: description: RPC contains the options to customize the RPC provider. properties: consumerURL: description: |- ConsumerURL is the URL where an rpc consumer/listener is running and to which we will send and receive all notifications. type: string experimental: description: Experimental options. properties: customRequestPayload: description: CustomRequestPayload must be in json. type: string dotPath: description: 'DotPath is the path to the json object where the bmclib RequestPayload{} struct will be embedded. For example: object.data.body' type: string type: object hmac: description: HMAC is the options used to create a HMAC signature. properties: prefixSigDisabled: description: 'PrefixSigDisabled determines whether the algorithm will be prefixed to the signature. Example: sha256=abc123' type: boolean secrets: additionalProperties: items: description: |- SecretReference represents a Secret Reference. It has enough information to retrieve secret in any namespace properties: name: description: name is unique within a namespace to reference a secret resource. type: string namespace: description: namespace defines the space within which the secret name must be unique. type: string type: object x-kubernetes-map-type: atomic type: array description: Secrets are a map of algorithms to secrets used for signing. type: object type: object logNotificationsDisabled: description: LogNotificationsDisabled determines whether responses from rpc consumer/listeners will be logged or not. type: boolean request: description: Request is the options used to create the rpc HTTP request. properties: httpContentType: description: HTTPContentType is the content type to use for the rpc request notification. type: string httpMethod: description: HTTPMethod is the HTTP method to use for the rpc request notification. type: string staticHeaders: additionalProperties: items: type: string type: array description: StaticHeaders are predefined headers that will be added to every request. type: object timestampFormat: description: TimestampFormat is the time format for the timestamp header. type: string timestampHeader: description: 'TimestampHeader is the header name that should contain the timestamp. Example: X-BMCLIB-Timestamp' type: string type: object signature: description: Signature is the options used for adding an HMAC signature to an HTTP request. properties: appendAlgoToHeaderDisabled: description: |- AppendAlgoToHeaderDisabled decides whether to append the algorithm to the signature header or not. Example: X-BMCLIB-Signature becomes X-BMCLIB-Signature-256 When set to true, a header will be added for each algorithm. Example: X-BMCLIB-Signature-256 and X-BMCLIB-Signature-512 type: boolean headerName: description: 'HeaderName is the header name that should contain the signature(s). Example: X-BMCLIB-Signature' type: string includedPayloadHeaders: description: |- IncludedPayloadHeaders are headers whose values will be included in the signature payload. Example: X-BMCLIB-My-Custom-Header All headers will be deduplicated. items: type: string type: array type: object required: - consumerURL type: object type: object required: - host - insecureTLS type: object task: description: Task defines the specific action to be performed. maxProperties: 1 properties: oneTimeBootDeviceAction: description: OneTimeBootDeviceAction represents a baseboard management one time set boot device operation. properties: device: description: |- Devices represents the boot devices, in order for setting one time boot. Currently only the first device in the slice is used to set one time boot. items: description: BootDevice represents boot device of the Machine. type: string type: array efiBoot: description: EFIBoot instructs the machine to use EFI boot. type: boolean required: - device type: object powerAction: description: PowerAction represents a baseboard management power operation. enum: - "on" - "off" - soft - status - cycle - reset type: string virtualMediaAction: description: VirtualMediaAction represents a baseboard management virtual media insert/eject. properties: kind: type: string mediaURL: description: |- mediaURL represents the URL of the image to be inserted into the virtual media, or empty to eject media. type: string required: - kind type: object type: object required: - task type: object status: description: TaskStatus defines the observed state of Task. properties: completionTime: description: |- CompletionTime represents time when the task was completed. The completion time is only set when the task finishes successfully. format: date-time type: string conditions: description: Conditions represents the latest available observations of an object's current state. items: properties: message: description: Message represents human readable message indicating details about last transition. type: string status: description: |- Status is the status of the Task condition. Can be True or False. type: string type: description: Type of the Task condition. type: string required: - status - type type: object type: array startTime: description: StartTime represents time when the Task started processing. format: date-time type: string type: object type: object served: true storage: true subresources: status: {}