kubernetes

package
v2.5.0 Latest Latest
Warning

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

Go to latest
Published: Oct 29, 2024 License: Apache-2.0 Imports: 44 Imported by: 0

Documentation

Index

Constants

View Source
const (
	CamelCreatorLabelPrefix = "camel.apache.org/created.by"
	CamelClonedLabelPrefix  = "camel.apache.org/cloned.from"

	CamelCreatorLabelKind      = CamelCreatorLabelPrefix + ".kind"
	CamelCreatorLabelName      = CamelCreatorLabelPrefix + ".name"
	CamelCreatorLabelNamespace = CamelCreatorLabelPrefix + ".namespace"
	CamelCreatorLabelVersion   = CamelCreatorLabelPrefix + ".version"

	CamelClonedLabelKind      = CamelClonedLabelPrefix + ".kind"
	CamelClonedLabelName      = CamelClonedLabelPrefix + ".name"
	CamelClonedLabelNamespace = CamelClonedLabelPrefix + ".namespace"
	CamelClonedLabelVersion   = CamelClonedLabelPrefix + ".version"

	CamelLabelRuntimeVersion  = "camel.apache.org/runtime.version"
	CamelLabelRuntimeProvider = "camel.apache.org/runtime.provider"
)
View Source
const ConfigMapAutogenLabel = "camel.apache.org/generated"

ConfigMapAutogenLabel -- .

View Source
const ConfigMapOriginalFileNameLabel = "camel.apache.org/filename"

ConfigMapOriginalFileNameLabel -- .

View Source
const ConfigMapTypeLabel = "camel.apache.org/config.type"

ConfigMapTypeLabel -- .

Variables

This section is empty.

Functions

func CheckPermission

func CheckPermission(ctx context.Context, client kubernetes.Interface, group, resource, namespace, name, verb string) (bool, error)

CheckPermission can be used to check if the current user/service-account is allowed to execute a given operation in the cluster. E.g. checkPermission(client, olmv1alpha1.GroupName, "clusterserviceversions", namespace, "camel-k", "get").

func ConfigureResource

func ConfigureResource(resourceQty string, list corev1.ResourceList, name corev1.ResourceName) (corev1.ResourceList, error)

ConfigureResource will set a resource on the specified resource list or returns an error.

func DefaultOperatorSecurityContext added in v2.1.0

func DefaultOperatorSecurityContext() *corev1.SecurityContext

DefaultOperatorSecurityContext to ensure a container with low privilege and limited permissions.

func FilterCamelCreatorLabels

func FilterCamelCreatorLabels(source map[string]string) map[string]string

FilterCamelCreatorLabels is used to inherit the creator information among resources.

func GetBuild

func GetBuild(context context.Context, client client.Client, name string, namespace string) (*v1.Build, error)

func GetCamelCatalog

func GetCamelCatalog(context context.Context, client ctrl.Reader, name string, namespace string) (*v1.CamelCatalog, error)

func GetCamelCreator

func GetCamelCreator(obj runtime.Object) *corev1.ObjectReference

GetCamelCreator returns the Camel creator object referenced by this runtime object, if present.

func GetConfigMap

func GetConfigMap(context context.Context, client ctrl.Reader, name string, namespace string) (*corev1.ConfigMap, error)

func GetConfigMapRefValue

func GetConfigMapRefValue(ctx context.Context, client ctrl.Reader, namespace string, selector *corev1.ConfigMapKeySelector) (string, error)

GetConfigMapRefValue returns the value of a configmap in the supplied namespace.

func GetDeploymentCondition

func GetDeploymentCondition(deployment appsv1.Deployment, conditionType appsv1.DeploymentConditionType) *appsv1.DeploymentCondition

func GetIntegrationKit

func GetIntegrationKit(context context.Context, client ctrl.Reader, name string, namespace string) (*v1.IntegrationKit, error)

func GetIntegrationPlatform

func GetIntegrationPlatform(context context.Context, client ctrl.Reader, name string, namespace string) (*v1.IntegrationPlatform, error)

