headscale

Version: 0.3.3
Type: application
AppVersion: 0.22.3

Maintainers

Table 1. Maintainers
Name Email Url

WrenIX

https://wrenix.eu

Usage

Helm must be installed and setup to your kubernetes cluster to use the charts. Refer to Helm’s documentation to get started. Once Helm has been set up correctly, fetch the charts as follows:

helm pull oci://codeberg.org/wrenix/helm-charts/headscale

You can install a chart release using the following command:

helm install headscale-release oci://codeberg.org/wrenix/helm-charts/headscale --values values.yaml

To uninstall a chart release use `helm’s delete command:

helm uninstall headscale-release

Values

Table 2. Values
Key Type Default Description

affinity

object

{}

autoscaling.enabled

bool

false

autoscaling.maxReplicas

int

100

autoscaling.minReplicas

int

1

autoscaling.targetCPUUtilizationPercentage

int

80

fullnameOverride

string

""

headscale.certmanager.dnsNames[0]

string

"example.com"

headscale.certmanager.enabled

bool

true

headscale.certmanager.issuerRef.group

string

"cert-manager.io"

headscale.certmanager.issuerRef.kind

string

"ClusterIssuer"

headscale.certmanager.issuerRef.name

string

"letsencrypt-prod"

headscale.config.db_path

string

"/var/lib/headscale/db.sqlite"

headscale.config.db_type

string

"sqlite3"

headscale.config.derp.paths

list

[]

headscale.config.derp.server.enabled

bool

true

headscale.config.derp.server.region_code

string

"headscale"

headscale.config.derp.server.region_id

int

999

headscale.config.derp.server.region_name

string

"Headscale Embedded DERP"

headscale.config.derp.server.stun_listen_addr

string

"0.0.0.0:3478"

headscale.config.derp.update_frequency

string

"24h"

headscale.config.derp.urls

list

[]

headscale.config.disable_check_updates

bool

true

headscale.config.grpc_listen_addr

string

":50443"

headscale.config.listen_addr

string

":8080"

headscale.config.metrics_listen_addr

string

":9090"

headscale.config.noise.private_key_path

string

"/etc/headscale/secrets/noise.key"

headscale.config.private_key_path

string

"/etc/headscale/secrets/wireguard.key"

headscale.config.server_url

string

"http://127.0.0.1:8080"

headscale.config.tls_cert_path

string

"/etc/headscale/certs/tls.crt"

headscale.config.tls_key_path

string

"/etc/headscale/certs/tls.key"

headscale.keys.create

bool

true

Create a new private key, if not exists

headscale.keys.existingSecret

string

""

Use an existing secret

image.pullPolicy

string

"IfNotPresent"

image.registry

string

"ghcr.io"

image.repository

string

"juanfont/headscale"

image.tag

string

""

imagePullSecrets

list

[]

ingress.annotations

object

{}

ingress.className

string

""

ingress.enabled

bool

false

ingress.hosts[0].host

string

"chart-example.local"

ingress.hosts[0].paths[0].path

string

"/"

ingress.hosts[0].paths[0].pathType

string

"ImplementationSpecific"

ingress.tls

list

[]

nameOverride

string

""

nodeSelector

object

{}

persistence.accessMode

string

"ReadWriteOnce"

persistence.annotations

object

{}

persistence.enabled

bool

false

persistence.existingClaim

string

nil

A manually managed Persistent Volume and Claim Requires persistence.enabled: true If defined, PVC must be created manually before volume will be bound

persistence.hostPath

string

nil

Create a PV on Node with given hostPath storageClass has to be manual

persistence.size

string

"1Gi"

persistence.storageClass

string

nil

data Persistent Volume Storage Class If defined, storageClassName: <storageClass> If set to "-", storageClassName: "", which disables dynamic provisioning If undefined (the default) or set to null, no storageClassName spec is set, choosing the default provisioner. (gp2 on AWS, standard on GKE, AWS & OpenStack)

podAnnotations

object

{}

podLabels

object

{}

podSecurityContext

object

{}

prometheus.rules.additionalRules

list

[]

prometheus.rules.defaults.enabled

bool

true

prometheus.rules.defaults.filter

string

""

prometheus.rules.defaults.lastUpdates.critical

int

3600

prometheus.rules.defaults.lastUpdates.info

int

300

prometheus.rules.defaults.lastUpdates.warning

int

600

prometheus.rules.enabled

bool

false

prometheus.rules.labels

object

{}

prometheus.servicemonitor.enabled

bool

false

prometheus.servicemonitor.labels

object

{}

replicaCount

int

1

resources

object

{}

securityContext

object

{}

service.annotations

string

nil

service.derp.annotations

string

nil

service.derp.port

int

3478

service.derp.type

string

"LoadBalancer"

service.port.grpc

int

50443

service.port.http

int

8080

service.port.metrics

int

9090

service.type

string

"ClusterIP"

serviceAccount.annotations

object

{}

serviceAccount.create

bool

true

serviceAccount.name

string

""

tolerations

list

[]

Autogenerated from chart metadata using helm-docs