types

package
v0.14.6 Latest Latest
Warning

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

Go to latest
Published: Jan 24, 2024 License: Apache-2.0 Imports: 9 Imported by: 7

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AnnotationReader added in v0.13.0

type AnnotationReader interface {
	ReadAnnotations(backend *hatypes.Backend, services []*api.Service, pathLinks []hatypes.PathLink)
}

AnnotationReader ...

type Cache

type Cache interface {
	ExternalNameLookup(externalName string) ([]net.IP, error)
	GetIngress(ingressName string) (*networking.Ingress, error)
	GetIngressList() ([]*networking.Ingress, error)
	GetIngressClass(className string) (*networking.IngressClass, error)
	GetGatewayA1(gatewayName string) (*gatewayv1alpha1.Gateway, error)
	GetGatewayA1List() ([]*gatewayv1alpha1.Gateway, error)
	GetHTTPRouteA1List(namespace string, match map[string]string) ([]*gatewayv1alpha1.HTTPRoute, error)
	GetGatewayMap() (map[string]*gatewayv1alpha2.Gateway, error)
	GetHTTPRouteList() ([]*gatewayv1alpha2.HTTPRoute, error)
	GetService(defaultNamespace, serviceName string) (*api.Service, error)
	GetEndpoints(service *api.Service) (*api.Endpoints, error)
	GetEndpointSlices(service *api.Service) ([]*discoveryv1.EndpointSlice, error)
	GetConfigMap(configMapName string) (*api.ConfigMap, error)
	GetNamespace(name string) (*api.Namespace, error)
	GetTerminatingPods(service *api.Service, track []TrackingRef) ([]*api.Pod, error)
	GetPod(podName string) (*api.Pod, error)
	GetPodNamespace() string
	GetTLSSecretPath(defaultNamespace, secretName string, track []TrackingRef) (CrtFile, error)
	GetCASecretPath(defaultNamespace, secretName string, track []TrackingRef) (ca, crl File, err error)
	GetDHSecretPath(defaultNamespace, secretName string) (File, error)
	GetPasswdSecretContent(defaultNamespace, secretName string, track []TrackingRef) ([]byte, error)
	SwapChangedObjects() *ChangedObjects
}

Cache ...

type ChangedObjects added in v0.11.1

type ChangedObjects struct {
	//
	GlobalConfigMapDataCur, GlobalConfigMapDataNew map[string]string
	//
	TCPConfigMapDataCur, TCPConfigMapDataNew map[string]string
	//
	IngressesDel, IngressesUpd, IngressesAdd []*networking.Ingress
	//
	IngressClassesDel, IngressClassesUpd, IngressClassesAdd []*networking.IngressClass
	//
	GatewaysA1Del, GatewaysA1Upd, GatewaysA1Add []*gatewayv1alpha1.Gateway
	//
	GatewayClassesA1Del, GatewayClassesA1Upd, GatewayClassesA1Add []*gatewayv1alpha1.GatewayClass
	//
	HTTPRoutesA1Del, HTTPRoutesA1Upd, HTTPRoutesA1Add []*gatewayv1alpha1.HTTPRoute
	//
	GatewaysDel, GatewaysUpd, GatewaysAdd []*gatewayv1alpha2.Gateway
	//
	GatewayClassesDel, GatewayClassesUpd, GatewayClassesAdd []*gatewayv1alpha2.GatewayClass
	//
	HTTPRoutesDel, HTTPRoutesUpd, HTTPRoutesAdd []*gatewayv1alpha2.HTTPRoute
	//
	EndpointsNew []*api.Endpoints
	//
	EndpointSlicesUpd []*discoveryv1.EndpointSlice
	//
	ServicesDel, ServicesUpd, ServicesAdd []*api.Service
	//
	SecretsDel, SecretsUpd, SecretsAdd []*api.Secret
	//
	ConfigMapsDel, ConfigMapsUpd, ConfigMapsAdd []*api.ConfigMap
	//
	PodsNew []*api.Pod
	//
	NeedFullSync bool
	//
	Objects []string
	Links   TrackingLinks
}

ChangedObjects ...

type ConverterOptions added in v0.13.0

type ConverterOptions struct {
	Logger           types.Logger
	Cache            Cache
	Tracker          Tracker
	DynamicConfig    *DynamicConfig
	LocalFSPrefix    string
	IsExternal       bool
	MasterSocket     string
	AdminSocket      string
	AcmeSocket       string
	DefaultConfig    func() map[string]string
	DefaultBackend   string
	DefaultCrtSecret string
	FakeCrtFile      CrtFile
	FakeCAFile       CrtFile
	AnnotationPrefix []string
	DisableKeywords  []string
	AcmeTrackTLSAnn  bool
	TrackInstances   bool
	HasGatewayA1     bool
	HasGateway       bool
	EnableEPSlices   bool
}

ConverterOptions ...

type CrtFile added in v0.10.1

type CrtFile struct {
	Filename   string
	SHA1Hash   string
	CommonName string
	NotAfter   time.Time
}

CrtFile ...

type DynamicConfig added in v0.13.0

type DynamicConfig struct {
	CrossNamespaceSecretCertificate bool
	CrossNamespaceSecretCA          bool
	CrossNamespaceSecretPasswd      bool
	CrossNamespaceServices          bool
	// config from the command-line for backward compatibility
	StaticCrossNamespaceSecrets bool
}

DynamicConfig ...

type File

type File struct {
	Filename string
	SHA1Hash string
}

File ...

type ResourceType added in v0.11.1

type ResourceType string

ResourceType ...

const (
	ResourceIngress      ResourceType = "Ingress"
	ResourceIngressClass ResourceType = "IngressClass"

	ResourceGatewayA1      ResourceType = "GatewayA1"
	ResourceGatewayClassA1 ResourceType = "GatewayClassA1"
	ResourceHTTPRouteA1    ResourceType = "HTTPRouteA1"

	ResourceGateway      ResourceType = "Gateway"
	ResourceGatewayClass ResourceType = "GatewayClass"
	ResourceHTTPRoute    ResourceType = "HTTPRoute"

	ResourceConfigMap ResourceType = "ConfigMap"
	ResourceService   ResourceType = "Service"
	ResourceEndpoints ResourceType = "Endpoints"
	ResourceSecret    ResourceType = "Secret"
	ResourcePod       ResourceType = "Pod"

	ResourceHATCPService ResourceType = "HATCPService"
	ResourceHAHostname   ResourceType = "HAHostname"
	ResourceHABackend    ResourceType = "HABackend"
	ResourceHAUserlist   ResourceType = "HAUserlist"

	ResourceAcmeData ResourceType = "AcmeData"
)

...

type Tracker added in v0.11.1

type Tracker interface {
	TrackNames(leftContext ResourceType, leftName string, rightContext ResourceType, rightName string)
	TrackRefName(left []TrackingRef, rightContext ResourceType, rightName string)
	TrackRefs(left, right TrackingRef)
	QueryLinks(input TrackingLinks, removeMatches bool) TrackingLinks
	ClearLinks()
}

Tracker ...

type TrackingLinks map[ResourceType][]string

TrackingLinks ...

type TrackingRef added in v0.14.0

type TrackingRef struct {
	Context    ResourceType
	UniqueName string
}

TrackingRef ...

Jump to

Keyboard shortcuts

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