You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@skywalking.apache.org by ke...@apache.org on 2025/03/24 13:13:49 UTC

(skywalking-cli) 01/01: Add insecure flag to skip https cert verification

This is an automated email from the ASF dual-hosted git repository.

kezhenxu94 pushed a commit to branch logging
in repository https://gitbox.apache.org/repos/asf/skywalking-cli.git

commit fd3ce7c9d1ec70764ea6306c75969f4e7ea29d09
Author: kezhenxu94 <ke...@apache.org>
AuthorDate: Mon Mar 24 21:12:24 2025 +0800

    Add insecure flag to skip https cert verification
---
 assets/assets.go                                        | 2 +-
 cmd/swctl/main.go                                       | 8 +++++++-
 internal/commands/event/report.go                       | 2 +-
 internal/commands/healthcheck/healthcheck.go            | 2 +-
 internal/commands/interceptor/duration.go               | 2 +-
 internal/commands/interceptor/entity.go                 | 2 +-
 internal/commands/interceptor/interceptor.go            | 1 +
 internal/commands/interceptor/service.go                | 2 +-
 internal/commands/interceptor/timezone.go               | 2 +-
 internal/commands/metrics/aggregation/metrics.go        | 2 +-
 internal/commands/metrics/aggregation/sampled-record.go | 2 +-
 internal/commands/metrics/aggregation/topn.go           | 2 +-
 pkg/contextkey/contextkey.go                            | 1 +
 pkg/display/graph/flamegraph/flamegraph.go              | 2 +-
 pkg/display/graph/tree/list.go                          | 2 +-
 pkg/display/graph/tree/tree.go                          | 2 +-
 pkg/display/table/table.go                              | 2 +-
 pkg/graphql/client/client.go                            | 8 ++++++--
 pkg/graphql/dashboard/global.go                         | 2 +-
 pkg/graphql/utils/adapter.go                            | 6 +++---
 pkg/healthcheck/grpc.go                                 | 5 +++--
 {internal => pkg}/logger/log.go                         | 0
 pkg/util/io.go                                          | 2 +-
 23 files changed, 37 insertions(+), 24 deletions(-)

diff --git a/assets/assets.go b/assets/assets.go
index 29352f4..732f196 100644
--- a/assets/assets.go
+++ b/assets/assets.go
@@ -21,7 +21,7 @@ import (
 	"embed"
 	"strings"
 
-	"github.com/apache/skywalking-cli/internal/logger"
+	"github.com/apache/skywalking-cli/pkg/logger"
 )
 
 //go:embed *
diff --git a/cmd/swctl/main.go b/cmd/swctl/main.go
index 1fd6d38..81914fa 100644
--- a/cmd/swctl/main.go
+++ b/cmd/swctl/main.go
@@ -43,8 +43,8 @@ import (
 	"github.com/apache/skywalking-cli/internal/commands/records"
 	"github.com/apache/skywalking-cli/internal/commands/service"
 	"github.com/apache/skywalking-cli/internal/commands/trace"
-	"github.com/apache/skywalking-cli/internal/logger"
 	intutil "github.com/apache/skywalking-cli/internal/util"
+	"github.com/apache/skywalking-cli/pkg/logger"
 	"github.com/apache/skywalking-cli/pkg/util"
 
 	"github.com/sirupsen/logrus"
@@ -173,6 +173,12 @@ func flags() []cli.Flag {
 				"if `authorization` is set, `--username` and `--password` are ignored",
 			Value: "",
 		}),
