Packages:
Resource Types:
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 |
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: |
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 |
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 |
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 |
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 |
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 |
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 |
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. |
false |
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 |
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 |
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 |
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 |