Add Headscale pilot stack for PD
This commit is contained in:
26
headscale/config/headplane/config.yaml
Normal file
26
headscale/config/headplane/config.yaml
Normal file
@@ -0,0 +1,26 @@
|
||||
server:
|
||||
host: "0.0.0.0"
|
||||
port: 3000
|
||||
base_url: "http://headplane.home.paccoco.com:3005"
|
||||
cookie_secret: "CHANGE_ME_TO_EXACTLY_32_CHARS"
|
||||
cookie_secure: false
|
||||
cookie_max_age: 86400
|
||||
data_path: "/var/lib/headplane"
|
||||
|
||||
headscale:
|
||||
url: "http://headscale:8080"
|
||||
public_url: "http://headscale.home.paccoco.com:8084"
|
||||
config_path: "/etc/headscale/config.yaml"
|
||||
config_strict: true
|
||||
|
||||
integration:
|
||||
agent:
|
||||
enabled: false
|
||||
docker:
|
||||
enabled: true
|
||||
container_label: "me.tale.headplane.target=headscale"
|
||||
socket: "unix:///var/run/docker.sock"
|
||||
kubernetes:
|
||||
enabled: false
|
||||
proc:
|
||||
enabled: false
|
||||
99
headscale/config/headscale/config.yaml
Normal file
99
headscale/config/headscale/config.yaml
Normal file
@@ -0,0 +1,99 @@
|
||||
server_url: http://headscale.home.paccoco.com:8084
|
||||
listen_addr: 0.0.0.0:8080
|
||||
metrics_listen_addr: 127.0.0.1:9090
|
||||
grpc_listen_addr: 0.0.0.0:50443
|
||||
grpc_allow_insecure: false
|
||||
trusted_proxies: []
|
||||
|
||||
noise:
|
||||
private_key_path: /var/lib/headscale/noise_private.key
|
||||
|
||||
prefixes:
|
||||
v4: 100.64.0.0/10
|
||||
v6: fd7a:115c:a1e0::/48
|
||||
allocation: sequential
|
||||
|
||||
derp:
|
||||
server:
|
||||
enabled: false
|
||||
region_id: 999
|
||||
region_code: "headscale"
|
||||
region_name: "Headscale Embedded DERP"
|
||||
verify_clients: true
|
||||
stun_listen_addr: "0.0.0.0:3478"
|
||||
private_key_path: /var/lib/headscale/derp_server_private.key
|
||||
automatically_add_embedded_derp_region: true
|
||||
ipv4: 198.51.100.1
|
||||
ipv6: 2001:db8::1
|
||||
urls:
|
||||
- https://controlplane.tailscale.com/derpmap/default
|
||||
paths: []
|
||||
auto_update_enabled: true
|
||||
update_frequency: 3h
|
||||
|
||||
disable_check_updates: false
|
||||
|
||||
node:
|
||||
expiry: 0
|
||||
ephemeral:
|
||||
inactivity_timeout: 30m
|
||||
routes:
|
||||
ha:
|
||||
probe_interval: 10s
|
||||
probe_timeout: 5s
|
||||
|
||||
database:
|
||||
type: sqlite
|
||||
debug: false
|
||||
gorm:
|
||||
prepare_stmt: true
|
||||
parameterized_queries: true
|
||||
skip_err_record_not_found: true
|
||||
slow_threshold: 1000
|
||||
sqlite:
|
||||
path: /var/lib/headscale/db.sqlite
|
||||
write_ahead_log: true
|
||||
wal_autocheckpoint: 1000
|
||||
|
||||
acme_url: https://acme-v02.api.letsencrypt.org/directory
|
||||
acme_email: ""
|
||||
tls_letsencrypt_hostname: ""
|
||||
tls_letsencrypt_cache_dir: /var/lib/headscale/cache
|
||||
tls_letsencrypt_challenge_type: HTTP-01
|
||||
tls_letsencrypt_listen: ":http"
|
||||
|
||||
tls_cert_path: ""
|
||||
tls_key_path: ""
|
||||
|
||||
log:
|
||||
level: info
|
||||
format: text
|
||||
|
||||
policy:
|
||||
mode: file
|
||||
path: /etc/headscale/policy.hujson
|
||||
|
||||
dns:
|
||||
magic_dns: true
|
||||
base_domain: tail.home.paccoco.com
|
||||
override_local_dns: true
|
||||
nameservers:
|
||||
global:
|
||||
- 10.5.30.8
|
||||
- 10.5.30.9
|
||||
- 10.5.30.10
|
||||
split: {}
|
||||
search_domains: []
|
||||
extra_records: []
|
||||
|
||||
unix_socket: /var/run/headscale/headscale.sock
|
||||
unix_socket_permission: "0770"
|
||||
|
||||
logtail:
|
||||
enabled: false
|
||||
|
||||
taildrop:
|
||||
enabled: true
|
||||
|
||||
auto_update:
|
||||
enabled: false
|
||||
51
headscale/config/headscale/policy.hujson
Normal file
51
headscale/config/headscale/policy.hujson
Normal file
@@ -0,0 +1,51 @@
|
||||
{
|
||||
// Small deny-by-default-ish pilot policy for the household tailnet.
|
||||
// Expand only after John + Manndra + one tagged service node validate cleanly.
|
||||
|
||||
"groups": {
|
||||
"group:admins": ["fizzlepoof@"],
|
||||
"group:vip": ["manndra@"]
|
||||
},
|
||||
|
||||
"tagOwners": {
|
||||
"tag:infra": ["group:admins"],
|
||||
"tag:apps": ["group:admins"],
|
||||
"tag:admin": ["group:admins"]
|
||||
},
|
||||
|
||||
"acls": [
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["group:admins"],
|
||||
"dst": [
|
||||
"tag:infra:*",
|
||||
"tag:apps:*",
|
||||
"tag:admin:*",
|
||||
"autogroup:self:*"
|
||||
]
|
||||
},
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["group:vip"],
|
||||
"dst": [
|
||||
"tag:apps:*",
|
||||
"autogroup:self:*"
|
||||
]
|
||||
}
|
||||
],
|
||||
|
||||
"ssh": [
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["group:admins"],
|
||||
"dst": ["tag:infra"],
|
||||
"users": ["autogroup:nonroot"]
|
||||
},
|
||||
{
|
||||
"action": "accept",
|
||||
"src": ["group:admins"],
|
||||
"dst": ["tag:admin"],
|
||||
"users": ["autogroup:nonroot"]
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user