Skip to content

Latest commit

 

History

History
747 lines (662 loc) · 22.1 KB

File metadata and controls

747 lines (662 loc) · 22.1 KB

API Reference

Packages:

prefect.io/v1

Resource Types:

PrefectWorkQueue

↩ Parent

PrefectWorkQueue is the Schema for the prefectworkqueues API

Name Type Description Required
apiVersion string prefect.io/v1 true
kind string PrefectWorkQueue true
metadata object Refer to the Kubernetes API documentation for the fields of the `metadata` field. true
spec object PrefectWorkQueueSpec defines the desired state of a PrefectWorkQueue. It mirrors the options of the Prefect Terraform provider's prefect_work_queue resource so work queues can be managed declaratively via the operator.

A queue referenced by a PrefectDeployment's workQueue field is created implicitly by Prefect with no concurrency limit; declaring it here manages that limit (and priority) as config. Prefer a work-queue concurrency limit over a deployment-level one when run ORDER matters: workers pull from a queue sorted by next scheduled start time, whereas a deployment limit rejects the transition and re-schedules the run with a fresh timestamp, which loses the original ordering.

false
status object PrefectWorkQueueStatus defines the observed state of a PrefectWorkQueue.
false

PrefectWorkQueue.spec

↩ Parent

PrefectWorkQueueSpec defines the desired state of a PrefectWorkQueue. It mirrors the options of the Prefect Terraform provider's prefect_work_queue resource so work queues can be managed declaratively via the operator.

A queue referenced by a PrefectDeployment's workQueue field is created implicitly by Prefect with no concurrency limit; declaring it here manages that limit (and priority) as config. Prefer a work-queue concurrency limit over a deployment-level one when run ORDER matters: workers pull from a queue sorted by next scheduled start time, whereas a deployment limit rejects the transition and re-schedules the run with a fresh timestamp, which loses the original ordering.

Name Type Description Required
name string Name of the work queue, as referenced by a deployment's workQueue field. The queue is managed by (workPoolName, name), never renamed in place: changing this stops managing the old queue (it is left untouched in Prefect) and creates — or adopts, if it already exists — a queue under the new name.
true
server object Server configuration for connecting to the Prefect API
true
workPoolName string WorkPoolName is the work pool this queue belongs to. A queue cannot move between pools, so this field is immutable.

