Compare commits
7
Commits
expiry
...
node-expiry
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3b3085a44d | ||
|
|
c80a135a99 | ||
|
|
beb68cb6c4 | ||
|
|
53e74e9228 | ||
|
|
b9118894ea | ||
|
|
0c7c64cd7e | ||
|
|
3897d3d6a9 |
@@ -1,3 +1,3 @@
|
|||||||
# Set any config versions here
|
# Set any config versions here
|
||||||
# Docs: https://docs.coopcloud.tech/maintainers/handbook/#manage-configs
|
# Docs: https://docs.coopcloud.tech/maintainers/handbook/#manage-configs
|
||||||
export CONFIG_YAML_VERSION=v5
|
export CONFIG_YAML_VERSION=v7
|
||||||
|
|||||||
+2
-2
@@ -1,7 +1,7 @@
|
|||||||
---
|
---
|
||||||
services:
|
services:
|
||||||
app:
|
app:
|
||||||
image: headscale/headscale:v0.28
|
image: headscale/headscale:v0.29
|
||||||
networks:
|
networks:
|
||||||
- proxy
|
- proxy
|
||||||
command: serve
|
command: serve
|
||||||
@@ -22,7 +22,7 @@ services:
|
|||||||
- "traefik.http.routers.${STACK_NAME}.rule=Host(`${DOMAIN}`${EXTRA_DOMAINS})"
|
- "traefik.http.routers.${STACK_NAME}.rule=Host(`${DOMAIN}`${EXTRA_DOMAINS})"
|
||||||
- "traefik.http.routers.${STACK_NAME}.entrypoints=web-secure"
|
- "traefik.http.routers.${STACK_NAME}.entrypoints=web-secure"
|
||||||
- "traefik.http.routers.${STACK_NAME}.tls.certresolver=${LETS_ENCRYPT_ENV}"
|
- "traefik.http.routers.${STACK_NAME}.tls.certresolver=${LETS_ENCRYPT_ENV}"
|
||||||
- "coop-cloud.${STACK_NAME}.version=0.3.0+v0.28"
|
- "coop-cloud.${STACK_NAME}.version=0.4.1+v0.29"
|
||||||
# Enable backups: https://docs.coopcloud.tech/maintainers/handbook/#how-do-i-configure-backuprestore
|
# Enable backups: https://docs.coopcloud.tech/maintainers/handbook/#how-do-i-configure-backuprestore
|
||||||
- "backupbot.backup=${ENABLE_BACKUPS:-true}"
|
- "backupbot.backup=${ENABLE_BACKUPS:-true}"
|
||||||
- "backupbot.backup.path=/var/lib/headscale"
|
- "backupbot.backup.path=/var/lib/headscale"
|
||||||
|
|||||||
+40
-13
@@ -134,8 +134,45 @@ derp:
|
|||||||
# Disables the automatic check for headscale updates on startup
|
# Disables the automatic check for headscale updates on startup
|
||||||
disable_check_updates: false
|
disable_check_updates: false
|
||||||
|
|
||||||
# Time before an inactive ephemeral node is deleted?
|
# Node lifecycle configuration.
|
||||||
ephemeral_node_inactivity_timeout: 30m
|
node:
|
||||||
|
# Default key expiry for non-tagged nodes, regardless of registration method
|
||||||
|
# (auth key, CLI, web auth). Tagged nodes are exempt and never expire.
|
||||||
|
#
|
||||||
|
# This is the base default. OIDC can override this via oidc.expiry.
|
||||||
|
# If a client explicitly requests a specific expiry, the client value is used.
|
||||||
|
#
|
||||||
|
# Setting the value to "0" means no default expiry (nodes never expire unless
|
||||||
|
# explicitly expired via `headscale nodes expire`).
|
||||||
|
#
|
||||||
|
# Tailscale SaaS uses 180d; set to a positive duration to match that behaviour.
|
||||||
|
#
|
||||||
|
# Default: 0 (no default expiry)
|
||||||
|
expiry: {{ env "EXPIRY" }}
|
||||||
|
|
||||||
|
ephemeral:
|
||||||
|
# Time before an inactive ephemeral node is deleted.
|
||||||
|
inactivity_timeout: 30m
|
||||||
|
|
||||||
|
# HA subnet router health probing.
|
||||||
|
#
|
||||||
|
# When HA routes exist (2+ nodes advertising the same prefix), headscale
|
||||||
|
# pings each HA node every probe_interval via the Noise channel. If a node
|
||||||
|
# fails to respond within probe_timeout it is marked unhealthy and the
|
||||||
|
# primary role moves to the next healthy node. A node that later responds
|
||||||
|
# is marked healthy again but does NOT reclaim primary (avoids flapping).
|
||||||
|
#
|
||||||
|
# Worst-case detection time is probe_interval + probe_timeout (15s default).
|
||||||
|
# No-op when no HA routes exist. Set probe_interval to 0 to disable.
|
||||||
|
routes:
|
||||||
|
ha:
|
||||||
|
# How often to ping HA subnet routers. Set to 0 to disable probing.
|
||||||
|
# Must be >= 2s when enabled.
|
||||||
|
probe_interval: 10s
|
||||||
|
|
||||||
|
# How long to wait for a ping response before marking a node unhealthy.
|
||||||
|
# Must be >= 1s and less than probe_interval.
|
||||||
|
probe_timeout: 5s
|
||||||
|
|
||||||
database:
|
database:
|
||||||
# Database type. Available options: sqlite, postgres
|
# Database type. Available options: sqlite, postgres
|
||||||
@@ -345,15 +382,10 @@ oidc:
|
|||||||
# `LoadCredential` straightforward:
|
# `LoadCredential` straightforward:
|
||||||
client_secret_path: "/run/secrets/oidc_client_key"
|
client_secret_path: "/run/secrets/oidc_client_key"
|
||||||
|
|
||||||
# The amount of time a node is authenticated with OpenID until it expires
|
|
||||||
# and needs to reauthenticate.
|
|
||||||
# Setting the value to "0" will mean no expiry.
|
|
||||||
expiry: {{ env "EXPIRY" }}
|
|
||||||
|
|
||||||
# Use the expiry from the token received from OpenID when the user logged
|
# Use the expiry from the token received from OpenID when the user logged
|
||||||
# in. This will typically lead to frequent need to reauthenticate and should
|
# in. This will typically lead to frequent need to reauthenticate and should
|
||||||
# only be enabled if you know what you are doing.
|
# only be enabled if you know what you are doing.
|
||||||
# Note: enabling this will cause `oidc.expiry` to be ignored.
|
# Note: enabling this will cause `node.expiry` to be ignored for
|
||||||
use_expiry_from_token: false
|
use_expiry_from_token: false
|
||||||
|
|
||||||
# The OIDC scopes to use, defaults to "openid", "profile" and "email".
|
# The OIDC scopes to use, defaults to "openid", "profile" and "email".
|
||||||
@@ -410,11 +442,6 @@ logtail:
|
|||||||
# disabled by default. Enabling this will make your clients send logs to Tailscale Inc.
|
# disabled by default. Enabling this will make your clients send logs to Tailscale Inc.
|
||||||
enabled: false
|
enabled: false
|
||||||
|
|
||||||
# Enabling this option makes devices prefer a random port for WireGuard traffic over the
|
|
||||||
# default static port 41641. This option is intended as a workaround for some buggy
|
|
||||||
# firewall devices. See https://tailscale.com/kb/1181/firewalls/ for more information.
|
|
||||||
randomize_client_port: false
|
|
||||||
|
|
||||||
# Taildrop configuration
|
# Taildrop configuration
|
||||||
# Taildrop is the file sharing feature of Tailscale, allowing nodes to send files to each other.
|
# Taildrop is the file sharing feature of Tailscale, allowing nodes to send files to each other.
|
||||||
# https://tailscale.com/kb/1106/taildrop/
|
# https://tailscale.com/kb/1106/taildrop/
|
||||||
|
|||||||
@@ -0,0 +1 @@
|
|||||||
|
added EXPIRY env (non-breaking)
|
||||||
Reference in New Issue
Block a user