kube

package
v0.7.1 Latest Latest
Warning

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

Go to latest
Published: Dec 5, 2020 License: Apache-2.0 Imports: 28 Imported by: 14

Documentation

Index

Constants

View Source
const (
	// TODO I'm wondering if we should rename starboard.resource.* labels to starboard.object.*
	// TODO In Kubernetes API terminology a resource is usually lowercase, plural word (e.g. pods) identifying a set of
	// TODO HTTP endpoints (paths) exposing the CRUD semantics of a certain object type in the system
	LabelResourceKind      = "starboard.resource.kind"
	LabelResourceName      = "starboard.resource.name"
	LabelResourceNamespace = "starboard.resource.namespace"

	LabelContainerName = "starboard.container.name"
	LabelPodSpecHash   = "pod-spec-hash"

	LabelScannerName   = "starboard.scanner.name"
	LabelScannerVendor = "starboard.scanner.vendor"

	LabelK8SAppManagedBy = "app.kubernetes.io/managed-by"
	AppStarboardOperator = "starboard-operator"
)
View Source
const (
	AnnotationContainerImages = "starboard.container-images"
)

Variables

This section is empty.

Functions

func AggregateImagePullSecretsData added in v0.7.1

func AggregateImagePullSecretsData(images ContainerImages, credentials map[string]docker.Auth) map[string][]byte

func GVKForObject added in v0.3.0

func GVKForObject(obj runtime.Object, scheme *runtime.Scheme) (schema.GroupVersionKind, error)

func GVRForResource added in v0.3.0

func GVRForResource(mapper meta.RESTMapper, resource string) (gvr schema.GroupVersionResource, gvk schema.GroupVersionKind, err error)

func KindForObject added in v0.3.0

func KindForObject(object metav1.Object, scheme *runtime.Scheme) (string, error)

func MapContainerNamesToDockerAuths added in v0.7.1

func MapContainerNamesToDockerAuths(images ContainerImages, secrets []corev1.Secret) (map[string]docker.Auth, error)

MapContainerNamesToDockerAuths creates the mapping from a container name to the Docker authentication credentials for the specified kube.ContainerImages and image pull Secrets.

func MapDockerRegistryServersToAuths added in v0.7.1

func MapDockerRegistryServersToAuths(imagePullSecrets []corev1.Secret) (map[string]docker.Auth, error)

MapDockerRegistryServersToAuths creates the mapping from a Docker registry server to the Docker authentication credentials for the specified slice of image pull Secrets.

func NewImagePullSecret added in v0.7.1

func NewImagePullSecret(meta metav1.ObjectMeta, server, username, password string) (*corev1.Secret, error)

NewImagePullSecret constructs a new image pull Secret with the specified registry server and basic authentication credentials.

func NewRunnableJob

func NewRunnableJob(
	scheme *runtime.Scheme,
	clientset kubernetes.Interface,
	job *batchv1.Job,
	secrets ...*corev1.Secret,
) runner.Runnable

NewRunnableJob constructs a new Runnable task defined as Kubernetes job configuration and secrets that it references.

Types

type CRManager

type CRManager interface {
	Init(ctx context.Context) error
	Cleanup(ctx context.Context) error
}

TODO This is no longer CRManager as we're creating other resources, such as ClusterRoles and ConfigMaps CRManager defined methods for managing Kubernetes custom resources.

func NewCRManager

func NewCRManager(
	configManager starboard.ConfigManager,
	clientset kubernetes.Interface,
	clientsetext extapi.ApiextensionsV1beta1Interface) CRManager

NewCRManager constructs a CRManager with the given starboard.ConfigManager and kubernetes.Interface.

type ContainerImages added in v0.2.6

type ContainerImages map[string]string

ContainerImages is a simple structure to hold the mapping between container names and container image references.

func (ContainerImages) AsJSON added in v0.2.6

func (ci ContainerImages) AsJSON() (string, error)

func (ContainerImages) FromJSON added in v0.2.6

func (ci ContainerImages) FromJSON(value string) error

type Kind added in v0.2.3

type Kind string

Kind represents the type of a Kubernetes Object.

const (
	KindUnknown Kind = "Unknown"

	KindNode Kind = "Node"

	KindPod                   Kind = "Pod"
	KindReplicaSet            Kind = "ReplicaSet"
	KindReplicationController Kind = "ReplicationController"
	KindDeployment            Kind = "Deployment"
	KindStatefulSet           Kind = "StatefulSet"
	KindDaemonSet             Kind = "DaemonSet"
	KindCronJob               Kind = "CronJob"
	KindJob                   Kind = "Job"
)

type Object added in v0.2.3

type Object struct {
	Kind      Kind
	Name      string
	Namespace string
}

Object is a simplified representation of a Kubernetes object. Each object has kind, which designates the type of the entity it represents. Objects have names and many of them live in namespaces.

func ObjectFromLabelsSet added in v0.2.3

func ObjectFromLabelsSet(set labels.Set) (Object, error)

type ScannerOpts added in v0.2.1

type ScannerOpts struct {
	ScanJobTimeout time.Duration
	DeleteScanJob  bool
}

ScannerOpts holds configuration of the vulnerability Scanner.

type SecretsReader added in v0.7.1

type SecretsReader interface {
	ListByLocalObjectReferences(ctx context.Context, refs []corev1.LocalObjectReference, ns string) ([]corev1.Secret, error)
	ListByServiceAccount(ctx context.Context, name string, ns string) ([]corev1.Secret, error)
	ListImagePullSecretsByPodSpec(ctx context.Context, spec corev1.PodSpec, ns string) ([]corev1.Secret, error)
}

SecretsReader defines methods for reading Secrets.

func NewControllerRuntimeReader added in v0.7.1

func NewControllerRuntimeReader(client client.Client) SecretsReader

func NewReader added in v0.7.1

func NewReader(clientset kubernetes.Interface) SecretsReader

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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