func GetIntegrationProfile added in v2.3.0

func GetIntegrationProfile(context context.Context, client ctrl.Reader, name string, namespace string) (*v1.IntegrationProfile, error)

func GetJobCondition

func GetJobCondition(job batchv1.Job, conditionType batchv1.JobConditionType) *batchv1.JobCondition

func GetKnativeServiceCondition

func GetKnativeServiceCondition(service servingv1.Service, conditionType knative.ConditionType) *knative.Condition

func GetPodCondition

func GetPodCondition(pod corev1.Pod, conditionType corev1.PodConditionType) *corev1.PodCondition

func GetSecret

func GetSecret(context context.Context, client ctrl.Reader, name string, namespace string) (*corev1.Secret, error)

func GetSecretRefData

func GetSecretRefData(ctx context.Context, client ctrl.Reader, namespace string, selector *corev1.SecretKeySelector) ([]byte, error)

GetSecretRefData returns the value of a secret in the supplied namespace.

func GetSecretRefValue

func GetSecretRefValue(ctx context.Context, client ctrl.Reader, namespace string, selector *corev1.SecretKeySelector) (string, error)

GetSecretRefValue returns the value of a secret in the supplied namespace.

func GetSecretsRefData

func GetSecretsRefData(ctx context.Context, client ctrl.Reader, namespace string, selector []corev1.SecretKeySelector) ([][]byte, error)

GetSecretsRefData returns the value of the secrets in the supplied namespace.

func GetUnstructured

func GetUnstructured(context context.Context, client ctrl.Reader, gvk schema.GroupVersionKind, name string, namespace string) (*unstructured.Unstructured, error)

GetUnstructured provides a generic unstructured K8S object. Useful in order to retrieve a non cached version of an object.

func IsAPIResourceInstalled

func IsAPIResourceInstalled(c kubernetes.Interface, groupVersion string, kind string) (bool, error)

func IsUnknownAPIError

func IsUnknownAPIError(err error) bool

IsUnknownAPIError checks if the given error is due to some missing APIs in the cluster. Apparently there's no such method in Kubernetes Go API.

func LoadResourceFromYaml

func LoadResourceFromYaml(scheme *runtime.Scheme, data string) (ctrl.Object, error)

LoadResourceFromYaml returns a Kubernetes resource from its serialized YAML definition.

func LoadUnstructuredFromYaml

func LoadUnstructuredFromYaml(data string) (ctrl.Object, error)

LoadUnstructuredFromYaml returns an unstructured resource from its serialized YAML definition.

func LookupConfigmap

func LookupConfigmap(ctx context.Context, c client.Client, ns string, name string) *corev1.ConfigMap

LookupConfigmap will look for any k8s Configmap with a given name in a given namespace. Deprecated: won't be supported in future releases.

func LookupDefaultStorageClass

func LookupDefaultStorageClass(ctx context.Context, c client.Client) (*storagev1.StorageClass, error)

LookupDefaultStorageClass will look for the default k8s StorageClass in the cluster.

func LookupPersistentVolumeClaim

func LookupPersistentVolumeClaim(ctx context.Context, c client.Client, ns string, name string) (*corev1.PersistentVolumeClaim, error)

LookupPersistentVolumeClaim will look for any k8s PersistentVolumeClaim with a given name in a given namespace.

func LookupResourceVersion added in v2.3.0

func LookupResourceVersion(ctx context.Context, c client.Client, object ctrl.Object) string

LookupResourceVersion will look for any k8s resource with a given name in a given namespace, returning its resource version only. It makes this safe against any resource that the operator is not allowed to inspect.

func LookupSecret

func LookupSecret(ctx context.Context, c client.Client, ns string, name string) *corev1.Secret

LookupSecret will look for any k8s Secret with a given name in a given namespace. Deprecated: won't be supported in future releases.

func LookupStorageClass added in v2.5.0

func LookupStorageClass(ctx context.Context, c client.Client, ns string, name string) (*storagev1.StorageClass, error)

