utils

package
v0.2.6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 4, 2024 License: Apache-2.0 Imports: 23 Imported by: 0

Documentation

Overview

Package utils contains utilities common to all units of the Operator

The package includes:

- Common utilities

- Common test utilities, like constructors for test doubles etc

Index

Constants

View Source
const ArgdContainerToImageIds = "containerToImageIDs"
View Source
const ArgsContainerData = "containerData"
View Source
const ArgsPod = "pod"
View Source
const CommandScanFilteredSBOM = "scanFilteredSBOM"
View Source
const KubescapeRequestPathV1 = "v1/scan"
View Source
const KubescapeRequestStatusV1 = "v1/status"
View Source
const KubescapeScanV1 = "scanV1"

Variables

View Source
var (
	ReporterHttpClient httputils.IHttpClient
)

Functions

func AddCommandToChannel added in v0.1.21

func AddCommandToChannel(ctx context.Context, config config.IConfig, cmd *apis.Command, workerPool *ants.PoolWithFunc) error

func ExtractContainersToImageIDsFromPod added in v0.1.21

func ExtractContainersToImageIDsFromPod(pod *core1.Pod) map[string]string

func ExtractImageID added in v0.1.21

func ExtractImageID(imageID string) string

func GetRequestHeaders added in v0.1.70

func GetRequestHeaders(accessKey string) map[string]string

func InitHttpClient added in v0.1.70

func InitHttpClient(url string) httputils.IHttpClient

func MapToString

func MapToString(m map[string]interface{}) []string

func NewJobTracking

func NewJobTracking(reporter systemreports.IReporter) *apis.JobTracking

func NewK8sInterfaceFake added in v0.1.21

func NewK8sInterfaceFake(k8sClient k8s.Interface) *k8sinterface.KubernetesApi

NewK8sInterfaceFake returns a new K8sInterface with a fake Kubernetes Client attached

This function is a Dependency Injection-friendly version for the `KubernetesApi` constructor that allows to inject any Kubernetes Clients. For example, the official fake Kubernetes client, so unit tests would have a suitable test double instead of trying to talk to a real cluster

Types

type ClientMock

type ClientMock struct {
}

func (*ClientMock) Do

func (c *ClientMock) Do(req *http.Request) (*http.Response, error)

type ContainerData added in v0.2.4

type ContainerData struct {
	ImageTag      string // imageTag (from container.Image)
	ImageID       string // imageID (from containerStatus.ImageID)
	ContainerName string // containerName
	ContainerType string // containerType (init or regular)
	Slug          string // represent the unique identifier of the container
	Wlid          string // workloadID
}

func PodToContainerData added in v0.2.4

func PodToContainerData(k8sAPI *k8sinterface.KubernetesApi, pod *core1.Pod, instanceID instanceidhandler.IInstanceID, clusterName string) (*ContainerData, error)

type CredStruct

type CredStruct struct {
	User     string `json:"user"`
	Password string `json:"password"`
	Customer string `json:"customer"`
}

CredStruct holds the various credentials needed to do login into CA BE

type Job added in v0.1.39

type Job struct {
	// contains filtered or unexported fields
}

func (*Job) Context added in v0.1.39

func (j *Job) Context() context.Context

func (*Job) Obj added in v0.1.39

func (j *Job) Obj() SessionObj

func (*Job) SetContext added in v0.1.39

func (j *Job) SetContext(ctx context.Context)

func (*Job) SetObj added in v0.1.39

func (j *Job) SetObj(sessionObj SessionObj)

type SessionObj

type SessionObj struct {
	Command  apis.Command             `json:"command"`
	Reporter beClientV1.IReportSender `json:"reporter"`
}

Commands list of commands received from websocket

func NewSessionObj

func NewSessionObj(ctx context.Context, config config.IConfig, command *apis.Command, message, parentID, jobID string, actionNumber int) *SessionObj

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL