Skip to content

Commit 812114e

Browse files
feat(headscale): Update to headscale v0.24.1 and add values for extra DNS record support (#727)
* Update to Headscale v0.24.1 and add dnsExtraRecords support Upgraded the appVersion and image tag to v0.24.1, introducing breaking changes. Added support for configuring DNS extra records via the `configMaps.dnsExtraRecords` parameter in the Helm chart. Updated related templates and values for compatibility with the new release. * Update README with extra DNS records configuration Add details about enabling and configuring extra DNS records via configMap. This includes new keys `configMaps.extraDnsRecords.data.records` and `configMaps.extraDnsRecords.enabled`. Update table formatting for improved readability. * fixed typo for dnsExtraRecords * Add mountPath for DNS extra records ConfigMap This update introduces a `mountPath` for the DNS extra records ConfigMap in the Helm chart template. It ensures proper mapping of the DNS configuration, improving usability and compatibility. * Update Helm chart to rename dnsExtraRecords to dns Renames `configMaps.dnsExtraRecords` to `configMaps.dns` for consistency and clarity in configuration. Adjusts all references in templates, values, and documentation to reflect the update. This change simplifies dns-related configurations and aligns naming conventions. * cleanup * Update chart annotations for Headscale v0.24.1 Clarified release notes by changing "dnsExtraRecords" to "dns" in the annotations. This ensures alignment with the new configuration possibilities introduced in v0.24.1.
1 parent 3de8aa3 commit 812114e

4 files changed

Lines changed: 55 additions & 26 deletions

File tree

charts/headscale/Chart.yaml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ icon: https://raw.githubusercontent.com/juanfont/headscale/56a7b1e/docs/logo/hea
66
type: application
77
version: 0.14.0
88
# renovate datasource=docker depName=ghcr.io/juanfont/headscale
9-
appVersion: v0.23.0
9+
appVersion: v0.24.1
1010
kubeVersion: ">=1.22.0-0"
1111
keywords:
1212
- headscale
@@ -25,6 +25,11 @@ sources:
2525
- https://github.com/juanfont/headscale
2626
annotations:
2727
artifacthub.io/changes: |-
28+
- kind: changed
29+
description: BREAKING - Update ghcr.io/juanfont/headscale docker tag to v0.24.1, added dns configuration possibility
30+
links:
31+
- name: Headscale v0.24.1 Release Notes
32+
url: https://github.com/juanfont/headscale/releases/tag/v0.24.1
2833
- kind: changed
2934
description: BREAKING - Update ghcr.io/juanfont/headscale docker tag to v0.23.0
3035
links:

charts/headscale/README.md

Lines changed: 22 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -143,26 +143,28 @@ Once deployed, the UI will be available at `/web`.
143143

144144
**Important**: When deploying an application Helm chart you can add more values from the bjw-s common library chart [here](https://github.com/bjw-s/helm-charts/tree/a081de5/charts/library/common)
145145

146-
| Key | Type | Default | Description |
147-
|-----|------|---------|-------------|
148-
| args | list | `["serve"]` | Container args |
149-
| configMaps.acl.data.policy | string | `nil` | ACL policy JSON [[ref]](https://tailscale.com/kb/1018/acls/) |
150-
| configMaps.acl.enabled | bool | `false` | Enables ACL policy |
151-
| env | object | See [values.yaml](./values.yaml) | Environment variables. [[ref]](https://github.com/juanfont/headscale/blob/main/config-example.yaml) |
152-
| env.HEADSCALE_DNS_BASE_DOMAIN | string | `"example.com"` | Defines the base domain to create the hostnames for MagicDNS. This domain _must_ be different from the server_url domain. |
153-
| env.HEADSCALE_DNS_MAGIC_DNS | string | `"true"` | Whether to use [MagicDNS](https://tailscale.com/kb/1081/magicdns/). |
154-
| env.HEADSCALE_DNS_NAMESERVERS_GLOBAL | string | `"1.1.1.1 1.0.0.1"` | List of DNS servers to expose to clients. |
155-
| env.HEADSCALE_PREFIXES_V4 | string | `"100.64.0.0/10"` | Node IPv4 prefixes |
156-
| env.HEADSCALE_PREFIXES_V6 | string | `"fd7a:115c:a1e0::/48"` | Node IPv6 prefixes |
157-
| image.pullPolicy | string | `"IfNotPresent"` | image pull policy |
158-
| image.repository | string | `"ghcr.io/juanfont/headscale"` | image repository |
159-
| image.tag | string | `"v0.23.0"` | image tag |
160-
| ingress.main | object | See [values.yaml](./values.yaml) | Enable and configure ingress settings for the chart under this key. |
161-
| persistence.config | object | See [values.yaml](./values.yaml) | Configure persistence settings for the chart under this key. |
162-
| postgresql | object | See [values.yaml](./values.yaml) | Enable and configure postgresql database subchart under this key. For more options see [postgresql chart documentation](https://github.com/bitnami/charts/tree/main/bitnami/postgresql) |
163-
| service.main | object | See [values.yaml](./values.yaml) | Configures service settings for the chart. |
164-
| serviceMonitor.main.enabled | bool | `false` | Enables or disables the serviceMonitor. |
165-
| serviceMonitor.main.endpoints | list | See [values.yaml](./values.yaml) | Configures the endpoints for the serviceMonitor. |
146+
| Key | Type | Default | Description |
147+
|--------------------------------------|------|---------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
148+
| args | list | `["serve"]` | Container args |
149+
| configMaps.acl.data.policy | string | `nil` | ACL policy JSON [[ref]](https://tailscale.com/kb/1018/acls/) |
150+
| configMaps.acl.enabled | bool | `false` | Enables ACL policy |
151+
| configMaps.dns.data.records | string | `nil` | Extra DNS records JSON [[ref]](https://headscale.net/development/ref/dns/#__tabbed_1_2) |
152+
| configMaps.dns.enabled | bool | `false` | Enables extra DNS records from configMap (json format) |
153+
| env | object | See [values.yaml](./values.yaml) | Environment variables. [[ref]](https://github.com/juanfont/headscale/blob/main/config-example.yaml) |
154+
| env.HEADSCALE_DNS_BASE_DOMAIN | string | `"example.com"` | Defines the base domain to create the hostnames for MagicDNS. This domain _must_ be different from the server_url domain. |
155+
| env.HEADSCALE_DNS_MAGIC_DNS | string | `"true"` | Whether to use [MagicDNS](https://tailscale.com/kb/1081/magicdns/). |
156+
| env.HEADSCALE_DNS_NAMESERVERS_GLOBAL | string | `"1.1.1.1 1.0.0.1"` | List of DNS servers to expose to clients. |
157+
| env.HEADSCALE_PREFIXES_V4 | string | `"100.64.0.0/10"` | Node IPv4 prefixes |
158+
| env.HEADSCALE_PREFIXES_V6 | string | `"fd7a:115c:a1e0::/48"` | Node IPv6 prefixes |
159+
| image.pullPolicy | string | `"IfNotPresent"` | image pull policy |
160+
| image.repository | string | `"ghcr.io/juanfont/headscale"` | image repository |
161+
| image.tag | string | `"v0.23.0"` | image tag |
162+
| ingress.main | object | See [values.yaml](./values.yaml) | Enable and configure ingress settings for the chart under this key. |
163+
| persistence.config | object | See [values.yaml](./values.yaml) | Configure persistence settings for the chart under this key. |
164+
| postgresql | object | See [values.yaml](./values.yaml) | Enable and configure postgresql database subchart under this key. For more options see [postgresql chart documentation](https://github.com/bitnami/charts/tree/main/bitnami/postgresql) |
165+
| service.main | object | See [values.yaml](./values.yaml) | Configures service settings for the chart. |
166+
| serviceMonitor.main.enabled | bool | `false` | Enables or disables the serviceMonitor. |
167+
| serviceMonitor.main.endpoints | list | See [values.yaml](./values.yaml) | Configures the endpoints for the serviceMonitor. |
166168

167169
---
168170
Autogenerated from chart metadata using [helm-docs](https://github.com/norwoodj/helm-docs)

charts/headscale/templates/common.yaml

Lines changed: 21 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -67,18 +67,35 @@ env:
6767
{{- end }}
6868
{{- end }}
6969

70-
{{- with .Values.configMaps.acl }}
71-
{{- if .enabled }}
72-
HEADSCALE_POLICY_PATH: /acl/{{ keys .data | first }}
70+
{{- if .Values.configMaps.acl.enabled }}
71+
HEADSCALE_POLICY_PATH: /acl/{{ keys .Values.configMaps.acl.data | first }}
72+
{{- end }}
73+
74+
{{- if .Values.configMaps.dns.enabled }}
75+
HEADSCALE_DNS_EXTRA_RECORDS_PATH: /dns/{{ keys .Values.configMaps.dns.data | first }}
76+
{{- end }}
7377

78+
{{- if or .Values.configMaps.acl.enabled .Values.configMaps.dns.enabled }}
7479
persistence:
80+
{{- with .Values.configMaps.acl }}
81+
{{- if .enabled }}
7582
acl:
7683
enabled: true
7784
type: configMap
7885
name: {{ include "bjw-s.common.lib.chart.names.fullname" $ }}-acl
86+
{{- end }}
87+
{{- end }}
7988

89+
{{- with .Values.configMaps.dns }}
90+
{{- if .enabled }}
91+
dns:
92+
enabled: true
93+
type: configMap
94+
name: {{ include "bjw-s.common.lib.chart.names.fullname" $ }}-dns
95+
{{- end }}
96+
{{- end }}
8097
{{- end }}
81-
{{- end }}
98+
8299
{{- end -}}
83100
{{- $_ := merge .Values (include "headscale.harcodedValues" . | fromYaml) -}}
84101

charts/headscale/values.yaml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ image:
1111
# -- image pull policy
1212
pullPolicy: IfNotPresent
1313
# -- image tag
14-
tag: v0.23.0
14+
tag: v0.24.1
1515

1616
# -- Container args
1717
args: ["serve"]
@@ -77,6 +77,11 @@ configMaps:
7777
data:
7878
# -- ACL policy JSON [[ref]](https://tailscale.com/kb/1018/acls/)
7979
policy:
80+
dns:
81+
enabled: false
82+
data:
83+
# -- DNS extra records JSON [[ref]](https://headscale.net/development/ref/dns/#__tabbed_1_2)
84+
records:
8085

8186
persistence:
8287
# -- Configure persistence settings for the chart under this key.

0 commit comments

Comments
 (0)