albconfigmanager

package
v0.0.0-...-894910e Latest Latest
Warning

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

Go to latest
Published: Apr 25, 2024 License: Apache-2.0 Imports: 33 Imported by: 0

Documentation

Index

Constants

View Source
const (
	CASVersion  = "2021-06-19"
	CASDomain   = "cas.aliyuncs.com"
	CASShowSize = 50
)
View Source
const (
	DescribeSSLCertificateList            = "DescribeSSLCertificateList"
	DescribeSSLCertificatePublicKeyDetail = "DescribeSSLCertificatePublicKeyDetail"
)
View Source
const (
	ListenerRuleNamePrefix = "rule"
	HTTPRedirectCode       = "308"
	CookieAlways           = "always"
	HTTPS443               = "443"
)
View Source
const (
	DescribeALBZones  = "DescribeALBZones"
	DescribeVSwitches = "DescribeVSwitches"
)
View Source
const (
	ApplicationLoadBalancerResource = "ApplicationLoadBalancer"
)
View Source
const (
	ListenerDescriptionPrefix = "ls"
)

Variables

View Source
var (
	DefaultGroupName   = "default"
	ALBConfigNamespace = "kube-system"
)

Functions

func ComputeIngressListenPorts

func ComputeIngressListenPorts(ing *networking.Ingress) (map[int32]Protocol, error)

func GetIngressFinalizer

func GetIngressFinalizer() string

func NewCASCertDiscovery

func NewCASCertDiscovery(cloud prvd.Provider, logger logr.Logger) *casCertDiscovery

func NewDefaultAlbConfigManagerBuilder

func NewDefaultAlbConfigManagerBuilder(kubeClient client.Client, cloud prvd.Provider, logger logr.Logger) *defaultAlbConfigManagerBuilder

func NewDefaultFinalizerManager

func NewDefaultFinalizerManager(k8sFinalizerManager helper.FinalizerManager) *defaultFinalizerManager

func NewDefaultGroupLoader

func NewDefaultGroupLoader(kubeClient client.Client, annotationParser annotations.Parser) *defaultGroupLoader

func NewDefaultVSwitchResolver

func NewDefaultVSwitchResolver(cloud prvd.Provider, vpcID string, logger logr.Logger) *defaultVSwitchesResolver

func NewStackSchemaBuilder

func NewStackSchemaBuilder(stackID core.StackID) *stackSchemaBuilder

Types

type Builder

type Builder interface {
	Build(ctx context.Context, gateway *v1.AlbConfig, ingGroup *Group) (core.Manager, *alb.AlbLoadBalancer, error)
}

type CertDiscovery

type CertDiscovery interface {
	Discover(ctx context.Context, tlsHosts []string) ([]string, error)
}

type FinalizerManager

type FinalizerManager interface {
	AddGroupFinalizer(ctx context.Context, members []*networking.Ingress) error

	RemoveGroupFinalizer(ctx context.Context, inactiveMembers []*networking.Ingress) error
}

type Group

type Group struct {
	ID GroupID

	Members []*networking.Ingress

	InactiveMembers []*networking.Ingress
}

type GroupID

type GroupID types.NamespacedName

func (GroupID) String

func (groupID GroupID) String() string

type GroupLoader

type GroupLoader interface {
	Load(ctx context.Context, groupID GroupID, ingress []*store.Ingress) (*Group, error)

	LoadGroupID(ctx context.Context, ing *networking.Ingress) (*GroupID, error)
}

type Protocol

type Protocol string
const (
	ProtocolHTTP  Protocol = util.ListenerProtocolHTTP
	ProtocolHTTPS Protocol = util.ListenerProtocolHTTPS
)

type StackSchema

type StackSchema struct {
	ID string `json:"id"`

	Resources map[string]map[string]interface{} `json:"resources"`
}

type VSwitchResolver

type VSwitchResolver interface {
	ResolveViaDiscovery(ctx context.Context) ([]vpc.VSwitch, error)

	ResolveViaIDSlice(ctx context.Context, vSwitchIDs []string) ([]vpc.VSwitch, error)
}

Jump to

Keyboard shortcuts

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