utils

package
v0.1.24 Latest Latest
Warning

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

Go to latest
Published: Jun 7, 2023 License: Apache-2.0 Imports: 17 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 (
	ReleaseBuildTagEnvironmentVariable = "RELEASE"
	NamespaceEnvironmentVariable       = "NAMESPACE"
	ConfigEnvironmentVariable          = "CONFIG"
	PortEnvironmentVariable            = "PORT"
	CleanUpDelayEnvironmentVariable    = "CLEANUP_DELAY"
)
View Source
const ContainerToImageIdsArg = "containerToImageIDs"
View Source
const KubescapeRequestPathV1 = "v1/scan"
View Source
const KubescapeRequestStatusV1 = "v1/status"
View Source
const KubescapeScanV1 = "scanV1"

Variables

View Source
var (
	Namespace              string        = "default" // default namespace
	RestAPIPort            string        = "4002"    // default port
	CleanUpRoutineInterval time.Duration = 10 * time.Minute
)
View Source
var ClusterConfig = &utilsmetadata.ClusterConfig{}
View Source
var ReporterHttpClient httputils.IHttpClient

Functions

func AddCommandToChannel added in v0.1.21

func AddCommandToChannel(ctx context.Context, cmd *apis.Command, channel *chan SessionObj)

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 InitKubescapeHttpClient

func InitKubescapeHttpClient() httputils.IHttpClient

func InitReporterHttpClient

func InitReporterHttpClient() httputils.IHttpClient

func InitVulnScanHttpClient

func InitVulnScanHttpClient() httputils.IHttpClient

func LoadEnvironmentVariables

func LoadEnvironmentVariables(ctx context.Context) (err error)

func MapToString

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

func NewJobTracking

func NewJobTracking(reporter reporterlib.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 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 SessionObj

type SessionObj struct {
	Command  apis.Command          `json:"command"`
	Reporter reporterlib.IReporter `json:"reporter"`
	ErrChan  chan error            `json:"-"`
}

Commands list of commands received from websocket

func NewSessionObj

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

func (*SessionObj) WatchErrors

func (sessionObj *SessionObj) WatchErrors(ctx context.Context)

Jump to

Keyboard shortcuts

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