+		altsrc.NewStringFlag(&cli.StringFlag{
+			Name:     "insecure",
+			Required: false,
+			Usage:    "skip TLS certificate verification",
+			Value:    "",
+		}),
 		altsrc.NewStringFlag(&cli.StringFlag{
 			Name:     "timezone",
 			Required: false,
diff --git a/internal/commands/event/report.go b/internal/commands/event/report.go
index 395d0cf..7e24d32 100644
--- a/internal/commands/event/report.go
+++ b/internal/commands/event/report.go
@@ -26,11 +26,11 @@ import (
 
 	"github.com/apache/skywalking-cli/internal/commands/interceptor"
 	"github.com/apache/skywalking-cli/internal/flags"
-	"github.com/apache/skywalking-cli/internal/logger"
 	"github.com/apache/skywalking-cli/internal/model"
 	"github.com/apache/skywalking-cli/pkg/display"
 	"github.com/apache/skywalking-cli/pkg/display/displayable"
 	"github.com/apache/skywalking-cli/pkg/grpc"
+	"github.com/apache/skywalking-cli/pkg/logger"
 )
 
 var reportCommand = &cli.Command{
diff --git a/internal/commands/healthcheck/healthcheck.go b/internal/commands/healthcheck/healthcheck.go
index f67efc1..553da2a 100644
--- a/internal/commands/healthcheck/healthcheck.go
+++ b/internal/commands/healthcheck/healthcheck.go
@@ -22,8 +22,8 @@ import (
 
 	"github.com/apache/skywalking-cli/pkg/healthcheck"
 
-	"github.com/apache/skywalking-cli/internal/logger"
 	hc "github.com/apache/skywalking-cli/pkg/graphql/healthcheck"
+	"github.com/apache/skywalking-cli/pkg/logger"
 )
 
 var Command = &cli.Command{
diff --git a/internal/commands/interceptor/duration.go b/internal/commands/interceptor/duration.go
index 0d08f17..75eb864 100644
--- a/internal/commands/interceptor/duration.go
+++ b/internal/commands/interceptor/duration.go
@@ -30,8 +30,8 @@ import (
 
 	"github.com/urfave/cli/v2"
 
-	"github.com/apache/skywalking-cli/internal/logger"
 	"github.com/apache/skywalking-cli/internal/model"
+	"github.com/apache/skywalking-cli/pkg/logger"
 )
 
 func TryParseTime(unparsed string, userStep api.Step) (api.Step, time.Time, error) {
diff --git a/internal/commands/interceptor/entity.go b/internal/commands/interceptor/entity.go
index d03f3e2..2e08f2b 100644
--- a/internal/commands/interceptor/entity.go
+++ b/internal/commands/interceptor/entity.go
@@ -26,8 +26,8 @@ import (
 	"github.com/sirupsen/logrus"
 	"github.com/urfave/cli/v2"
 
-	"github.com/apache/skywalking-cli/internal/logger"
 	"github.com/apache/skywalking-cli/pkg/graphql/utils"
+	"github.com/apache/skywalking-cli/pkg/logger"
 
 	api "skywalking.apache.org/repo/goapi/query"
 )
diff --git a/internal/commands/interceptor/interceptor.go b/internal/commands/interceptor/interceptor.go
index 6bf49b6..9cb873e 100644
--- a/internal/commands/interceptor/interceptor.go
+++ b/internal/commands/interceptor/interceptor.go
@@ -30,6 +30,7 @@ func BeforeChain(beforeFunctions ...cli.BeforeFunc) cli.BeforeFunc {
 	return func(cliCtx *cli.Context) error {
 		ctx := cliCtx.Context
 		ctx = context.WithValue(ctx, contextkey.BaseURL{}, cliCtx.String("base-url"))
+		ctx = context.WithValue(ctx, contextkey.Insecure{}, cliCtx.Bool("insecure"))
 		ctx = context.WithValue(ctx, contextkey.Username{}, cliCtx.String("username"))
 		ctx = context.WithValue(ctx, contextkey.Password{}, cliCtx.String("password"))
 		ctx = context.WithValue(ctx, contextkey.Authorization{}, cliCtx.String("authorization"))
diff --git a/internal/commands/interceptor/service.go b/internal/commands/interceptor/service.go
index e770c15..d87e12a 100644
--- a/internal/commands/interceptor/service.go
+++ b/internal/commands/interceptor/service.go
@@ -25,8 +25,8 @@ import (
 	"github.com/urfave/cli/v2"
 	api "skywalking.apache.org/repo/goapi/query"
 
-	"github.com/apache/skywalking-cli/internal/logger"
 	"github.com/apache/skywalking-cli/pkg/graphql/metadata"
+	"github.com/apache/skywalking-cli/pkg/logger"
 )
 
 type nodeType int
diff --git a/internal/commands/interceptor/timezone.go b/internal/commands/interceptor/timezone.go
index 425d8dd..67ab128 100644
--- a/internal/commands/interceptor/timezone.go
+++ b/internal/commands/interceptor/timezone.go
@@ -23,8 +23,8 @@ import (
 
 	"github.com/urfave/cli/v2"
 
-	"github.com/apache/skywalking-cli/internal/logger"
 	"github.com/apache/skywalking-cli/pkg/graphql/metadata"
+	"github.com/apache/skywalking-cli/pkg/logger"
 )
 
 // TimezoneInterceptor sets the server timezone if the server supports the API,
diff --git a/internal/commands/metrics/aggregation/metrics.go b/internal/commands/metrics/aggregation/metrics.go
index 6f4c72d..cae4bc5 100644
--- a/internal/commands/metrics/aggregation/metrics.go
+++ b/internal/commands/metrics/aggregation/metrics.go
@@ -24,11 +24,11 @@ import (
 
 	"github.com/apache/skywalking-cli/internal/commands/interceptor"
 	"github.com/apache/skywalking-cli/internal/flags"
-	"github.com/apache/skywalking-cli/internal/logger"
 	"github.com/apache/skywalking-cli/internal/model"
 	"github.com/apache/skywalking-cli/pkg/display"
 	"github.com/apache/skywalking-cli/pkg/display/displayable"
 	"github.com/apache/skywalking-cli/pkg/graphql/metrics"
+	"github.com/apache/skywalking-cli/pkg/logger"
 )
 
 var SortedMetrics = &cli.Command{
diff --git a/internal/commands/metrics/aggregation/sampled-record.go b/internal/commands/metrics/aggregation/sampled-record.go
index 16fddae..ecaac19 100644
--- a/internal/commands/metrics/aggregation/sampled-record.go
+++ b/internal/commands/metrics/aggregation/sampled-record.go
@@ -26,12 +26,12 @@ import (
 
 	"github.com/apache/skywalking-cli/internal/commands/interceptor"
 	"github.com/apache/skywalking-cli/internal/flags"
-	"github.com/apache/skywalking-cli/internal/logger"
 	"github.com/apache/skywalking-cli/internal/model"
 	"github.com/apache/skywalking-cli/pkg/display"
 	"github.com/apache/skywalking-cli/pkg/display/displayable"
 	"github.com/apache/skywalking-cli/pkg/graphql/metadata"
 	"github.com/apache/skywalking-cli/pkg/graphql/metrics"
+	"github.com/apache/skywalking-cli/pkg/logger"
 )
 
 var SampledRecords = &cli.Command{
diff --git a/internal/commands/metrics/aggregation/topn.go b/internal/commands/metrics/aggregation/topn.go
index 134a31c..0c02ac5 100644
--- a/internal/commands/metrics/aggregation/topn.go
+++ b/internal/commands/metrics/aggregation/topn.go
@@ -24,11 +24,11 @@ import (
 
 	"github.com/apache/skywalking-cli/internal/commands/interceptor"
 	"github.com/apache/skywalking-cli/internal/flags"
-	"github.com/apache/skywalking-cli/internal/logger"
 	"github.com/apache/skywalking-cli/internal/model"
 	"github.com/apache/skywalking-cli/pkg/display"
 	"github.com/apache/skywalking-cli/pkg/display/displayable"
 	"github.com/apache/skywalking-cli/pkg/graphql/metrics"
+	"github.com/apache/skywalking-cli/pkg/logger"
 )
 
 var TopN = &cli.Command{
diff --git a/pkg/contextkey/contextkey.go b/pkg/contextkey/contextkey.go
index 0f5380e..d687506 100644
--- a/pkg/contextkey/contextkey.go
+++ b/pkg/contextkey/contextkey.go
@@ -19,6 +19,7 @@ package contextkey
 
 type (
 	BaseURL       struct{}
+	Insecure      struct{}
 	Username      struct{}
 	Password      struct{}
 	Authorization struct{}
diff --git a/pkg/display/graph/flamegraph/flamegraph.go b/pkg/display/graph/flamegraph/flamegraph.go
index 4eb1c8d..00cb490 100644
--- a/pkg/display/graph/flamegraph/flamegraph.go
+++ b/pkg/display/graph/flamegraph/flamegraph.go
@@ -26,7 +26,7 @@ import (
 	"path/filepath"
 	"time"
 
-	"github.com/apache/skywalking-cli/internal/logger"
+	"github.com/apache/skywalking-cli/pkg/logger"
 
 	api "skywalking.apache.org/repo/goapi/query"
 )
diff --git a/pkg/display/graph/tree/list.go b/pkg/display/graph/tree/list.go
index 89cd4c8..daf9dc1 100644
--- a/pkg/display/graph/tree/list.go
+++ b/pkg/display/graph/tree/list.go
@@ -30,7 +30,7 @@ import (
 	ui "github.com/gizak/termui/v3"
 	"github.com/gizak/termui/v3/widgets"
 
-	"github.com/apache/skywalking-cli/internal/logger"
+	"github.com/apache/skywalking-cli/pkg/logger"
 )
 
 const (
diff --git a/pkg/display/graph/tree/tree.go b/pkg/display/graph/tree/tree.go
index 916c94c..b2ee6ee 100644
--- a/pkg/display/graph/tree/tree.go
+++ b/pkg/display/graph/tree/tree.go
@@ -24,7 +24,7 @@ import (
 	ui "github.com/gizak/termui/v3"
 	"github.com/gizak/termui/v3/widgets"
 
-	"github.com/apache/skywalking-cli/internal/logger"
+	"github.com/apache/skywalking-cli/pkg/logger"
 )
 
 type Node struct {
diff --git a/pkg/display/table/table.go b/pkg/display/table/table.go
index 0c82376..212e1b6 100644
--- a/pkg/display/table/table.go
+++ b/pkg/display/table/table.go
@@ -23,7 +23,7 @@ import (
 
 	d "github.com/apache/skywalking-cli/pkg/display/displayable"
 
-	"github.com/apache/skywalking-cli/internal/logger"
+	"github.com/apache/skywalking-cli/pkg/logger"
 
 	"github.com/olekukonko/tablewriter"
 )
diff --git a/pkg/graphql/client/client.go b/pkg/graphql/client/client.go
index 40b4947..9fbc250 100644
--- a/pkg/graphql/client/client.go
+++ b/pkg/graphql/client/client.go
@@ -19,16 +19,20 @@ package client
 
 import (
 	"context"
+	"crypto/tls"
 	"encoding/base64"
+	"net/http"
 
 	"github.com/machinebox/graphql"
 
-	"github.com/apache/skywalking-cli/internal/logger"
 	"github.com/apache/skywalking-cli/pkg/contextkey"
+	"github.com/apache/skywalking-cli/pkg/logger"
 )
 
 func newClient(ctx context.Context) (client *graphql.Client) {
-	client = graphql.NewClient(ctx.Value(contextkey.BaseURL{}).(string))
+	insecure := ctx.Value(contextkey.Insecure{}).(bool)
+	httpClient := &http.Client{Transport: &http.Transport{TLSClientConfig: &tls.Config{InsecureSkipVerify: insecure}}}
+	client = graphql.NewClient(ctx.Value(contextkey.BaseURL{}).(string), graphql.WithHTTPClient(httpClient))
 	client.Log = func(msg string) {
 		logger.Log.Debugln(msg)
 	}
diff --git a/pkg/graphql/dashboard/global.go b/pkg/graphql/dashboard/global.go
index 3c9c1d1..4406030 100644
--- a/pkg/graphql/dashboard/global.go
+++ b/pkg/graphql/dashboard/global.go
@@ -36,9 +36,9 @@ import (
 	"gopkg.in/yaml.v2"
 
 	"github.com/apache/skywalking-cli/assets"
-	"github.com/apache/skywalking-cli/internal/logger"
 	"github.com/apache/skywalking-cli/pkg/graphql/metrics"
 	"github.com/apache/skywalking-cli/pkg/graphql/utils"
+	"github.com/apache/skywalking-cli/pkg/logger"
 )
 
 type ButtonTemplate struct {
diff --git a/pkg/graphql/utils/adapter.go b/pkg/graphql/utils/adapter.go
index de40351..db932f9 100644
--- a/pkg/graphql/utils/adapter.go
+++ b/pkg/graphql/utils/adapter.go
@@ -24,12 +24,13 @@ import (
 
 	api "skywalking.apache.org/repo/goapi/query"
 
-	"github.com/apache/skywalking-cli/internal/logger"
+	"github.com/apache/skywalking-cli/pkg/logger"
 )
 
 // MetricsValuesArrayToMap converts Array of MetricsValues into a map that uses time as key.
 func MetricsValuesArrayToMap(duration api.Duration, mvArray []api.MetricsValues,
-	labelsMap map[string]string) map[string]map[string]*displayable.MetricValue {
+	labelsMap map[string]string,
+) map[string]map[string]*displayable.MetricValue {
 	ret := make(map[string]map[string]*displayable.MetricValue, len(mvArray))
 	for _, mvs := range mvArray {
 		label := *mvs.Label
@@ -47,7 +48,6 @@ func MetricsValuesToMap(duration api.Duration, metricsValues api.MetricsValues)
 	ret := map[string]*displayable.MetricValue{}
 	format := StepFormats[duration.Step]
 	startTime, err := time.Parse(format, duration.Start)
-
 	if err != nil {
 		logger.Log.Fatalln(err)
 	}
diff --git a/pkg/healthcheck/grpc.go b/pkg/healthcheck/grpc.go
index f4c6357..cc0fa81 100644
--- a/pkg/healthcheck/grpc.go
+++ b/pkg/healthcheck/grpc.go
@@ -22,7 +22,7 @@ import (
 	"crypto/tls"
 	"time"
 
-	"github.com/apache/skywalking-cli/internal/logger"
+	"github.com/apache/skywalking-cli/pkg/logger"
 
 	"google.golang.org/grpc"
 	"google.golang.org/grpc/codes"
@@ -43,7 +43,8 @@ func HealthCheck(addr string, enableTLS bool) int {
 
 	opts := []grpc.DialOption{
 		grpc.WithUserAgent("swctl_health_probe"),
-		grpc.WithBlock()}
+		grpc.WithBlock(),
+	}
 	if enableTLS {
 		// #nosec
 		creds := credentials.NewTLS(&tls.Config{
diff --git a/internal/logger/log.go b/pkg/logger/log.go
similarity index 100%
rename from internal/logger/log.go
rename to pkg/logger/log.go
diff --git a/pkg/util/io.go b/pkg/util/io.go
index 3e957f4..5dd91ab 100644
--- a/pkg/util/io.go
+++ b/pkg/util/io.go
@@ -21,7 +21,7 @@ import (
 	"os/user"
 	"strings"
 
-	"github.com/apache/skywalking-cli/internal/logger"
+	"github.com/apache/skywalking-cli/pkg/logger"
 )
 
 // UserHomeDir returns the current user's home directory absolute path,