follows on from https://github.com/coder/registry/pull/616 As part of https://registry.terraform.io/providers/hashicorp/kubernetes/latest/docs/guides/v3-upgrade-guide various resources change from non versioned to versioned. This PR changes the Coder authored templates to versioned resources. - Updated kubernetes_persistent_volume_claim to kubernetes_persistent_volume_claim_v1 - Updated kubernetes_deployment to kubernetes_deployment_v1 - Updated kubernetes_pod to kubernetes_pod_v1 - Updated kubernetes_secret to kubernetes_secret_v1 - Updated all resource references and dependencies
display_name, description, icon, maintainer_github, verified, tags
| display_name | description | icon | maintainer_github | verified | tags | ||
|---|---|---|---|---|---|---|---|
| Kubernetes (Deployment) | Provision Kubernetes Deployments as Coder workspaces | ../../../site/static/icon/k8s.png | coder | true |
|
Remote Development on Kubernetes Pods
Provision Kubernetes Pods as Coder workspaces with this example template.
Prerequisites
Infrastructure
Cluster: This template requires an existing Kubernetes cluster
Container Image: This template uses the codercom/enterprise-base:ubuntu image with some dev tools preinstalled. To add additional tools, extend this image or build it yourself.
Authentication
This template authenticates using a ~/.kube/config, if present on the server, or via built-in authentication if the Coder provisioner is running on Kubernetes with an authorized ServiceAccount. To use another authentication method, edit the template.
Architecture
This template provisions the following resources:
- Kubernetes pod (ephemeral)
- Kubernetes persistent volume claim (persistent on
/home/coder)
This means, when the workspace restarts, any tools or files outside of the home directory are not persisted. To pre-bake tools into the workspace (e.g. python3), modify the container image. Alternatively, individual developers can personalize their workspaces with dotfiles.
Note
This template is designed to be a starting point! Edit the Terraform to extend the template to support your use case.