controllers

package
v0.15.5 Latest Latest
Warning

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

Go to latest
Published: Aug 4, 2023 License: Apache-2.0 Imports: 29 Imported by: 0

Documentation

Overview

Package controllers provides Iter8 controller for reconciling Iter8 routemap resources

Index

Constants

This section is empty.

Variables

View Source
var AllRoutemaps = routemaps{
	// contains filtered or unexported fields
}

AllRoutemaps contains all the routemaps known to the controller

Functions

func Start

func Start(stopCh <-chan struct{}, client k8sclient.Interface) error

Start starts all Iter8 controllers if this pod is the leader

Types

type AllRouteMapsInterface added in v0.15.0

type AllRouteMapsInterface interface {
	GetAllRoutemaps() RoutemapsInterface
}

AllRouteMapsInterface is interface defines way to get all routemaps

type Condition

type Condition struct {
	// Name of the condition
	Name string `json:"name"`
	// Status of the condition
	Status string `json:"status"`
}

Condition is the condition within resource status

type Config

type Config struct {
	// ResourceTypes map from shortnames of Kubernetes API resources to their GVRs with conditions
	ResourceTypes map[string]GroupVersionResourceConditions `json:"resourceTypes,omitempty"`
	// DefaultResync period for controller watch functions
	DefaultResync string `json:"defaultResync,omitempty"`
	// ClusterScoped is true if Iter8 controller is cluster-scoped
	ClusterScoped bool `json:"clusterScoped,omitempty"`
}

Config defines the configuration of the controllers

type DefaultRoutemaps added in v0.15.0

type DefaultRoutemaps struct{}

DefaultRoutemaps is default implementation

func (*DefaultRoutemaps) GetAllRoutemaps added in v0.15.0

func (cm *DefaultRoutemaps) GetAllRoutemaps() RoutemapsInterface

GetAllRoutemaps is default implementation that returns package local map

type GroupVersionResourceConditions

type GroupVersionResourceConditions struct {
	schema.GroupVersionResource
	Conditions []Condition `json:"conditions,omitempty"`
}

GroupVersionResourceConditions is a Kubernetes resource type along with a list of conditions

type RoutemapInterface added in v0.15.0

type RoutemapInterface interface {
	// RLock locks the object for reading
	RLock()
	// RUnlock unlocks an object locked for reading
	RUnlock()
	// GetName returns the name of the object
	GetName() string
	// GetNamespace returns the namespace of the object
	GetNamespace() string
	// Weights provides the relative weights from traffic routing between versions
	Weights() []uint32
	// GetVersions returns a list of versions
	GetVersions() []VersionInterface
}

RoutemapInterface defines behavior of a routemap

type RoutemapsInterface added in v0.15.0

type RoutemapsInterface interface {
	// GetRoutemapFromNamespaceName returns a route map with the given namespace and name
	GetRoutemapFromNamespaceName(string, string) RoutemapInterface
}

RoutemapsInterface defines behavior for a set of routemaps

type VersionInterface added in v0.15.0

type VersionInterface interface {
	// GetSignature returns a signature of a version
	GetSignature() *string
}

VersionInterface defines behavior for a version

Directories

Path Synopsis
Package k8sclient provides the Kubernetes client for the controllers package
Package k8sclient provides the Kubernetes client for the controllers package

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL
JackTT - Gopher 🇻🇳