mirror of
				https://github.com/juanfont/headscale.git
				synced 2025-10-28 10:51:44 +01:00 
			
		
		
		
	
						commit
						e7a626d3cc
					
				
							
								
								
									
										4
									
								
								.github/workflows/ci.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								.github/workflows/ci.yml
									
									
									
									
										vendored
									
									
								
							| @ -18,6 +18,8 @@ jobs: | ||||
|     # below, but it's still much faster in the end than installing | ||||
|     # golangci-lint manually in the `Run lint` step. | ||||
|     - uses: golangci/golangci-lint-action@v2 | ||||
|       with: | ||||
|         args: --timeout 2m | ||||
|      | ||||
|     # Setup Go | ||||
|     - name: Setup Go | ||||
| @ -29,7 +31,7 @@ jobs: | ||||
|     - name: Install dependencies | ||||
|       run: | | ||||
|         go version | ||||
|         go get -u golang.org/x/lint/golint | ||||
|         go install golang.org/x/lint/golint@latest | ||||
|         sudo apt update | ||||
|         sudo apt install -y make | ||||
|          | ||||
|  | ||||
							
								
								
									
										2
									
								
								api.go
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								api.go
									
									
									
									
									
								
							| @ -40,7 +40,7 @@ func (h *Headscale) RegisterWebAPI(c *gin.Context) { | ||||
| 	<body> | ||||
| 	<h1>headscale</h1> | ||||
| 	<p> | ||||
| 		Run the command below in the headscale server to add this machine to your network: | ||||
| 		Run the command below on the headscale server to add this machine to your network: | ||||
| 	</p> | ||||
| 
 | ||||
| 	<p> | ||||
|  | ||||
							
								
								
									
										1
									
								
								go.sum
									
									
									
									
									
								
							
							
						
						
									
										1
									
								
								go.sum
									
									
									
									
									
								
							| @ -296,7 +296,6 @@ github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaO | ||||
| github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= | ||||
| github.com/mattn/go-isatty v0.0.12 h1:wuysRhFDzyxgEmMf5xjvJ2M9dZoWAXNNr5LSBS7uHXY= | ||||
| github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= | ||||
| github.com/mattn/go-sqlite3 v1.14.0 h1:mLyGNKR8+Vv9CAU7PphKa2hkEqxxhn8i32J6FPj1/QA= | ||||
| github.com/mattn/go-sqlite3 v1.14.0/go.mod h1:JIl7NbARA7phWnGvh0LKTyg7S9BA+6gx71ShQilpsus= | ||||
| github.com/mattn/go-sqlite3 v1.14.7 h1:fxWBnXkxfM6sRiuH3bqJ4CfzZojMOLVc0UTsTglEghA= | ||||
| github.com/mattn/go-sqlite3 v1.14.7/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU= | ||||
|  | ||||
							
								
								
									
										44
									
								
								machine_test.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										44
									
								
								machine_test.go
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,44 @@ | ||||
| package headscale | ||||
| 
 | ||||
| import ( | ||||
| 	"gopkg.in/check.v1" | ||||
| ) | ||||
| 
 | ||||
| var _ = check.Suite(&Suite{}) | ||||
| 
 | ||||
| func (s *Suite) TestGetMachine(c *check.C) { | ||||
| 	n, err := h.CreateNamespace("test") | ||||
| 	c.Assert(err, check.IsNil) | ||||
| 
 | ||||
| 	pak, err := h.CreatePreAuthKey(n.Name, false, nil) | ||||
| 	c.Assert(err, check.IsNil) | ||||
| 
 | ||||
| 	db, err := h.db() | ||||
| 	if err != nil { | ||||
| 		c.Fatal(err) | ||||
| 	} | ||||
| 	defer db.Close() | ||||
| 
 | ||||
| 	_, err = h.GetMachine("test", "testmachine") | ||||
| 	c.Assert(err, check.NotNil) | ||||
| 
 | ||||
| 	m := Machine{ | ||||
| 		ID:             0, | ||||
| 		MachineKey:     "foo", | ||||
| 		NodeKey:        "bar", | ||||
| 		DiscoKey:       "faa", | ||||
| 		Name:           "testmachine", | ||||
| 		NamespaceID:    n.ID, | ||||
| 		Registered:     true, | ||||
| 		RegisterMethod: "authKey", | ||||
| 		AuthKeyID:      uint(pak.ID), | ||||
| 	} | ||||
| 	db.Save(&m) | ||||
| 
 | ||||
| 	m1, err := h.GetMachine("test", "testmachine") | ||||
| 	c.Assert(err, check.IsNil) | ||||
| 
 | ||||
| 	_, err = m1.GetHostInfo() | ||||
| 	c.Assert(err, check.IsNil) | ||||
| 
 | ||||
| } | ||||
| @ -1,8 +1,6 @@ | ||||
| package headscale | ||||
| 
 | ||||
| import ( | ||||
| 	//_ "github.com/jinzhu/gorm/dialects/sqlite" // sql driver
 | ||||
| 
 | ||||
| 	"gopkg.in/check.v1" | ||||
| ) | ||||
| 
 | ||||
|  | ||||
							
								
								
									
										63
									
								
								routes_test.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										63
									
								
								routes_test.go
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,63 @@ | ||||
| package headscale | ||||
| 
 | ||||
| import ( | ||||
| 	"encoding/json" | ||||
| 
 | ||||
| 	"github.com/jinzhu/gorm/dialects/postgres" | ||||
| 	"gopkg.in/check.v1" | ||||
| 	"inet.af/netaddr" | ||||
| 	"tailscale.com/tailcfg" | ||||
| ) | ||||
| 
 | ||||
| var _ = check.Suite(&Suite{}) | ||||
| 
 | ||||
| func (s *Suite) TestGetRoutes(c *check.C) { | ||||
| 	n, err := h.CreateNamespace("test") | ||||
| 	c.Assert(err, check.IsNil) | ||||
| 
 | ||||
| 	pak, err := h.CreatePreAuthKey(n.Name, false, nil) | ||||
| 	c.Assert(err, check.IsNil) | ||||
| 
 | ||||
| 	db, err := h.db() | ||||
| 	if err != nil { | ||||
| 		c.Fatal(err) | ||||
| 	} | ||||
| 	defer db.Close() | ||||
| 
 | ||||
| 	_, err = h.GetMachine("test", "testmachine") | ||||
| 	c.Assert(err, check.NotNil) | ||||
| 
 | ||||
| 	route, err := netaddr.ParseIPPrefix("10.0.0.0/24") | ||||
| 	c.Assert(err, check.IsNil) | ||||
| 
 | ||||
| 	hi := tailcfg.Hostinfo{ | ||||
| 		RoutableIPs: []netaddr.IPPrefix{route}, | ||||
| 	} | ||||
| 	hostinfo, err := json.Marshal(hi) | ||||
| 	c.Assert(err, check.IsNil) | ||||
| 
 | ||||
| 	m := Machine{ | ||||
| 		ID:             0, | ||||
| 		MachineKey:     "foo", | ||||
| 		NodeKey:        "bar", | ||||
| 		DiscoKey:       "faa", | ||||
| 		Name:           "testmachine", | ||||
| 		NamespaceID:    n.ID, | ||||
| 		Registered:     true, | ||||
| 		RegisterMethod: "authKey", | ||||
| 		AuthKeyID:      uint(pak.ID), | ||||
| 		HostInfo:       postgres.Jsonb{RawMessage: json.RawMessage(hostinfo)}, | ||||
| 	} | ||||
| 	db.Save(&m) | ||||
| 
 | ||||
| 	r, err := h.GetNodeRoutes("test", "testmachine") | ||||
| 	c.Assert(err, check.IsNil) | ||||
| 	c.Assert(len(*r), check.Equals, 1) | ||||
| 
 | ||||
| 	_, err = h.EnableNodeRoute("test", "testmachine", "192.168.0.0/24") | ||||
| 	c.Assert(err, check.NotNil) | ||||
| 
 | ||||
| 	_, err = h.EnableNodeRoute("test", "testmachine", "10.0.0.0/24") | ||||
| 	c.Assert(err, check.IsNil) | ||||
| 
 | ||||
| } | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user