mirror of
				https://github.com/juanfont/headscale.git
				synced 2025-10-31 16:11:03 +01:00 
			
		
		
		
	Ditch stupid distroless image for debug/test
Signed-off-by: Kristoffer Dalby <kristoffer@tailscale.com>
This commit is contained in:
		
							parent
							
								
									8a07381e3a
								
							
						
					
					
						commit
						dfc03a6124
					
				| @ -13,7 +13,7 @@ RUN CGO_ENABLED=0 GOOS=linux go install -ldflags="-s -w -X github.com/juanfont/h | |||||||
| RUN test -e /go/bin/headscale | RUN test -e /go/bin/headscale | ||||||
| 
 | 
 | ||||||
| # Debug image | # Debug image | ||||||
| FROM gcr.io/distroless/base-debian11:debug | FROM docker.io/golang:1.19.0-bullseye | ||||||
| 
 | 
 | ||||||
| COPY --from=build /go/bin/headscale /bin/headscale | COPY --from=build /go/bin/headscale /bin/headscale | ||||||
| ENV TZ UTC | ENV TZ UTC | ||||||
|  | |||||||
							
								
								
									
										122
									
								
								integration/hsic/config.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										122
									
								
								integration/hsic/config.go
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,122 @@ | |||||||
|  | package hsic | ||||||
|  | 
 | ||||||
|  | import ( | ||||||
|  | 	"net/netip" | ||||||
|  | 	"net/url" | ||||||
|  | 	"os" | ||||||
|  | 	"path" | ||||||
|  | 	"time" | ||||||
|  | 
 | ||||||
|  | 	"github.com/juanfont/headscale" | ||||||
|  | 	"github.com/rs/zerolog" | ||||||
|  | 	"tailscale.com/tailcfg" | ||||||
|  | 	"tailscale.com/types/dnstype" | ||||||
|  | ) | ||||||
|  | 
 | ||||||
|  | const ( | ||||||
|  | 	defaultEphemeralNodeInactivityTimeout = time.Second * 30 | ||||||
|  | 	defaultNodeUpdateCheckInterval        = time.Second * 10 | ||||||
|  | ) | ||||||
|  | 
 | ||||||
|  | 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. | ||||||
|  | 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 TempConfigPath(name string, config string) (string, error) { | ||||||
|  | 	tempDir, err := os.CreateTemp("", name) | ||||||
|  | 	if err != nil { | ||||||
|  | 		return "", err | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	err = os.WriteFile(path.Join(tempDir.Name(), "config.yaml"), []byte(config), 0644) | ||||||
|  | 	if err != nil { | ||||||
|  | 		return "", err | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	return tempDir.Name(), nil | ||||||
|  | } | ||||||
| @ -42,7 +42,7 @@ func New( | |||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	headscaleBuildOptions := &dockertest.BuildOptions{ | 	headscaleBuildOptions := &dockertest.BuildOptions{ | ||||||
| 		Dockerfile: "Dockerfile", | 		Dockerfile: "Dockerfile.debug", | ||||||
| 		ContextDir: dockerContextPath, | 		ContextDir: dockerContextPath, | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user