endpoint

package
v0.3.0 Latest Latest
Warning

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

Go to latest
Published: Sep 19, 2023 License: Apache-2.0 Imports: 11 Imported by: 20

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ExposeEndpoints

func ExposeEndpoints(
	ctx context.Context,
	h *helper.Helper,
	serviceName string,
	endpointSelector map[string]string,
	endpoints map[service.Endpoint]Data,
	timeout time.Duration,
) (map[string]string, ctrl.Result, error)

ExposeEndpoints - creates services, routes and returns a map of created openstack endpoint NOTE: (mschuppert) deprecated, can be removed when external endpoint creation moved to openstack-operator and ExposeEndpoints() can be removed

Types

type Data

type Data struct {
	// Used in k8s service definition
	Port int32
	// An optional path suffix to append to route hostname when forming Keystone endpoint URLs
	Path string
	// protocol of the endpoint (http/https/none)
	Protocol *service.Protocol
	// details for metallb service generation
	// NOTE: (mschuppert) deprecated, can be removed when external endpoint creation moved to openstack-operator
	// and ExposeEndpoints() can be removed
	MetalLB *MetalLBData
	// possible overrides for Route
	// NOTE: (mschuppert) deprecated, can be removed when external endpoint creation moved to openstack-operator
	// and ExposeEndpoints() can be removed
	RouteOverride *route.OverrideSpec
}

Data - information for generation of K8S services and Keystone endpoint URLs

type Endpoint

type Endpoint string

Endpoint - typedef to enumerate Endpoint verbs

const (
	// EndpointAdmin - admin endpoint
	EndpointAdmin Endpoint = "admin"
	// EndpointInternal - internal endpoint
	EndpointInternal Endpoint = "internal"
	// EndpointPublic - public endpoint
	EndpointPublic Endpoint = "public"
	// AnnotationHostnameKey -
	AnnotationHostnameKey = "dnsmasq.network.openstack.org/hostname"
)

type MetalLBData

type MetalLBData struct {
	// Name of the metallb IpAddressPool
	IPAddressPool string
	// use shared IP for the service
	SharedIP bool
	// sharing key which gets set as the annotation on the LoadBalancer service.
	// Services which share the same VIP must have the same SharedIPKey. Gets default to the IPAddressPool if
	// SharedIP is true, but no SharedIPKey set.
	SharedIPKey string
	// if set request these IPs via MetalLBLoadBalancerIPs, using a list for dual stack (ipv4/ipv6)
	LoadBalancerIPs []string
	// protocol to be used for the service
	Protocol *corev1.Protocol
}

MetalLBData - information specific to creating the MetalLB service NOTE: (mschuppert) deprecated, can be removed when external endpoint creation moved to openstack-operator and ExposeEndpoints() can be removed

Jump to

Keyboard shortcuts

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