mirror of
				https://github.com/juanfont/headscale.git
				synced 2025-10-28 10:51:44 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			41 lines
		
	
	
		
			970 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			41 lines
		
	
	
		
			970 B
		
	
	
	
		
			Go
		
	
	
	
	
	
| package dockertestutil
 | |
| 
 | |
| import (
 | |
| 	"os"
 | |
| 
 | |
| 	"github.com/ory/dockertest/v3/docker"
 | |
| )
 | |
| 
 | |
| func IsRunningInContainer() bool {
 | |
| 	if _, err := os.Stat("/.dockerenv"); err != nil {
 | |
| 		return false
 | |
| 	}
 | |
| 
 | |
| 	return true
 | |
| }
 | |
| 
 | |
| func DockerRestartPolicy(config *docker.HostConfig) {
 | |
| 	// set AutoRemove to true so that stopped container goes away by itself on error *immediately*.
 | |
| 	// when set to false, containers remain until the end of the integration test.
 | |
| 	config.AutoRemove = false
 | |
| 	config.RestartPolicy = docker.RestartPolicy{
 | |
| 		Name: "no",
 | |
| 	}
 | |
| }
 | |
| 
 | |
| func DockerAllowLocalIPv6(config *docker.HostConfig) {
 | |
| 	if config.Sysctls == nil {
 | |
| 		config.Sysctls = make(map[string]string, 1)
 | |
| 	}
 | |
| 	config.Sysctls["net.ipv6.conf.all.disable_ipv6"] = "0"
 | |
| }
 | |
| 
 | |
| func DockerAllowNetworkAdministration(config *docker.HostConfig) {
 | |
| 	config.CapAdd = append(config.CapAdd, "NET_ADMIN")
 | |
| 	config.Mounts = append(config.Mounts, docker.HostMount{
 | |
| 		Type:   "bind",
 | |
| 		Source: "/dev/net/tun",
 | |
| 		Target: "/dev/net/tun",
 | |
| 	})
 | |
| }
 |