* feat(site): disable rich parameters when using open in coder
* updated docs
* chore(site): increase refetch interval for deployment health
* Revert "chore(site): increase refetch interval for deployment health"
This reverts commit 8e642be3fb.
3.7 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_authdata source must match theCODER_GITAUTH_0_IDin 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
dirattribute can be set in multiple ways, for example:~/coder/home/coder/codercoder(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_URLwith your Coder access url (e.g. https://coder.example.com) andYOUR_TEMPLATEwith 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) -
Optional: disable specific parameter fields by including their names as specified in your template in the
disable_paramssearch params list[](https://YOUR_ACCESS_URL/templates/YOUR_TEMPLATE/workspace?disable_params=first_parameter,second_parameter)
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
