kubernetes

package
v0.0.118 Latest Latest
Warning

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

Go to latest
Published: Dec 27, 2022 License: Apache-2.0 Imports: 83 Imported by: 0

Documentation

Index

Constants

View Source
const PortForwardProtocolV1Name = "portforward.k8s.io"
View Source
const RestmapperStateKey = "kubernetes.restmapper"

Variables

View Source
var (
	UseNodePlatformsForProduction = true
	ProductionPlatforms           = []string{"linux/amd64", "linux/arm64"}
)
View Source
var DeployAsPodsInTests = true
View Source
var (
	ObserveInitContainerLogs = false
)

Functions

func DeleteAllRecursively

func DeleteAllRecursively(ctx context.Context, cli *kubernetes.Clientset, wait bool, progress io.Writer, namespaces ...string) (bool, error)

func ModuleNamespace

func ModuleNamespace(ws *schema.Workspace, env *schema.Environment) string

We use namespaces to isolate deployments per workspace and environment. Using the path base plus a digest provides short, memorable names and avoids collision. TODO add knob to allow namespace overwrites if the need arises.

func PrepareProvisionWith

func PrepareProvisionWith(env *schema.Environment, ns string, systemInfo *kubedef.SystemInfo) (*rtypes.ProvisionProps, error)

func Register

func Register()

func RegisterOverrideClass

func RegisterOverrideClass(name string, p ProvideOverrideFunc)

Types

type Cluster

type Cluster struct {
	Configuration cfg.Configuration

	FetchSystemInfo func(context.Context) (*kubedef.SystemInfo, error)

	ClusterAttachedState
	// contains filtered or unexported fields
}

func ConnectToCluster

func ConnectToCluster(ctx context.Context, config cfg.Configuration) (*Cluster, error)

func NewCluster added in v0.0.104

func NewCluster(cli *client.Prepared, config cfg.Configuration, fetchSystem FetchSystemInfoFunc) *Cluster

func (*Cluster) AttachTerminal

func (r *Cluster) AttachTerminal(ctx context.Context, reference *runtimepb.ContainerReference, rio runtime.TerminalIO) error

func (*Cluster) Bind

func (*Cluster) Class

func (u *Cluster) Class() runtime.Class

func (*Cluster) DeleteAllRecursively

func (r *Cluster) DeleteAllRecursively(ctx context.Context, wait bool, progress io.Writer) (bool, error)

func (*Cluster) EnsureState

func (r *Cluster) EnsureState(ctx context.Context, key string) (any, error)

func (*Cluster) FetchDiagnostics

func (r *Cluster) FetchDiagnostics(ctx context.Context, reference *runtimepb.ContainerReference) (*runtimepb.Diagnostics, error)

func (*Cluster) FetchLogsTo

func (r *Cluster) FetchLogsTo(ctx context.Context, reference *runtimepb.ContainerReference, opts runtime.FetchLogsOpts, callback func(runtime.ContainerLogLine)) error

func (*Cluster) ForwardIngress

func (r *Cluster) ForwardIngress(ctx context.Context, localAddrs []string, localPort int, notify runtime.PortForwardedFunc) (io.Closer, error)

func (*Cluster) Ingress added in v0.0.113

func (u *Cluster) Ingress() kubedef.IngressClass

func (*Cluster) KubernetesCluster added in v0.0.96

func (u *Cluster) KubernetesCluster() *Cluster

func (*Cluster) PreparedClient

func (u *Cluster) PreparedClient() client.Prepared

func (*Cluster) RESTConfig

func (u *Cluster) RESTConfig() *rest.Config

func (*Cluster) RawDialServer

func (u *Cluster) RawDialServer(ctx context.Context, ns string, podLabels map[string]string, port *schema.Endpoint_Port) (net.Conn, error)

func (*Cluster) RawForwardPort

func (u *Cluster) RawForwardPort(ctx context.Context, desc, ns string, podLabels map[string]string, containerPort int, localAddrs []string, callback runtime.SinglePortForwardedFunc) (io.Closer, error)

func (*Cluster) RunAttachedOpts

func (r *Cluster) RunAttachedOpts(ctx context.Context, ns, name string, runOpts runtime.ContainerRunOpts, io runtime.TerminalIO, onStart func()) error

func (*Cluster) StartAndBlockPortFwd

func (r *Cluster) StartAndBlockPortFwd(ctx context.Context, args StartAndBlockPortFwdArgs) error

func (*Cluster) SystemInfo

func (r *Cluster) SystemInfo(ctx context.Context) (*kubedef.SystemInfo, error)

func (*Cluster) UnmatchedTargetPlatforms

func (r *Cluster) UnmatchedTargetPlatforms(ctx context.Context) ([]specs.Platform, error)

type ClusterAttachedState

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

func (*ClusterAttachedState) EnsureState

func (r *ClusterAttachedState) EnsureState(ctx context.Context, stateKey string, config cfg.Configuration, cluster runtime.Cluster, key *string) (any, error)

type ClusterNamespace

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

func ConnectToNamespace

func ConnectToNamespace(ctx context.Context, env cfg.Context) (*ClusterNamespace, error)

func NewClusterNamespace added in v0.0.103

