* chore(release): bump version to 4.5.0 * chore: update CHANGELOG * chore: bump chart version * docs: update MAINTAINING * fix: add VSCODE_DEV=1 to e2e script I'm not sure what changed in the latest version but without setting VSCODE_DEV=1, code-server won't load. This fixes that. * Revert "fix: add VSCODE_DEV=1 to e2e script" This reverts commit58c4826af8
. * fix: try setting VSCODE_DEV=1 * Revert "fix: try setting VSCODE_DEV=1" This reverts commit902f5f2f30
. * refactor: remove version check e2e test I am not sure why this is passing locally and failing CI. I need to further investigate this since it fails depending on where you test.
6.7 KiB
code-server Helm Chart
code-server code-server is VS Code running on a remote server, accessible through the browser.
This chart is community maintained by @Matthew-Beckett and @alexgorbatchev
Quickstart
$ git clone https://github.com/coder/code-server
$ cd code-server
$ helm upgrade --install code-server ci/helm-chart
Introduction
This chart bootstraps a code-server deployment on a Kubernetes cluster using the Helm package manager.
Prerequisites
- Kubernetes 1.6+
Installing the Chart
To install the chart with the release name code-server
:
$ git clone https://github.com/coder/code-server
$ cd code-server
$ helm upgrade --install code-server ci/helm-chart
The command deploys code-server on the Kubernetes cluster in the default configuration. The configuration section lists the parameters that can be configured during installation.
Tip
: List all releases using
helm list
Uninstalling the Chart
To uninstall/delete the code-server
deployment:
$ helm delete code-server
The command removes all the Kubernetes components associated with the chart and deletes the release.
Configuration
The following table lists the configurable parameters of the code-server chart and their default values.
Values
Key | Type | Default |
---|---|---|
affinity | object | {} |
extraArgs | list | [] |
extraConfigmapMounts | list | [] |
extraContainers | string | "" |
extraInitContainers | string | "" |
extraSecretMounts | list | [] |
extraVars | list | [] |
extraVolumeMounts | list | [] |
fullnameOverride | string | "" |
hostnameOverride | string | "" |
image.pullPolicy | string | "Always" |
image.repository | string | "codercom/code-server" |
image.tag | string | "4.5.0" |
imagePullSecrets | list | [] |
ingress.enabled | bool | false |
nameOverride | string | "" |
nodeSelector | object | {} |
persistence.accessMode | string | "ReadWriteOnce" |
persistence.annotations | object | {} |
persistence.enabled | bool | true |
persistence.size | string | "1Gi" |
podAnnotations | object | {} |
podSecurityContext | object | {} |
replicaCount | int | 1 |
resources | object | {} |
securityContext.enabled | bool | true |
securityContext.fsGroup | int | 1000 |
securityContext.runAsUser | int | 1000 |
service.port | int | 8443 |
service.type | string | "ClusterIP" |
serviceAccount.create | bool | true |
serviceAccount.name | string | nil |
tolerations | list | [] |
volumePermissions.enabled | bool | true |
volumePermissions.securityContext.runAsUser | int | 0 |
Specify each parameter using the --set key=value[,key=value]
argument to helm install
. For example,
$ helm upgrade --install code-server \
ci/helm-chart \
--set persistence.enabled=false
The above command sets the the persistence storage to false.
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart. For example,
$ helm upgrade --install code-server ci/helm-chart -f values.yaml
Tip
: You can use the default values.yaml
Extra Containers
There are two parameters which allow to add more containers to pod.
Use extraContainers
to add regular containers
and extraInitContainers
to add init containers. You can read more
about init containers in k8s documentation.
Both parameters accept strings and use them as a templates
Example of using extraInitContainers
:
extraInitContainers: |
- name: customization
image: {{ .Values.image.repository }}:{{ .Values.image.tag }}
imagePullPolicy: IfNotPresent
env:
- name: SERVICE_URL
value: https://open-vsx.org/vscode/gallery
- name: ITEM_URL
value: https://open-vsx.org/vscode/item
command:
- sh
- -c
- |
code-server --install-extension ms-python.python
code-server --install-extension golang.Go
volumeMounts:
- name: data
mountPath: /home/coder
With this yaml in file init.yaml
, you can execute
$ helm upgrade --install code-server \
ci/helm-chart \
--values init.yaml
to deploy code-server with python and golang extensions preinstalled before main container have started.