istio

package
v0.48.0 Latest Latest
Warning

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

Go to latest
Published: Jul 17, 2026 License: Apache-2.0 Imports: 21 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GetDNSSpecInput

func GetDNSSpecInput[T client.Object](ctx context.Context, r *common.SourceReconciler[T], gatewayObj client.Object, state *ObjectToGatewaysState) (*common.DNSSpecInput, error)

GetDNSSpecInput constructs a DNSSpecInput from the given Istio Gateway resource.

func MapGatewayNamesToRequest

func MapGatewayNamesToRequest(gatewayNames []string, defaultNamespace string) []reconcile.Request

MapGatewayNamesToRequest maps the given gateway names to reconcile.Request using the default namespace if not specified.

func MapObjectKeysToRequests

func MapObjectKeysToRequests(keys []client.ObjectKey) []reconcile.Request

MapObjectKeysToRequests maps the given []client.ObjectKey to []reconcile.Request.

Types

type APIVersion

type APIVersion string

APIVersion represents the Istio API version.

const (
	// V1Alpha3 represents Istio v1alpha3.
	V1Alpha3 APIVersion = "v1alpha3"
	// V1Beta1 represents Istio v1beta1.
	V1Beta1 APIVersion = "v1beta1"
	// V1 represents Istio v1.
	V1 APIVersion = "v1"
)

func DetermineAPIVersion

func DetermineAPIVersion(dc discovery.DiscoveryInterface) (*APIVersion, error)

DetermineAPIVersion determines the Istio API version supported by the API server. It prefers API versions in the following order: v1, v1beta1, v1alpha3. It returns nil if no relevant CRDs are found.

type ObjectToGatewaysState

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

ObjectToGatewaysState is a state that maps Ingress and Service objects to the Istio Gateways that reference them.

func NewObjectToGatewaysState

func NewObjectToGatewaysState() *ObjectToGatewaysState

NewObjectToGatewaysState creates a new ObjectToGatewaysState.

func (*ObjectToGatewaysState) AddIngress

func (s *ObjectToGatewaysState) AddIngress(ingressKey, gatewayKey client.ObjectKey)

AddIngress adds a mapping from the given Ingress to the given Gateway.

func (*ObjectToGatewaysState) AddService

func (s *ObjectToGatewaysState) AddService(serviceKey, gatewayKey client.ObjectKey)

AddService adds a mapping from the given Service to the given Gateway.

func (*ObjectToGatewaysState) GetGatewaysForIngress

func (s *ObjectToGatewaysState) GetGatewaysForIngress(ingressKey client.ObjectKey) []client.ObjectKey

GetGatewaysForIngress returns the keys of the Gateways that reference the given Ingress.

func (*ObjectToGatewaysState) GetGatewaysForService

func (s *ObjectToGatewaysState) GetGatewaysForService(serviceKey client.ObjectKey) []client.ObjectKey

GetGatewaysForService returns the keys of the Gateways that reference the given Service.

func (*ObjectToGatewaysState) RemoveGateway

func (s *ObjectToGatewaysState) RemoveGateway(gatewayKey client.ObjectKey)

RemoveGateway removes the mapping from the given Gateway to all Ingress and Service objects.

func (*ObjectToGatewaysState) RemoveGatewayFromIngressMappings

func (s *ObjectToGatewaysState) RemoveGatewayFromIngressMappings(gatewayKey client.ObjectKey)

RemoveGatewayFromIngressMappings removes the mapping from the given Gateway to all Ingress objects.

func (*ObjectToGatewaysState) RemoveGatewayFromServiceMappings

func (s *ObjectToGatewaysState) RemoveGatewayFromServiceMappings(gatewayKey client.ObjectKey)

RemoveGatewayFromServiceMappings removes the mapping from the given Gateway to all Service objects.

func (*ObjectToGatewaysState) RemoveIngress

func (s *ObjectToGatewaysState) RemoveIngress(ingressKey client.ObjectKey)

RemoveIngress removes the mapping from the given Ingress to all Gateways.

func (*ObjectToGatewaysState) RemoveService

func (s *ObjectToGatewaysState) RemoveService(serviceKey client.ObjectKey)

RemoveService removes the mapping from the given Service to all Gateways.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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