Validations:
  • self == oldSelf: workPoolName is immutable
  • true
    concurrencyLimit integer ConcurrencyLimit caps how many flow runs this queue may have running at once. Unset on create leaves the queue unlimited; removing the field after it has been applied clears the limit in Prefect (the operator tracks the last-applied field set in status and sends an explicit null).

    Format: int32
    Minimum: 0
    false
    description string Description of the queue. Removing the field after it has been applied clears it in Prefect.
    false
    interval string Interval is how often to re-check this work queue against the Prefect API to correct out-of-band drift (edits or deletes made directly in Prefect). Defaults to the operator's --default-resync-interval when unset. Values below 10s are clamped.
    false
    isPaused boolean IsPaused stops the queue from serving work when true. Removing the field after it has been applied unpauses the queue (resets to false, the create-time default).
    false
    priority integer Priority of this queue within the pool; lower numbers are served first. Priority is POOL-WIDE state, not per-queue state: Prefect keeps priorities unique and sequential across the pool, so applying one here reshuffles the pool's other queues. Two PrefectWorkQueues in the same pool declaring the same priority is not rejected — Prefect renormalizes and the last writer wins the slot. Unlike the other optional fields, priority has no create-time default to restore, so removing it keeps the last value.

    Format: int32
    Minimum: 1
    false

    PrefectWorkQueue.spec.server

    ↩ Parent

    Server configuration for connecting to the Prefect API

    Name Type Description Required
    accountId string AccountID is the ID of the account to use to connect to Prefect Cloud
    false
    apiKey object APIKey is the API key to use to connect to a remote Prefect Server
    false
    name string Name is the name of the in-cluster Prefect Server in the given namespace
    false
    namespace string Namespace is the namespace where the in-cluster Prefect Server is running
    false
    remoteApiUrl string RemoteAPIURL is the API URL for the remote Prefect Server. Set if using with an external Prefect Server or Prefect Cloud
    false
    workspaceId string WorkspaceID is the ID of the workspace to use to connect to Prefect Cloud
    false

    PrefectWorkQueue.spec.server.apiKey

    ↩ Parent

    APIKey is the API key to use to connect to a remote Prefect Server

    Name Type Description Required
    value string Value is the literal value of the API key
    false
    valueFrom object ValueFrom is a reference to a secret containing the API key
    false

    PrefectWorkQueue.spec.server.apiKey.valueFrom

    ↩ Parent

    ValueFrom is a reference to a secret containing the API key

    Name Type Description Required
    configMapKeyRef object Selects a key of a ConfigMap.
    false
    fieldRef object Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.
    false
    fileKeyRef object FileKeyRef selects a key of the env file. Requires the EnvFiles feature gate to be enabled.
    false
    resourceFieldRef object Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported.
    false
    secretKeyRef object Selects a key of a secret in the pod's namespace
    false

    PrefectWorkQueue.spec.server.apiKey.valueFrom.configMapKeyRef

    ↩ Parent

    Selects a key of a ConfigMap.

    Name Type Description Required
    key string The key to select.
    true
    name string Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

    Default:
    false
    optional boolean Specify whether the ConfigMap or its key must be defined
    false

    PrefectWorkQueue.spec.server.apiKey.valueFrom.fieldRef

    ↩ Parent

    Selects a field of the pod: supports metadata.name, metadata.namespace, metadata.labels['<KEY>'], metadata.annotations['<KEY>'], spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.

    Name Type Description Required
    fieldPath string Path of the field to select in the specified API version.
    true
    apiVersion string Version of the schema the FieldPath is written in terms of, defaults to "v1".
    false

    PrefectWorkQueue.spec.server.apiKey.valueFrom.fileKeyRef

    ↩ Parent

    FileKeyRef selects a key of the env file. Requires the EnvFiles feature gate to be enabled.

    Name Type Description Required
    key string The key within the env file. An invalid key will prevent the pod from starting. The keys defined within a source may consist of any printable ASCII characters except '='. During Alpha stage of the EnvFiles feature gate, the key size is limited to 128 characters.
    true
    path string The path within the volume from which to select the file. Must be relative and may not contain the '..' path or start with '..'.
    true
    volumeName string The name of the volume mount containing the env file.
    true
    optional boolean Specify whether the file or its key must be defined. If the file or key does not exist, then the env var is not published. If optional is set to true and the specified key does not exist, the environment variable will not be set in the Pod's containers.

    If optional is set to false and the specified key does not exist, an error will be returned during Pod creation.

    Default: false

    false

    PrefectWorkQueue.spec.server.apiKey.valueFrom.resourceFieldRef

    ↩ Parent

    Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported.

    Name Type Description Required
    resource string Required: resource to select
    true
    containerName string Container name: required for volumes, optional for env vars
    false
    divisor int or string Specifies the output format of the exposed resources, defaults to "1"
    false

    PrefectWorkQueue.spec.server.apiKey.valueFrom.secretKeyRef

    ↩ Parent

    Selects a key of a secret in the pod's namespace

    Name Type Description Required
    key string The key of the secret to select from. Must be a valid secret key.
    true
    name string Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

    Default:
    false
    optional boolean Specify whether the Secret or its key must be defined
    false

    PrefectWorkQueue.status

    ↩ Parent

    PrefectWorkQueueStatus defines the observed state of a PrefectWorkQueue.

    Name Type Description Required
    ready boolean Ready indicates that the work queue exists and is configured correctly
    true
    adopted boolean Adopted is true when the managed queue already existed in Prefect when first reconciled (e.g. created implicitly by a deployment). Deleting the resource leaves an adopted queue in place; only queues this resource created are deleted from Prefect. Recomputed when spec.name changes.
    false
    appliedFields []string AppliedFields records which optional spec fields the last successful sync declared, so a field removed from the spec can be reset to its create-time default in Prefect instead of silently keeping its old value.
    false
    conditions []object Conditions store the status conditions of the PrefectWorkQueue instances
    false
    id string Id is the work queue ID from Prefect
    false
    lastSyncTime string LastSyncTime is the last time the work queue was synced with Prefect

    Format: date-time
    false
    managedName string ManagedName is the queue name the last successful sync managed, so a spec.name change is recognized as switching queues.
    false
    observedGeneration integer ObservedGeneration tracks the last processed generation

    Format: int64
    false
    specHash string SpecHash tracks changes to the spec to minimize API calls
    false

    PrefectWorkQueue.status.conditions[index]

    ↩ Parent

    Condition contains details for one aspect of the current state of this API Resource.

    Name Type Description Required
    lastTransitionTime string lastTransitionTime is the last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.

    Format: date-time
    true
    message string message is a human readable message indicating details about the transition. This may be an empty string.
    true
    reason string reason contains a programmatic identifier indicating the reason for the condition's last transition. Producers of specific condition types may define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value should be a CamelCase string. This field may not be empty.
    true
    status enum status of the condition, one of True, False, Unknown.

    Enum: True, False, Unknown
    true
    type string type of condition in CamelCase or in foo.example.com/CamelCase.
    true
    observedGeneration integer observedGeneration represents the .metadata.generation that the condition was set based upon. For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date with respect to the current state of the instance.

    Format: int64
    Minimum: 0
    false