resources

package
v0.26.2 Latest Latest
Warning

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

Go to latest
Published: Feb 23, 2022 License: Apache-2.0 Imports: 28 Imported by: 7

Documentation

Overview

Package resources holds simple functions for synthesizing child resources from a Route resource and any relevant Route controller configuration.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func IsClusterLocalService added in v0.8.0

func IsClusterLocalService(svc *corev1.Service) bool

IsClusterLocalService returns whether a service is cluster local.

func MakeACMEIngressPaths added in v0.20.0

func MakeACMEIngressPaths(acmeChallenges []netv1alpha1.HTTP01Challenge, domains ...string) []netv1alpha1.HTTPIngressPath

MakeACMEIngressPaths returns a set of netv1alpha1.HTTPIngressPath that can be used to perform ACME challenges.

func MakeCertificate

func MakeCertificate(owner kmeta.OwnerRefableAccessor, ownerLabelKey string, dnsName string, certName string, certClass string) *networkingv1alpha1.Certificate

MakeCertificate creates a Certificate, inheriting the certClass annotations from the owner, as well as the namespaces. If owner does not have a certClass, use the provided `certClass` parameter.

func MakeCertificates added in v0.7.0

func MakeCertificates(route *v1.Route, domainTagMap map[string]string, certClass string) []*networkingv1alpha1.Certificate

MakeCertificates creates an array of Certificate for the Route to request TLS certificates. domainTagMap is an one-to-one mapping between domain and tag, for major domain (tag-less), the value is an empty string Returns one certificate for each domain

func MakeIngress added in v0.8.0

func MakeIngress(
	ctx context.Context,
	r *servingv1.Route,
	tc *traffic.Config,
	tls []netv1alpha1.IngressTLS,
	ingressClass string,
	acmeChallenges ...netv1alpha1.HTTP01Challenge,
) (*netv1alpha1.Ingress, error)

MakeIngress creates Ingress to set up routing rules. Such Ingress specifies which Hosts that it applies to, as well as the routing rules.

func MakeIngressTLS added in v0.7.0

func MakeIngressTLS(cert *netv1alpha1.Certificate, hostNames []string) netv1alpha1.IngressTLS

MakeIngressTLS creates IngressTLS to configure the ingress TLS.

func MakeIngressWithRollout added in v0.20.0

func MakeIngressWithRollout(
	ctx context.Context,
	r *servingv1.Route,
	tc *traffic.Config,
	ro *traffic.Rollout,
	tls []netv1alpha1.IngressTLS,
	ingressClass string,
	acmeChallenges ...netv1alpha1.HTTP01Challenge,
) (*netv1alpha1.Ingress, error)

MakeIngressWithRollout builds a KIngress object from the given parameters. When building the ingress the builder will take into the account the desired rollout state to split the traffic.

func MakeK8sPlaceholderService

func MakeK8sPlaceholderService(ctx context.Context, route *v1.Route, tagName string) (*corev1.Service, error)

MakeK8sPlaceholderService creates a placeholder Service to prevent naming collisions. It's owned by the provided v1.Route.

Types

type ServicePair added in v0.26.0

type ServicePair struct {
	*corev1.Service
	*corev1.Endpoints
	Tag string
}

func MakeK8sService

func MakeK8sService(ctx context.Context, route *v1.Route, tagName string, ingress *netv1alpha1.Ingress, isPrivate bool) (*ServicePair, error)

MakeK8sService creates a Service that redirect to the loadbalancer specified in Ingress status. It's owned by the provided v1.Route.

Directories

Path Synopsis
Package labels holds simple functions for working with ObjectMeta labels.
Package labels holds simple functions for working with ObjectMeta labels.
Package names holds simple functions for synthesizing resource names.
Package names holds simple functions for synthesizing resource names.

Jump to

Keyboard shortcuts

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