func NewClusterNamespace(env cfg.Context, parent runtime.Cluster, u *Cluster) *ClusterNamespace

func (*ClusterNamespace) Cluster

func (cn *ClusterNamespace) Cluster() runtime.Cluster

func (*ClusterNamespace) DeleteDeployable

func (r *ClusterNamespace) DeleteDeployable(ctx context.Context, deployable runtime.Deployable) error

func (*ClusterNamespace) DeleteRecursively

func (r *ClusterNamespace) DeleteRecursively(ctx context.Context, wait bool) (bool, error)

func (*ClusterNamespace) DeployedConfigImageID

func (r *ClusterNamespace) DeployedConfigImageID(ctx context.Context, deployable runtime.Deployable) (oci.ImageID, error)

func (*ClusterNamespace) DialServer

func (r *ClusterNamespace) DialServer(ctx context.Context, server runtime.Deployable, port *schema.Endpoint_Port) (net.Conn, error)

func (*ClusterNamespace) FetchEnvironmentDiagnostics

func (r *ClusterNamespace) FetchEnvironmentDiagnostics(ctx context.Context) (*storage.EnvironmentDiagnostics, error)

func (*ClusterNamespace) ForwardPort

func (r *ClusterNamespace) ForwardPort(ctx context.Context, server runtime.Deployable, containerPort int32, localAddrs []string, callback runtime.SinglePortForwardedFunc) (io.Closer, error)

func (*ClusterNamespace) KubeConfig

func (r *ClusterNamespace) KubeConfig() kubedef.KubeConfig

func (*ClusterNamespace) Observe

func (r *ClusterNamespace) Observe(ctx context.Context, srv runtime.Deployable, opts runtime.ObserveOpts, onInstance func(runtime.ObserveEvent) (bool, error)) error

Return true on the callback to signal you're done observing.

func (*ClusterNamespace) ResolveContainers

func (r *ClusterNamespace) ResolveContainers(ctx context.Context, object runtime.Deployable) ([]*runtimepb.ContainerReference, error)

func (*ClusterNamespace) StartTerminal

func (r *ClusterNamespace) StartTerminal(ctx context.Context, server runtime.Deployable, rio runtime.TerminalIO, command string, rest ...string) error

func (*ClusterNamespace) WaitForTermination

func (r *ClusterNamespace) WaitForTermination(ctx context.Context, object runtime.Deployable) ([]runtime.ContainerStatus, error)

func (*ClusterNamespace) WaitUntilReady added in v0.0.75

func (r *ClusterNamespace) WaitUntilReady(ctx context.Context, srv runtime.Deployable) error

type FetchSystemInfoFunc added in v0.0.104

type FetchSystemInfoFunc func(context.Context) (*kubedef.SystemInfo, error)

type Planner

type Planner struct {
	Configuration cfg.Configuration
	// contains filtered or unexported fields
}

func NewPlanner

func NewPlanner(ctx context.Context, env cfg.Context, fetchSystemInfo FetchSystemInfoFunc) (Planner, error)

func NewPlannerWithRegistry added in v0.0.94

func NewPlannerWithRegistry(env cfg.Context, registry registry.Manager, fetchSystemInfo FetchSystemInfoFunc) Planner

func (Planner) ClusterNamespaceFor added in v0.0.104

func (r Planner) ClusterNamespaceFor(parent runtime.Cluster, underlying *Cluster) *ClusterNamespace

func (Planner) ComputeBaseNaming

func (r Planner) ComputeBaseNaming(*fnschema.Naming) (*fnschema.ComputedNaming, error)

func (Planner) EnsureClusterNamespace added in v0.0.104

func (r Planner) EnsureClusterNamespace(ctx context.Context) (runtime.ClusterNamespace, error)

func (Planner) Ingress added in v0.0.113

func (r Planner) Ingress() runtime.IngressClass

func (Planner) KubernetesNamespace

func (r Planner) KubernetesNamespace() string

func (Planner) PlanDeployment

func (Planner) PlanIngress

func (r Planner) PlanIngress(ctx context.Context, stack *fnschema.Stack, allFragments []*fnschema.IngressFragment) (*runtime.DeploymentPlan, error)

func (Planner) PrepareProvision

func (r Planner) PrepareProvision(ctx context.Context) (*rtypes.ProvisionProps, error)

func (Planner) Registry added in v0.0.94

func (r Planner) Registry() registry.Manager

func (Planner) TargetPlatforms

func (r Planner) TargetPlatforms(ctx context.Context) ([]specs.Platform, error)

type PodResolver

type PodResolver interface {
	Resolve(context.Context) (v1.Pod, error)
}

type ProvideOverrideFunc

type ProvideOverrideFunc func(context.Context, cfg.Configuration) (runtime.Class, error)

type StartAndBlockPortFwdArgs

type StartAndBlockPortFwdArgs struct {
	Namespace     string
	Identifier    string
	LocalAddrs    []string
	LocalPort     int // 0 to be dynamically allocated.
	ContainerPort int
	PodResolver   PodResolver
	ReportPorts   func(runtime.ForwardedPort)
}

type UnwrapCluster added in v0.0.96

type UnwrapCluster interface {
	KubernetesCluster() *Cluster
}

Directories

Path Synopsis
networking

Jump to

Keyboard shortcuts

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