LookupStorageClass will look for any k8s StorageClass with a given name in a given namespace.

func MergeCamelCreatorLabels

func MergeCamelCreatorLabels(source map[string]string, target map[string]string) map[string]string

MergeCamelCreatorLabels is used to inject the creator information from another set of labels.

func NewConfigMap

func NewConfigMap(namespace, cmName, originalFilename string, generatedKey string,
	textData string, binaryData []byte) *corev1.ConfigMap

NewConfigMap will create a ConfigMap.

func NewNodeSelectors

func NewNodeSelectors(nsArray []string) (map[string]string, error)

NewNodeSelectors build a map of NodeSelectors from an array of string.

func NewPersistentVolumeClaim

func NewPersistentVolumeClaim(
	ns, name, storageClassName string, capacityStorage resource.Quantity, accessMode corev1.PersistentVolumeAccessMode) *corev1.PersistentVolumeClaim

NewPersistentVolumeClaim will create a NewPersistentVolumeClaim based on a StorageClass.

func NewResourceRequirements

func NewResourceRequirements(reqs []string) (corev1.ResourceRequirements, error)

NewResourceRequirements will build a CPU and memory requirements from an array of requests matching <requestType.requestResource=value> (ie, limits.memory=256Mi).

func NewTolerations

func NewTolerations(taints []string) ([]corev1.Toleration, error)

NewTolerations build an array of Tolerations from an array of string.

func PortForward

func PortForward(ctx context.Context, c client.Client, ns, labelSelector string, localPort, remotePort uint, stdOut, stdErr io.Writer) error

func ReplaceResource

func ReplaceResource(ctx context.Context, c client.Client, res ctrl.Object) (bool, error)

ReplaceResource allows to completely replace a resource on Kubernetes, taking care of immutable fields and resource versions.

func ResolveValueSource

func ResolveValueSource(ctx context.Context, client ctrl.Reader, namespace string, valueSource *v1.ValueSource) (string, error)

func SanitizeLabel

func SanitizeLabel(name string) string

SanitizeLabel sanitizes the given name to be compatible with k8s.

func SanitizeName

func SanitizeName(name string) string

SanitizeName sanitizes the given name to be compatible with k8s.

func ToJSON

func ToJSON(value runtime.Object) ([]byte, error)

ToJSON marshal to json format.

func ToYAML

func ToYAML(value runtime.Object) ([]byte, error)

ToYAML marshal to yaml format.

func ToYAMLNoManagedFields

func ToYAMLNoManagedFields(value runtime.Object) ([]byte, error)

ToYAMLNoManagedFields marshal to yaml format but without metadata.managedFields.

Types

type CLIPrinter

type CLIPrinter struct {
	// It accepts either yaml or json format
	Format string
}

CLIPrinter is delegated to print the runtime object.

func (*CLIPrinter) PrintObj

func (p *CLIPrinter) PrintObj(obj runtime.Object, output io.Writer) error

PrintObj prints the obj in json|yaml format according to the type of the obj.

type Collection

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

A Collection is a container of Kubernetes resources.

func NewCollection

func NewCollection(objects ...ctrl.Object) *Collection

NewCollection creates a new empty collection.

func (*Collection) Add

func (c *Collection) Add(resource ctrl.Object)

Add adds a resource to the collection.

func (*Collection) AddAll

func (c *Collection) AddAll(resource []ctrl.Object)

AddAll adds all resources to the collection.

func (*Collection) AddFirst

func (c *Collection) AddFirst(resource ctrl.Object)

AddFirst adds a resource to the head of the collection.

func (*Collection) AsKubernetesList

func (c *Collection) AsKubernetesList() *corev1.List

AsKubernetesList returns all resources wrapped in a Kubernetes list.

func (*Collection) GetConfigMap

func (c *Collection) GetConfigMap(filter func(*corev1.ConfigMap) bool) *corev1.ConfigMap

GetConfigMap returns a ConfigMap that matches the given function.

func (*Collection) GetContainer

