|
| 1 | +# Code Extension Marketplace Helm Chart |
| 2 | + |
| 3 | +This directory contains the Helm chart used to deploy the marketplace onto a |
| 4 | +Kubernetes cluster. |
| 5 | + |
| 6 | +## Quickstart |
| 7 | + |
| 8 | +```console |
| 9 | +$ git clone --depth 1 https://github.com/coder/code-marketplace |
| 10 | +$ helm upgrade --install code-marketplace ./code-marketplace/helm |
| 11 | +``` |
| 12 | + |
| 13 | +This deploys the marketplace on the default Kubernetes cluster. |
| 14 | + |
| 15 | +## Ingress |
| 16 | + |
| 17 | +You will need to configure `ingress` in [values.yaml](./values.yaml) to expose the |
| 18 | +marketplace on an external domain or change `service.type` to get yourself an |
| 19 | +external IP address. |
| 20 | + |
| 21 | +It is recommended to configure `ingress` with TLS or put the external IP behind |
| 22 | +a TLS-terminating reverse proxy because code-server will refuse to connect to |
| 23 | +the marketplace if it is not behind HTTPS. |
| 24 | + |
| 25 | +More information can be found at these links: |
| 26 | + |
| 27 | +https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types |
| 28 | +https://kubernetes.io/docs/concepts/services-networking/ingress/ |
| 29 | + |
| 30 | +## Adding/removing extensions |
| 31 | + |
| 32 | +One way to get extensions added or removed is to exec into the pod and use the |
| 33 | +marketplace binary to add and remove them. |
| 34 | + |
| 35 | +``` |
| 36 | +export POD_NAME=$(kubectl get pods -l "app.kubernetes.io/name=code-marketplace,app.kubernetes.io/instance=code-marketplace" -o jsonpath="{.items[0].metadata.name}") |
| 37 | +$ kubectl exec -it "$POD_NAME" -- /opt/code-marketplace add https://github.com/VSCodeVim/Vim/releases/download/v1.24.1/vim-1.24.1.vsix --extensions-dir /extensions |
| 38 | +``` |
| 39 | + |
| 40 | +In the future it will be possible to use Artifactory for storing and retrieving |
| 41 | +extensions instead of a persistent volume. |
| 42 | + |
| 43 | +## Uninstall |
| 44 | + |
| 45 | +To uninstall/delete the marketplace deployment: |
| 46 | + |
| 47 | +```console |
| 48 | +$ helm delete code-marketplace |
| 49 | +``` |
| 50 | + |
| 51 | +This removes all the Kubernetes components associated with the chart (including |
| 52 | +the persistent volume) and deletes the release. |
| 53 | + |
| 54 | +## Configuration |
| 55 | + |
| 56 | +Please refer to [values.yaml](./values.yaml) for available Helm values and their |
| 57 | +defaults. |
| 58 | + |
| 59 | +Specify values using `--set`: |
| 60 | + |
| 61 | +```console |
| 62 | +$ helm upgrade --install code-marketplace ./helm-chart \ |
| 63 | + --set persistence.size=10Gi |
| 64 | +``` |
| 65 | + |
| 66 | +Or edit and use the YAML file: |
| 67 | + |
| 68 | +```console |
| 69 | +$ helm upgrade --install code-marketplace ./helm-chart -f values.yaml |
| 70 | +``` |
0 commit comments