Documentation ¶
Overview ¶
Package resources holds simple functions for synthesizing child resources from an Ingress resource and any relevant Ingress controller configuration.
Index ¶
- func GatewayName(accessor kmeta.Accessor, gatewaySvc *corev1.Service) string
- func GetHTTPServer(gateway *v1alpha3.Gateway) *istiov1alpha3.Server
- func GetSecrets(ing *v1alpha1.Ingress, secretLister corev1listers.SecretLister) (map[string]*corev1.Secret, error)
- func GetServers(gateway *v1alpha3.Gateway, ing *v1alpha1.Ingress) []*istiov1alpha3.Server
- func MakeHTTPServer(httpProtocol network.HTTPProtocol, hosts []string) *istiov1alpha3.Server
- func MakeIngressGateways(ctx context.Context, ing *v1alpha1.Ingress, ...) ([]*v1alpha3.Gateway, error)
- func MakeIngressVirtualService(ing *v1alpha1.Ingress, gateways map[v1alpha1.IngressVisibility]sets.String) *v1alpha3.VirtualService
- func MakeMeshVirtualService(ing *v1alpha1.Ingress, gateways map[v1alpha1.IngressVisibility]sets.String) *v1alpha3.VirtualService
- func MakeSecrets(ctx context.Context, originSecrets map[string]*corev1.Secret, ...) ([]*corev1.Secret, error)
- func MakeTLSServers(ing *v1alpha1.Ingress, gatewayServiceNamespace string, ...) ([]*istiov1alpha3.Server, error)
- func MakeVirtualServices(ing *v1alpha1.Ingress, gateways map[v1alpha1.IngressVisibility]sets.String) ([]*v1alpha3.VirtualService, error)
- func SecretRef(namespace, name string) corev1.ObjectReference
- func ServiceNamespaceFromURL(svc string) (string, error)
- func SortServers(servers []*istiov1alpha3.Server) []*istiov1alpha3.Server
- func UpdateGateway(gateway *v1alpha3.Gateway, want []*istiov1alpha3.Server, ...) *v1alpha3.Gateway
- func VirtualServiceNamespace(ing *v1alpha1.Ingress) string
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GatewayName ¶ added in v0.8.0
GatewayName create a name for the Gateway that is built based on the given Ingress and bonds to the given ingress gateway service.
func GetHTTPServer ¶
func GetHTTPServer(gateway *v1alpha3.Gateway) *istiov1alpha3.Server
GetHTTPServer gets the HTTP `Server` from `Gateway`.
func GetSecrets ¶
func GetSecrets(ing *v1alpha1.Ingress, secretLister corev1listers.SecretLister) (map[string]*corev1.Secret, error)
GetSecrets gets the all of the secrets referenced by the given Ingress, and returns a map whose key is the a secret namespace/name key and value is pointer of the secret.
func GetServers ¶
GetServers gets the `Servers` from `Gateway` that belongs to the given Ingress.
func MakeHTTPServer ¶
func MakeHTTPServer(httpProtocol network.HTTPProtocol, hosts []string) *istiov1alpha3.Server
MakeHTTPServer creates a HTTP Gateway `Server` based on the HTTPProtocol configuration.
func MakeIngressGateways ¶ added in v0.8.0
func MakeIngressGateways(ctx context.Context, ing *v1alpha1.Ingress, originSecrets map[string]*corev1.Secret, svcLister corev1listers.ServiceLister) ([]*v1alpha3.Gateway, error)
MakeIngressGateways creates Gateways for a given Ingress.
func MakeIngressVirtualService ¶
func MakeIngressVirtualService(ing *v1alpha1.Ingress, 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(ing *v1alpha1.Ingress, gateways map[v1alpha1.IngressVisibility]sets.String) *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(ing *v1alpha1.Ingress, gatewayServiceNamespace string, originSecrets map[string]*corev1.Secret) ([]*istiov1alpha3.Server, error)
MakeTLSServers creates the expected Gateway TLS `Servers` based on the given Ingress.
func MakeVirtualServices ¶
func MakeVirtualServices(ing *v1alpha1.Ingress, 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
ServiceNamespaceFromURL extracts the namespace part from the service URL. TODO(nghia): Remove this by parsing at config parsing time.
func SortServers ¶
func SortServers(servers []*istiov1alpha3.Server) []*istiov1alpha3.Server
SortServers sorts `Server` according to its port name.
func UpdateGateway ¶
func UpdateGateway(gateway *v1alpha3.Gateway, want []*istiov1alpha3.Server, existing []*istiov1alpha3.Server) *v1alpha3.Gateway
UpdateGateway replaces the existing servers with the wanted servers.
func VirtualServiceNamespace ¶
VirtualServiceNamespace gives the namespace of the child VirtualServices for a given Ingress.
Types ¶
This section is empty.