func (c *Collection) GetContainer(filter func(container *corev1.Container) bool) *corev1.Container

GetContainer --.

func (*Collection) GetContainerByName

func (c *Collection) GetContainerByName(name string) *corev1.Container

GetContainerByName --.

func (*Collection) GetController

func (c *Collection) GetController(filter func(object ctrl.Object) bool) ctrl.Object

GetController returns the controller associated with the integration (e.g. Deployment, Knative Service or CronJob).

func (*Collection) GetCronJob

func (c *Collection) GetCronJob(filter func(job *batchv1.CronJob) bool) *batchv1.CronJob

GetCronJob returns a CronJob that matches the given function.

func (*Collection) GetDeployment

func (c *Collection) GetDeployment(filter func(*appsv1.Deployment) bool) *appsv1.Deployment

GetDeployment returns a Deployment that matches the given function.

func (*Collection) GetDeploymentForIntegration

func (c *Collection) GetDeploymentForIntegration(integration *v1.Integration) *appsv1.Deployment

GetDeploymentForIntegration returns a Deployment for the given integration.

func (*Collection) GetKnativeService

func (c *Collection) GetKnativeService(filter func(*serving.Service) bool) *serving.Service

GetKnativeService returns a Knative Service that matches the given function.

func (*Collection) GetKnativeSubscription added in v2.3.1

func (c *Collection) GetKnativeSubscription(filter func(subscription *messaging.Subscription) bool) *messaging.Subscription

GetKnativeSubscription returns a Knative channel Subscription that matches the given function.

func (*Collection) GetKnativeTrigger added in v2.3.1

func (c *Collection) GetKnativeTrigger(filter func(*eventing.Trigger) bool) *eventing.Trigger

GetKnativeTrigger returns a Knative Trigger that matches the given function.

func (*Collection) GetPodMonitor

func (c *Collection) GetPodMonitor(filter func(*monitoringv1.PodMonitor) bool) *monitoringv1.PodMonitor

func (*Collection) GetRoute

func (c *Collection) GetRoute(filter func(*routev1.Route) bool) *routev1.Route

GetRoute returns a Route that matches the given function.

func (*Collection) GetSecret added in v2.3.0

func (c *Collection) GetSecret(filter func(*corev1.Secret) bool) *corev1.Secret

GetSecret returns a Secret that matches the given function.

func (*Collection) GetService

func (c *Collection) GetService(filter func(*corev1.Service) bool) *corev1.Service

GetService returns a Service that matches the given function.

func (*Collection) GetServiceForIntegration

func (c *Collection) GetServiceForIntegration(integration *v1.Integration) *corev1.Service

GetServiceForIntegration returns a user Service for the given integration.

func (*Collection) GetUserServiceForIntegration

func (c *Collection) GetUserServiceForIntegration(integration *v1.Integration) *corev1.Service

GetUserServiceForIntegration returns a user Service for the given integration.

func (*Collection) HasDeployment

func (c *Collection) HasDeployment(filter func(*appsv1.Deployment) bool) bool

HasDeployment returns true if a deployment matching the given condition is present.

func (*Collection) HasKnativeTrigger

func (c *Collection) HasKnativeTrigger(filter func(trigger *eventing.Trigger) bool) bool

HasKnativeTrigger returns true if a Knative trigger respecting filter is found.

func (*Collection) Items

func (c *Collection) Items() []ctrl.Object

Items returns all resources belonging to the collection.

func (*Collection) Remove

func (c *Collection) Remove(selector func(runtime.Object) bool) runtime.Object

Remove removes the given element from the collection and returns it.

func (*Collection) RemoveConfigMap

func (c *Collection) RemoveConfigMap(filter func(*corev1.ConfigMap) bool) *corev1.ConfigMap

RemoveConfigMap removes and returns a ConfigMap that matches the given function.

func (*Collection) RemoveDeployment

func (c *Collection) RemoveDeployment(filter func(*appsv1.Deployment) bool) *appsv1.Deployment

RemoveDeployment removes and returns a Deployment that matches the given function.

