Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package kubearmor-client for
openSUSE:Factory checked in at 2023-10-26 17:13:26
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kubearmor-client (Old)
and /work/SRC/openSUSE:Factory/.kubearmor-client.new.24901 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kubearmor-client"
Thu Oct 26 17:13:26 2023 rev:3 rq:1120307 version:0.14.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/kubearmor-client/kubearmor-client.changes
2023-10-12 11:44:05.189301113 +0200
+++
/work/SRC/openSUSE:Factory/.kubearmor-client.new.24901/kubearmor-client.changes
2023-10-26 17:14:14.559880328 +0200
@@ -1,0 +2,12 @@
+Wed Oct 25 13:41:55 UTC 2023 - [email protected]
+
+- Update to version 0.14.2:
+ * fix(deps): update github.com/kubearmor/kubearmor/deployments
+ digest to 15ad34e
+ * feat: allow karmor probe to show policies applied in systemd
+ mode
+ * remove summary, discover as they depend on an external tool
+ * add govulncheck install check
+ * add govulncheck scan to Makefile
+
+-------------------------------------------------------------------
Old:
----
kubearmor-client-0.14.1.obscpio
New:
----
kubearmor-client-0.14.2.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ kubearmor-client.spec ++++++
--- /var/tmp/diff_new_pack.4Kq5cZ/_old 2023-10-26 17:14:15.475913971 +0200
+++ /var/tmp/diff_new_pack.4Kq5cZ/_new 2023-10-26 17:14:15.479914118 +0200
@@ -19,7 +19,7 @@
%define __arch_install_post export NO_BRP_STRIP_DEBUG=true
Name: kubearmor-client
-Version: 0.14.1
+Version: 0.14.2
Release: 0
Summary: KubeArmor cli tool aka kArmor
License: Apache-2.0
++++++ _service ++++++
--- /var/tmp/diff_new_pack.4Kq5cZ/_old 2023-10-26 17:14:15.523915734 +0200
+++ /var/tmp/diff_new_pack.4Kq5cZ/_new 2023-10-26 17:14:15.527915881 +0200
@@ -3,8 +3,8 @@
<param name="url">https://github.com/kubearmor/kubearmor-client</param>
<param name="scm">git</param>
<param name="exclude">.git</param>
- <param name="revision">v0.14.1</param>
- <param name="match-tag">v0.14.1</param>
+ <param name="revision">v0.14.2</param>
+ <param name="match-tag">v0.14.2</param>
<param name="versionformat">@PARENT_TAG@</param>
<param name="changesgenerate">enable</param>
<param name="versionrewrite-pattern">v(.*)</param>
@@ -17,7 +17,7 @@
<param name="compression">gz</param>
</service>
<service name="go_modules" mode="manual">
- <param name="archive">kubearmor-client-0.14.1.obscpio</param>
+ <param name="archive">kubearmor-client-0.14.2.obscpio</param>
</service>
</services>
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.4Kq5cZ/_old 2023-10-26 17:14:15.547916615 +0200
+++ /var/tmp/diff_new_pack.4Kq5cZ/_new 2023-10-26 17:14:15.551916762 +0200
@@ -1,6 +1,6 @@
<servicedata>
<service name="tar_scm">
<param
name="url">https://github.com/kubearmor/kubearmor-client</param>
- <param
name="changesrevision">4507cc069e7e5f6fd5c2c74bdd42671a51dbcefd</param></service></servicedata>
+ <param
name="changesrevision">4183b814ccc4ef433f29594fb8c2a27160bff9e3</param></service></servicedata>
(No newline at EOF)
++++++ kubearmor-client-0.14.1.obscpio -> kubearmor-client-0.14.2.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/kubearmor-client-0.14.1/Makefile
new/kubearmor-client-0.14.2/Makefile
--- old/kubearmor-client-0.14.1/Makefile 2023-09-26 08:11:52.000000000
+0200
+++ new/kubearmor-client-0.14.2/Makefile 2023-10-24 16:58:33.000000000
+0200
@@ -67,3 +67,11 @@
}
endif
cd $(CURDIR); gosec ./...
+
+.PHONY: scan
+scan:
+ if ! command -v govulncheck > /dev/null; then \
+ go install golang.org/x/vuln/cmd/govulncheck@latest ;\
+ fi
+ cd $(CURDIR);\
+ govulncheck -test ./... ;
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/kubearmor-client-0.14.1/README.md
new/kubearmor-client-0.14.2/README.md
--- old/kubearmor-client-0.14.1/README.md 2023-09-26 08:11:52.000000000
+0200
+++ new/kubearmor-client-0.14.2/README.md 2023-10-24 16:58:33.000000000
+0200
@@ -35,7 +35,6 @@
Available Commands:
completion Generate the autocompletion script for the specified shell
- discover Discover applicable policies
help Help about any command
install Install KubeArmor in a Kubernetes Cluster
logs Observe Logs from KubeArmor
@@ -44,7 +43,6 @@
recommend Recommend Policies
rotate-tls Rotate webhook controller tls certificates
selfupdate selfupdate this cli tool
- summary Observability from discovery engine
sysdump Collect system dump information for troubleshooting and error
report
uninstall Uninstall KubeArmor from a Kubernetes Cluster
version Display version information
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/kubearmor-client-0.14.1/cmd/discover.go
new/kubearmor-client-0.14.2/cmd/discover.go
--- old/kubearmor-client-0.14.1/cmd/discover.go 2023-09-26 08:11:52.000000000
+0200
+++ new/kubearmor-client-0.14.2/cmd/discover.go 1970-01-01 01:00:00.000000000
+0100
@@ -1,36 +0,0 @@
-// SPDX-License-Identifier: Apache-2.0
-// Copyright 2022 Authors of KubeArmor
-
-package cmd
-
-import (
- "github.com/kubearmor/kubearmor-client/discover"
- "github.com/spf13/cobra"
-)
-
-var discoverOptions discover.Options
-
-// discoverCmd represents the discover command
-var discoverCmd = &cobra.Command{
- Use: "discover",
- Short: "Discover applicable policies",
- Long: `Discover applicable policies`,
- RunE: func(cmd *cobra.Command, args []string) error {
- if err := discover.Policy(client, discoverOptions); err != nil {
- return err
- }
- return nil
- },
-}
-
-func init() {
- rootCmd.AddCommand(discoverCmd)
- discoverCmd.Flags().StringVar(&discoverOptions.GRPC, "gRPC", "", "gRPC
server information")
- discoverCmd.Flags().StringVarP(&discoverOptions.Format, "format", "f",
"yaml", "Format: json or yaml")
- discoverCmd.Flags().StringVarP(&discoverOptions.Policy, "policy", "p",
"KubearmorSecurityPolicy", "Type of policies to be discovered:
KubearmorSecurityPolicy|CiliumNetworkPolicy|NetworkPolicy")
- discoverCmd.Flags().StringVarP(&discoverOptions.Namespace, "namespace",
"n", "", "Filter by Namespace")
- discoverCmd.Flags().StringVarP(&discoverOptions.Clustername,
"clustername", "c", "", "Filter by Clustername")
- discoverCmd.Flags().StringVarP(&discoverOptions.Labels, "labels", "l",
"", "Filter by policy Label")
- discoverCmd.Flags().StringVarP(&discoverOptions.Fromsource,
"fromsource", "s", "", "Filter by policy FromSource")
- discoverCmd.Flags().BoolVar(&discoverOptions.IncludeNetwork, "network",
false, "Include network rules in system policies")
-}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/kubearmor-client-0.14.1/cmd/probe.go
new/kubearmor-client-0.14.2/cmd/probe.go
--- old/kubearmor-client-0.14.1/cmd/probe.go 2023-09-26 08:11:52.000000000
+0200
+++ new/kubearmor-client-0.14.2/cmd/probe.go 2023-10-24 16:58:33.000000000
+0200
@@ -35,4 +35,5 @@
probeCmd.Flags().BoolVar(&probeInstallOptions.Full, "full", false, `If
KubeArmor is not running, it deploys a daemonset to have access to more
information on KubeArmor support in the environment and deletes daemonset
after probing`)
probeCmd.Flags().StringVarP(&probeInstallOptions.Output, "format", "f",
"text", " Format: json or text ")
+ probeCmd.Flags().StringVar(&probeInstallOptions.GRPC, "gRPC", "", "GRPC
port ")
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/kubearmor-client-0.14.1/cmd/summary.go
new/kubearmor-client-0.14.2/cmd/summary.go
--- old/kubearmor-client-0.14.1/cmd/summary.go 2023-09-26 08:11:52.000000000
+0200
+++ new/kubearmor-client-0.14.2/cmd/summary.go 1970-01-01 01:00:00.000000000
+0100
@@ -1,39 +0,0 @@
-// SPDX-License-Identifier: Apache-2.0
-// Copyright 2022 Authors of KubeArmor
-
-package cmd
-
-import (
- "github.com/kubearmor/kubearmor-client/summary"
- "github.com/spf13/cobra"
-)
-
-var summaryOptions summary.Options
-
-// summaryCmd represents the summary command
-var summaryCmd = &cobra.Command{
- Use: "summary",
- Short: "Observability from discovery engine",
- Long: `Discovery engine keeps the telemetry information from the
policy enforcement engines and the karmor connects to it to provide this as
observability data`,
- RunE: func(cmd *cobra.Command, args []string) error {
- if err := summary.Summary(client, summaryOptions); err != nil {
- return err
- }
- return nil
- },
-}
-
-func init() {
- rootCmd.AddCommand(summaryCmd)
-
- summaryCmd.Flags().StringVar(&summaryOptions.GRPC, "gRPC", "", "gRPC
server information")
- summaryCmd.Flags().StringVarP(&summaryOptions.Labels, "labels", "l",
"", "Labels")
- summaryCmd.Flags().StringVarP(&summaryOptions.Namespace, "namespace",
"n", "", "Namespace")
- summaryCmd.Flags().StringVarP(&summaryOptions.PodName, "pod", "p", "",
"PodName")
- summaryCmd.Flags().StringVarP(&summaryOptions.Type, "type", "t",
summary.DefaultReqType, "Summary filter type : process|file|network ")
- summaryCmd.Flags().StringVar(&summaryOptions.ClusterName, "cluster",
"", "Cluster name")
- summaryCmd.Flags().StringVar(&summaryOptions.ContainerName,
"container", "", "Container name")
- summaryCmd.Flags().StringVarP(&summaryOptions.Output, "output", "o",
"", "Export Summary Data in JSON (karmor summary -o json)")
- summaryCmd.Flags().BoolVar(&summaryOptions.RevDNSLookup,
"rev-dns-lookup", false, "Reverse DNS Lookup")
- summaryCmd.Flags().BoolVar(&summaryOptions.Aggregation, "agg", false,
"Aggregate destination files/folder path")
-}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/kubearmor-client-0.14.1/discover/discover.go
new/kubearmor-client-0.14.2/discover/discover.go
--- old/kubearmor-client-0.14.1/discover/discover.go 2023-09-26
08:11:52.000000000 +0200
+++ new/kubearmor-client-0.14.2/discover/discover.go 1970-01-01
01:00:00.000000000 +0100
@@ -1,195 +0,0 @@
-// SPDX-License-Identifier: Apache-2.0
-// Copyright 2022 Authors of KubeArmor
-
-// Package discover fetches policies from discovery engine
-package discover
-
-import (
- "context"
- "errors"
- "fmt"
- "os"
- "strconv"
-
- "github.com/clarketm/json"
- "github.com/kubearmor/kubearmor-client/k8s"
- "github.com/kubearmor/kubearmor-client/utils"
- "github.com/rs/zerolog/log"
- "sigs.k8s.io/yaml"
-
- nv1 "k8s.io/api/networking/v1"
-
- wpb "github.com/accuknox/auto-policy-discovery/src/protobuf/v1/worker"
- "github.com/accuknox/auto-policy-discovery/src/types"
- "google.golang.org/grpc"
-)
-
-// Options Structure
-type Options struct {
- GRPC string
- Format string
- Policy string
- Namespace string
- Clustername string
- Labels string
- Fromsource string
- IncludeNetwork bool
-}
-
-var matchLabels = map[string]string{"app": "discovery-engine"}
-var port int64 = 9089
-
-// ConvertPolicy converts the knoxautopolicies to KubeArmor and Cilium policies
-func ConvertPolicy(c *k8s.Client, o Options) ([]string, error) {
- var str []string
- gRPC := ""
- targetSvc := "discovery-engine"
-
- if o.GRPC != "" {
- gRPC = o.GRPC
- } else {
- if val, ok := os.LookupEnv("DISCOVERY_SERVICE"); ok {
- gRPC = val
- } else {
- pf, err := utils.InitiatePortForward(c, port, port,
matchLabels, targetSvc)
- if err != nil {
- return nil, err
- }
- gRPC = "localhost:" + strconv.FormatInt(pf.LocalPort,
10)
- }
- }
-
- data := &wpb.WorkerRequest{
- Policytype: o.Policy,
- Namespace: o.Namespace,
- Clustername: o.Clustername,
- Labels: o.Labels,
- Fromsource: o.Fromsource,
- Includenetwork: o.IncludeNetwork,
- }
-
- // create a client
- conn, err := grpc.Dial(gRPC, grpc.WithInsecure())
- if err != nil {
- return nil, err
- }
- defer conn.Close()
-
- client := wpb.NewWorkerClient(conn)
-
- var response *wpb.WorkerResponse
- response, err = client.Convert(context.Background(), data)
- if err != nil {
- return nil, errors.New("could not connect to the server.
Possible troubleshooting:\n- Check if discovery engine is running\n- kubectl
get po -n accuknox-agents")
- }
-
- if o.Policy == "CiliumNetworkPolicy" {
-
- if len(response.Ciliumpolicy) > 0 {
- for _, val := range response.Ciliumpolicy {
- policy := types.CiliumNetworkPolicy{}
-
- err = json.Unmarshal(val.Data, &policy)
- if err != nil {
- log.Error().Msg(err.Error())
- return nil, err
- }
-
- if o.Format == "json" {
- arr, _ := json.MarshalIndent(policy,
"", " ")
- pstr := fmt.Sprintf("%s\n", string(arr))
- str = append(str, pstr)
- } else if o.Format == "yaml" {
- arr, _ := json.Marshal(policy)
- yamlarr, _ := yaml.JSONToYAML(arr)
- pstr := fmt.Sprintf("%s",
string(yamlarr))
- str = append(str, pstr)
- } else {
- log.Printf("Currently supported formats
are json and yaml\n")
- break
- }
- }
- return str, err
- }
- } else if o.Policy == "KubearmorSecurityPolicy" {
-
- if len(response.Kubearmorpolicy) > 0 {
- for _, val := range response.Kubearmorpolicy {
- policy := types.KubeArmorPolicy{}
-
- err = json.Unmarshal(val.Data, &policy)
- if err != nil {
- log.Error().Msg(err.Error())
- return nil, err
- }
-
- if o.Format == "json" {
- arr, _ := json.MarshalIndent(policy,
"", " ")
- pstr := fmt.Sprintf("%s\n", string(arr))
- str = append(str, pstr)
- } else if o.Format == "yaml" {
- arr, _ := json.Marshal(policy)
- yamlarr, _ := yaml.JSONToYAML(arr)
- pstr := fmt.Sprintf("%s",
string(yamlarr))
- str = append(str, pstr)
- } else {
- fmt.Printf("Currently supported formats
are json and yaml\n")
- break
- }
- }
- return str, err
- }
- } else if o.Policy == "NetworkPolicy" {
-
- if len(response.K8SNetworkpolicy) > 0 {
- for _, val := range response.K8SNetworkpolicy {
- policy := nv1.NetworkPolicy{}
-
- err = json.Unmarshal(val.Data, &policy)
- if err != nil {
- log.Error().Msg(err.Error())
- return nil, err
- }
-
- if o.Format == "json" {
- arr, _ := json.MarshalIndent(policy,
"", " ")
- pstr := fmt.Sprintf("%s\n", string(arr))
- str = append(str, pstr)
- } else if o.Format == "yaml" {
- arr, _ := json.Marshal(policy)
- yamlarr, _ := yaml.JSONToYAML(arr)
- pstr := fmt.Sprintf("%s",
string(yamlarr))
- str = append(str, pstr)
- } else {
- fmt.Printf("Currently supported formats
are json and yaml\n")
- break
- }
- }
- return str, err
- }
- }
-
- return str, err
-}
-
-// Policy discovers Cilium or KubeArmor policies
-func Policy(c *k8s.Client, o Options) error {
- var str []string
- var err error
- if o.Policy != "CiliumNetworkPolicy" && o.Policy != "NetworkPolicy" &&
o.Policy != "KubearmorSecurityPolicy" {
- log.Error().Msgf("Policy type not recognized.\nCurrently
supported policies are cilium, kubearmor and k8snetpol\n")
- }
-
- if str, err = ConvertPolicy(c, o); err != nil {
- return err
- }
- for _, policy := range str {
- if o.Format == "yaml" {
- fmt.Printf("%s---\n", policy)
- }
- if o.Format == "json" {
- fmt.Printf("%s", policy)
- }
- }
- return nil
-}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/kubearmor-client-0.14.1/go.mod
new/kubearmor-client-0.14.2/go.mod
--- old/kubearmor-client-0.14.1/go.mod 2023-09-26 08:11:52.000000000 +0200
+++ new/kubearmor-client-0.14.2/go.mod 2023-10-24 16:58:33.000000000 +0200
@@ -23,7 +23,7 @@
github.com/docker/docker v23.0.6+incompatible
github.com/fatih/color v1.15.0
github.com/json-iterator/go v1.1.12
- github.com/kubearmor/KubeArmor/protobuf
v0.0.0-20230918061249-1d5b51c449bd
+ github.com/kubearmor/KubeArmor/protobuf
v0.0.0-20231019102803-e4e0e68a457b
github.com/mholt/archiver/v3 v3.5.1
github.com/moby/term v0.0.0-20221205130635-1aeaba878587
github.com/olekukonko/tablewriter v0.0.5
@@ -43,7 +43,6 @@
require (
github.com/accuknox/auto-policy-discovery/src
v0.0.0-20230707054448-845969c25277
- github.com/accuknox/auto-policy-discovery/src/protobuf
v0.0.0-20230707054448-845969c25277
github.com/charmbracelet/bubbles v0.15.0
github.com/charmbracelet/bubbletea v0.23.2
github.com/charmbracelet/lipgloss v0.7.1
@@ -52,12 +51,11 @@
github.com/google/go-cmp v0.5.9
github.com/google/go-github v17.0.0+incompatible
github.com/kubearmor/KVMService/src/types
v0.0.0-20220714130113-b0eba8c9ff34
- github.com/kubearmor/KubeArmor/KubeArmor
v0.0.0-20230918061249-1d5b51c449bd
- github.com/kubearmor/KubeArmor/deployments
v0.0.0-20230918135729-00395f443fa0
- github.com/kubearmor/KubeArmor/pkg/KubeArmorController
v0.0.0-20230626060245-4f5b8ac4f298
- github.com/mgutz/ansi v0.0.0-20200706080929-d51e80ef957d
- github.com/onsi/ginkgo/v2 v2.9.5
- github.com/onsi/gomega v1.27.7
+ github.com/kubearmor/KubeArmor/KubeArmor
v0.0.0-20231019102803-e4e0e68a457b
+ github.com/kubearmor/KubeArmor/deployments
v0.0.0-20231024025323-15ad34e8f01e
+ github.com/kubearmor/KubeArmor/pkg/KubeArmorController
v0.0.0-20231019102803-e4e0e68a457b
+ github.com/onsi/ginkgo/v2 v2.9.7
+ github.com/onsi/gomega v1.27.8
k8s.io/api v0.27.3
k8s.io/apiextensions-apiserver v0.27.3
k8s.io/apimachinery v0.27.3
@@ -87,6 +85,7 @@
github.com/OneOfOne/xxhash v1.2.8 // indirect
github.com/ProtonMail/go-crypto v0.0.0-20230426101702-58e86b294756 //
indirect
github.com/ThalesIgnite/crypto11 v1.2.5 // indirect
+ github.com/accuknox/auto-policy-discovery/src/protobuf
v0.0.0-20230707054448-845969c25277 // indirect
github.com/agnivade/levenshtein v1.1.1 // indirect
github.com/alibabacloud-go/alibabacloud-gateway-spi v0.0.4 // indirect
github.com/alibabacloud-go/cr-20160607 v1.0.1 // indirect
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/kubearmor-client-0.14.1/go.sum
new/kubearmor-client-0.14.2/go.sum
--- old/kubearmor-client-0.14.1/go.sum 2023-09-26 08:11:52.000000000 +0200
+++ new/kubearmor-client-0.14.2/go.sum 2023-10-24 16:58:33.000000000 +0200
@@ -1,5 +1,6 @@
4d63.com/gochecknoglobals v0.0.0-20201008074935-acfc0b28355a/go.mod
h1:wfdC5ZjKSPr7CybKEcgJhUOgeAQW1+7WcyK8OvUilfo=
bitbucket.org/creachadair/shell v0.0.6/go.mod
h1:8Qqi/cYk7vPnsOePHroKXDJYmb5x7ENhtiFtfZq8K+M=
+bitbucket.org/creachadair/shell v0.0.7/go.mod
h1:oqtXSSvSYr4624lnnabXHaBsYW6RD80caLi2b3hJk0U=
cloud.google.com/go v0.26.0/go.mod
h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
cloud.google.com/go v0.34.0/go.mod
h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
cloud.google.com/go v0.38.0/go.mod
h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU=
@@ -56,8 +57,10 @@
cloud.google.com/go/storage v1.8.0/go.mod
h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs=
cloud.google.com/go/storage v1.10.0/go.mod
h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0=
cloud.google.com/go/storage v1.14.0/go.mod
h1:GrKmX003DSIwi9o29oFT7YDnHYwZoctc3fOKtUw0Xmo=
+contrib.go.opencensus.io/exporter/ocagent
v0.7.1-0.20200907061046-05415f1de66d/go.mod
h1:IshRmMJBhDfFj5Y67nVhMYTTIze91RUeT73ipWKs/GY=
contrib.go.opencensus.io/exporter/prometheus v0.3.0/go.mod
h1:rpCPVQKhiyH8oomWgm34ZmgIdZa8OVYO5WAIygPbBBE=
contrib.go.opencensus.io/exporter/stackdriver v0.13.4/go.mod
h1:aXENhDJ1Y4lIg4EUaVTwzvYETVNZk10Pu26tevFKLUc=
+contrib.go.opencensus.io/exporter/stackdriver v0.13.12/go.mod
h1:mmxnWlrvrFdpiOHOhxBaVi1rkc0WOqhgfknj4Yg0SeQ=
cuelang.org/go v0.5.0 h1:D6N0UgTGJCOxFKU8RU+qYvavKNsVc/+ZobmifStVJzU=
cuelang.org/go v0.5.0/go.mod h1:okjJBHFQFer+a41sAe2SaGm1glWS8oEb6CmJvn5Zdws=
dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod
h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU=
@@ -90,7 +93,9 @@
github.com/Azure/go-autorest/autorest/mocks v0.4.2
h1:PGN4EDXnuQbojHbU0UWoNvmu9AGVwYHG9/fkDYhtAfw=
github.com/Azure/go-autorest/autorest/mocks v0.4.2/go.mod
h1:Vy7OitM9Kei0i1Oj+LvyAWMXJHeKH1MVlzFugfVrmyU=
github.com/Azure/go-autorest/autorest/to v0.4.0
h1:oXVqrxakqqV1UZdSazDOPOLvOIz+XA683u8EctwboHk=
+github.com/Azure/go-autorest/autorest/to v0.4.0/go.mod
h1:fE8iZBn7LQR7zH/9XU2NcPR4o9jEImooCeWJcYV/zLE=
github.com/Azure/go-autorest/autorest/validation v0.3.1
h1:AgyqjAd94fwNAoTjl/WQXg4VvFeRFpO+UhNyRXqF1ac=
+github.com/Azure/go-autorest/autorest/validation v0.3.1/go.mod
h1:yhLgjC0Wda5DYXl6JAsWyUe4KVNffhoDhG0zVzUMo3E=
github.com/Azure/go-autorest/logger v0.2.1
h1:IG7i4p/mDa2Ce4TRyAO8IHnVhAVF3RFU+ZtXWSmf4Tg=
github.com/Azure/go-autorest/logger v0.2.1/go.mod
h1:T9E3cAhj2VqvPOtCYAvby9aBXkZmbF5NWuPV8+WeEW8=
github.com/Azure/go-autorest/tracing v0.6.0
h1:TYi4+3m5t6K48TGI9AUdb+IzbnSxvnvUMfuitfgcfuo=
@@ -182,6 +187,7 @@
github.com/aliyun/credentials-go v1.1.2/go.mod
h1:ozcZaMR5kLM7pwtCMEpVmQ242suV6qTJya2bDq4X1Tw=
github.com/aliyun/credentials-go v1.2.7
h1:gLtFylxLZ1TWi1pStIt1O6a53GFU1zkNwjtJir2B4ow=
github.com/aliyun/credentials-go v1.2.7/go.mod
h1:/KowD1cfGSLrLsH28Jr8W+xwoId0ywIy5lNzDz6O1vw=
+github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883/go.mod
h1:rCTlJbsFo29Kk6CurOXKm700vrz8f0KW0JNfpkRJY/8=
github.com/andybalholm/brotli v1.0.0/go.mod
h1:loMXtMfwqflxFJPmdbJO0a3KNoPuLBgiu3qAvBg8x/Y=
github.com/andybalholm/brotli v1.0.1/go.mod
h1:loMXtMfwqflxFJPmdbJO0a3KNoPuLBgiu3qAvBg8x/Y=
github.com/andybalholm/brotli v1.0.5
h1:8uQZIdzKmjc/iuPu7O2ioW48L81FgatrcpfFmiq/cCs=
@@ -191,6 +197,7 @@
github.com/antlr/antlr4/runtime/Go/antlr
v0.0.0-20220418222510-f25a4f6275ed/go.mod
h1:F7bn7fEU90QkQ3tnmaTx3LTKLEDqnwWODIYppRQ5hnY=
github.com/antlr/antlr4/runtime/Go/antlr v1.4.10/go.mod
h1:F7bn7fEU90QkQ3tnmaTx3LTKLEDqnwWODIYppRQ5hnY=
github.com/aokoli/goutils v1.0.1/go.mod
h1:SijmP0QR8LtwsmDs8Yii5Z/S4trXFGFC2oO5g9DP+DQ=
+github.com/apache/beam/sdks/v2 v2.0.0-20211012030016-ef4364519c94/go.mod
h1:/kOom7hCyHVzAC/Z7HbZywkZZv6ywF+wb4CvgDVdcB8=
github.com/apache/thrift v0.12.0/go.mod
h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ=
github.com/apache/thrift v0.13.0/go.mod
h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ=
github.com/arbovm/levenshtein v0.0.0-20160628152529-48b4e1c0c4d0
h1:jfIu9sQUG6Ig+0+Ap1h4unLjW6YQJpKZVmUzxsD4E/Q=
@@ -199,6 +206,7 @@
github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod
h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8=
github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod
h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY=
github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod
h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8=
+github.com/armon/go-radix v1.0.0/go.mod
h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8=
github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5
h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio=
github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod
h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs=
github.com/aryann/difflib v0.0.0-20170710044230-e206f873d14a/go.mod
h1:DAHtR1m6lCRdSC2Tm3DSWRPvIPr6xNKyeHdqDQSQT+A=
@@ -264,16 +272,22 @@
github.com/blang/semver v3.5.1+incompatible/go.mod
h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk=
github.com/blang/semver/v4 v4.0.0
h1:1PFHFE6yCCTv8C1TeyNNarDzntLi7wMI5i/pzqYIsAM=
github.com/blang/semver/v4 v4.0.0/go.mod
h1:IbckMUScFkM3pff0VJDNKRiT6TG/YpiHIM2yvyW5YoQ=
+github.com/blendle/zapdriver v1.3.1/go.mod
h1:mdXfREi6u5MArG4j9fewC+FGnXaBR+T4Ox4J2u4eHCc=
github.com/bombsimon/wsl/v3 v3.3.0/go.mod
h1:st10JtZYLE4D5sC7b8xV4zTKZwAQjCH/Hy2Pm1FNZIc=
github.com/buger/jsonparser v1.1.1/go.mod
h1:6RYKKt7H4d4+iWqouImQ9R2FZql3VbhNgx27UK13J/0=
+github.com/butuzov/ireturn v0.1.1/go.mod
h1:Wh6Zl3IMtTpaIKbmwzqi6olnM9ptYQxxVacMsOEFPoc=
github.com/bwesterb/go-ristretto v1.2.0/go.mod
h1:fUIoIZaG73pV5biE2Blr2xEzDoMj7NFEuV9ekS419A0=
github.com/bytecodealliance/wasmtime-go v0.27.0
h1:b/mvyw1YJSwF5zNxqLH9V24ENkZGAvp+KgIKHOFHk1c=
github.com/bytecodealliance/wasmtime-go v0.27.0/go.mod
h1:q320gUxqyI8yB+ZqRuaJOEnGkAnHh6WtJjMaT2CW4wI=
github.com/bytecodealliance/wasmtime-go/v3 v3.0.2
h1:3uZCA/BLTIu+DqCfguByNMJa2HVHpXvjfy0Dy7g6fuA=
github.com/casbin/casbin/v2 v2.1.2/go.mod
h1:YcPU1XXisHhLzuxH9coDNf2FbKpjGlbCg3n9yuLkIJQ=
+github.com/cavaliercoder/badio v0.0.0-20160213150051-ce5280129e9e/go.mod
h1:V284PjgVwSk4ETmz84rpu9ehpGg7swlIH8npP9k2bGw=
+github.com/cavaliercoder/go-cpio v0.0.0-20180626203310-925f9528c45e/go.mod
h1:oDpT4efm8tSYHXV5tHSdRvBet/b/QzxZ+XyyPehvm3A=
+github.com/cavaliercoder/go-rpm v0.0.0-20200122174316-8cb9fd9c31a8/go.mod
h1:AZIh1CCnMrcVm6afFf96PBvE2MRpWFco91z8ObJtgDY=
github.com/cenkalti/backoff v2.2.1+incompatible
h1:tNowT99t7UNflLxfYYSlKYsBpXdEet03Pg2g16Swow4=
github.com/cenkalti/backoff v2.2.1+incompatible/go.mod
h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM=
github.com/cenkalti/backoff/v3 v3.2.2
h1:cfUAAO3yvKMYKPrvhDuHSwQnhZNk/RMHKdZqKTxfm6M=
+github.com/cenkalti/backoff/v3 v3.2.2/go.mod
h1:cIeZDE3IrqwwJl6VUwCN6trj1oXrTS4rc0ij+ULvLYs=
github.com/cenkalti/backoff/v4 v4.1.1/go.mod
h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInqkPWOWmG2CLw=
github.com/cenkalti/backoff/v4 v4.1.3/go.mod
h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInqkPWOWmG2CLw=
github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod
h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
@@ -287,6 +301,7 @@
github.com/cespare/xxhash/v2 v2.2.0
h1:DC2CZ1Ep5Y4k3ZQ899DldepgrayRUGE6BBZ/cd9Cj44=
github.com/cespare/xxhash/v2 v2.2.0/go.mod
h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
github.com/charithe/durationcheck v0.0.6/go.mod
h1:SSbRIBVfMjCi/kEB6K65XEA83D6prSM8ap1UCpNKtgg=
+github.com/charithe/durationcheck v0.0.9/go.mod
h1:SSbRIBVfMjCi/kEB6K65XEA83D6prSM8ap1UCpNKtgg=
github.com/charmbracelet/bubbles v0.15.0
h1:c5vZ3woHV5W2b8YZI1q7v4ZNQaPetfHuoHzx+56Z6TI=
github.com/charmbracelet/bubbles v0.15.0/go.mod
h1:Y7gSFbBzlMpUDR/XM9MhZI374Q+1p1kluf1uLl8iK74=
github.com/charmbracelet/bubbletea v0.23.1/go.mod
h1:JAfGK/3/pPKHTnAS8JIE2u9f61BjWTQY57RbT25aMXU=
@@ -333,6 +348,7 @@
github.com/cockroachdb/logtags v0.0.0-20190617123548-eb05cc24525f/go.mod
h1:i/u985jwjWRlyHXQbwatDASoW0RMlZ/3i9yJHE2xLkI=
github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod
h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI=
github.com/codahale/rfc6979 v0.0.0-20141003034818-6a90f24967eb
h1:EDmT6Q9Zs+SbUoc7Ik9EfrFqcylYqgPZ9ANSbTAntnE=
+github.com/codahale/rfc6979 v0.0.0-20141003034818-6a90f24967eb/go.mod
h1:ZjrT6AXHbDs86ZSdt/osfBi5qfexBrKUdONk989Wnk4=
github.com/common-nighthawk/go-figure v0.0.0-20210622060536-734e95fb86be
h1:J5BL2kskAlV9ckgEsNQXscjIaLiOYiZ75d4e94E6dcQ=
github.com/common-nighthawk/go-figure
v0.0.0-20210622060536-734e95fb86be/go.mod
h1:mk5IQ+Y0ZeO87b858TlA645sVcEcbiX6YqP98kt+7+w=
github.com/containerd/console v1.0.3
h1:lIr7SlA5PxZyMV30bDW0MGbiOPXwc63yRuCP0ARubLw=
@@ -442,6 +458,8 @@
github.com/evanphx/json-patch/v5 v5.6.0/go.mod
h1:G79N1coSVB93tBe7j6PhzjmR3/2VvlbKOFpnXhI9Bw4=
github.com/evertras/bubble-table v0.15.2
h1:hVj27V9tk5TD5p6mVv0RK/KJu2sHq0U+mBMux/HptkU=
github.com/evertras/bubble-table v0.15.2/go.mod
h1:SPOZKbIpyYWPHBNki3fyNpiPBQkvkULAtOT7NTD5fKY=
+github.com/exponent-io/jsonpath v0.0.0-20151013193312-d6023ce2651d/go.mod
h1:ZZMPRZwes7CROmyNKgQzC3XPs6L/G2EJLHddWejkmf4=
+github.com/fatih/camelcase v1.0.0/go.mod
h1:yN2Sb0lFhZJUdVvtELVWefmrXpuZESvPmqwoZc+/fpc=
github.com/fatih/color v1.7.0/go.mod
h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4=
github.com/fatih/color v1.9.0/go.mod
h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL+zU=
github.com/fatih/color v1.10.0/go.mod
h1:ELkj/draVOlAH/xkhN6mQ50Qd0MPOk5AAr3maGEBuJM=
@@ -450,6 +468,7 @@
github.com/fatih/structtag v1.2.0/go.mod
h1:mBJUNpUnHmRKrKlQQlmCrh5PuhftFbNv8Ys4/aAZl94=
github.com/felixge/httpsnoop v1.0.3/go.mod
h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U=
github.com/flowstack/go-jsonschema v0.1.1/go.mod
h1:yL7fNggx1o8rm9RlgXv7hTBWxdBM0rVwpMwimd3F3N0=
+github.com/flynn/go-docopt v0.0.0-20140912013429-f6dd2ebbb31e/go.mod
h1:HyVoz1Mz5Co8TFO8EupIdlcpwShBmY98dkT2xeHkvEI=
github.com/form3tech-oss/jwt-go v3.2.3+incompatible/go.mod
h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k=
github.com/fortytw2/leaktest v1.3.0
h1:u8491cBMTQ8ft8aeV+adlcytMZylmA5nnwwkRZjI8vw=
github.com/fortytw2/leaktest v1.3.0/go.mod
h1:jDsjWgpAGjm2CA7WthBh/CdZYEPF31XHquHwclZch5g=
@@ -464,6 +483,7 @@
github.com/fsnotify/fsnotify v1.6.0
h1:n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4HY=
github.com/fsnotify/fsnotify v1.6.0/go.mod
h1:sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbSClcnxKAGw=
github.com/fullstorydev/grpcurl v1.6.0/go.mod
h1:ZQ+ayqbKMJNhzLmbpCiurTVlaK2M/3nqZCxaQ2Ze/sM=
+github.com/fvbommel/sortorder v1.0.1/go.mod
h1:uk88iVf1ovNn1iLfgUVU2F9o5eO30ui720w+kxuqRs0=
github.com/fzipp/gocyclo v0.3.1/go.mod
h1:DJHO6AUmbdqj2ET4Z9iArSuwWgYDRryYt2wASxc7x3E=
github.com/getsentry/raven-go v0.2.0/go.mod
h1:KungGk8q33+aIAZUIVWZDr2OfAEBsO49PX4NzFV5kcQ=
github.com/ghodss/yaml v0.0.0-20180820084758-c7ce16629ff4/go.mod
h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
@@ -563,6 +583,7 @@
github.com/go-playground/validator/v10 v10.12.0
h1:E4gtWgxWxp8YSxExrQFv5BpCahla0PVF2oTTEYaWQGI=
github.com/go-playground/validator/v10 v10.12.0/go.mod
h1:hCAPuzYvKdP33pxWa+2+6AIKXEKqjIUyqsNCtbsSJrA=
github.com/go-redis/redis v6.15.8+incompatible/go.mod
h1:NAIEuMOZ/fxfXJIrKDQDz8wamY7mA7PouImQ2Jvg6kA=
+github.com/go-redis/redis v6.15.9+incompatible/go.mod
h1:NAIEuMOZ/fxfXJIrKDQDz8wamY7mA7PouImQ2Jvg6kA=
github.com/go-rod/rod v0.112.6 h1:zMirUmhsBeshMWyf285BD0UGtGq54HfThLDGSjcP3lU=
github.com/go-sql-driver/mysql v1.4.0/go.mod
h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w=
github.com/go-sql-driver/mysql v1.5.0/go.mod
h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg=
@@ -612,6 +633,7 @@
github.com/gobwas/glob v0.2.3/go.mod
h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8=
github.com/godbus/dbus/v5 v5.0.4/go.mod
h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
github.com/gofrs/flock v0.8.0/go.mod
h1:F1TvTiK9OcQqauNUHlbJvyl9Qa1QvF/gOUDKA14jxHU=
+github.com/gofrs/flock v0.8.1/go.mod
h1:F1TvTiK9OcQqauNUHlbJvyl9Qa1QvF/gOUDKA14jxHU=
github.com/gogo/googleapis v1.1.0/go.mod
h1:gf4bu3Q80BeJ6H1S1vYPm8/ELATdvryBaNFGgqEef3s=
github.com/gogo/protobuf v1.1.1/go.mod
h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ=
github.com/gogo/protobuf v1.2.0/go.mod
h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ=
@@ -748,6 +770,7 @@
github.com/google/pprof v0.0.0-20211008130755-947d60d73cc0
h1:zHs+jv3LO743/zFGcByu2KmpbliCU2AhjcGgrdTwSG4=
github.com/google/pprof v0.0.0-20211008130755-947d60d73cc0/go.mod
h1:KgnwoLYCZ8IQu3XUZ8Nc/bM9CCZFOyjUNOSygVozoDg=
github.com/google/renameio v0.1.0/go.mod
h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI=
+github.com/google/rpmpack v0.0.0-20210518075352-dc539ef4f2ea/go.mod
h1:+y9lKiqDhR4zkLl+V9h4q0rdyrYVsWWm6LLCQP33DIk=
github.com/google/s2a-go v0.1.3 h1:FAgZmpLl/SXurPEZyCMPBIiiYeTbqfjlbdnCNTAkbGE=
github.com/google/s2a-go v0.1.3/go.mod
h1:Ej+mSEMGRnqRzjc7VtF+jdBwYG5fuJfiZ8ELkjEwM0A=
github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510
h1:El6M4kTTCOh6aBiKaUGG7oYTSPP8MxqL4YI3kZKwcP4=
@@ -761,6 +784,7 @@
github.com/google/uuid v1.1.2/go.mod
h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I=
github.com/google/uuid v1.3.0/go.mod
h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
+github.com/google/wire v0.5.0/go.mod
h1:ngWDr9Qvq3yZA10YrxfyGELY/AFWGVpy9c1LTRi1EoU=
github.com/googleapis/enterprise-certificate-proxy v0.2.3
h1:yk9/cqRKtT9wXZSsRH9aurXEpJX+U6FLtpYTdC3R06k=
github.com/googleapis/enterprise-certificate-proxy v0.2.3/go.mod
h1:AwSRAtLfXpU5Nm3pW+v7rGDHp09LsPtGY9MduiEsR9k=
github.com/googleapis/gax-go/v2 v2.0.4/go.mod
h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg=
@@ -769,6 +793,8 @@
github.com/googleapis/gax-go/v2 v2.8.0
h1:UBtEZqx1bjXtOQ5BVTkuYghXrr3N4V123VKJK67vJZc=
github.com/googleapis/gnostic v0.4.1/go.mod
h1:LRhVm6pbyptWbWbuZ38d1eyptfvIytN3ir6b65WBswg=
github.com/googleapis/gnostic v0.5.1/go.mod
h1:6U4PtQXGIEt/Z3h5MAT7FNofLnw9vXk2cUuW7uA/OeU=
+github.com/googleapis/gnostic v0.5.5/go.mod
h1:7+EbHbldMins07ALC74bsA81Ovc97DwqyJO1AENw9kA=
+github.com/googleapis/go-type-adapters v1.0.0/go.mod
h1:zHW75FOG2aur7gAO2B+MLby+cLsWGBF62rFAi7WjWO4=
github.com/googleapis/google-cloud-go-testing
v0.0.0-20200911160855-bcd43fbb19e8/go.mod
h1:dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g=
github.com/gookit/color v1.3.8/go.mod
h1:R3ogXq2B9rTbXoSHJ1HyUVAZ3poOJHpd9nQmyGZsfvQ=
github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod
h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY=
@@ -788,8 +814,10 @@
github.com/gostaticanalysis/analysisutil v0.0.3/go.mod
h1:eEOZF4jCKGi+aprrirO9e7WKB3beBRtWgqGunKl6pKE=
github.com/gostaticanalysis/analysisutil v0.1.0/go.mod
h1:dMhHRU9KTiDcuLGdy87/2gTR8WruwYZrKdRq9m1O6uw=
github.com/gostaticanalysis/analysisutil v0.4.1/go.mod
h1:18U/DLpRgIUd459wGxVHE0fRgmo1UgHDcbw7F5idXu0=
+github.com/gostaticanalysis/analysisutil v0.7.1/go.mod
h1:v21E3hY37WKMGSnbsw2S/ojApNWb6C1//mXO48CXbVc=
github.com/gostaticanalysis/comment v1.3.0/go.mod
h1:xMicKDx7XRXYdVwY9f9wQpDJVnqWxw9wCauCMKp+IBI=
github.com/gostaticanalysis/comment v1.4.1/go.mod
h1:ih6ZxzTHLdadaiSnF5WY3dxUoXfXAlTaRzuaNDlSado=
+github.com/gostaticanalysis/comment v1.4.2/go.mod
h1:KLUTGDv6HOCotCH8h2erHKmpci2ZoR8VPu34YA2uzdM=
github.com/gostaticanalysis/forcetypeassert
v0.0.0-20200621232751-01d4955beaa5/go.mod
h1:qZEedyP/sY1lTGV1uJ3VhWZ2mqag3IkWsDHVbplHXak=
github.com/gostaticanalysis/nilerr v0.1.1/go.mod
h1:wZYb6YI5YAxxq0i1+VJbY0s2YONW0HU0GPE3+5PWN4A=
github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7/go.mod
h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA=
@@ -811,6 +839,7 @@
github.com/hashicorp/consul/sdk v0.3.0/go.mod
h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8=
github.com/hashicorp/errwrap v1.0.0/go.mod
h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
github.com/hashicorp/errwrap v1.1.0
h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I=
+github.com/hashicorp/errwrap v1.1.0/go.mod
h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
github.com/hashicorp/go-cleanhttp v0.5.1/go.mod
h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80=
github.com/hashicorp/go-cleanhttp v0.5.2
h1:035FKYIWjmULyFRBKPs8TBQoi0x6d9G4xc9neXJWAZQ=
github.com/hashicorp/go-cleanhttp v0.5.2/go.mod
h1:kO/YDlP8L1346E6Sodw+PrpBSV4/SoxCXGY6BqNFT48=
@@ -825,10 +854,12 @@
github.com/hashicorp/go-retryablehttp v0.7.2/go.mod
h1:Jy/gPYAdjqffZ/yFGCFV2doI5wjtH1ewM9u8iYVjtX8=
github.com/hashicorp/go-rootcerts v1.0.0/go.mod
h1:K6zTfqpRlCUIjkwsN4Z+hiSfzSTQa6eBIzfwKfwNnHU=
github.com/hashicorp/go-rootcerts v1.0.2
h1:jzhAVGtqPKbwpyCPELlgNWhE1znq+qwJtW5Oi2viEzc=
+github.com/hashicorp/go-rootcerts v1.0.2/go.mod
h1:pqUvnprVnM5bf7AOirdbb01K4ccR319Vf4pU3K5EGc8=
github.com/hashicorp/go-secure-stdlib/parseutil v0.1.7
h1:UpiO20jno/eV1eVZcxqWnUohyKRe1g8FPV/xH1s/2qs=
github.com/hashicorp/go-secure-stdlib/strutil v0.1.2
h1:kes8mmyCpxJsI7FTwtzRqEy9CdjCtrXrXGuOpxEA7Ts=
github.com/hashicorp/go-sockaddr v1.0.0/go.mod
h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerXegt+ozgdvDeDU=
github.com/hashicorp/go-sockaddr v1.0.2
h1:ztczhD1jLxIRjVejw8gFomI1BQZOe2WoVOu0SyteCQc=
+github.com/hashicorp/go-sockaddr v1.0.2/go.mod
h1:rB4wwRAUzs07qva3c5SdrY/NEtAUjGlgmH/UkBUC97A=
github.com/hashicorp/go-syslog v1.0.0/go.mod
h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4=
github.com/hashicorp/go-uuid v1.0.0/go.mod
h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro=
github.com/hashicorp/go-uuid v1.0.1/go.mod
h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro=
@@ -844,6 +875,7 @@
github.com/hashicorp/memberlist v0.1.3/go.mod
h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I=
github.com/hashicorp/serf v0.8.2/go.mod
h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc=
github.com/hashicorp/vault/api v1.9.0
h1:ab7dI6W8DuCY7yCU8blo0UCYl2oHre/dloCmzMWg9w8=
+github.com/howeyc/gopass v0.0.0-20190910152052-7cb4b85ec19c/go.mod
h1:lADxMC39cJJqL93Duh1xhAs4I2Zs8mKS89XWXFGp9cs=
github.com/hpcloud/tail v1.0.0/go.mod
h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU=
github.com/huandu/xstrings v1.0.0/go.mod
h1:4qWG/gcEcfX4z/mBDHJ++3ReCw9ibxbsNJbcucJdbSo=
github.com/huandu/xstrings v1.2.0/go.mod
h1:DvyZB1rfVYsBIigL8HwpZgxHwXozlTgGqn63UyNX5k4=
@@ -866,13 +898,16 @@
github.com/inconshreveable/mousetrap v1.1.0
h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8=
github.com/inconshreveable/mousetrap v1.1.0/go.mod
h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw=
github.com/influxdata/influxdb1-client
v0.0.0-20191209144304-8bf82d3c094d/go.mod
h1:qj24IKcXYK6Iy9ceXlo3Tc+vtHo9lIhSX5JddghvEPo=
+github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99/go.mod
h1:1lJo3i6rXxKeerYnT8Nvf0QmHCRC1n8sfWVwXF2Frvo=
github.com/jedisct1/go-minisign v0.0.0-20230410063418-3d885d71f62c
h1:SJIUnIcy3NTjPM1acfLsIDQ6dZkBXkQLt/vrg7pshX0=
github.com/jedisct1/go-minisign v0.0.0-20230410063418-3d885d71f62c/go.mod
h1:euIjSueBwqJWwVr7rS2bowelVBVoN827tx5n87jnSJM=
github.com/jellydator/ttlcache/v2 v2.11.1
h1:AZGME43Eh2Vv3giG6GeqeLeFXxwxn1/qHItqWZl6U64=
github.com/jessevdk/go-flags v1.4.0/go.mod
h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI=
github.com/jgautheron/goconst v1.4.0/go.mod
h1:aAosetZ5zaeC/2EfMeRswtxUFBpe2Hr7HzkgX4fanO4=
+github.com/jgautheron/goconst v1.5.1/go.mod
h1:aAosetZ5zaeC/2EfMeRswtxUFBpe2Hr7HzkgX4fanO4=
github.com/jhump/protoreflect v1.6.1/go.mod
h1:RZQ/lnuN+zqeRVpQigTwO6o0AJUkxbnSnpuG7toUTG4=
github.com/jingyugao/rowserrcheck v0.0.0-20210315055705-d907ca737bb1/go.mod
h1:TOQpc2SLx6huPfoFGK3UOnEG+u02D3C1GeosjupAKCA=
+github.com/jingyugao/rowserrcheck v1.1.1/go.mod
h1:4yvlZSDb3IyDTUZJUmpZfm2Hwok+Dtp+nu2qOq+er9c=
github.com/jinzhu/copier v0.3.5 h1:GlvfUwHk62RokgqVNvYsku0TATCF7bAHVwEXoBh3iJg=
github.com/jinzhu/copier v0.3.5/go.mod
h1:DfbEm0FYsaqBcKcFuvmOZb218JkPGtvSHsKg8S8hyyg=
github.com/jirfag/go-printf-func-name
v0.0.0-20200119135958-7558a9eaa5af/go.mod
h1:HEWGJkRDzjJY2sqdDwxccsGicWEf9BQOZsq2tV+xzM0=
@@ -887,6 +922,7 @@
github.com/jonboulle/clockwork v0.1.0/go.mod
h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo=
github.com/jonboulle/clockwork v0.2.0/go.mod
h1:Pkfl5aHPm1nk2H9h0bjmnJD/BcgbGXUBGnn1kMkgxc8=
github.com/jonboulle/clockwork v0.2.2/go.mod
h1:Pkfl5aHPm1nk2H9h0bjmnJD/BcgbGXUBGnn1kMkgxc8=
+github.com/jonboulle/clockwork v0.3.0/go.mod
h1:Pkfl5aHPm1nk2H9h0bjmnJD/BcgbGXUBGnn1kMkgxc8=
github.com/josharian/intern v1.0.0
h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY=
github.com/josharian/intern v1.0.0/go.mod
h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y=
github.com/jpillora/backoff v1.0.0/go.mod
h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4=
@@ -908,6 +944,7 @@
github.com/k0kubun/colorstring v0.0.0-20150214042306-9440f1994b88/go.mod
h1:3w7q1U84EfirKl04SVQ/s7nPm1ZPhiXd34z40TNz36k=
github.com/karrick/godirwalk v1.8.0/go.mod
h1:H5KPZjojv4lE+QYImBI8xVtrBRgYrIVsaRPx4tDPEn4=
github.com/karrick/godirwalk v1.10.3/go.mod
h1:RoGL9dQei4vP9ilrpETWE8CLOZ1kiN0LhBygSwrAsHA=
+github.com/kelseyhightower/envconfig v1.4.0/go.mod
h1:cccZRl6mQpaq41TPp5QxidR+Sa3axMbJDNb//FQX6Gg=
github.com/kisielk/errcheck v1.1.0/go.mod
h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q=
github.com/kisielk/errcheck v1.2.0/go.mod
h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00=
github.com/kisielk/errcheck v1.5.0/go.mod
h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8=
@@ -940,14 +977,16 @@
github.com/kr/text v0.2.0/go.mod
h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
github.com/kubearmor/KVMService/src/types v0.0.0-20220714130113-b0eba8c9ff34
h1:DYGyMKCPcwbjcS6BAq43USVLlOnUKL72i/OlH32Ecfs=
github.com/kubearmor/KVMService/src/types
v0.0.0-20220714130113-b0eba8c9ff34/go.mod
h1:jH95bvc6gzdHxVdyUAx/MM9q27P9EPQUl13HkBO5mr4=
-github.com/kubearmor/KubeArmor/KubeArmor v0.0.0-20230918061249-1d5b51c449bd
h1:bylNnIgfJ2SmBbBkY/jdynozcErE8/psmxeKMX8yGrs=
-github.com/kubearmor/KubeArmor/KubeArmor
v0.0.0-20230918061249-1d5b51c449bd/go.mod
h1:6Ha3nBwlgPnTiacKade2jxkkBpOKPmBCizrsJcxn+fw=
-github.com/kubearmor/KubeArmor/deployments v0.0.0-20230918135729-00395f443fa0
h1:Y+YFPdznql0YuDN7BYFUQLHRbJhKG3cSuzCJkLQFIiI=
-github.com/kubearmor/KubeArmor/deployments
v0.0.0-20230918135729-00395f443fa0/go.mod
h1:9c5VpVVkkto1fPLyCrnZAThQ9lO04mpYNJnfN36UqL0=
-github.com/kubearmor/KubeArmor/pkg/KubeArmorController
v0.0.0-20230626060245-4f5b8ac4f298
h1:dx4xNITMAlG4B5/zjoaIUF/QsBGzkkek/SNjSXE3MYc=
-github.com/kubearmor/KubeArmor/pkg/KubeArmorController
v0.0.0-20230626060245-4f5b8ac4f298/go.mod
h1:e8Jy4rDPf+O/H+ThAlCILTLkAVy3WgKW3SssLQat+RY=
-github.com/kubearmor/KubeArmor/protobuf v0.0.0-20230918061249-1d5b51c449bd
h1:3RjcVbIzUQ98D61CUkq9X//koYvbdck7P8AoDTu6bZM=
-github.com/kubearmor/KubeArmor/protobuf
v0.0.0-20230918061249-1d5b51c449bd/go.mod
h1:u2IBmj/3GtZodhGIPlO0gwNZ+C/dDlxER1BPQfCOEsk=
+github.com/kubearmor/KubeArmor/KubeArmor v0.0.0-20231019102803-e4e0e68a457b
h1:XmWnvTayMLEwpTz15LL9Qq6ZEb4AK0rb7PngLMHRUTk=
+github.com/kubearmor/KubeArmor/KubeArmor
v0.0.0-20231019102803-e4e0e68a457b/go.mod
h1:7EoQjYGr6xjPCwJPD26bHB9fY6fTepqXJOrg6eT5dqI=
+github.com/kubearmor/KubeArmor/deployments v0.0.0-20231019102803-e4e0e68a457b
h1:44jrDRGS7O1ZZOavDOZ+Q/dv+C6FkC2qa5JXNv6I4lY=
+github.com/kubearmor/KubeArmor/deployments
v0.0.0-20231019102803-e4e0e68a457b/go.mod
h1:9c5VpVVkkto1fPLyCrnZAThQ9lO04mpYNJnfN36UqL0=
+github.com/kubearmor/KubeArmor/deployments v0.0.0-20231024025323-15ad34e8f01e
h1:KRrlYz0ocorE7YZ7TAv+S3+bpgwVq77BOaxXhJz3VQc=
+github.com/kubearmor/KubeArmor/deployments
v0.0.0-20231024025323-15ad34e8f01e/go.mod
h1:9c5VpVVkkto1fPLyCrnZAThQ9lO04mpYNJnfN36UqL0=
+github.com/kubearmor/KubeArmor/pkg/KubeArmorController
v0.0.0-20231019102803-e4e0e68a457b
h1:AeGpC3f4zEIzNmhejsGkJ+dgRuCsCONdUGTx3FVClcw=
+github.com/kubearmor/KubeArmor/pkg/KubeArmorController
v0.0.0-20231019102803-e4e0e68a457b/go.mod
h1:LtrnsoV9isTrXx0ClJgKxSJ/gbYmDj9m3pXIjG1yxBg=
+github.com/kubearmor/KubeArmor/protobuf v0.0.0-20231019102803-e4e0e68a457b
h1:jJ4yBo4LVx9TCAPm7WqtlOUy0TeC9jRpIJCoT2+CB+Q=
+github.com/kubearmor/KubeArmor/protobuf
v0.0.0-20231019102803-e4e0e68a457b/go.mod
h1:u2IBmj/3GtZodhGIPlO0gwNZ+C/dDlxER1BPQfCOEsk=
github.com/kulti/thelper v0.4.0/go.mod
h1:vMu2Cizjy/grP+jmsvOFDx1kYP6+PD1lqg4Yu5exl2U=
github.com/kunwardeep/paralleltest v1.0.2/go.mod
h1:ZPqNm1fVHPllh5LPVujzbVz1JN2GhLxSfY+oqUsvG30=
github.com/kylelemons/godebug v1.1.0
h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc=
@@ -970,6 +1009,7 @@
github.com/liggitt/tabwriter v0.0.0-20181228230101-89fcab3d43de/go.mod
h1:zAbeS9B/r2mtpb6U+EI2rYA5OAXxsYw6wTamcNW+zcE=
github.com/lightstep/lightstep-tracer-common/golang/gogo
v0.0.0-20190605223551-bc2310a04743/go.mod
h1:qklhhLq1aX+mtWk9cPHPzaBjWImj5ULL6C7HFJtXQMM=
github.com/lightstep/lightstep-tracer-go v0.18.1/go.mod
h1:jlF1pusYV4pidLvZ+XD0UBX0ZE6WURAspgAczcDHrL4=
+github.com/lithammer/dedent v1.1.0/go.mod
h1:jrXYCQtgg0nJiN+StA2KgR7w6CiQNv9Fd/Z9BP0jIOc=
github.com/logrusorgru/aurora v0.0.0-20181002194514-a7b3b318ed4e/go.mod
h1:7rIyQOR62GCctdiQpZ/zOJlFyk6y+94wXzv6RNZgaR4=
github.com/lucasb-eyer/go-colorful v1.2.0
h1:1nnpGOrhyZZuNyfu1QjKiUICQ74+3FNCN69Aj6K7nkY=
github.com/lucasb-eyer/go-colorful v1.2.0/go.mod
h1:R4dSotOR9KMtayYi1e77YzuveK+i7ruzyGqttikkLy0=
@@ -1030,8 +1070,6 @@
github.com/mbilski/exhaustivestruct v1.2.0/go.mod
h1:OeTBVxQWoEmB2J2JCHmXWPJ0aksxSUOUy+nvtVEfzXc=
github.com/mgechev/dots v0.0.0-20190921121421-c36f7dcfbb81/go.mod
h1:KQ7+USdGKfpPjXk4Ga+5XxQM4Lm4e3gAogrreFAYpOg=
github.com/mgechev/revive v1.0.6/go.mod
h1:Lj5gIVxjBlH8REa3icEOkdfchwYc291nShzZ4QYWyMo=
-github.com/mgutz/ansi v0.0.0-20200706080929-d51e80ef957d
h1:5PJl274Y63IEHC+7izoQE9x6ikvDFZS2mDVS3drnohI=
-github.com/mgutz/ansi v0.0.0-20200706080929-d51e80ef957d/go.mod
h1:01TrycV0kFyexm33Z7vhZRXopbI8J3TDReVlkTgMUxE=
github.com/mholt/archiver/v3 v3.5.1
h1:rDjOBX9JSF5BvoJGvjqK479aL70qh9DIpZCl+k7Clwo=
github.com/mholt/archiver/v3 v3.5.1/go.mod
h1:e3dqJ7H78uzsRSEACH1joayhuSyhnonssnDhppzS1L4=
github.com/miekg/dns v1.0.14/go.mod
h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg=
@@ -1108,6 +1146,7 @@
github.com/mwitkow/go-proto-validators v0.2.0/go.mod
h1:ZfA1hW+UH/2ZHOWvQ3HnQaU0DtnpXu850MZiy+YUgcc=
github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f/go.mod
h1:ZdcZmHo+o7JKHSa8/e818NopupXU1YMK5fe1lsApnBw=
github.com/nakabonne/nestif v0.3.0/go.mod
h1:dI314BppzXjJ4HsCnbo7XzrJHPszZsjnk5wEBSYHI2c=
+github.com/nakabonne/nestif v0.3.1/go.mod
h1:9EtoZochLn5iUprVDmDjqGKPofoUEBL8U4Ngq6aY7OE=
github.com/nats-io/jwt v0.3.0/go.mod
h1:fRYCDE99xlTsqUzISS1Bi75UBJ6ljOJQOAAu5VglpSg=
github.com/nats-io/jwt v0.3.2/go.mod
h1:/euKqTS1ZD+zzjYrY7pseZrTtWQSjujC7xjPc8wL6eU=
github.com/nats-io/nats-server/v2 v2.1.2/go.mod
h1:Afk+wRZqkMQs/p45uXdrVLuab3gwv3Z8C4HTBu8GD/k=
@@ -1152,8 +1191,8 @@
github.com/onsi/ginkgo/v2 v2.1.6/go.mod
h1:MEH45j8TBi6u9BMogfbp0stKC5cdGjumZj5Y7AG4VIk=
github.com/onsi/ginkgo/v2 v2.3.0/go.mod
h1:Eew0uilEqZmIEZr8JrvYlvOM7Rr6xzTmMV8AyFNU9d0=
github.com/onsi/ginkgo/v2 v2.4.0/go.mod
h1:iHkDK1fKGcBoEHT5W7YBq4RFWaQulw+caOMkAt4OrFo=
-github.com/onsi/ginkgo/v2 v2.9.5
h1:+6Hr4uxzP4XIUyAkg61dWBw8lb/gc4/X5luuxN/EC+Q=
-github.com/onsi/ginkgo/v2 v2.9.5/go.mod
h1:tvAoo1QUJwNEU2ITftXTpR7R1RbCzoZUOs3RonqW57k=
+github.com/onsi/ginkgo/v2 v2.9.7
h1:06xGQy5www2oN160RtEZoTvnP2sPhEfePYmCDc2szss=
+github.com/onsi/ginkgo/v2 v2.9.7/go.mod
h1:cxrmXWykAwTwhQsJOPfdIDiJ+l2RYq7U8hFU+M/1uw0=
github.com/onsi/gomega v0.0.0-20170829124025-dcabb60a477c/go.mod
h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA=
github.com/onsi/gomega v1.4.2/go.mod
h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY=
github.com/onsi/gomega v1.4.3/go.mod
h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY=
@@ -1167,8 +1206,8 @@
github.com/onsi/gomega v1.21.1/go.mod
h1:iYAIXgPSaDHak0LCMA+AWBpIKBr8WZicMxnE8luStNc=
github.com/onsi/gomega v1.22.1/go.mod
h1:x6n7VNe4hw0vkyYUM4mjIXx3JbLiPaBPNgB7PRQ1tuM=
github.com/onsi/gomega v1.23.0/go.mod
h1:Z/NWtiqwBrwUt4/2loMmHL63EDLnYHmVbuBpDr2vQAg=
-github.com/onsi/gomega v1.27.7 h1:fVih9JD6ogIiHUN6ePK7HJidyEDpWGVB5mzM7cWNXoU=
-github.com/onsi/gomega v1.27.7/go.mod
h1:1p8OOlwo2iUUDsHnOrjE5UKYJ+e3W8eQ3qSlRahPmr4=
+github.com/onsi/gomega v1.27.8 h1:gegWiwZjBsf2DgiSbf5hpokZ98JVDMcWkUiigk6/KXc=
+github.com/onsi/gomega v1.27.8/go.mod
h1:2J8vzI/s+2shY9XHRApDkdgPo1TKT7P2u6fXeJKFnNQ=
github.com/op/go-logging v0.0.0-20160315200505-970db520ece7/go.mod
h1:HzydrMdWErDVzsI23lYNej1Htcns9BCg93Dk0bBINWk=
github.com/open-policy-agent/cert-controller v0.2.0/go.mod
h1:SWS7Ame8oKHF11cDsQCFlULrrOMV5Z59FIGEAF/M6YI=
github.com/open-policy-agent/frameworks/constraint
v0.0.0-20210701194838-1dbe2618668d/go.mod
h1:y8wOVfZ6+bEmbhBMnLnFlQrJB9eQpVk+dIDa7YrtocI=
@@ -1192,6 +1231,7 @@
github.com/openzipkin/zipkin-go v0.1.6/go.mod
h1:QgAqvLzwWbR/WpD4A3cGpPtJrZXNIiJc5AZX7/PBEpw=
github.com/openzipkin/zipkin-go v0.2.1/go.mod
h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnhQw8ySjnjRyN4=
github.com/openzipkin/zipkin-go v0.2.2/go.mod
h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnhQw8ySjnjRyN4=
+github.com/otiai10/copy v1.2.0/go.mod
h1:rrF5dJ5F0t/EWSYODDu4j9/vEeYHMkc8jt0zJChqQWw=
github.com/pact-foundation/pact-go v1.0.4/go.mod
h1:uExwJY4kCzNPcHRj+hCR/HBbOOIwwtUjcrb0b5/5kLM=
github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod
h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc=
github.com/pborman/uuid v1.2.0/go.mod
h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k=
@@ -1209,6 +1249,7 @@
github.com/phayes/checkstyle v0.0.0-20170904204023-bfd46e6a821d/go.mod
h1:3OzsM7FXDQlpCiw2j81fOmAwQLnZnLGXVKUzeKQXIAw=
github.com/pierrec/lz4 v1.0.2-0.20190131084431-473cd7ce01a1/go.mod
h1:3/3N9NVKO0jef7pBehbT1qWhCMrIgbYNnFAZCqQ5LRc=
github.com/pierrec/lz4 v2.0.5+incompatible/go.mod
h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY=
+github.com/pierrec/lz4 v2.6.1+incompatible/go.mod
h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY=
github.com/pierrec/lz4/v4 v4.1.2/go.mod
h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4=
github.com/pierrec/lz4/v4 v4.1.17
h1:kV4Ip+/hUBC+8T6+2EgburRtkE9ef4nbY3f4dFhGjMc=
github.com/pierrec/lz4/v4 v4.1.17/go.mod
h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4=
@@ -1284,12 +1325,14 @@
github.com/prometheus/procfs v0.8.0/go.mod
h1:z7EfXMXOkbkqb9IINtpCn86r/to3BnA0uaxHdg830/4=
github.com/prometheus/procfs v0.9.0
h1:wzCHvIvM5SxWqYvwgVL7yJY8Lz3PKn49KQtpgMYJfhI=
github.com/prometheus/procfs v0.9.0/go.mod
h1:+pB4zwohETzFnmlpe6yd2lSc+0/46IYZRB/chUwxUZY=
+github.com/prometheus/prometheus v2.5.0+incompatible/go.mod
h1:oAIUtOny2rjMX0OWN5vPR5/q/twIROJvdqnQKDdil/s=
github.com/prometheus/statsd_exporter v0.20.0/go.mod
h1:YL3FWCG8JBBtaUSxAg4Gz2ZYu22bS84XM89ZQXXTWmQ=
github.com/prometheus/statsd_exporter v0.21.0/go.mod
h1:rbT83sZq2V+p73lHhPZfMc3MLCHmSHelCh9hSGYNLTQ=
github.com/prometheus/tsdb v0.7.1/go.mod
h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU=
github.com/protocolbuffers/txtpbfmt v0.0.0-20230412060525-fa9f017c0ded
h1:XHLAvwaTYM0PxS/HO7E0PfBaY/y0jGM5NM7g05lCb0k=
github.com/protocolbuffers/txtpbfmt v0.0.0-20230412060525-fa9f017c0ded/go.mod
h1:jgxiZysxFPM+iWKwQwPR+y+Jvo54ARd4EisXxKYpB5c=
github.com/pseudomuto/protoc-gen-doc v1.3.2/go.mod
h1:y5+P6n3iGrbKG+9O04V5ld71in3v/bX88wUwgt+U8EA=
+github.com/pseudomuto/protoc-gen-doc v1.5.1/go.mod
h1:XpMKYg6zkcpgfpCfQ8GcWBDRtRxOmMR5w7pz4Xo+dYM=
github.com/pseudomuto/protokit v0.2.0/go.mod
h1:2PdH30hxVHsup8KpBTOXTBeMVhJZVio3Q8ViKSAXT0Q=
github.com/quasilyte/go-consistent v0.0.0-20190521200055-c6f3937de18c/go.mod
h1:5STLWrekHfjyYwxBRVRXNOSewLJ3PWfDJd1VyTS21fI=
github.com/quasilyte/go-ruleguard v0.3.1-0.20210203134552-1b5a410e1cc8/go.mod
h1:KsAh3x0e7Fkpgs+Q9pNLS5XpFSvYCEVl5gP9Pp1xp30=
@@ -1327,12 +1370,14 @@
github.com/rs/zerolog v1.29.1 h1:cO+d60CHkknCbvzEWxP0S9K6KqyTjrCNUy1LdQLCGPc=
github.com/rs/zerolog v1.29.1/go.mod
h1:Le6ESbR7hc+DP6Lt1THiV8CQSdkkNrd3R0XbEgp3ZBU=
github.com/russross/blackfriday v1.5.2/go.mod
h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g=
+github.com/russross/blackfriday v1.6.0/go.mod
h1:ti0ldHuxg49ri4ksnFxlkCfN+hvslNlmVHqNRXXJNAY=
github.com/russross/blackfriday/v2 v2.0.1/go.mod
h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
github.com/russross/blackfriday/v2 v2.1.0/go.mod
h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
github.com/ryancurrah/gomodguard v1.2.0/go.mod
h1:rNqbC4TOIdUDcVMSIpNNAzTbzXAZa6W5lnUepvuMMgQ=
github.com/ryanrolds/sqlclosecheck v0.3.0/go.mod
h1:1gREqxyTGR3lVtpngyFo3hZAgk0KCtEdgEkHwDbigdA=
github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod
h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts=
github.com/ryanuber/go-glob v1.0.0
h1:iQh3xXAumdQ+4Ufa5b25cRpC5TYKlno6hsv6Cb3pkBk=
+github.com/ryanuber/go-glob v1.0.0/go.mod
h1:807d1WSdnB0XRJzKNil9Om6lcp/3a0v4qIHxIXzX/Yc=
github.com/sahilm/fuzzy v0.1.0/go.mod
h1:VFvziUEIMCrT6A6tw2RFIXPXXmzXbOsSHF0DOI8ZK9Y=
github.com/samuel/go-zookeeper v0.0.0-20190923202752-2cc03de413da/go.mod
h1:gi+0XIa01GRL2eRQVjQkKGqKF3SF9vZR/HnPullcV2E=
github.com/sanposhiho/wastedassign v1.0.0/go.mod
h1:LGpq5Hsv74QaqM47WtIsRSF/ik9kqk07kchgv66tLVE=
@@ -1420,7 +1465,9 @@
github.com/spf13/viper v1.16.0/go.mod
h1:yg78JgCJcbrQOvV9YLXgkLaZqUidkY9K+Dd1FofRzQg=
github.com/spiffe/go-spiffe/v2 v2.1.4
h1:Z31Ycaf2Z5DF38sQGmp+iGKjBhBlSzfAq68bfy67Mxw=
github.com/spiffe/go-spiffe/v2 v2.1.4/go.mod
h1:eVDqm9xFvyqao6C+eQensb9ZPkyNEeaUbqbBpOhBnNk=
+github.com/src-d/gcfg v1.4.0/go.mod
h1:p/UMsR43ujA89BJY9duynAwIpvqEujIH/jFlfL7jWoI=
github.com/ssgreg/nlreturn/v2 v2.1.0/go.mod
h1:E/iiPB78hV7Szg2YfRgyIrk1AD6JVMTRkkxBiELzh2I=
+github.com/ssgreg/nlreturn/v2 v2.2.1/go.mod
h1:E/iiPB78hV7Szg2YfRgyIrk1AD6JVMTRkkxBiELzh2I=
github.com/stoewer/go-strcase v1.2.0/go.mod
h1:IBiWB2sKIp3wVVQ3Y035++gc+knqhUQag1KpM8ahLw8=
github.com/streadway/amqp v0.0.0-20190404075320-75d898a42a94/go.mod
h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw=
github.com/streadway/amqp v0.0.0-20190827072141-edfb9018d271/go.mod
h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw=
@@ -1461,12 +1508,15 @@
github.com/tent/canonical-json-go v0.0.0-20130607151641-96e4ba3a7613
h1:iGnD/q9160NWqKZZ5vY4p0dMiYMRknzctfSkqA4nBDw=
github.com/tent/canonical-json-go v0.0.0-20130607151641-96e4ba3a7613/go.mod
h1:g6AnIpDSYMcphz193otpSIzN+11Rs+AAIIC6rm1enug=
github.com/tetafro/godot v1.4.6/go.mod
h1:LR3CJpxDVGlYOWn3ZZg1PgNZdTUvzsZWu8xaEohUpn8=
+github.com/tetafro/godot v1.4.11/go.mod
h1:LR3CJpxDVGlYOWn3ZZg1PgNZdTUvzsZWu8xaEohUpn8=
github.com/thales-e-security/pool v0.0.2
h1:RAPs4q2EbWsTit6tpzuvTFlgFRJ3S8Evf5gtvVDbmPg=
github.com/thales-e-security/pool v0.0.2/go.mod
h1:qtpMm2+thHtqhLzTwgDBj/OuNnMpupY8mv0Phz0gjhU=
github.com/theupdateframework/go-tuf v0.5.2
h1:habfDzTmpbzBLIFGWa2ZpVhYvFBoK0C1onC3a4zuPRA=
github.com/theupdateframework/go-tuf v0.5.2/go.mod
h1:SyMV5kg5n4uEclsyxXJZI2UxPFJNDc4Y+r7wv+MlvTA=
github.com/tidwall/pretty v1.0.0/go.mod
h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk=
github.com/tidwall/pretty v1.2.0
h1:RWIZEg2iJ8/g6fDDYzMpobmaoGh5OLl4AXtGUGPcqCs=
+github.com/tidwall/pretty v1.2.0/go.mod
h1:ITEVvHYasfjBbM0u2Pg8T2nJnzm8xPwvNhhsoaGGjNU=
+github.com/tilinna/clock v1.1.0/go.mod
h1:ZsP7BcY7sEEz7ktc0IVy8Us6boDrK8VradlKRUGfOao=
github.com/timakin/bodyclose v0.0.0-20200424151742-cb6215831a94/go.mod
h1:Qimiffbc6q9tBWlVV6x0P9sat/ao1xEkREYPPj9hphk=
github.com/titanous/rocacheck v0.0.0-20171023193734-afe73141d399
h1:e/5i7d4oYZ+C1wj2THlRK+oAhjeS/TRQwMfkIuet3w0=
github.com/titanous/rocacheck v0.0.0-20171023193734-afe73141d399/go.mod
h1:LdwHTNJT99C5fTAzDz0ud328OgXz+gierycbcIx2fRs=
@@ -1551,6 +1601,7 @@
github.com/yuin/goldmark v1.4.13/go.mod
h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
github.com/yusufpapurcu/wmi v1.2.2
h1:KBNDSne4vP5mbSWnJbO+51IMOXJB67QiYCSBrubbPRg=
github.com/yusufpapurcu/wmi v1.2.2/go.mod
h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0=
+github.com/zalando/go-keyring v0.1.1/go.mod
h1:OIC+OZ28XbmwFxU/Rp9V7eKzZjamBJwRzC8UFJH9+L8=
github.com/zeebo/errs v1.3.0 h1:hmiaKqgYZzcVgRL1Vkc1Mn2914BbzB0IBxs+ebeutGs=
github.com/zeebo/errs v1.3.0/go.mod
h1:sgbWHsvVuTPHcqJJGQ1WhI5KbWlHYz+2+2C/LSEtCw4=
go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU=
@@ -2257,6 +2308,7 @@
google.golang.org/grpc v1.55.0 h1:3Oj82/tFSCeUrRTg/5E/7d/W5A1tj6Ky1ABAuZuv5ag=
google.golang.org/grpc v1.55.0/go.mod
h1:iYEXKGkEBhg1PjZQvoYEVPTDkHo1/bjTnfwTeGONTY8=
google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod
h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw=
+google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.2.0/go.mod
h1:DNq5QpG7LJqD2AamLZ7zvKE0DEpVl2BSEVjFycAAjRY=
google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod
h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8=
google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod
h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0=
google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod
h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM=
@@ -2300,6 +2352,9 @@
gopkg.in/resty.v1 v1.12.0/go.mod
h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo=
gopkg.in/square/go-jose.v2 v2.2.2/go.mod
h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI=
gopkg.in/square/go-jose.v2 v2.6.0
h1:NGk74WTnPKBNUhNzQX7PYcTLUjoq7mzKk2OKbvwk2iI=
+gopkg.in/square/go-jose.v2 v2.6.0/go.mod
h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI=
+gopkg.in/src-d/go-billy.v4 v4.3.2/go.mod
h1:nDjArDMp+XMs1aFAESLRjfGSgfvoYN0hDfzEk0GjC98=
+gopkg.in/src-d/go-git.v4 v4.13.1/go.mod
h1:nx5NYcxdKxq5fpltdHnPa2Exj4Sx0EclMWZQbYDu2z8=
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7
h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ=
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod
h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw=
gopkg.in/warnings.v0 v0.1.2/go.mod
h1:jksf8JmL6Qr/oQM2OXTHunEvvTAsrWBLb6OOjuVWRNI=
@@ -2321,6 +2376,7 @@
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gotest.tools v2.2.0+incompatible
h1:VsBPFP1AI068pPrMxtb/S8Zkgf9xEmTLJjfM+P5UIEo=
+gotest.tools v2.2.0+incompatible/go.mod
h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw=
gotest.tools/v3 v3.0.2/go.mod h1:3SzNCllyD9/Y+b5r9JIKQ474KzkZyqLqEfYqMsX94Bk=
gotest.tools/v3 v3.0.3/go.mod h1:Z7Lb0S5l+klDB31fvDQX8ss/FlKDxtlFlw3Oa8Ymbl8=
gotest.tools/v3 v3.4.0 h1:ZazjZUfuVeZGLAmlKKuyv3IKP5orXcwtOwDQH6YVr6o=
@@ -2350,6 +2406,7 @@
k8s.io/gengo v0.0.0-20200413195148-3a45101e95ac/go.mod
h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0=
k8s.io/gengo v0.0.0-20210813121822-485abfe95c7c/go.mod
h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E=
k8s.io/gengo v0.0.0-20220902162205-c0856e24416d/go.mod
h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E=
+k8s.io/klog v1.0.0/go.mod h1:4Bi6QPql/J/LkTDqv7R/cd3hPo4k2DG6Ptcz060Ez5I=
k8s.io/klog/v2 v2.0.0/go.mod h1:PBfzABfn139FHAV07az/IF9Wp1bkk3vpT2XSJ76fSDE=
k8s.io/klog/v2 v2.2.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y=
k8s.io/klog/v2 v2.8.0/go.mod h1:hy9LJ/NvuK+iVyP4Ehqva4HxZG/oXyIS3n3Jmire4Ec=
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/kubearmor-client-0.14.1/probe/print.go
new/kubearmor-client-0.14.2/probe/print.go
--- old/kubearmor-client-0.14.1/probe/print.go 2023-09-26 08:11:52.000000000
+0200
+++ new/kubearmor-client-0.14.2/probe/print.go 2023-10-24 16:58:33.000000000
+0200
@@ -114,3 +114,34 @@
table.SetAutoMergeCellsByColumnIndex([]int{0, 1, 2})
table.Render()
}
+func printContainersSystemd(podData [][]string) {
+ _, err := boldWhite.Printf("Armored Up Containers : \n")
+ if err != nil {
+ color.Red(" Error printing bold text")
+ }
+
+ table := tablewriter.NewWriter(os.Stdout)
+ table.SetHeader([]string{"CONTAINER NAME", "POLICY"})
+ for _, v := range podData {
+ table.Append(v)
+ }
+ table.SetRowLine(true)
+ table.SetAutoMergeCellsByColumnIndex([]int{0, 1})
+ table.Render()
+
+}
+func printHostPolicy(hostPolicy [][]string) {
+ _, err := boldWhite.Printf("Host Policies : \n")
+ if err != nil {
+ color.Red(" Error printing bold text")
+ }
+
+ table := tablewriter.NewWriter(os.Stdout)
+ table.SetHeader([]string{"HOST NAME ", "POLICY"})
+ for _, v := range hostPolicy {
+ table.Append(v)
+ }
+ table.SetRowLine(true)
+ table.SetAutoMergeCellsByColumnIndex([]int{0, 1})
+ table.Render()
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/kubearmor-client-0.14.1/probe/probe.go
new/kubearmor-client-0.14.2/probe/probe.go
--- old/kubearmor-client-0.14.1/probe/probe.go 2023-09-26 08:11:52.000000000
+0200
+++ new/kubearmor-client-0.14.2/probe/probe.go 2023-10-24 16:58:33.000000000
+0200
@@ -25,6 +25,8 @@
tp "github.com/kubearmor/KubeArmor/KubeArmor/types"
"github.com/kubearmor/kubearmor-client/deployment"
"github.com/kubearmor/kubearmor-client/k8s"
+ "google.golang.org/grpc"
+ "google.golang.org/protobuf/types/known/emptypb"
"golang.org/x/exp/slices"
"golang.org/x/mod/semver"
@@ -35,6 +37,7 @@
"errors"
+ pb "github.com/kubearmor/KubeArmor/protobuf"
"golang.org/x/sys/unix"
)
@@ -75,10 +78,44 @@
}
}
if isSystemdMode() {
- err := probeSystemdMode()
+ kd, err := probeSystemdMode()
if err != nil {
return err
}
+ policyData, err := getPolicyData(o)
+ if err != nil {
+ return err
+ }
+ armoredContainers, containerMap :=
getArmoredContainerData(policyData.ContainerList, policyData.ContainerMap)
+ hostPolicyData := getHostPolicyData(policyData)
+ if o.Output == "json" {
+ probeData := map[string]interface{}{"Probe Data":
map[string]interface{}{
+ "Host": kd,
+ "HostPolicies": policyData.HostMap,
+ "ArmoredContainers": containerMap,
+ },
+ }
+ out, err := json.Marshal(probeData)
+ if err != nil {
+ return err
+ }
+ fmt.Println(string(out))
+ } else {
+
+ color.Green("\nFound KubeArmor running in Systemd mode
\n\n")
+
+ _, err := boldWhite.Printf("Host : \n")
+ if err != nil {
+ color.Red(" Error")
+ }
+ printKubeArmorProbeOutput(kd)
+ if len(policyData.HostMap) > 0 {
+ printHostPolicy(hostPolicyData)
+ }
+ printContainersSystemd(armoredContainers)
+
+ }
+
return nil
}
isRunning, daemonsetStatus := isKubeArmorRunning(c, o)
@@ -544,34 +581,104 @@
if err != nil {
return false
}
- color.Green("\nFound KubeArmor running in Systemd mode \n\n")
return true
}
-func probeSystemdMode() error {
+func probeSystemdMode() (KubeArmorProbeData, error) {
jsonFile, err := os.Open("/tmp/karmorProbeData.cfg")
if err != nil {
log.Println(err)
- return err
+ return KubeArmorProbeData{}, err
}
buf, err := io.ReadAll(jsonFile)
if err != nil {
log.Println("an error occured when reading file", err)
- return err
- }
- _, err = boldWhite.Printf("Host : \n")
- if err != nil {
- color.Red(" Error")
+ return KubeArmorProbeData{}, err
}
+
var kd KubeArmorProbeData
var json = jsoniter.ConfigCompatibleWithStandardLibrary
err = json.Unmarshal(buf, &kd)
if err != nil {
- return err
+ return KubeArmorProbeData{}, err
}
- printKubeArmorProbeOutput(kd)
- return nil
+ return kd, nil
+}
+
+func getPolicyData(o Options) (*pb.ProbeResponse, error) {
+ gRPC := ""
+
+ if o.GRPC != "" {
+ gRPC = o.GRPC
+ } else {
+ if val, ok := os.LookupEnv("KUBEARMOR_SERVICE"); ok {
+ gRPC = val
+ } else {
+ gRPC = "localhost:32767"
+ }
+ }
+ conn, err := grpc.Dial(gRPC, grpc.WithInsecure())
+ if err != nil {
+ return nil, err
+ }
+ client := pb.NewProbeServiceClient(conn)
+
+ resp, err := client.GetProbeData(context.Background(), &emptypb.Empty{})
+ if err != nil {
+ fmt.Println(err)
+ return nil, err
+ }
+
+ return resp, nil
+
+}
+func getArmoredContainerData(containerList []string, containerMap
map[string]*pb.ContainerData) ([][]string, map[string][]string) {
+
+ var data [][]string
+ for _, containerName := range containerList {
+
+ if _, ok := containerMap[containerName]; ok {
+ if containerMap[containerName].PolicyEnabled == 1 {
+ for _, policyName := range
containerMap[containerName].PolicyList {
+ data = append(data,
[]string{containerName, policyName})
+ }
+ }
+ } else {
+ data = append(data, []string{containerName, ""})
+ }
+
+ }
+ mp := make(map[string][]string)
+
+ for _, v := range data {
+
+ if val, exists := mp[v[0]]; exists {
+
+ val = append(val, v[1])
+ mp[v[0]] = val
+
+ } else {
+ mp[v[0]] = []string{v[1]}
+ }
+
+ }
+
+ return data, mp
+
+}
+func getHostPolicyData(policyData *pb.ProbeResponse) [][]string {
+
+ var data [][]string
+ for k, v := range policyData.HostMap {
+
+ for _, policy := range v.PolicyList {
+ data = append(data, []string{k, policy})
+ }
+
+ }
+ return data
+
}
func getAnnotatedPodLabels(m map[string]string) mapset.Set[string] {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/kubearmor-client-0.14.1/probe/types.go
new/kubearmor-client-0.14.2/probe/types.go
--- old/kubearmor-client-0.14.1/probe/types.go 2023-09-26 08:11:52.000000000
+0200
+++ new/kubearmor-client-0.14.2/probe/types.go 2023-10-24 16:58:33.000000000
+0200
@@ -9,6 +9,7 @@
Namespace string
Full bool
Output string
+ GRPC string
}
// KubeArmorProbeData structure definition
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/kubearmor-client-0.14.1/summary/summary.go
new/kubearmor-client-0.14.2/summary/summary.go
--- old/kubearmor-client-0.14.1/summary/summary.go 2023-09-26
08:11:52.000000000 +0200
+++ new/kubearmor-client-0.14.2/summary/summary.go 1970-01-01
01:00:00.000000000 +0100
@@ -1,140 +0,0 @@
-// SPDX-License-Identifier: Apache-2.0
-// Copyright 2022 Authors of KubeArmor
-
-// Package summary shows observability data from discovery engine
-package summary
-
-import (
- "context"
- "encoding/json"
- "errors"
- "fmt"
- "os"
- "strconv"
-
- opb
"github.com/accuknox/auto-policy-discovery/src/protobuf/v1/observability"
- "github.com/kubearmor/kubearmor-client/k8s"
- "github.com/kubearmor/kubearmor-client/utils"
-
- "google.golang.org/grpc"
- "google.golang.org/grpc/credentials/insecure"
-)
-
-// DefaultReqType : default option for request type
-var DefaultReqType = "process,file,network"
-var matchLabels = map[string]string{"app": "discovery-engine"}
-var port int64 = 9089
-
-// Options Structure
-type Options struct {
- GRPC string
- Labels string
- Namespace string
- PodName string
- ClusterName string
- ContainerName string
- Type string
- Output string
- RevDNSLookup bool
- Aggregation bool
-}
-
-// GetSummary on pods
-func GetSummary(c *k8s.Client, o Options) ([]*opb.Response, error) {
- var jsonObs []*opb.Response
- gRPC := ""
- targetSvc := "discovery-engine"
-
- if o.GRPC != "" {
- gRPC = o.GRPC
- } else {
- if val, ok := os.LookupEnv("DISCOVERY_SERVICE"); ok {
- gRPC = val
- } else {
- pf, err := utils.InitiatePortForward(c, port, port,
matchLabels, targetSvc)
- if err != nil {
- return nil, err
- }
- gRPC = "localhost:" + strconv.FormatInt(pf.LocalPort,
10)
- }
- }
-
- data := &opb.Request{
- Label: o.Labels,
- NameSpace: o.Namespace,
- PodName: o.PodName,
- ClusterName: o.ClusterName,
- ContainerName: o.ContainerName,
- Aggregate: o.Aggregation,
- Type: o.Type,
- }
-
- // create a client
- conn, err := grpc.Dial(gRPC,
grpc.WithTransportCredentials(insecure.NewCredentials()))
- if err != nil {
- return nil, errors.New("could not connect to the server.
Possible troubleshooting:\n- Check if discovery engine is running\n- kubectl
get po -n accuknox-agents")
- }
- defer conn.Close()
-
- client := opb.NewObservabilityClient(conn)
-
- if data.PodName != "" {
- sumResp, err := client.Summary(context.Background(), data)
- if err != nil {
- return nil, err
- }
- if o.Output == "" {
- DisplaySummaryOutput(sumResp, o.RevDNSLookup, o.Type)
- }
-
- if o.Output == "json" {
- jsonObs = append(jsonObs, sumResp)
- return jsonObs, nil
- }
-
- } else {
- //Fetch Summary Logs
- podNameResp, err := client.GetPodNames(context.Background(),
data)
- if err != nil {
- return nil, err
- }
-
- for _, podname := range podNameResp.PodName {
- if podname == "" {
- continue
- }
- data.PodName = podname
- sumResp, err := client.Summary(context.Background(),
data)
- if err != nil {
- return nil, err
- }
- if o.Output == "" {
- DisplaySummaryOutput(sumResp, o.RevDNSLookup,
o.Type)
- }
-
- if o.Output == "json" {
- jsonObs = append(jsonObs, sumResp)
- }
- }
- if o.Output == "json" {
- return jsonObs, nil
- }
- }
- return jsonObs, nil
-}
-
-// Summary - printing the summary output
-func Summary(c *k8s.Client, o Options) error {
- summary, err := GetSummary(c, o)
- if err != nil {
- return err
- }
- if o.Output == "json" {
- summaryJson, err := json.MarshalIndent(summary, "", " ")
- if err != nil {
- return err
- }
- fmt.Printf("%s", string(summaryJson))
- }
- return nil
-}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/kubearmor-client-0.14.1/summary/table.go
new/kubearmor-client-0.14.2/summary/table.go
--- old/kubearmor-client-0.14.1/summary/table.go 2023-09-26
08:11:52.000000000 +0200
+++ new/kubearmor-client-0.14.2/summary/table.go 1970-01-01
01:00:00.000000000 +0100
@@ -1,221 +0,0 @@
-package summary
-
-import (
- "fmt"
- "net"
- "os"
- "sort"
- "strings"
-
- opb
"github.com/accuknox/auto-policy-discovery/src/protobuf/v1/observability"
- "github.com/mgutz/ansi"
-
- "github.com/olekukonko/tablewriter"
-)
-
-var (
- // SysProcHeader variable contains source process, destination process
path, count, timestamp and status
- SysProcHeader = []string{"Src Process", "Destination Process Path",
"Count", "Last Updated Time", "Status"}
- // SysFileHeader variable contains source process, destination file
path, count, timestamp and status
- SysFileHeader = []string{"Src Process", "Destination File Path",
"Count", "Last Updated Time", "Status"}
- // SysNwHeader variable contains protocol, command, POD/SVC/IP, Port,
Namespace, and Labels
- SysNwHeader = []string{"Protocol", "Command", "POD/SVC/IP", "Port",
"Namespace", "Labels", "Count", "Last Updated Time"}
- // SysBindNwHeader variable contains protocol, command, Bind Port, Bind
Address, count and timestamp
- SysBindNwHeader = []string{"Protocol", "Command", "Bind Port", "Bind
Address", "Count", "Last Updated Time"}
-)
-
-// DisplaySummaryOutput function
-func DisplaySummaryOutput(resp *opb.Response, revDNSLookup bool, requestType
string) {
-
- if len(resp.ProcessData) <= 0 && len(resp.FileData) <= 0 &&
len(resp.IngressConnection) <= 0 && len(resp.EgressConnection) <= 0 {
- return
- }
-
- writePodInfoToTable(resp.PodName, resp.Namespace, resp.ClusterName,
resp.ContainerName, resp.Label)
-
- // Colored Status for Allow and Deny
- agc := ansi.ColorFunc("green")
- arc := ansi.ColorFunc("red")
- ayc := ansi.ColorFunc("yellow")
-
- if strings.Contains(requestType, "process") {
- if len(resp.ProcessData) > 0 {
- procRowData := [][]string{}
- // Display process data
- fmt.Printf("\nProcess Data\n")
- for _, procData := range resp.ProcessData {
- procStrSlice := []string{}
- procStrSlice = append(procStrSlice,
procData.Source)
- procStrSlice = append(procStrSlice,
procData.Destination)
- procStrSlice = append(procStrSlice,
procData.Count)
- procStrSlice = append(procStrSlice,
procData.UpdatedTime)
- if procData.Status == "Allow" {
- procStrSlice = append(procStrSlice,
agc(procData.Status))
- } else if procData.Status == "Audit" {
- procStrSlice = append(procStrSlice,
ayc(procData.Status))
- } else {
- procStrSlice = append(procStrSlice,
arc(procData.Status))
- }
- procRowData = append(procRowData, procStrSlice)
- }
- sort.Slice(procRowData[:], func(i, j int) bool {
- for x := range procRowData[i] {
- if procRowData[i][x] ==
procRowData[j][x] {
- continue
- }
- return procRowData[i][x] <
procRowData[j][x]
- }
- return false
- })
- WriteTable(SysProcHeader, procRowData)
- fmt.Printf("\n")
- }
- }
-
- if strings.Contains(requestType, "file") {
- if len(resp.FileData) > 0 {
- fmt.Printf("\nFile Data\n")
- // Display file data
- fileRowData := [][]string{}
- for _, fileData := range resp.FileData {
- fileStrSlice := []string{}
- fileStrSlice = append(fileStrSlice,
fileData.Source)
- fileStrSlice = append(fileStrSlice,
fileData.Destination)
- fileStrSlice = append(fileStrSlice,
fileData.Count)
- fileStrSlice = append(fileStrSlice,
fileData.UpdatedTime)
- if fileData.Status == "Allow" {
- fileStrSlice = append(fileStrSlice,
agc(fileData.Status))
- } else if fileData.Status == "Audit" {
- fileStrSlice = append(fileStrSlice,
ayc(fileData.Status))
- } else {
- fileStrSlice = append(fileStrSlice,
arc(fileData.Status))
- }
- fileRowData = append(fileRowData, fileStrSlice)
- }
- sort.Slice(fileRowData[:], func(i, j int) bool {
- for x := range fileRowData[i] {
- if fileRowData[i][x] ==
fileRowData[j][x] {
- continue
- }
- return fileRowData[i][x] <
fileRowData[j][x]
- }
- return false
- })
- WriteTable(SysFileHeader, fileRowData)
- fmt.Printf("\n")
- }
- }
-
- if strings.Contains(requestType, "network") {
- if len(resp.IngressConnection) > 0 {
- fmt.Printf("\nIngress connections\n")
- // Display server conn data
- inNwRowData := [][]string{}
- for _, ingressConnection := range
resp.IngressConnection {
- inNwStrSlice := []string{}
- domainName := dnsLookup(ingressConnection.IP,
revDNSLookup)
- inNwStrSlice = append(inNwStrSlice,
ingressConnection.Protocol)
- inNwStrSlice = append(inNwStrSlice,
ingressConnection.Command)
- inNwStrSlice = append(inNwStrSlice, domainName)
- inNwStrSlice = append(inNwStrSlice,
ingressConnection.Port)
- inNwStrSlice = append(inNwStrSlice,
ingressConnection.Namespace)
- inNwStrSlice = append(inNwStrSlice,
ingressConnection.Labels)
- inNwStrSlice = append(inNwStrSlice,
ingressConnection.Count)
- inNwStrSlice = append(inNwStrSlice,
ingressConnection.UpdatedTime)
- inNwRowData = append(inNwRowData, inNwStrSlice)
- }
- WriteTable(SysNwHeader, inNwRowData)
- fmt.Printf("\n")
- }
-
- if len(resp.EgressConnection) > 0 {
- fmt.Printf("\nEgress connections\n")
- // Display server conn data
- outNwRowData := [][]string{}
- for _, egressConnection := range resp.EgressConnection {
- outNwStrSlice := []string{}
- domainName := dnsLookup(egressConnection.IP,
revDNSLookup)
- outNwStrSlice = append(outNwStrSlice,
egressConnection.Protocol)
- outNwStrSlice = append(outNwStrSlice,
egressConnection.Command)
- outNwStrSlice = append(outNwStrSlice,
domainName)
- outNwStrSlice = append(outNwStrSlice,
egressConnection.Port)
- outNwStrSlice = append(outNwStrSlice,
egressConnection.Namespace)
- outNwStrSlice = append(outNwStrSlice,
egressConnection.Labels)
- outNwStrSlice = append(outNwStrSlice,
egressConnection.Count)
- outNwStrSlice = append(outNwStrSlice,
egressConnection.UpdatedTime)
- outNwRowData = append(outNwRowData,
outNwStrSlice)
- }
- WriteTable(SysNwHeader, outNwRowData)
- fmt.Printf("\n")
- }
-
- if len(resp.BindConnection) > 0 {
- fmt.Printf("\nBind Points\n")
- // Display bind connections details
- bindNwRowData := [][]string{}
- for _, bindConnection := range resp.BindConnection {
- bindNwStrSlice := []string{}
- bindNwStrSlice = append(bindNwStrSlice,
bindConnection.Protocol)
- bindNwStrSlice = append(bindNwStrSlice,
bindConnection.Command)
- bindNwStrSlice = append(bindNwStrSlice,
bindConnection.BindPort)
- bindNwStrSlice = append(bindNwStrSlice,
bindConnection.BindAddress)
- bindNwStrSlice = append(bindNwStrSlice,
bindConnection.Count)
- bindNwStrSlice = append(bindNwStrSlice,
bindConnection.UpdatedTime)
- bindNwRowData = append(bindNwRowData,
bindNwStrSlice)
- }
- WriteTable(SysBindNwHeader, bindNwRowData)
- fmt.Printf("\n")
- }
- }
-}
-
-func dnsLookup(ip string, revDNSLookup bool) string {
- if revDNSLookup {
- if strings.Contains(ip, "svc") || strings.Contains(ip, "pod") {
- return ip
- }
- dns, err := net.LookupAddr(ip)
- if err != nil {
- return ip
- }
- if dns[0] != "" {
- return dns[0]
- }
- }
- return ip
-}
-
-// WriteTable function
-func WriteTable(header []string, data [][]string) {
- table := tablewriter.NewWriter(os.Stdout)
- table.SetHeader(header)
- table.SetAlignment(tablewriter.ALIGN_LEFT)
- for _, v := range data {
- table.Append(v)
- }
- table.Render()
-}
-
-func writePodInfoToTable(podname, namespace, clustername, containername,
labels string) {
-
- fmt.Printf("\n")
-
- podinfo := [][]string{
- {"Pod Name", podname},
- {"Namespace Name", namespace},
- {"Cluster Name", clustername},
- {"Container Name", containername},
- {"Labels", labels},
- }
- table := tablewriter.NewWriter(os.Stdout)
- table.SetBorder(false)
- table.SetTablePadding("\t")
- table.SetCenterSeparator("")
- table.SetColumnSeparator("")
- table.SetRowSeparator("")
- table.SetAlignment(tablewriter.ALIGN_LEFT)
- for _, v := range podinfo {
- table.Append(v)
- }
- table.Render()
-}
++++++ kubearmor-client.obsinfo ++++++
--- /var/tmp/diff_new_pack.4Kq5cZ/_old 2023-10-26 17:14:15.735923520 +0200
+++ /var/tmp/diff_new_pack.4Kq5cZ/_new 2023-10-26 17:14:15.739923667 +0200
@@ -1,5 +1,5 @@
name: kubearmor-client
-version: 0.14.1
-mtime: 1695708712
-commit: 4507cc069e7e5f6fd5c2c74bdd42671a51dbcefd
+version: 0.14.2
+mtime: 1698159513
+commit: 4183b814ccc4ef433f29594fb8c2a27160bff9e3
++++++ vendor.tar.gz ++++++
/work/SRC/openSUSE:Factory/kubearmor-client/vendor.tar.gz
/work/SRC/openSUSE:Factory/.kubearmor-client.new.24901/vendor.tar.gz differ:
char 5, line 1