Skip to content

docs: add documentation for template update policies #10804

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

Merged
merged 4 commits into from
Nov 20, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/templates/general-settings.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/templates/permissions.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/workspace-automatic-updates.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
17 changes: 17 additions & 0 deletions docs/manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -210,6 +210,23 @@
}
]
},
{
"title": "Administering templates",
"description": "Configuration settings for template admins",
"path": "./templates/configuration.md",
"children": [
{
"title": "General settings",
"description": "Configure name, display info, and update polices",
"path": "./templates/general-settings.md"
},
{
"title": "Permissions",
"description": "Configure who can access a template",
"path": "./templates/permissions.md"
}
]
},
{
"title": "Open in Coder",
"description": "Add an \"Open in Coder\" button to your repos",
Expand Down
6 changes: 6 additions & 0 deletions docs/templates/configuration.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# Administering Templates

Templates offer a variety of configuration options to template admins.

<children>
</children>
33 changes: 33 additions & 0 deletions docs/templates/general-settings.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# General Settings

![General Settings](../images/templates/general-settings.png)

## Display Info

Display Info allows admins to modify how templates are displayed to users. This
can be useful for showing a more user-friendly name in the UI along with a
relevant icon and description.

## Operations

### Cancel in-progress jobs

Canceling in-progress jobs allows users to cancel ongoing workspace builds.
While this can be helpful for cases where a build is unlikely to finish, it also
carries the risk of potentially corrupting your workspace. The setting is
disabled by default.

### Require automatic updates (Enterprise)

Admins can require all workspaces update to the latest active template version
when they're started. This can be used to enforce security patches or other
important changes are quickly applied to all workspaces. This setting is not
mandatory for template admins to ensure template iteration is still possible.

While this setting applies to both manual starts and
[autostarts](../workspaces.md), promoting a template version that requires
manual intervention by the user (such as mandatory new template parameters) will
result in autostart being disabled for all incompatible workspaces until a
manual update is performed by the user.

This setting is an enterprise-only feature.
19 changes: 19 additions & 0 deletions docs/templates/permissions.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# Permissions (Enterprise)

![Template Permissions](../images/templates/permissions.png)

Permissions allow you to control who can use and modify the template. Both
individual user and groups can be added to the access list for a template.
Members can be assigned either a `Use` role, granting use of the template to
create workspaces, or `Admin`, allowing a user or members of a group to control
all aspects of the template. This offers a way to elevate the privileges of
ordinary users for specific templates without granting them the site-wide role
of `Template Admin`.

By default the `Everyone` group is assigned to each template meaning any Coder
user can use the template to create a workspace. To prevent this, disable the
`Allow everyone to use the template` setting when creating a template.

![Create Template Permissions](../images/templates/create-template-permissions.png)

Permissions is an enterprise-only feature.
12 changes: 12 additions & 0 deletions docs/workspaces.md
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,18 @@ workspace will run before Coder automatically stops it, regardless of any active
connections. Use this setting to ensure that workspaces do not run in perpetuity
when connections are left open inadvertently.

### Automatic Updates

It can be tedious to manually update a workspace everytime an update is pushed
to a template. Users can choose to opt-in to automatic updates to update to the
active template version whenever the workspace is started.

Note: If a template is updated such that new parameter inputs are required from
the user, autostart will be disabled for the workspace until the user has
manually updated the workspace.

![Automatic Updates](./images/workspace-automatic-updates.png)

## Updating workspaces

After updating the default version of the template that a workspace was created
Expand Down