diff --git a/PrefectDeployment.md b/PrefectDeployment.md index 9a03ba3..b290b46 100644 --- a/PrefectDeployment.md +++ b/PrefectDeployment.md @@ -538,6 +538,14 @@ ValueFrom is a reference to a secret containing the API key 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 @@ -639,6 +647,66 @@ spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podI +### PrefectDeployment.spec.server.apiKey.valueFrom.fileKeyRef +[↩ Parent](#prefectdeploymentspecserverapikeyvaluefrom) + + + +FileKeyRef selects a key of the env file. +Requires the EnvFiles feature gate to be enabled. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescriptionRequired
keystring + 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
pathstring + The path within the volume from which to select the file. +Must be relative and may not contain the '..' path or start with '..'.
+
true
volumeNamestring + The name of the volume mount containing the env file.
+
true
optionalboolean + 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
+ + ### PrefectDeployment.spec.server.apiKey.valueFrom.resourceFieldRef [↩ Parent](#prefectdeploymentspecserverapikeyvaluefrom) diff --git a/PrefectServer.md b/PrefectServer.md index 2d87736..f619f57 100644 --- a/PrefectServer.md +++ b/PrefectServer.md @@ -259,8 +259,8 @@ Cannot be updated.
[]object List of sources to populate environment variables in the container. -The keys defined within a source must be a C_IDENTIFIER. All invalid keys -will be reported as an event when the container is starting. When a key exists in multiple +The keys defined within a source may consist of any printable ASCII characters except '='. +When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated.
@@ -349,10 +349,10 @@ More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-co string RestartPolicy defines the restart behavior of individual containers in a pod. -This field may only be set for init containers, and the only allowed value is "Always". -For non-init containers or when this field is not specified, +This overrides the pod-level restart policy. When this field is not specified, the restart behavior is defined by the Pod's restart policy and the container type. -Setting the RestartPolicy as "Always" for the init container will have the following effect: +Additionally, setting the RestartPolicy as "Always" for the init container will +have the following effect: this init container will be continually restarted on exit until all regular containers have terminated. Once all regular containers have completed, all init containers with restartPolicy "Always" @@ -365,6 +365,23 @@ init container is started, or after any startupProbe has successfully completed.
false + + restartPolicyRules + []object + + Represents a list of rules to be checked to determine if the +container should be restarted on exit. The rules are evaluated in +order. Once a rule matches a container exit condition, the remaining +rules are ignored. If no rule matches the container exit condition, +the Container-level restart policy determines the whether the container +is restarted or not. Constraints on the rules: +- At most 20 rules are allowed. +- Rules can have the same action. +- Identical rules are not forbidden in validations. +When rules are specified, container MUST set RestartPolicy explicitly +even it if matches the Pod's RestartPolicy.
+ + false securityContext object @@ -492,7 +509,8 @@ EnvVar represents an environment variable present in a Container. name string - Name of the environment variable. Must be a C_IDENTIFIER.
+ Name of the environment variable. +May consist of any printable ASCII characters except '='.
true @@ -552,6 +570,14 @@ Source for the environment variable's value. Cannot be used if value is not empt 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 @@ -653,6 +679,66 @@ spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podI +### PrefectServer.spec.extraContainers[index].env[index].valueFrom.fileKeyRef +[↩ Parent](#prefectserverspecextracontainersindexenvindexvaluefrom) + + + +FileKeyRef selects a key of the env file. +Requires the EnvFiles feature gate to be enabled. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescriptionRequired
keystring + 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
pathstring + The path within the volume from which to select the file. +Must be relative and may not contain the '..' path or start with '..'.
+
true
volumeNamestring + The name of the volume mount containing the env file.
+
true
optionalboolean + 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
+ + ### PrefectServer.spec.extraContainers[index].env[index].valueFrom.resourceFieldRef [↩ Parent](#prefectserverspecextracontainersindexenvindexvaluefrom) @@ -769,7 +855,8 @@ EnvFromSource represents the source of a set of ConfigMaps or Secrets prefix string - Optional text to prepend to the name of each environment variable. Must be a C_IDENTIFIER.
+ Optional text to prepend to the name of each environment variable. +May consist of any printable ASCII characters except '='.
false @@ -2186,7 +2273,7 @@ More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-co Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container. -This is an alpha field and requires enabling the +This field depends on the DynamicResourceAllocation feature gate. This field is immutable. It can only be set for containers.
@@ -2252,6 +2339,82 @@ only the result of this request.
+### PrefectServer.spec.extraContainers[index].restartPolicyRules[index] +[↩ Parent](#prefectserverspecextracontainersindex) + + + +ContainerRestartRule describes how a container exit is handled. + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescriptionRequired
actionstring + Specifies the action taken on a container exit if the requirements +are satisfied. The only possible value is "Restart" to restart the +container.
+
true
exitCodesobject + Represents the exit codes to check on container exits.
+
false
+ + +### PrefectServer.spec.extraContainers[index].restartPolicyRules[index].exitCodes +[↩ Parent](#prefectserverspecextracontainersindexrestartpolicyrulesindex) + + + +Represents the exit codes to check on container exits. + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescriptionRequired
operatorstring + Represents the relationship between the container exit code(s) and the +specified values. Possible values are: +- In: the requirement is satisfied if the container exit code is in the + set of specified values. +- NotIn: the requirement is satisfied if the container exit code is + not in the set of specified values.
+
true
values[]integer + Specifies the set of values to check for container exit codes. +At most 255 elements are allowed.
+
false
+ + ### PrefectServer.spec.extraContainers[index].securityContext [↩ Parent](#prefectserverspecextracontainersindex) @@ -3317,6 +3480,14 @@ EnvVarSource represents a source for the value of an EnvVar. 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 @@ -3418,6 +3589,66 @@ spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podI +### PrefectServer.spec.postgres.databaseFrom.fileKeyRef +[↩ Parent](#prefectserverspecpostgresdatabasefrom) + + + +FileKeyRef selects a key of the env file. +Requires the EnvFiles feature gate to be enabled. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescriptionRequired
keystring + 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
pathstring + The path within the volume from which to select the file. +Must be relative and may not contain the '..' path or start with '..'.
+
true
volumeNamestring + The name of the volume mount containing the env file.
+
true
optionalboolean + 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
+ + ### PrefectServer.spec.postgres.databaseFrom.resourceFieldRef [↩ Parent](#prefectserverspecpostgresdatabasefrom) @@ -3538,6 +3769,14 @@ EnvVarSource represents a source for the value of an EnvVar. 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 @@ -3639,6 +3878,66 @@ spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podI +### PrefectServer.spec.postgres.hostFrom.fileKeyRef +[↩ Parent](#prefectserverspecpostgreshostfrom) + + + +FileKeyRef selects a key of the env file. +Requires the EnvFiles feature gate to be enabled. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescriptionRequired
keystring + 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
pathstring + The path within the volume from which to select the file. +Must be relative and may not contain the '..' path or start with '..'.
+
true
volumeNamestring + The name of the volume mount containing the env file.
+
true
optionalboolean + 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
+ + ### PrefectServer.spec.postgres.hostFrom.resourceFieldRef [↩ Parent](#prefectserverspecpostgreshostfrom) @@ -3759,6 +4058,14 @@ EnvVarSource represents a source for the value of an EnvVar. 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 @@ -3860,6 +4167,66 @@ spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podI +### PrefectServer.spec.postgres.passwordFrom.fileKeyRef +[↩ Parent](#prefectserverspecpostgrespasswordfrom) + + + +FileKeyRef selects a key of the env file. +Requires the EnvFiles feature gate to be enabled. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescriptionRequired
keystring + 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
pathstring + The path within the volume from which to select the file. +Must be relative and may not contain the '..' path or start with '..'.
+
true
volumeNamestring + The name of the volume mount containing the env file.
+
true
optionalboolean + 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
+ + ### PrefectServer.spec.postgres.passwordFrom.resourceFieldRef [↩ Parent](#prefectserverspecpostgrespasswordfrom) @@ -3980,6 +4347,14 @@ EnvVarSource represents a source for the value of an EnvVar. 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 @@ -4081,6 +4456,66 @@ spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podI +### PrefectServer.spec.postgres.portFrom.fileKeyRef +[↩ Parent](#prefectserverspecpostgresportfrom) + + + +FileKeyRef selects a key of the env file. +Requires the EnvFiles feature gate to be enabled. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescriptionRequired
keystring + 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
pathstring + The path within the volume from which to select the file. +Must be relative and may not contain the '..' path or start with '..'.
+
true
volumeNamestring + The name of the volume mount containing the env file.
+
true
optionalboolean + 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
+ + ### PrefectServer.spec.postgres.portFrom.resourceFieldRef [↩ Parent](#prefectserverspecpostgresportfrom) @@ -4201,6 +4636,14 @@ EnvVarSource represents a source for the value of an EnvVar. 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 @@ -4302,6 +4745,66 @@ spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podI +### PrefectServer.spec.postgres.userFrom.fileKeyRef +[↩ Parent](#prefectserverspecpostgresuserfrom) + + + +FileKeyRef selects a key of the env file. +Requires the EnvFiles feature gate to be enabled. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescriptionRequired
keystring + 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
pathstring + The path within the volume from which to select the file. +Must be relative and may not contain the '..' path or start with '..'.
+
true
volumeNamestring + The name of the volume mount containing the env file.
+
true
optionalboolean + 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
+ + ### PrefectServer.spec.postgres.userFrom.resourceFieldRef [↩ Parent](#prefectserverspecpostgresuserfrom) @@ -4512,6 +5015,14 @@ EnvVarSource represents a source for the value of an EnvVar. 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 @@ -4613,6 +5124,66 @@ spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podI +### PrefectServer.spec.redis.databaseFrom.fileKeyRef +[↩ Parent](#prefectserverspecredisdatabasefrom) + + + +FileKeyRef selects a key of the env file. +Requires the EnvFiles feature gate to be enabled. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescriptionRequired
keystring + 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
pathstring + The path within the volume from which to select the file. +Must be relative and may not contain the '..' path or start with '..'.
+
true
volumeNamestring + The name of the volume mount containing the env file.
+
true
optionalboolean + 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
+ + ### PrefectServer.spec.redis.databaseFrom.resourceFieldRef [↩ Parent](#prefectserverspecredisdatabasefrom) @@ -4733,6 +5304,14 @@ EnvVarSource represents a source for the value of an EnvVar. 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 @@ -4834,6 +5413,66 @@ spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podI +### PrefectServer.spec.redis.hostFrom.fileKeyRef +[↩ Parent](#prefectserverspecredishostfrom) + + + +FileKeyRef selects a key of the env file. +Requires the EnvFiles feature gate to be enabled. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescriptionRequired
keystring + 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
pathstring + The path within the volume from which to select the file. +Must be relative and may not contain the '..' path or start with '..'.
+
true
volumeNamestring + The name of the volume mount containing the env file.
+
true
optionalboolean + 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
+ + ### PrefectServer.spec.redis.hostFrom.resourceFieldRef [↩ Parent](#prefectserverspecredishostfrom) @@ -4954,6 +5593,14 @@ EnvVarSource represents a source for the value of an EnvVar. 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 @@ -5055,6 +5702,66 @@ spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podI +### PrefectServer.spec.redis.passwordFrom.fileKeyRef +[↩ Parent](#prefectserverspecredispasswordfrom) + + + +FileKeyRef selects a key of the env file. +Requires the EnvFiles feature gate to be enabled. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescriptionRequired
keystring + 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
pathstring + The path within the volume from which to select the file. +Must be relative and may not contain the '..' path or start with '..'.
+
true
volumeNamestring + The name of the volume mount containing the env file.
+
true
optionalboolean + 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
+ + ### PrefectServer.spec.redis.passwordFrom.resourceFieldRef [↩ Parent](#prefectserverspecredispasswordfrom) @@ -5175,6 +5882,14 @@ EnvVarSource represents a source for the value of an EnvVar. 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 @@ -5276,6 +5991,66 @@ spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podI +### PrefectServer.spec.redis.portFrom.fileKeyRef +[↩ Parent](#prefectserverspecredisportfrom) + + + +FileKeyRef selects a key of the env file. +Requires the EnvFiles feature gate to be enabled. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescriptionRequired
keystring + 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
pathstring + The path within the volume from which to select the file. +Must be relative and may not contain the '..' path or start with '..'.
+
true
volumeNamestring + The name of the volume mount containing the env file.
+
true
optionalboolean + 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
+ + ### PrefectServer.spec.redis.portFrom.resourceFieldRef [↩ Parent](#prefectserverspecredisportfrom) @@ -5396,6 +6171,14 @@ EnvVarSource represents a source for the value of an EnvVar. 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 @@ -5497,6 +6280,66 @@ spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podI +### PrefectServer.spec.redis.usernameFrom.fileKeyRef +[↩ Parent](#prefectserverspecredisusernamefrom) + + + +FileKeyRef selects a key of the env file. +Requires the EnvFiles feature gate to be enabled. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescriptionRequired
keystring + 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
pathstring + The path within the volume from which to select the file. +Must be relative and may not contain the '..' path or start with '..'.
+
true
volumeNamestring + The name of the volume mount containing the env file.
+
true
optionalboolean + 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
+ + ### PrefectServer.spec.redis.usernameFrom.resourceFieldRef [↩ Parent](#prefectserverspecredisusernamefrom) @@ -5609,7 +6452,7 @@ Resources defines the CPU and memory resources for each replica of the Prefect S Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container. -This is an alpha field and requires enabling the +This field depends on the DynamicResourceAllocation feature gate. This field is immutable. It can only be set for containers.
@@ -5695,7 +6538,8 @@ EnvVar represents an environment variable present in a Container. name string - Name of the environment variable. Must be a C_IDENTIFIER.
+ Name of the environment variable. +May consist of any printable ASCII characters except '='.
true @@ -5755,6 +6599,14 @@ Source for the environment variable's value. Cannot be used if value is not empt 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 @@ -5856,6 +6708,66 @@ spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podI +### PrefectServer.spec.settings[index].valueFrom.fileKeyRef +[↩ Parent](#prefectserverspecsettingsindexvaluefrom) + + + +FileKeyRef selects a key of the env file. +Requires the EnvFiles feature gate to be enabled. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescriptionRequired
keystring + 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
pathstring + The path within the volume from which to select the file. +Must be relative and may not contain the '..' path or start with '..'.
+
true
volumeNamestring + The name of the volume mount containing the env file.
+
true
optionalboolean + 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
+ + ### PrefectServer.spec.settings[index].valueFrom.resourceFieldRef [↩ Parent](#prefectserverspecsettingsindexvaluefrom) diff --git a/PrefectWorkPool.md b/PrefectWorkPool.md index d6fa499..90c7a86 100644 --- a/PrefectWorkPool.md +++ b/PrefectWorkPool.md @@ -84,6 +84,13 @@ PrefectWorkPoolSpec defines the desired state of PrefectWorkPool + baseJobTemplate + object + + Base job template for flow runs in the Work Pool
+ + false + deploymentLabels map[string]string @@ -152,6 +159,139 @@ PrefectWorkPoolSpec defines the desired state of PrefectWorkPool +### PrefectWorkPool.spec.baseJobTemplate +[↩ Parent](#prefectworkpoolspec) + + + +Base job template for flow runs in the Work Pool + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescriptionRequired
configMapobject + A reference to a ConfigMap key containing a value encoded as a JSON string. +This field is mutually exclusive with `value`, and is effectively required if `value` is not defined.
+
false
patches[]object + A list of RFC-6902 JSON patches to apply to this value.
+
false
valueobject + An inline value object. +This field is mutually exclusive with `configMap`, and is effectively required if `configMap` is not defined.
+
false
+ + +### PrefectWorkPool.spec.baseJobTemplate.configMap +[↩ Parent](#prefectworkpoolspecbasejobtemplate) + + + +A reference to a ConfigMap key containing a value encoded as a JSON string. +This field is mutually exclusive with `value`, and is effectively required if `value` is not defined. + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescriptionRequired
keystring + The key to select.
+
true
namestring + 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
optionalboolean + Specify whether the ConfigMap or its key must be defined
+
false
+ + +### PrefectWorkPool.spec.baseJobTemplate.patches[index] +[↩ Parent](#prefectworkpoolspecbasejobtemplate) + + + +An [RFC-6902](https://datatracker.ietf.org/doc/html/rfc6902) JSON patch + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescriptionRequired
opstring + A JSON patch operation
+
true
pathstring + A string containing an RFC-6901] value that references a location within +the target document where the operation will be performed
+
true
valueJSON + Value to be added/edited by the patch operation
+
false
+ + ### PrefectWorkPool.spec.extraContainers[index] [↩ Parent](#prefectworkpoolspec) @@ -218,8 +358,8 @@ Cannot be updated.
[]object List of sources to populate environment variables in the container. -The keys defined within a source must be a C_IDENTIFIER. All invalid keys -will be reported as an event when the container is starting. When a key exists in multiple +The keys defined within a source may consist of any printable ASCII characters except '='. +When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated.
@@ -308,10 +448,10 @@ More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-co string RestartPolicy defines the restart behavior of individual containers in a pod. -This field may only be set for init containers, and the only allowed value is "Always". -For non-init containers or when this field is not specified, +This overrides the pod-level restart policy. When this field is not specified, the restart behavior is defined by the Pod's restart policy and the container type. -Setting the RestartPolicy as "Always" for the init container will have the following effect: +Additionally, setting the RestartPolicy as "Always" for the init container will +have the following effect: this init container will be continually restarted on exit until all regular containers have terminated. Once all regular containers have completed, all init containers with restartPolicy "Always" @@ -324,6 +464,23 @@ init container is started, or after any startupProbe has successfully completed.
false + + restartPolicyRules + []object + + Represents a list of rules to be checked to determine if the +container should be restarted on exit. The rules are evaluated in +order. Once a rule matches a container exit condition, the remaining +rules are ignored. If no rule matches the container exit condition, +the Container-level restart policy determines the whether the container +is restarted or not. Constraints on the rules: +- At most 20 rules are allowed. +- Rules can have the same action. +- Identical rules are not forbidden in validations. +When rules are specified, container MUST set RestartPolicy explicitly +even it if matches the Pod's RestartPolicy.
+ + false securityContext object @@ -451,7 +608,8 @@ EnvVar represents an environment variable present in a Container. name string - Name of the environment variable. Must be a C_IDENTIFIER.
+ Name of the environment variable. +May consist of any printable ASCII characters except '='.
true @@ -511,6 +669,14 @@ Source for the environment variable's value. Cannot be used if value is not empt 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 @@ -612,6 +778,66 @@ spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podI +### PrefectWorkPool.spec.extraContainers[index].env[index].valueFrom.fileKeyRef +[↩ Parent](#prefectworkpoolspecextracontainersindexenvindexvaluefrom) + + + +FileKeyRef selects a key of the env file. +Requires the EnvFiles feature gate to be enabled. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescriptionRequired
keystring + 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
pathstring + The path within the volume from which to select the file. +Must be relative and may not contain the '..' path or start with '..'.
+
true
volumeNamestring + The name of the volume mount containing the env file.
+
true
optionalboolean + 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
+ + ### PrefectWorkPool.spec.extraContainers[index].env[index].valueFrom.resourceFieldRef [↩ Parent](#prefectworkpoolspecextracontainersindexenvindexvaluefrom) @@ -728,7 +954,8 @@ EnvFromSource represents the source of a set of ConfigMaps or Secrets prefix string - Optional text to prepend to the name of each environment variable. Must be a C_IDENTIFIER.
+ Optional text to prepend to the name of each environment variable. +May consist of any printable ASCII characters except '='.
false @@ -2145,7 +2372,7 @@ More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-co Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container. -This is an alpha field and requires enabling the +This field depends on the DynamicResourceAllocation feature gate. This field is immutable. It can only be set for containers.
@@ -2211,6 +2438,82 @@ only the result of this request.
+### PrefectWorkPool.spec.extraContainers[index].restartPolicyRules[index] +[↩ Parent](#prefectworkpoolspecextracontainersindex) + + + +ContainerRestartRule describes how a container exit is handled. + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescriptionRequired
actionstring + Specifies the action taken on a container exit if the requirements +are satisfied. The only possible value is "Restart" to restart the +container.
+
true
exitCodesobject + Represents the exit codes to check on container exits.
+
false
+ + +### PrefectWorkPool.spec.extraContainers[index].restartPolicyRules[index].exitCodes +[↩ Parent](#prefectworkpoolspecextracontainersindexrestartpolicyrulesindex) + + + +Represents the exit codes to check on container exits. + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescriptionRequired
operatorstring + Represents the relationship between the container exit code(s) and the +specified values. Possible values are: +- In: the requirement is satisfied if the container exit code is in the + set of specified values. +- NotIn: the requirement is satisfied if the container exit code is + not in the set of specified values.
+
true
values[]integer + Specifies the set of values to check for container exit codes. +At most 255 elements are allowed.
+
false
+ + ### PrefectWorkPool.spec.extraContainers[index].securityContext [↩ Parent](#prefectworkpoolspecextracontainersindex) @@ -3075,7 +3378,7 @@ Resources defines the CPU and memory resources for each worker in the Work Pool Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container. -This is an alpha field and requires enabling the +This field depends on the DynamicResourceAllocation feature gate. This field is immutable. It can only be set for containers.
@@ -3268,6 +3571,14 @@ ValueFrom is a reference to a secret containing the API key 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 @@ -3369,6 +3680,66 @@ spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podI +### PrefectWorkPool.spec.server.apiKey.valueFrom.fileKeyRef +[↩ Parent](#prefectworkpoolspecserverapikeyvaluefrom) + + + +FileKeyRef selects a key of the env file. +Requires the EnvFiles feature gate to be enabled. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescriptionRequired
keystring + 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
pathstring + The path within the volume from which to select the file. +Must be relative and may not contain the '..' path or start with '..'.
+
true
volumeNamestring + The name of the volume mount containing the env file.
+
true
optionalboolean + 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
+ + ### PrefectWorkPool.spec.server.apiKey.valueFrom.resourceFieldRef [↩ Parent](#prefectworkpoolspecserverapikeyvaluefrom) @@ -3478,7 +3849,8 @@ EnvVar represents an environment variable present in a Container. name string - Name of the environment variable. Must be a C_IDENTIFIER.
+ Name of the environment variable. +May consist of any printable ASCII characters except '='.
true @@ -3538,6 +3910,14 @@ Source for the environment variable's value. Cannot be used if value is not empt 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 @@ -3639,6 +4019,66 @@ spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podI +### PrefectWorkPool.spec.settings[index].valueFrom.fileKeyRef +[↩ Parent](#prefectworkpoolspecsettingsindexvaluefrom) + + + +FileKeyRef selects a key of the env file. +Requires the EnvFiles feature gate to be enabled. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescriptionRequired
keystring + 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
pathstring + The path within the volume from which to select the file. +Must be relative and may not contain the '..' path or start with '..'.
+
true
volumeNamestring + The name of the volume mount containing the env file.
+
true
optionalboolean + 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
+ + ### PrefectWorkPool.spec.settings[index].valueFrom.resourceFieldRef [↩ Parent](#prefectworkpoolspecsettingsindexvaluefrom) @@ -3767,6 +4207,13 @@ PrefectWorkPoolStatus defines the observed state of PrefectWorkPool Version is the version of the Prefect Worker that is currently running
true + + baseJobTemplateVersion + string + + BaseJobTemplateVersion tracks the version of BaseJobTemplate ConfigMap, if any is defined
+ + false conditions []object @@ -3774,6 +4221,38 @@ PrefectWorkPoolStatus defines the observed state of PrefectWorkPool Conditions store the status conditions of the PrefectWorkPool instances
false + + id + string + + Id is the workPool ID from Prefect
+ + false + + lastSyncTime + string + + LastSyncTime is the last time the workPool was synced with Prefect
+
+ Format: date-time
+ + 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 diff --git a/api/v1/prefectworkpool_types.go b/api/v1/prefectworkpool_types.go index bed019c..639c6a6 100644 --- a/api/v1/prefectworkpool_types.go +++ b/api/v1/prefectworkpool_types.go @@ -53,7 +53,7 @@ type PrefectWorkPoolSpec struct { // DeploymentLabels defines additional labels to add to the Prefect Server Deployment DeploymentLabels map[string]string `json:"deploymentLabels,omitempty"` - // Base job template for flow runs on this Work Pool + // Base job template for flow runs in the Work Pool BaseJobTemplate *RawValueSource `json:"baseJobTemplate,omitempty"` } diff --git a/api/v1/raw_value_source.go b/api/v1/raw_value_source.go index 5403f68..a6b8709 100644 --- a/api/v1/raw_value_source.go +++ b/api/v1/raw_value_source.go @@ -7,16 +7,27 @@ import ( "k8s.io/apimachinery/pkg/runtime" ) +// Wtf type RawValueSource struct { - Value *runtime.RawExtension `json:"value,omitempty"` + // An inline value object. + // This field is mutually exclusive with `configMap`, and is effectively required if `configMap` is not defined. + Value *runtime.RawExtension `json:"value,omitempty"` + // A reference to a ConfigMap key containing a value encoded as a JSON string. + // This field is mutually exclusive with `value`, and is effectively required if `value` is not defined. ConfigMap *corev1.ConfigMapKeySelector `json:"configMap,omitempty"` - Patches []JsonPatch `json:"patches,omitempty"` + // A list of RFC-6902 JSON patches to apply to this value. + Patches []JsonPatch `json:"patches,omitempty"` } +// An [RFC-6902](https://datatracker.ietf.org/doc/html/rfc6902) JSON patch type JsonPatch struct { + // A JSON patch operation Operation string `json:"op"` - Path string `json:"path"` + // A string containing an RFC-6901] value that references a location within + // the target document where the operation will be performed + Path string `json:"path"` + // Value to be added/edited by the patch operation // +kubebuilder:pruning:PreserveUnknownFields // +kubebuilder:validation:Schemaless Value *runtime.RawExtension `json:"value,omitempty"` diff --git a/deploy/charts/prefect-operator/crds/prefect.io_prefectworkpools.yaml b/deploy/charts/prefect-operator/crds/prefect.io_prefectworkpools.yaml index 3a58ae9..4048280 100644 --- a/deploy/charts/prefect-operator/crds/prefect.io_prefectworkpools.yaml +++ b/deploy/charts/prefect-operator/crds/prefect.io_prefectworkpools.yaml @@ -63,10 +63,12 @@ spec: description: PrefectWorkPoolSpec defines the desired state of PrefectWorkPool properties: baseJobTemplate: - description: Base job template for flow runs on this Work Pool + description: Base job template for flow runs in the Work Pool properties: configMap: - description: Selects a key from a ConfigMap. + description: |- + A reference to a ConfigMap key containing a value encoded as a JSON string. + This field is mutually exclusive with `value`, and is effectively required if `value` is not defined. properties: key: description: The key to select. @@ -89,13 +91,22 @@ spec: type: object x-kubernetes-map-type: atomic patches: + description: A list of RFC-6902 JSON patches to apply to this + value. items: + description: An [RFC-6902](https://datatracker.ietf.org/doc/html/rfc6902) + JSON patch properties: op: + description: A JSON patch operation type: string path: + description: |- + A string containing an RFC-6901] value that references a location within + the target document where the operation will be performed type: string value: + description: Value to be added/edited by the patch operation x-kubernetes-preserve-unknown-fields: true required: - op @@ -103,6 +114,9 @@ spec: type: object type: array value: + description: |- + An inline value object. + This field is mutually exclusive with `configMap`, and is effectively required if `configMap` is not defined. type: object x-kubernetes-preserve-unknown-fields: true type: object