resources

package
v0.9.0 Latest Latest
Warning

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

Go to latest
Published: Sep 16, 2019 License: Apache-2.0 Imports: 27 Imported by: 0

Documentation

Overview

Package resources holds simple functions for synthesizing child resources from an Ingress resource and any relevant ClusterIngress controller configuration.

Index

Constants

View Source
const (
	// ProbeHostSuffix is the suffix of the hosts used for probing
	ProbeHostSuffix = ".probe.invalid"
)

Variables

This section is empty.

Functions

func CanProbeGateway added in v0.8.1

func CanProbeGateway(gateway *v1alpha3.Gateway) bool

CanProbeGateway return whether the specified Gateway can be probed using HTTP on port 80.

func GatewayName added in v0.8.0

func GatewayName(accessor kmeta.Accessor, gatewaySvc *corev1.Service) string

GatewayName create a name for the Gateway that is built based on the given IngressAccessor and bonds to the given ingress gateway service.

func GetHTTPServer

func GetHTTPServer(gateway *v1alpha3.Gateway) *v1alpha3.Server

GetHTTPServer gets the HTTP `Server` from `Gateway`.

func GetSecrets

func GetSecrets(ia v1alpha1.IngressAccessor, secretLister corev1listers.SecretLister) (map[string]*corev1.Secret, error)

GetSecrets gets the all of the secrets referenced by the given ClusterIngress, and returns a map whose key is the a secret namespace/name key and value is pointer of the secret.

func GetServers

func GetServers(gateway *v1alpha3.Gateway, ia v1alpha1.IngressAccessor) []v1alpha3.Server

GetServers gets the `Servers` from `Gateway` that belongs to the given ClusterIngress.

func InsertProbe added in v0.8.0

func InsertProbe(vs *v1alpha3.VirtualService) (string, error)

InsertProbe inserts a rule used to probe the VirtualService

func MakeHTTPServer

func MakeHTTPServer(httpProtocol network.HTTPProtocol, hosts []string) *v1alpha3.Server

MakeHTTPServer creates a HTTP Gateway `Server` based on the HTTPProtocol configureation.

func MakeIngressGateways added in v0.8.0

func MakeIngressGateways(ctx context.Context, ia v1alpha1.IngressAccessor, originSecrets map[string]*corev1.Secret, svcLister corev1listers.ServiceLister) ([]*v1alpha3.Gateway, error)

MakeIngressGateways creates Gateways for a given IngressAccessor.

func MakeIngressVirtualService

func MakeIngressVirtualService(ia v1alpha1.IngressAccessor, gateways map[v1alpha1.IngressVisibility]sets.String) *v1alpha3.VirtualService

MakeIngressVirtualService creates Istio VirtualService as network programming for Istio Gateways other than 'mesh'.

func MakeMeshVirtualService

func MakeMeshVirtualService(ia v1alpha1.IngressAccessor) *v1alpha3.VirtualService

MakeMeshVirtualService creates a mesh Virtual Service

func MakeSecrets

func MakeSecrets(ctx context.Context, originSecrets map[string]*corev1.Secret, accessor kmeta.OwnerRefableAccessor) ([]*corev1.Secret, error)

MakeSecrets makes copies of the origin Secrets under the namespace of Istio gateway service.

func MakeTLSServers added in v0.8.0

func MakeTLSServers(ia v1alpha1.IngressAccessor, gatewayServiceNamespace string, originSecrets map[string]*corev1.Secret) ([]v1alpha3.Server, error)

MakeTLSServers creates the expected Gateway TLS `Servers` based on the given IngressAccessor.

func MakeVirtualServices

func MakeVirtualServices(ia v1alpha1.IngressAccessor, gateways map[v1alpha1.IngressVisibility]sets.String) ([]*v1alpha3.VirtualService, error)

MakeVirtualServices creates a mesh virtualservice and a virtual service for each gateway

func SecretRef

func SecretRef(namespace, name string) corev1.ObjectReference

SecretRef returns the ObjectReference of a secret given the namespace and name of the secret.

func ServiceNamespaceFromURL added in v0.8.0

func ServiceNamespaceFromURL(svc string) (string, error)

ServiceNamespaceFromURL extracts the namespace part from the service URL. TODO(nghia): Remove this by parsing at config parsing time.

func SortServers

func SortServers(servers []v1alpha3.Server) []v1alpha3.Server

SortServers sorts `Server` according to its port name.

func UpdateGateway

func UpdateGateway(gateway *v1alpha3.Gateway, want []v1alpha3.Server, existing []v1alpha3.Server) *v1alpha3.Gateway

UpdateGateway replaces the existing servers with the wanted servers.

func VirtualServiceNamespace

func VirtualServiceNamespace(ia v1alpha1.IngressAccessor) string

VirtualServiceNamespace gives the namespace of the child VirtualServices for a given ClusterIngress.

Types

This section is empty.

Directories

Path Synopsis
Package names holds simple functions for synthesizing resource names.
Package names holds simple functions for synthesizing resource names.