mirror of
https://github.com/juanfont/headscale.git
synced 2024-12-22 07:57:34 +00:00
93aca81c1c
This commit sets the Headscale config from env instead of file for integration tests, the main point is to make sure that when we add per test config, it properly replaces the config key and not append it or something similar. Signed-off-by: Kristoffer Dalby <kristoffer@tailscale.com>
132 lines
4.0 KiB
Go
132 lines
4.0 KiB
Go
package hsic
|
|
|
|
// const (
|
|
// defaultEphemeralNodeInactivityTimeout = time.Second * 30
|
|
// defaultNodeUpdateCheckInterval = time.Second * 10
|
|
// )
|
|
|
|
// TODO(kradalby): This approach doesnt work because we cannot
|
|
// serialise our config object to YAML or JSON.
|
|
// func DefaultConfig() headscale.Config {
|
|
// derpMap, _ := url.Parse("https://controlplane.tailscale.com/derpmap/default")
|
|
//
|
|
// config := headscale.Config{
|
|
// Log: headscale.LogConfig{
|
|
// Level: zerolog.TraceLevel,
|
|
// },
|
|
// ACL: headscale.GetACLConfig(),
|
|
// DBtype: "sqlite3",
|
|
// EphemeralNodeInactivityTimeout: defaultEphemeralNodeInactivityTimeout,
|
|
// NodeUpdateCheckInterval: defaultNodeUpdateCheckInterval,
|
|
// IPPrefixes: []netip.Prefix{
|
|
// netip.MustParsePrefix("fd7a:115c:a1e0::/48"),
|
|
// netip.MustParsePrefix("100.64.0.0/10"),
|
|
// },
|
|
// DNSConfig: &tailcfg.DNSConfig{
|
|
// Proxied: true,
|
|
// Nameservers: []netip.Addr{
|
|
// netip.MustParseAddr("127.0.0.11"),
|
|
// netip.MustParseAddr("1.1.1.1"),
|
|
// },
|
|
// Resolvers: []*dnstype.Resolver{
|
|
// {
|
|
// Addr: "127.0.0.11",
|
|
// },
|
|
// {
|
|
// Addr: "1.1.1.1",
|
|
// },
|
|
// },
|
|
// },
|
|
// BaseDomain: "headscale.net",
|
|
//
|
|
// DBpath: "/tmp/integration_test_db.sqlite3",
|
|
//
|
|
// PrivateKeyPath: "/tmp/integration_private.key",
|
|
// NoisePrivateKeyPath: "/tmp/noise_integration_private.key",
|
|
// Addr: "0.0.0.0:8080",
|
|
// MetricsAddr: "127.0.0.1:9090",
|
|
// ServerURL: "http://headscale:8080",
|
|
//
|
|
// DERP: headscale.DERPConfig{
|
|
// URLs: []url.URL{
|
|
// *derpMap,
|
|
// },
|
|
// AutoUpdate: false,
|
|
// UpdateFrequency: 1 * time.Minute,
|
|
// },
|
|
// }
|
|
//
|
|
// return config
|
|
// }
|
|
|
|
// TODO: Reuse the actual configuration object above.
|
|
// Deprecated: use env function instead as it is easier to
|
|
// override.
|
|
func DefaultConfigYAML() string {
|
|
yaml := `
|
|
log:
|
|
level: trace
|
|
acl_policy_path: ""
|
|
db_type: sqlite3
|
|
db_path: /tmp/integration_test_db.sqlite3
|
|
ephemeral_node_inactivity_timeout: 30m
|
|
node_update_check_interval: 10s
|
|
ip_prefixes:
|
|
- fd7a:115c:a1e0::/48
|
|
- 100.64.0.0/10
|
|
dns_config:
|
|
base_domain: headscale.net
|
|
magic_dns: true
|
|
domains: []
|
|
nameservers:
|
|
- 127.0.0.11
|
|
- 1.1.1.1
|
|
private_key_path: /tmp/private.key
|
|
noise:
|
|
private_key_path: /tmp/noise_private.key
|
|
listen_addr: 0.0.0.0:8080
|
|
metrics_listen_addr: 127.0.0.1:9090
|
|
server_url: http://headscale:8080
|
|
|
|
derp:
|
|
urls:
|
|
- https://controlplane.tailscale.com/derpmap/default
|
|
auto_update_enabled: false
|
|
update_frequency: 1m
|
|
`
|
|
|
|
return yaml
|
|
}
|
|
|
|
func MinimumConfigYAML() string {
|
|
return `
|
|
private_key_path: /tmp/private.key
|
|
noise:
|
|
private_key_path: /tmp/noise_private.key
|
|
`
|
|
}
|
|
|
|
func DefaultConfigEnv() map[string]string {
|
|
return map[string]string{
|
|
"HEADSCALE_LOG_LEVEL": "trace",
|
|
"HEADSCALE_ACL_POLICY_PATH": "",
|
|
"HEADSCALE_DB_TYPE": "sqlite3",
|
|
"HEADSCALE_DB_PATH": "/tmp/integration_test_db.sqlite3",
|
|
"HEADSCALE_EPHEMERAL_NODE_INACTIVITY_TIMEOUT": "30m",
|
|
"HEADSCALE_NODE_UPDATE_CHECK_INTERVAL": "10s",
|
|
"HEADSCALE_IP_PREFIXES": "fd7a:115c:a1e0::/48 100.64.0.0/10",
|
|
"HEADSCALE_DNS_CONFIG_BASE_DOMAIN": "headscale.net",
|
|
"HEADSCALE_DNS_CONFIG_MAGIC_DNS": "true",
|
|
"HEADSCALE_DNS_CONFIG_DOMAINS": "",
|
|
"HEADSCALE_DNS_CONFIG_NAMESERVERS": "127.0.0.11 1.1.1.1",
|
|
"HEADSCALE_PRIVATE_KEY_PATH": "/tmp/private.key",
|
|
"HEADSCALE_NOISE_PRIVATE_KEY_PATH": "/tmp/noise_private.key",
|
|
"HEADSCALE_LISTEN_ADDR": "0.0.0.0:8080",
|
|
"HEADSCALE_METRICS_LISTEN_ADDR": "127.0.0.1:9090",
|
|
"HEADSCALE_SERVER_URL": "http://headscale:8080",
|
|
"HEADSCALE_DERP_URLS": "https://controlplane.tailscale.com/derpmap/default",
|
|
"HEADSCALE_DERP_AUTO_UPDATE_ENABLED": "false",
|
|
"HEADSCALE_DERP_UPDATE_FREQUENCY": "1m",
|
|
}
|
|
}
|