mirror of
https://github.com/kubescape/kubescape.git
synced 2026-04-15 06:58:11 +00:00
* adding operator CLI to kubescape Signed-off-by: rcohencyberarmor <rcohen@armosec.io> * support http requet for trigger in cluster operator Signed-off-by: rcohencyberarmor <rcohen@armosec.io> * create interface for create request payload Signed-off-by: rcohencyberarmor <rcohen@armosec.io> * logs + go mod update Signed-off-by: rcohencyberarmor <rcohen@armosec.io> * docs Signed-off-by: rcohencyberarmor <rcohen@armosec.io> * add relevant system tests Signed-off-by: rcohencyberarmor <rcohen@armosec.io> * linter corrections Signed-off-by: rcohencyberarmor <rcohen@armosec.io> * code review corrections Signed-off-by: rcohencyberarmor <rcohen@armosec.io> * remove non relevant system tests - after code review corrections Signed-off-by: rcohencyberarmor <rcohen@armosec.io> * PR corrections Signed-off-by: rcohencyberarmor <rcohen@armosec.io> * PR corrections Signed-off-by: rcohencyberarmor <rcohen@armosec.io> * change log Signed-off-by: rcohencyberarmor <rcohen@armosec.io> * remove from examples Signed-off-by: rcohencyberarmor <rcohen@armosec.io> * change log Signed-off-by: rcohencyberarmor <rcohen@armosec.io> * test correction Signed-off-by: rcohencyberarmor <rcohen@armosec.io> --------- Signed-off-by: rcohencyberarmor <rcohen@armosec.io> Co-authored-by: rcohencyberarmor <rcohen@armosec.io>
46 lines
1.5 KiB
Go
46 lines
1.5 KiB
Go
package operator
|
|
|
|
import (
|
|
"errors"
|
|
"fmt"
|
|
|
|
"github.com/kubescape/kubescape/v2/core/cautils"
|
|
"github.com/kubescape/kubescape/v2/core/meta"
|
|
"github.com/spf13/cobra"
|
|
)
|
|
|
|
const (
|
|
vulnerabilitiesSubCommand string = "vulnerabilities"
|
|
configurationsSubCommand string = "configurations"
|
|
)
|
|
|
|
func getOperatorScanCmd(ks meta.IKubescape, operatorInfo cautils.OperatorInfo) *cobra.Command {
|
|
operatorCmd := &cobra.Command{
|
|
Use: "scan",
|
|
Short: "Scan your cluster using the Kubescape-operator within the cluster components",
|
|
Long: ``,
|
|
Example: operatorExamples,
|
|
Args: func(cmd *cobra.Command, args []string) error {
|
|
operatorInfo.Subcommands = append(operatorInfo.Subcommands, "scan")
|
|
if len(args) < 1 {
|
|
return errors.New("for operator scan sub command, you must pass at least 1 more sub commands, see above examples")
|
|
}
|
|
return nil
|
|
},
|
|
RunE: func(cmd *cobra.Command, args []string) error {
|
|
if len(args) < 1 {
|
|
return errors.New("for operator scan sub command, you must pass at least 1 more sub commands, see above examples")
|
|
}
|
|
if (args[0] != vulnerabilitiesSubCommand) && (args[0] != configurationsSubCommand) {
|
|
return errors.New(fmt.Sprintf("For the operator sub-command, only %s and %s are supported. Refer to the examples above.", vulnerabilitiesSubCommand, configurationsSubCommand))
|
|
}
|
|
return nil
|
|
},
|
|
}
|
|
|
|
operatorCmd.AddCommand(getOperatorScanConfigCmd(ks, operatorInfo))
|
|
operatorCmd.AddCommand(getOperatorScanVulnerabilitiesCmd(ks, operatorInfo))
|
|
|
|
return operatorCmd
|
|
}
|