Help us shape the future of Go! Take the 2026 Go Developer Survey

endpoint

package
v0.6.0 Latest Latest
Warning

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

Go to latest
Published: Feb 28, 2025 License: Apache-2.0 Imports: 11 Imported by: 16

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