translate

package
v0.16.0 Latest Latest
Warning

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

Go to latest
Published: Oct 3, 2023 License: Apache-2.0 Imports: 32 Imported by: 1

Documentation

Index

Constants

View Source
const (
	VirtualPathTemplate = "/tmp/vcluster/%s/%s"

	PodLoggingHostPath = "/var/log/pods"
	LogHostPath        = "/var/log"

	KubeletPodPath = "/var/lib/kubelet/pods"

	PhysicalVolumeNameSuffix = "vcluster-physical"

	PhysicalLogVolumeMountPath     = "/var/vcluster/physical/log"
	PhysicalPodLogVolumeMountPath  = "/var/vcluster/physical/log/pods"
	PhysicalKubeletVolumeMountPath = "/var/vcluster/physical/kubelet/pods"
)
View Source
const (
	DisableSubdomainRewriteAnnotation = "vcluster.loft.sh/disable-subdomain-rewrite"
	HostsRewrittenAnnotation          = "vcluster.loft.sh/hosts-rewritten"
	HostsVolumeName                   = "vcluster-rewrite-hosts"
	HostsRewriteContainerName         = "vcluster-rewrite-hosts"
)
View Source
const (
	OwnerReferences                      = "vcluster.loft.sh/owner-references"
	OwnerSetKind                         = "vcluster.loft.sh/owner-set-kind"
	NamespaceAnnotation                  = "vcluster.loft.sh/namespace"
	NameAnnotation                       = "vcluster.loft.sh/name"
	VClusterLabelsAnnotation             = "vcluster.loft.sh/labels"
	NamespaceLabelPrefix                 = "vcluster.loft.sh/ns-label"
	UIDAnnotation                        = "vcluster.loft.sh/uid"
	ClusterAutoScalerAnnotation          = "cluster-autoscaler.kubernetes.io/safe-to-evict"
	ClusterAutoScalerDaemonSetAnnotation = "cluster-autoscaler.kubernetes.io/daemonset-pod"
	ServiceAccountNameAnnotation         = "vcluster.loft.sh/service-account-name"
	ServiceAccountTokenAnnotation        = "vcluster.loft.sh/token-"
)
View Source
const (
	PodKind string = "Pod"
)

Variables

View Source
var (
	FieldPathLabelRegEx      = regexp.MustCompile(`^metadata\.labels\['(.+)'\]$`)
	FieldPathAnnotationRegEx = regexp.MustCompile(`^metadata\.annotations\['(.+)'\]$`)
	False                    = false
)
View Source
var PodServiceAccountTokenSecretName string

Functions

func ContainerEnv added in v0.16.0

func ContainerEnv(envVar []corev1.EnvVar, envFrom []corev1.EnvFromSource, vPod *corev1.Pod, serviceEnvMap map[string]string) ([]corev1.EnvVar, []corev1.EnvFromSource)

func GetSecretIfExists added in v0.15.1

func GetSecretIfExists(ctx context.Context, pClient client.Client, vPodName, vNamespace string) (*corev1.Secret, bool, error)

func LabelsAnnotation

func LabelsAnnotation(obj client.Object) string

func SATokenSecret added in v0.15.1

func SATokenSecret(ctx context.Context, pClient client.Client, vPod *corev1.Pod, tokens map[string]string) error

func SecretNameFromPodName added in v0.15.1

func SecretNameFromPodName(podName, namespace string) string

func ServicesToEnvironmentVariables added in v0.16.0

func ServicesToEnvironmentVariables(enableServiceLinks *bool, services []*corev1.Service, kubeIP string) map[string]string

func SetPodAsOwner added in v0.15.1

func SetPodAsOwner(ctx context.Context, pPod *corev1.Pod, pClient client.Client, secret *corev1.Secret) error

Types

type ImageTranslator

type ImageTranslator interface {
	Translate(image string) string
}

func NewImageTranslator

func NewImageTranslator(translateImages []string) (ImageTranslator, error)

type Translator

type Translator interface {
	Translate(ctx context.Context, vPod *corev1.Pod, services []*corev1.Service, dnsIP string, kubeIP string) (*corev1.Pod, error)
	Diff(ctx context.Context, vPod, pPod *corev1.Pod) (*corev1.Pod, error)
}

func NewTranslator

func NewTranslator(ctx *synccontext.RegisterContext, eventRecorder record.EventRecorder) (Translator, error)

Jump to

Keyboard shortcuts

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