Skip to content

Commit

Permalink
feat: add READMEs
Browse files Browse the repository at this point in the history
Signed-off-by: Anthony Rabbito <[email protected]>
  • Loading branch information
anthr76 committed Jun 27, 2024
1 parent b2134f9 commit 653c8a3
Show file tree
Hide file tree
Showing 2 changed files with 124 additions and 0 deletions.
54 changes: 54 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
# tailscale-derp

Helm chart and container image for running [tailscale DERP](https://tailscale.com/kb/1232/derp-servers) servers.

Tailscale offers [documentation for running custom DERP servers](https://tailscale.com/kb/1118/custom-derp-servers).

The helm chart is availble in [`./chart/tailscale-derp`](./chart/tailscale-derp) and it's supporting container image can be found in [`Docker`](./Docker).

The container image follows tailscale's upstream version.

## Getting Started

## TL;DR

```console
helm install tailscale-derp oci://ghcr.io/coreweave/tailscale-derp/chart
```

## Installing the Chart

To install the chart with the release name `tailscale-derp`

```console
helm install tailscale-derp oci://ghcr.io/coreweave/tailscale-derp/chart
```

## Uninstalling the Chart

To uninstall the `tailscale-derp` deployment

```console
helm uninstall tailscale-derp
```

The command removes all the Kubernetes components associated with the chart and deletes the release.

## Configuration

Read through the [values.yaml](./chart/tailscale-derp/values.yaml) file. It has several commented out suggested values.
`DERP_*` enviroment variables are arguments passed down to the `derper` [binary](https://tailscale.com/kb/1118/custom-derp-servers#step-1-starting-your-own-derp-server).

Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`.

```console
helm install tailscale-derp \
--set derpServerHostname="your-hostname.com" \
oci://ghcr.io/coreweave/tailscale-derp/chart
```

Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart.

```console
helm install tailscale-derp oci://ghcr.io/coreweave/tailscale-derp/chart -f values.yaml
```
70 changes: 70 additions & 0 deletions chart/tailscale-derp/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
# tailscale-derp

A Helm chart for Kubernetes

## Values

| Key | Type | Default | Description |
|-----|------|---------|-------------|
| affinity | object | `{}` | |
| deploymentAnnotations | object | `{}` | |
| derpServerHostname | string | `"derp.foo.bar"` | |
| env[0].name | string | `"GOMAXPROCS"` | |
| env[0].valueFrom.resourceFieldRef.resource | string | `"limits.cpu"` | |
| env[1].name | string | `"GOMEMLIMIT"` | |
| env[1].valueFrom.resourceFieldRef.resource | string | `"limits.memory"` | |
| env[2].name | string | `"DERP_HOSTNAME"` | |
| env[2].value | string | `"{{ include \"tailscale-derp.hostname\" . }}"` | |
| fullnameOverride | string | `""` | |
| image.pullPolicy | string | `"IfNotPresent"` | |
| image.repository | string | `"registry.gitlab.com/coreweave/tailscale-derp"` | |
| image.tag | string | `""` | |
| imagePullSecrets | list | `[]` | |
| livenessProbe.exec.command[0] | string | `"/bin/bash"` | |
| livenessProbe.exec.command[1] | string | `"-c"` | |
| livenessProbe.exec.command[2] | string | `"/app/healthprobe.sh"` | |
| livenessProbe.initialDelaySeconds | int | `300` | |
| livenessProbe.timeoutSeconds | int | `60` | |
| nameOverride | string | `""` | |
| nodeSelector | object | `{}` | |
| podAnnotations | object | `{}` | |
| podLabels | object | `{}` | |
| podSecurityContext | object | `{}` | |
| readinessProbe.exec.command[0] | string | `"/bin/bash"` | |
| readinessProbe.exec.command[1] | string | `"-c"` | |
| readinessProbe.exec.command[2] | string | `"/app/healthprobe.sh"` | |
| readinessProbe.initialDelaySeconds | int | `300` | |
| readinessProbe.timeoutSeconds | int | `60` | |
| replicaCount | int | `1` | |
| resources.limits.cpu | string | `"2000m"` | |
| resources.limits.memory | string | `"2Gi"` | |
| resources.requests.cpu | string | `"100m"` | |
| resources.requests.memory | string | `"2Gi"` | |
| securityContext | object | `{}` | |
| service.annotations."externaldns.alpha.kubernetes.io/hostname" | string | `"{{ include \"tailscale-derp.hostname\" . }}"` | |
| service.directAttach.annotations | object | `{}` | |
| service.directAttach.enabled | bool | `false` | |
| service.enabled | bool | `false` | |
| service.externalTrafficPolicy | string | `"Local"` | |
| service.internalTrafficPolicy | string | `"Cluster"` | |
| service.ports[0].name | string | `"http"` | |
| service.ports[0].port | int | `80` | |
| service.ports[0].targetPort | int | `80` | |
| service.ports[1].name | string | `"https"` | |
| service.ports[1].port | int | `443` | |
| service.ports[1].targetPort | int | `443` | |
| service.ports[2].name | string | `"stun"` | |
| service.ports[2].port | int | `3478` | |
| service.ports[2].targetPort | int | `3478` | |
| service.type | string | `"ClusterIP"` | |
| serviceAccount.annotations | object | `{}` | |
| serviceAccount.automount | bool | `false` | |
| serviceAccount.create | bool | `false` | |
| serviceAccount.name | string | `""` | |
| tls | object | `{}` | |
| tolerations | list | `[]` | |
| volumeMounts | list | `[]` | |
| volumes | list | `[]` | |

----------------------------------------------
Autogenerated from chart metadata using [helm-docs v1.13.1](https://github.com/norwoodj/helm-docs/releases/v1.13.1)

0 comments on commit 653c8a3

Please sign in to comment.