* Move updatecheck logs to debug mode This was causing logs to be emitted immediately after initial setup, which seemed odd for the user. * Fix setup page text to say "Create" instead of "Setup" account * Improve copy on the empty workspaces page - This view can be seen after the user creates their first workspace, so saying first is bad. - It should describe what a workspace is, so I modified the description. - The create from template button wasn't helpful! * Improve the copy for the empty templates view - This didn't describe what a template actually is. - The title had the same problem as workspaces, where first makes no sense. * Improve text consistency on the Create Template page * Fix "View activity" displaying for non-Enterprise users This was causing an exception to be thrown. * Improve messaging of empty groups view * Appropriately capitalize Workspace and Template * Improve Docker template taglines * Fix types
3.3 KiB
Open in Coder
An "Open in Coder" button can be embedded into your git repos or internal wikis to allow developers to quickly launch a new workspace.
How it works
To support any infrastructure and software stack, Coder provides a generic approach for "Open in Coder" flows.
-
Set up Git Authentication in your Coder deployment
-
Modify your template to auto-clone repos:
The id in the template's
coder_git_auth
data source must match theCODER_GITAUTH_0_ID
in the Coder deployment configuration.
-
If you want the template to clone a specific git repo
# Require git authentication to use this template data "coder_git_auth" "github" { id = "primary-github" } resource "coder_agent" "dev" { # ... dir = "~/coder" startup_script =<<EOF # Clone repo from GitHub if [ ! -d "coder" ] then git clone https://github.com/coder/coder fi EOF }
Note: The
dir
attribute can be set in multiple ways, for example:~/coder
/home/coder/coder
coder
(relative to the home directory)
-
If you want the template to support any repository via parameters
# Require git authentication to use this template data "coder_git_auth" "github" { id = "primary-github" } # Prompt the user for the git repo URL data "coder_parameter" "git_repo" { name = "git_repo" display_name = "Git repository" default = "https://github.com/coder/coder" } locals { folder_name = try(element(split("/", data.coder_parameter.git_repo.value), length(split("/", data.coder_parameter.git_repo.value)) - 1), "") } resource "coder_agent" "dev" { # ... dir = "~/${local.folder_name}" startup_script =<<EOF # Clone repo from GitHub if [ ! -d "${local.folder_name}" ] then git clone ${data.coder_parameter.git_repo.value} fi EOF }
-
Embed the "Open in Coder" button with Markdown
[](https://YOUR_ACCESS_URL/templates/YOUR_TEMPLATE/workspace)
Be sure to replace
YOUR_ACCESS_URL
with your Coder access url (e.g. https://coder.example.com) andYOUR_TEMPLATE
with the name of your template. -
Optional: pre-fill parameter values in the "Create Workspace" page
This can be used to pre-fill the git repo URL, disk size, image, etc.
[](https://YOUR_ACCESS_URL/templates/YOUR_TEMPLATE/workspace?param.git_repo=https://github.com/coder/slog¶m.home_disk_size%20%28GB%29=20)
Example: Kubernetes
For a full example of the Open in Coder flow in Kubernetes, check out this example template.
Devcontainer support
Devcontainer support is on the roadmap. Follow along here