Skip to content

Commit dff324c

Browse files
committed
add limactl debug dns
Signed-off-by: Akihiro Suda <[email protected]>
1 parent 3775769 commit dff324c

File tree

2 files changed

+53
-0
lines changed

2 files changed

+53
-0
lines changed

cmd/limactl/debug.go

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
package main
2+
3+
import (
4+
"strconv"
5+
6+
"github.com/lima-vm/lima/pkg/hostagent/dns"
7+
"github.com/sirupsen/logrus"
8+
"github.com/spf13/cobra"
9+
)
10+
11+
func newDebugCommand() *cobra.Command {
12+
cmd := &cobra.Command{
13+
Use: "debug",
14+
Short: "Debug utilities",
15+
Long: "DO NOT USE! THE COMMAND SYNTAX IS SUBJECT TO CHANGE!",
16+
Hidden: true,
17+
}
18+
cmd.AddCommand(newDebugDNSCommand())
19+
return cmd
20+
}
21+
22+
func newDebugDNSCommand() *cobra.Command {
23+
var cmd = &cobra.Command{
24+
Use: "dns UDPPORT [TCPPORT]",
25+
Short: "Debug built-in DNS",
26+
Long: "DO NOT USE! THE COMMAND SYNTAX IS SUBJECT TO CHANGE!",
27+
Args: cobra.RangeArgs(1, 2),
28+
RunE: debugDNSAction,
29+
}
30+
return cmd
31+
}
32+
33+
func debugDNSAction(cmd *cobra.Command, args []string) error {
34+
udpLocalPort, err := strconv.Atoi(args[0])
35+
if err != nil {
36+
return err
37+
}
38+
tcpLocalPort := 0
39+
if len(args) > 2 {
40+
tcpLocalPort, err = strconv.Atoi(args[1])
41+
if err != nil {
42+
return err
43+
}
44+
}
45+
srv, err := dns.Start(udpLocalPort, tcpLocalPort)
46+
if err != nil {
47+
return err
48+
}
49+
logrus.Infof("Started srv %+v (UDP %d, TCP %d)", srv, udpLocalPort, tcpLocalPort)
50+
for {
51+
}
52+
}

cmd/limactl/main.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,7 @@ func newApp() *cobra.Command {
8181
newHostagentCommand(),
8282
newInfoCommand(),
8383
newShowSSHCommand(),
84+
newDebugCommand(),
8485
)
8586
return rootCmd
8687
}

0 commit comments

Comments
 (0)