mirror of
https://github.com/coder/coder.git
synced 2026-09-24 15:04:27 +08:00
fix: exclude prebuilt workspaces from lifecycle executor (#18762)
## Description This PR updates the lifecycle executor to explicitly exclude prebuilt workspaces from being considered for lifecycle operations such as `autostart`, `autostop`, `dormancy`, `default TTL` and `failure TTL`. Prebuilt workspaces (i.e., those owned by the prebuild system user) are handled separately by the prebuild reconciliation loop. Including them in the lifecycle executor could lead to unintended behavior such as incorrect scheduling or state transitions. ## Changes * Updated the lifecycle executor query `GetWorkspacesEligibleForTransition` to exclude workspaces with `owner_id = 'c42fdf75-3097-471c-8c33-fb52454d81c0'` (prebuilds). * Added tests to verify prebuilt workspaces are not considered in: * Autostop * Autostart * Default TTL * Dormancy * Failure TTL Fixes: https://github.com/coder/coder/issues/18740 Related to: https://github.com/coder/coder/issues/18658
This commit is contained in:
@@ -2,13 +2,10 @@
|
||||
|
||||
> [!WARNING]
|
||||
> Prebuilds Compatibility Limitations:
|
||||
> Prebuilt workspaces are currently not compatible with configurations that have Workspace schedule (autostart/autostop), or Dormancy enabled.
|
||||
> If these features are configured, prebuilt workspaces may fail to run correctly.
|
||||
> Prebuilt workspaces currently do not work reliably with [DevContainers feature](../managing-templates/devcontainers/index.md).
|
||||
> If your project relies on DevContainer configuration, we recommend disabling prebuilds or carefully testing behavior before enabling them.
|
||||
>
|
||||
> In addition, prebuilds currently do not work reliably with [DevContainers feature](../managing-templates/devcontainers/index.md).
|
||||
> If your project relies on DevContainer configuration, we recommend disabling prebuilds or carefully testing behavior before enabling them in production.
|
||||
>
|
||||
> We’re actively working to improve compatibility, but for now, please avoid using prebuilds with these features to ensure stability and expected behavior.
|
||||
> We’re actively working to improve compatibility, but for now, please avoid using prebuilds with this feature to ensure stability and expected behavior.
|
||||
|
||||
Prebuilt workspaces allow template administrators to improve the developer experience by reducing workspace
|
||||
creation time with an automatically maintained pool of ready-to-use workspaces for specific parameter presets.
|
||||
@@ -26,7 +23,7 @@ Prebuilt workspaces are:
|
||||
|
||||
## Relationship to workspace presets
|
||||
|
||||
Prebuilt workspaces are tightly integrated with [workspace presets](./parameters.md#workspace-presets-beta):
|
||||
Prebuilt workspaces are tightly integrated with [workspace presets](./parameters.md#workspace-presets):
|
||||
|
||||
1. Each prebuilt workspace is associated with a specific template preset.
|
||||
1. The preset must define all required parameters needed to build the workspace.
|
||||
|
||||
Reference in New Issue
Block a user