mirror of
https://github.com/morten-olsen/homelab-operator.git
synced 2026-02-08 01:36:28 +01:00
71 lines
1.9 KiB
YAML
71 lines
1.9 KiB
YAML
apiVersion: v1
|
|
kind: ConfigMap
|
|
metadata:
|
|
name: '{{ .Release.Name }}-config-template'
|
|
data:
|
|
config.yaml.template: |
|
|
server_url: ${PUBLIC_URL}
|
|
listen_addr: 0.0.0.0:8080
|
|
metrics_listen_addr: 0.0.0.0:9090
|
|
grpc_listen_addr: 0.0.0.0:50443
|
|
|
|
private_key_path: /var/lib/headscale/private_key # Path inside the container
|
|
|
|
noise:
|
|
private_key_path: /var/lib/headscale/noise_private_key # Path inside the container
|
|
|
|
listen_routes: false
|
|
base_domain: "${PUBLIC_URL}" # For client routes and DNS push.
|
|
|
|
derp:
|
|
server:
|
|
enabled: false
|
|
region_id: 999
|
|
region_code: "headscale"
|
|
region_name: "Headscale Embedded DERP"
|
|
stun_listen_addr: "0.0.0.0:3478"
|
|
automatically_add_embedded_derp_region: true
|
|
urls:
|
|
- https://controlplane.tailscale.com/derpmap/default
|
|
auto_update_enabled: true
|
|
update_frequency: 24h
|
|
|
|
oidc:
|
|
enabled: true
|
|
only_start_if_oidc_is_available: true
|
|
issuer: "${OIDC_ISSUER_URL}"
|
|
client_id: "${OIDC_CLIENT_ID}"
|
|
client_secret: "${OIDC_CLIENT_SECRET}"
|
|
scopes: ["openid", "profile", "email"]
|
|
redirect_url: "${PUBLIC_URL}/oidc/callback"
|
|
pkce:
|
|
enabled: true
|
|
method: S256
|
|
|
|
|
|
# DNS configuration
|
|
dns:
|
|
magic_dns: false
|
|
override_local_dns: true # Push Headscale's DNS settings to clients
|
|
ttl: 60
|
|
nameservers:
|
|
global:
|
|
- 1.1.1.1 # Cloudflare DNS
|
|
#- 10.43.0.10 # Replace with your ClusterIP for kube-dns/CoreDNS
|
|
# Domains to search for (e.g., for Kubernetes services)
|
|
search_domains:
|
|
- svc.cluster.local
|
|
- cluster.local
|
|
|
|
auto_create_users: true
|
|
|
|
oidc_user_property: preferred_username # Or 'email' or 'sub'
|
|
|
|
prefixes:
|
|
v4: 10.20.20.0/24 # Example: A /24 subnet for your VPN clients
|
|
|
|
database:
|
|
type: sqlite
|
|
sqlite:
|
|
path: /var/lib/headscale/db.sqlite
|