Skip to content

Commit 7cde248

Browse files
committed
tetra: add info command
Signed-off-by: Kornilios Kourtis <[email protected]>
1 parent e8b2f8b commit 7cde248

File tree

2 files changed

+50
-0
lines changed

2 files changed

+50
-0
lines changed

cmd/tetra/commands.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import (
88

99
"github.com/cilium/tetragon/cmd/tetra/explain"
1010
"github.com/cilium/tetragon/cmd/tetra/getevents"
11+
"github.com/cilium/tetragon/cmd/tetra/info"
1112
"github.com/cilium/tetragon/cmd/tetra/rthooks"
1213
"github.com/cilium/tetragon/cmd/tetra/sensors"
1314
"github.com/cilium/tetragon/cmd/tetra/stacktracetree"
@@ -25,6 +26,7 @@ func addBaseCommands(rootCmd *cobra.Command) {
2526
rootCmd.AddCommand(status.New())
2627
rootCmd.AddCommand(rthooks.New())
2728
rootCmd.AddCommand(explain.New())
29+
rootCmd.AddCommand(info.New())
2830

2931
// bugtool technically builds on darwin and windows but makes no sense since
3032
// it's supposed to be run on the machine running Tetragon, using

cmd/tetra/info/info.go

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
// SPDX-License-Identifier: Apache-2.0
2+
// Copyright Authors of Hubble
3+
4+
package info
5+
6+
import (
7+
"context"
8+
"encoding/json"
9+
10+
"github.com/cilium/tetragon/api/v1/tetragon"
11+
"github.com/cilium/tetragon/cmd/tetra/common"
12+
"github.com/cilium/tetragon/pkg/logger"
13+
"github.com/cilium/tetragon/pkg/logger/logfields"
14+
"github.com/cilium/tetragon/pkg/tetragoninfo"
15+
16+
"github.com/spf13/cobra"
17+
)
18+
19+
func New() *cobra.Command {
20+
cmd := &cobra.Command{
21+
Use: "info",
22+
Short: "Retrieve information from the server",
23+
Args: cobra.NoArgs,
24+
Run: func(cmd *cobra.Command, _ []string) {
25+
common.CliRunErr(
26+
func(ctx context.Context, cli tetragon.FineGuidanceSensorsClient) {
27+
res, err := cli.GetInfo(ctx, &tetragon.GetInfoRequest{})
28+
if err != nil {
29+
logger.GetLogger().Error("error retrieving server info", logfields.Error, err)
30+
return
31+
}
32+
33+
info := tetragoninfo.Decode(res)
34+
b, err := json.Marshal(info)
35+
if err != nil {
36+
logger.GetLogger().Error("failed to generate json", logfields.Error, err)
37+
return
38+
}
39+
cmd.Println(string(b))
40+
},
41+
func(err error) {
42+
logger.GetLogger().Error("error retrieving server info", logfields.Error, err)
43+
},
44+
)
45+
},
46+
}
47+
return cmd
48+
}

0 commit comments

Comments
 (0)