mirror of
				https://github.com/juanfont/headscale.git
				synced 2025-10-28 10:51:44 +01:00 
			
		
		
		
	add env var to specify config location
This commit is contained in:
		
							parent
							
								
									84a5edf345
								
							
						
					
					
						commit
						81f91f03b4
					
				| @ -25,6 +25,9 @@ func init() { | ||||
| } | ||||
| 
 | ||||
| func initConfig() { | ||||
| 	if cfgFile == "" { | ||||
| 		cfgFile = os.Getenv("HEADSCALE_CONFIG") | ||||
| 	} | ||||
| 	if cfgFile != "" { | ||||
| 		err := headscale.LoadConfig(cfgFile, true) | ||||
| 		if err != nil { | ||||
|  | ||||
| @ -1739,6 +1739,8 @@ func (s *IntegrationCLITestSuite) TestLoadConfigFromCommand() { | ||||
| 	assert.Nil(s.T(), err) | ||||
| 	altConfig, err := os.ReadFile("integration_test/etc/alt-config.dump.gold.yaml") | ||||
| 	assert.Nil(s.T(), err) | ||||
| 	altEnvConfig, err := os.ReadFile("integration_test/etc/alt-env-config.dump.gold.yaml") | ||||
| 	assert.Nil(s.T(), err) | ||||
| 
 | ||||
| 	_, err = ExecuteCommand( | ||||
| 		&s.headscale, | ||||
| @ -1771,4 +1773,40 @@ func (s *IntegrationCLITestSuite) TestLoadConfigFromCommand() { | ||||
| 	assert.Nil(s.T(), err) | ||||
| 
 | ||||
| 	assert.YAMLEq(s.T(), string(altConfig), string(altDumpConfig)) | ||||
| 
 | ||||
| 	_, err = ExecuteCommand( | ||||
| 		&s.headscale, | ||||
| 		[]string{ | ||||
| 			"headscale", | ||||
| 			"dumpConfig", | ||||
| 		}, | ||||
| 		[]string{ | ||||
| 			"HEADSCALE_CONFIG=/etc/headscale/alt-env-config.yaml", | ||||
| 		}, | ||||
| 	) | ||||
| 	assert.Nil(s.T(), err) | ||||
| 
 | ||||
| 	altEnvDumpConfig, err := os.ReadFile("integration_test/etc/config.dump.yaml") | ||||
| 	assert.Nil(s.T(), err) | ||||
| 
 | ||||
| 	assert.YAMLEq(s.T(), string(altEnvConfig), string(altEnvDumpConfig)) | ||||
| 
 | ||||
| 	_, err = ExecuteCommand( | ||||
| 		&s.headscale, | ||||
| 		[]string{ | ||||
| 			"headscale", | ||||
| 			"-c", | ||||
| 			"/etc/headscale/alt-config.yaml", | ||||
| 			"dumpConfig", | ||||
| 		}, | ||||
| 		[]string{ | ||||
| 			"HEADSCALE_CONFIG=/etc/headscale/alt-env-config.yaml", | ||||
| 		}, | ||||
| 	) | ||||
| 	assert.Nil(s.T(), err) | ||||
| 
 | ||||
| 	altDumpConfig, err = os.ReadFile("integration_test/etc/config.dump.yaml") | ||||
| 	assert.Nil(s.T(), err) | ||||
| 
 | ||||
| 	assert.YAMLEq(s.T(), string(altConfig), string(altDumpConfig)) | ||||
| } | ||||
|  | ||||
							
								
								
									
										47
									
								
								integration_test/etc/alt-env-config.dump.gold.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										47
									
								
								integration_test/etc/alt-env-config.dump.gold.yaml
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,47 @@ | ||||
| acl_policy_path: "" | ||||
| cli: | ||||
|   insecure: false | ||||
|   timeout: 5s | ||||
| db_path: /tmp/integration_test_db.sqlite3 | ||||
| db_type: sqlite3 | ||||
| derp: | ||||
|   auto_update_enabled: false | ||||
|   server: | ||||
|     enabled: false | ||||
|     stun: | ||||
|       enabled: true | ||||
|   update_frequency: 1m | ||||
|   urls: | ||||
|     - https://controlplane.tailscale.com/derpmap/default | ||||
| dns_config: | ||||
|   base_domain: headscale.net | ||||
|   domains: [] | ||||
|   magic_dns: true | ||||
|   nameservers: | ||||
|     - 1.1.1.1 | ||||
| ephemeral_node_inactivity_timeout: 30m | ||||
| node_update_check_interval: 100s | ||||
| grpc_allow_insecure: false | ||||
| grpc_listen_addr: :50443 | ||||
| ip_prefixes: | ||||
|   - fd7a:115c:a1e0::/48 | ||||
|   - 100.64.0.0/10 | ||||
| listen_addr: 0.0.0.0:18080 | ||||
| log_level: disabled | ||||
| logtail: | ||||
|   enabled: false | ||||
| metrics_listen_addr: 127.0.0.1:19090 | ||||
| oidc: | ||||
|   scope: | ||||
|     - openid | ||||
|     - profile | ||||
|     - email | ||||
|   strip_email_domain: true | ||||
| private_key_path: private.key | ||||
| server_url: http://headscale:18080 | ||||
| tls_client_auth_mode: relaxed | ||||
| tls_letsencrypt_cache_dir: /var/www/.cache | ||||
| tls_letsencrypt_challenge_type: HTTP-01 | ||||
| unix_socket: /var/run/headscale.sock | ||||
| unix_socket_permission: "0o770" | ||||
| randomize_client_port: false | ||||
							
								
								
									
										25
									
								
								integration_test/etc/alt-env-config.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								integration_test/etc/alt-env-config.yaml
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,25 @@ | ||||
| log_level: trace | ||||
| acl_policy_path: "" | ||||
| db_type: sqlite3 | ||||
| ephemeral_node_inactivity_timeout: 30m | ||||
| node_update_check_interval: 100s | ||||
| ip_prefixes: | ||||
|   - fd7a:115c:a1e0::/48 | ||||
|   - 100.64.0.0/10 | ||||
| dns_config: | ||||
|   base_domain: headscale.net | ||||
|   magic_dns: true | ||||
|   domains: [] | ||||
|   nameservers: | ||||
|     - 1.1.1.1 | ||||
| db_path: /tmp/integration_test_db.sqlite3 | ||||
| private_key_path: private.key | ||||
| listen_addr: 0.0.0.0:18080 | ||||
| metrics_listen_addr: 127.0.0.1:19090 | ||||
| server_url: http://headscale:18080 | ||||
| 
 | ||||
| derp: | ||||
|   urls: | ||||
|     - https://controlplane.tailscale.com/derpmap/default | ||||
|   auto_update_enabled: false | ||||
|   update_frequency: 1m | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user