Skip to content

chore: add prebuild docs #17580

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 12 commits into
base: main
Choose a base branch
from
Open

chore: add prebuild docs #17580

wants to merge 12 commits into from

Conversation

dannykopping
Copy link
Contributor

Partially addresses coder/internal#593

@dannykopping dannykopping changed the title chore: prebuild docs chore: add prebuild docs Apr 28, 2025
Signed-off-by: Danny Kopping <dannykopping@gmail.com>
Copy link
Contributor Author

@dannykopping dannykopping left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks a lot for your changes @EdwardAngert! This reads much better now.

See my edits: 1c6aee4

3. A prebuilt workspace is in eligible state
- User creates a new workspace via the API or the Coder web UI.
- User selected a preset which has been configured for prebuilds.
- Prebuilt workspace is in eligible state.
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- Prebuilt workspace is in eligible state.
- Prebuilt workspace is in an eligible state.

New prebuilt workspaces will be provisioned for the active template version.

Invalidating prebuilt workspaces is useful when your template version does not change but a referenced dependency does,
You can invalidate a prebuilt workspace your template version does not change but a referenced dependency does,
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
You can invalidate a prebuilt workspace your template version does not change but a referenced dependency does,
You may want to invalidate a prebuilt workspace when your template version does not change but a referenced dependency does,

@@ -139,7 +140,7 @@ eliminating the value of the prior pre-provisioning.
Should this occur when a prebuilt workspace is claimed, all Template Admins will receive a notification which will
link them to the build logs to investigate which resource was being replaced.

![replacement-notification.png](replacement-notification.png)
![Workspace replaced notification.png](../../../images/admin/templates/extend-templates/prebuilt/replacement-notification.png)
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
![Workspace replaced notification.png](../../../images/admin/templates/extend-templates/prebuilt/replacement-notification.png)
![resource replaced notification](../../../images/admin/templates/extend-templates/prebuilt/replacement-notification.png)

dannykopping and others added 3 commits April 29, 2025 09:52
Signed-off-by: Danny Kopping <dannykopping@gmail.com>
Instead of creating a new workspace when a developer requests one, if a workspace matches a preset defined in the
template parameters, Coder assigns an existing instance, reducing setup time significantly.
The template administrator configures a template to be available with prebuilt workspaces, and then when a developer creates
a new workspace with matching parameters, Coder assigns them an existing prebuilt instance.
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
a new workspace with matching parameters, Coder assigns them an existing prebuilt instance.
a new workspace with matching a preset, Coder assigns them an existing prebuilt instance.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
a new workspace with matching parameters, Coder assigns them an existing prebuilt instance.
a new workspace that matches the preset, Coder assigns them an existing prebuilt instance.


Prebuilt workspaces can only be utilized by the default organization.
_Note: In future releases, we will allow operators to invalidate their prebuilt workspaces programmatically._
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is oddly out of place now.

This is obviously undesirable because the prebuilt workspace will now have to provision _again_, while the user waits,
eliminating the value of the prior pre-provisioning.
1. The workspace is initially created with values from the `prebuilds` user and a random name.
1. After claiming, the workspace owner and name change, which Terraform sees as configuration drift.
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is too specific. The owner & name change are two of a very large set of possible changes.


Expand each item in this list for more information about the stage:

1. <details><summary>The prebuilt workspace is provisioned.</summary>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't know how keen I am on this yet.

The goal was to summarize the lifecycle in a way that people can see easily and drill down into for more details if they want. I'm going to try another edit of the summaries to see if I can get it to work, and if it doesn't, I'll revert to separate headings

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
docs Area: coder.com/docs
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants