File tree Expand file tree Collapse file tree 1 file changed +9
-14
lines changed
Expand file tree Collapse file tree 1 file changed +9
-14
lines changed Original file line number Diff line number Diff line change 11package headscale
22
33import (
4- "fmt "
4+ "errors "
55 "log"
66
77 "tailscale.com/wgengine/wgcfg"
88)
99
1010// RegisterMachine is executed from the CLI to register a new Machine using its MachineKey
11- func (h * Headscale ) RegisterMachine (key string , namespace string ) error {
11+ func (h * Headscale ) RegisterMachine (key string , namespace string ) ( * Machine , error ) {
1212 ns , err := h .GetNamespace (namespace )
1313 if err != nil {
14- return err
14+ return nil , err
1515 }
1616 mKey , err := wgcfg .ParseHexKey (key )
1717 if err != nil {
18- log .Printf ("Cannot parse client key: %s" , err )
19- return err
18+ return nil , err
2019 }
2120 db , err := h .db ()
2221 if err != nil {
2322 log .Printf ("Cannot open DB: %s" , err )
24- return err
23+ return nil , err
2524 }
2625 defer db .Close ()
2726 m := Machine {}
2827 if db .First (& m , "machine_key = ?" , mKey .HexString ()).RecordNotFound () {
29- log .Printf ("Cannot find machine with machine key: %s" , mKey .Base64 ())
30- return err
28+ return nil , errors .New ("Machine not found" )
3129 }
3230
3331 if m .isAlreadyRegistered () {
34- fmt .Println ("This machine already registered" )
35- return nil
32+ return nil , errors .New ("Machine already registered" )
3633 }
3734
3835 ip , err := h .getAvailableIP ()
3936 if err != nil {
40- log .Println (err )
41- return err
37+ return nil , err
4238 }
4339 m .IPAddress = ip .String ()
4440 m .NamespaceID = ns .ID
4541 m .Registered = true
4642 m .RegisterMethod = "cli"
4743 db .Save (& m )
48- fmt .Println ("Machine registered 🎉" )
49- return nil
44+ return & m , nil
5045}
You can’t perform that action at this time.
0 commit comments