func (*Collection) Size

func (c *Collection) Size() int

Size returns the number of resources belonging to the collection.

func (*Collection) Visit

func (c *Collection) Visit(visitor func(runtime.Object))

Visit executes the visitor function on all resources.

func (*Collection) VisitConfigMap

func (c *Collection) VisitConfigMap(visitor func(*corev1.ConfigMap))

VisitConfigMap executes the visitor function on all ConfigMap resources.

func (*Collection) VisitContainer

func (c *Collection) VisitContainer(visitor func(container *corev1.Container))

VisitContainer executes the visitor function on all Containers inside deployments or other resources.

func (*Collection) VisitCronJob

func (c *Collection) VisitCronJob(visitor func(*batchv1.CronJob))

VisitCronJob executes the visitor function on all CronJob resources.

func (*Collection) VisitCronJobE

func (c *Collection) VisitCronJobE(visitor func(*batchv1.CronJob) error) error

VisitCronJobE executes the visitor function on all CronJob resources.

func (*Collection) VisitDeployment

func (c *Collection) VisitDeployment(visitor func(*appsv1.Deployment))

VisitDeployment executes the visitor function on all Deployment resources.

func (*Collection) VisitDeploymentE

func (c *Collection) VisitDeploymentE(visitor func(*appsv1.Deployment) error) error

VisitDeploymentE executes the visitor function on all Deployment resources.

func (*Collection) VisitE

func (c *Collection) VisitE(visitor func(runtime.Object) error) error

VisitE executes the visitor function on all resources breaking if the visitor function returns an error.

func (*Collection) VisitKnativeConfigurationSpec

func (c *Collection) VisitKnativeConfigurationSpec(visitor func(container *serving.ConfigurationSpec))

VisitKnativeConfigurationSpec executes the visitor function on all knative ConfigurationSpec inside serving Services.

func (*Collection) VisitKnativeService

func (c *Collection) VisitKnativeService(visitor func(*serving.Service))

VisitKnativeService executes the visitor function on all Knative serving Service resources.

func (*Collection) VisitKnativeServiceE

func (c *Collection) VisitKnativeServiceE(visitor func(*serving.Service) error) error

VisitKnativeServiceE executes the visitor function on all Knative serving Service resources.

func (*Collection) VisitKnativeSubscription added in v2.3.1

func (c *Collection) VisitKnativeSubscription(visitor func(trigger *messaging.Subscription))

VisitKnativeSubscription executes the visitor function on all Knative channel Subscription resources.

func (*Collection) VisitKnativeTrigger

func (c *Collection) VisitKnativeTrigger(visitor func(trigger *eventing.Trigger))

VisitKnativeTrigger executes the visitor function on all Knative eventing Trigger resources.

func (*Collection) VisitMetaObject

func (c *Collection) VisitMetaObject(visitor func(metav1.Object))

VisitMetaObject executes the visitor function on all meta.Object resources.

func (*Collection) VisitPodMonitor

func (c *Collection) VisitPodMonitor(visitor func(*monitoringv1.PodMonitor))

func (*Collection) VisitPodSpec

func (c *Collection) VisitPodSpec(visitor func(container *corev1.PodSpec))

VisitPodSpec executes the visitor function on all PodSpec inside deployments or other resources.

func (*Collection) VisitPodTemplateMeta

func (c *Collection) VisitPodTemplateMeta(visitor func(meta *metav1.ObjectMeta))

VisitPodTemplateMeta executes the visitor function on all PodTemplate metadata inside deployments or other resources.

func (*Collection) VisitRoute

func (c *Collection) VisitRoute(visitor func(*routev1.Route))

VisitRoute executes the visitor function on all Route resources.

func (*Collection) VisitSecret added in v2.3.0

func (c *Collection) VisitSecret(visitor func(*corev1.Secret))

VisitSecret executes the visitor function on all Secrets resources.

func (*Collection) VisitService

func (c *Collection) VisitService(visitor func(*corev1.Service))

VisitService executes the visitor function on all Service resources.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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