From 13f09315e7bf826573cc3573e77d64fcd7ff46bd Mon Sep 17 00:00:00 2001 From: Alessio Greggi Date: Thu, 6 Oct 2022 07:11:42 +0200 Subject: [PATCH] feat: add `--kubeconfig` flag (#858) * feat: add --kubeconfig flag * docs: add kubeconfig flag example --- README.md | 5 +++++ cmd/scan/scan.go | 4 ++++ 2 files changed, 9 insertions(+) diff --git a/README.md b/README.md index 745a577d..6f3aaea0 100644 --- a/README.md +++ b/README.md @@ -194,6 +194,11 @@ kubescape scan framework mitre --submit kubescape scan control "Privileged container" ``` +#### Scan using an anternative kubeconfig file +``` +kubescape scan --kubeconfig cluster.conf +``` + #### Scan specific namespaces ``` kubescape scan --include-namespaces development,staging,production diff --git a/cmd/scan/scan.go b/cmd/scan/scan.go index 8ae0189d..75121bb9 100644 --- a/cmd/scan/scan.go +++ b/cmd/scan/scan.go @@ -1,6 +1,7 @@ package scan import ( + "flag" "fmt" "github.com/kubescape/k8s-interface/k8sinterface" @@ -97,6 +98,9 @@ func GetScanCommand(ks meta.IKubescape) *cobra.Command { scanCmd.PersistentFlags().MarkHidden("silent") // this flag should be deprecated since we added the --logger support // scanCmd.PersistentFlags().MarkHidden("format-version") // meant for testing different output approaches and not for common use + // Retrieve --kubeconfig flag from https://github.com/kubernetes/kubectl/blob/master/pkg/cmd/cmd.go + scanCmd.PersistentFlags().AddGoFlag(flag.Lookup("kubeconfig")) + hostF := scanCmd.PersistentFlags().VarPF(&scanInfo.HostSensorEnabled, "enable-host-scan", "", "Deploy ARMO K8s host-sensor daemonset in the scanned cluster. Deleting it right after we collecting the data. Required to collect valuable data from cluster nodes for certain controls. Yaml file: https://github.com/kubescape/kubescape/blob/master/core/pkg/hostsensorutils/hostsensor.yaml") hostF.NoOptDefVal = "true" hostF.DefValue = "false, for no TTY in stdin"