solver

package
v0.0.0-...-342c6e2 Latest Latest
Warning

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

Go to latest
Published: Aug 16, 2021 License: EPL-2.0 Imports: 32 Imported by: 0

Documentation

Overview

Package solver contains the implementation of the "devworkspace routing solver" which provides che-specific logic to the otherwise generic dev workspace routing controller. The devworkspace routing controller needs to be provided with a "solver getter" in its configuration prior to starting the reconciliation loop. See `CheRouterGetter`.

Copyright (c) 2019-2021 Red Hat, Inc. This program and the accompanying materials are made available under the terms of the Eclipse Public License 2.0 which is available at https://www.eclipse.org/legal/epl-2.0/

SPDX-License-Identifier: EPL-2.0

Contributors:

Red Hat, Inc. - initial API and implementation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CheRouterGetter

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

CheRouterGetter negotiates the solver with the calling code

func Getter

func Getter(scheme *runtime.Scheme) *CheRouterGetter

Getter creates a new CheRouterGetter

func (*CheRouterGetter) GetSolver

func (g *CheRouterGetter) GetSolver(client client.Client, routingClass controllerv1alpha1.DevWorkspaceRoutingClass) (solver solvers.RoutingSolver, err error)

func (*CheRouterGetter) HasSolver

func (*CheRouterGetter) SetupControllerManager

func (g *CheRouterGetter) SetupControllerManager(mgr *builder.Builder) error

type CheRoutingSolver

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

CheRoutingSolver is a struct representing the routing solver for Che specific routing of devworkspaces

func (*CheRoutingSolver) Finalize

func (*CheRoutingSolver) FinalizerRequired

func (c *CheRoutingSolver) FinalizerRequired(routing *controllerv1alpha1.DevWorkspaceRouting) bool

func (*CheRoutingSolver) GetExposedEndpoints

func (c *CheRoutingSolver) GetExposedEndpoints(endpoints map[string]controllerv1alpha1.EndpointList, routingObj solvers.RoutingObjects) (exposedEndpoints map[string]controllerv1alpha1.ExposedEndpointList, ready bool, err error)

GetExposedEndpoints retreives the URL for each endpoint in a devfile spec from a set of RoutingObjects. Returns is a map from component ids (as defined in the devfile) to the list of endpoints for that component Return value "ready" specifies if all endpoints are resolved on the cluster; if false it is necessary to retry, as URLs will be undefined.

func (*CheRoutingSolver) GetSpecObjects

GetSpecObjects constructs cluster routing objects which should be applied on the cluster

type EndpointInfo

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

type IngressExposer

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

type RouteExposer

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

Jump to

Keyboard shortcuts

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