k8s

package
v1.6.3 Latest Latest
Warning

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

Go to latest
Published: Oct 11, 2022 License: MPL-2.0 Imports: 27 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ResourceNameMaxLength = 52
)

Variables

DefaultMondooClientResources for Mondoo Client container

DefaultNodeScanningResources for Mondoo Client container when scanning nodes

Functions

func AreCronJobsEqual added in v0.2.8

func AreCronJobsEqual(a, b batchv1.CronJob) bool

AreCronJobsEqual returns a value indicating whether 2 cron jobs are equal. Note that it does not perform a full comparison but checks just some of the properties of a deployment (only the ones we are currently interested at).

func AreCronJobsSuccessful added in v0.2.8

func AreCronJobsSuccessful(cs []batchv1.CronJob) bool

AreCronJobsSuccessful returns true if the latest runs of all of the provided CronJobs has been successful.

func AreDeploymentsEqual

func AreDeploymentsEqual(a, b appsv1.Deployment) bool

AreDeploymentsEqual returns a value indicating whether 2 deployments are equal. Note that it does not perform a full comparison but checks just some of the properties of a deployment (only the ones we are currently interested at).

func AreEnvVarsEqual added in v1.0.0

func AreEnvVarsEqual(a, b []corev1.EnvVar) bool

AreEnvVarsEqual returns a value indicating whether 2 slices of environment variables are equal. Ordering is ignored.

func AreResouceRequirementsEqual

func AreResouceRequirementsEqual(x corev1.ResourceRequirements, y corev1.ResourceRequirements) bool

AreResouceRequirementsEqual returns a value indicating whether 2 resource requirements are equal.

func AreSecurityContextsEqual added in v0.7.2

func AreSecurityContextsEqual(a, b *corev1.SecurityContext) bool

AreSecurityContextsEqual checks whether the provided Pod SecurityContexts are equal for the fields we are interested in.

func AreServicesEqual

func AreServicesEqual(a, b corev1.Service) bool

AreServicesEqual return a value indicating whether 2 services are equal. Note that it does not perform a full comparison but checks just some of the properties of a deployment (only the ones we are currently interested at).

func CheckIfExists added in v0.2.8

func CheckIfExists(ctx context.Context, kubeClient client.Client, retrieveObj, checkObj client.Object) (bool, error)

CheckIfExists will attempt to Get() the object, and report whether or not the object was found to exist.

func CreateIfNotExist

func CreateIfNotExist(ctx context.Context, kubeClient client.Client, retrieveObj, createObj client.Object) (bool, error)

CreateIfNotExist creates an object if it doesn't already exist. The returned boolean indicates whether the object has been created. If the object already existed or an error occurred, then "false" is returned. If the object exists, no AlreadyExists error is returned.

func DeleteIfExists

func DeleteIfExists(ctx context.Context, kubeClient client.Client, obj client.Object) error

DeleteIfExists deletes a Kubernetes object if it exists. Any errors that might pop up because the object does not exist are ignored.

func GetClusterUID added in v0.8.1

func GetClusterUID(ctx context.Context, kubeClient client.Client, log logr.Logger) (string, error)

GetClusterUID will just attempt to get the 'kube-system' Namespace and return the UID of the resource

func GetIntegrationMrnFromSecret added in v0.6.0

func GetIntegrationMrnFromSecret(secret corev1.Secret) (string, error)

func GetIntegrationSecretForAuditConfig added in v0.6.0

func GetIntegrationSecretForAuditConfig(ctx context.Context, kubeClient client.Client, auditConfig v1alpha2.MondooAuditConfig) (*corev1.Secret, error)

GetIntegrationSecretForAuditConfig retrieves the MondooCredsSecretRef for the give MondooAuditConfig.

func GetRunningNamespace added in v0.2.6

func GetRunningNamespace() (string, error)

GetRunningNamespace will return the namespace the Pod is running under Can fake the returned value (useful for local testing) by setting MONDOO_NAMESPACE_OVERRIDE

func GetServerVersion added in v0.6.0

func GetServerVersion(cfg *rest.Config) (*version.Info, error)

func GetServiceAccountFromSecret added in v0.6.0

func GetServiceAccountFromSecret(secret corev1.Secret) (*mondooclient.ServiceAccountCredentials, error)

func MergeEnv added in v1.0.0

func MergeEnv(a, b []corev1.EnvVar) []corev1.EnvVar

MergeEnv merges 2 slices of env vars. If the same key is present in both slices, the value from the second slice will be used.

func NodeScanningResourcesRequirementsWithDefaults added in v0.7.2

func NodeScanningResourcesRequirementsWithDefaults(m corev1.ResourceRequirements) corev1.ResourceRequirements

NodeScanningResourcesRequirementsWithDefaults will return the resource requirements from the parameter if such are specified. If not requirements are specified, default values will be returned.

func ResourcesRequirementsWithDefaults

func ResourcesRequirementsWithDefaults(m corev1.ResourceRequirements) corev1.ResourceRequirements

ResourcesRequirementsWithDefaults will return the resource requirements from the parameter if such are specified. If not requirements are specified, default values will be returned.

func TaintToToleration added in v0.2.8

func TaintToToleration(t corev1.Taint) corev1.Toleration

func TaintsToTolerations added in v0.2.8

func TaintsToTolerations(taints []corev1.Taint) []corev1.Toleration

func TryGetIntegrationMrnForAuditConfig added in v0.6.0

func TryGetIntegrationMrnForAuditConfig(ctx context.Context, kubeClient client.Client, auditConfig v1alpha2.MondooAuditConfig) (string, error)

TryGetIntegrationMrnForAuditConfig tries to get the integration-mrn for a MondooAuditConfig. If ConsoleIntegration is disabled, no integration-mrn is returned but also no error.

func UpdateDeployment

func UpdateDeployment(current *appsv1.Deployment, desired appsv1.Deployment)

UpdateDeployment updates a deployment such that it matches a desired state. The function does not replace all fields but only a set of fields that we are interested at.

func UpdateService

func UpdateService(current *corev1.Service, desired corev1.Service)

UpdateService updates a service such that it matches a desired state. The function does not replace all fields but only a set of fields that we are interested at.

func VerifyAPI added in v0.8.1

func VerifyAPI(group, version string, log logr.Logger) (bool, error)

VerifyAPI will query the underlying k8s cluster for the existence of the provided group/version.

func VerifyResourceExists added in v1.3.0

func VerifyResourceExists(group, version, resource string, log logr.Logger) (bool, error)

Types

type CreateUpdateEventsPredicate added in v1.5.0

type CreateUpdateEventsPredicate struct{}

CreateUpdateEventsPredicate will allow only create and update events. Update events caused by object deletion are also ignored.

func (CreateUpdateEventsPredicate) Create added in v1.5.0

func (CreateUpdateEventsPredicate) Delete added in v1.5.0

func (CreateUpdateEventsPredicate) Generic added in v1.5.0

func (CreateUpdateEventsPredicate) Update added in v1.5.0

type IgnoreGenericEventsPredicate added in v0.2.8

type IgnoreGenericEventsPredicate struct{}

CreateOrDeletePredicate will completely ignore generic events.

func (IgnoreGenericEventsPredicate) Create added in v0.2.8

func (IgnoreGenericEventsPredicate) Delete added in v0.2.8

func (IgnoreGenericEventsPredicate) Generic added in v0.2.8

func (IgnoreGenericEventsPredicate) Update added in v0.2.8

Jump to

Keyboard shortcuts

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