utils

package
v0.14.0 Latest Latest
Warning

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

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

Documentation

Overview

Package utils implements common, reusable helpers

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Dig

func Dig(fqdn string, edgeDNSServers ...DNSServer) (ips []string, err error)

Dig returns a list of IP addresses for a given FQDN by using the dns servers from edgeDNSServers dns servers are tried one by one from the edgeDNSServers and if there is a non-error response it is returned and the rest is not tried

func EqualAnnotations added in v0.14.0

func EqualAnnotations(a, b map[string]string) bool

func EqualPredefinedAnnotations added in v0.14.0

func EqualPredefinedAnnotations(a1, a2 map[string]string, controlledAnnotations ...string) bool

EqualPredefinedAnnotations checks if there has been a change in controlledAnnotations, it ignores the rest

func Exchange

func Exchange(m *dns.Msg, edgeDNSServers []DNSServer) (msg *dns.Msg, err error)

func FileToGSLB added in v0.14.0

func FileToGSLB(file string) *k8gbv1beta1.Gslb

FileToGSLB takes a file and returns a GSLB object

func FileToIngress added in v0.14.0

func FileToIngress(file string) *netv1.Ingress

FileToIngress takes a file and returns an Ingress object

func FileToIstioGateway added in v0.14.0

func FileToIstioGateway(file string) *istio.Gateway

FileToIstioGateway takes a file and returns a Gateway object

func FileToIstioVirtualService added in v0.14.0

func FileToIstioVirtualService(file string) *istio.VirtualService

FileToIstioVirtualService takes a file and returns a VirtualService object

func FileToService added in v0.14.0

func FileToService(file string) *corev1.Service

FileToService takes a file and returns a Service object

func GetType

func GetType(v interface{}) string

func MergeAnnotations

func MergeAnnotations(target map[string]string, source map[string]string, controlledAnnotations ...string) map[string]string

MergeAnnotations adds or updates annotations from source to target and returns merge

func SplitAfter

func SplitAfter(s string, re *regexp.Regexp) (r []string)

SplitAfter works as the same way as strings.SplitAfter() but the separator is regexp

func YamlToGslb

func YamlToGslb(yaml []byte) (*k8gbv1beta1.Gslb, error)

YamlToGslb takes yaml and returns a Gslb object

func YamlToIngress

func YamlToIngress(yaml []byte) (*netv1.Ingress, error)

YamlToIngress takes yaml and returns Gslb object

func YamlToIstioGateway added in v0.14.0

func YamlToIstioGateway(yaml []byte) (*istio.Gateway, error)

YamlToIstioGateway takes yaml and returns an Istio Gateway object

func YamlToIstioVirtualService added in v0.14.0

func YamlToIstioVirtualService(yaml []byte) (*istio.VirtualService, error)

YamlToIstioVirtualService takes yaml and returns an Istio Virtual Service object

func YamlToService added in v0.14.0

func YamlToService(yaml []byte) (*corev1.Service, error)

YamlToService takes yaml and returns a Kubernetes Service object

Types

type DNSList

type DNSList []DNSServer

func (DNSList) String

func (l DNSList) String() string

type DNSMock

type DNSMock struct {
	// contains filtered or unexported fields
}

DNSMock acts as DNS server but returns mock values

func NewFakeDNS

func NewFakeDNS(settings FakeDNSSettings) *DNSMock

func (*DNSMock) AddAAAARecord

func (m *DNSMock) AddAAAARecord(ip net.IP) *DNSMock

func (*DNSMock) AddARecord

func (m *DNSMock) AddARecord(fqdn string, ip net.IP) *DNSMock

func (*DNSMock) AddNSRecord

func (m *DNSMock) AddNSRecord(fqdn, nsName string) *DNSMock

func (*DNSMock) AddTXTRecord

func (m *DNSMock) AddTXTRecord(fqdn string, strings ...string) *DNSMock

func (*DNSMock) RunTestFunc

func (m *DNSMock) RunTestFunc(f func()) *Result

func (*DNSMock) Start

func (m *DNSMock) Start() *DNSMock

type DNSServer

type DNSServer struct {
	Host string
	Port int
}

func (DNSServer) String

func (s DNSServer) String() string

type FakeDNSSettings

type FakeDNSSettings struct {
	FakeDNSPort     int
	EdgeDNSZoneFQDN string
	DNSZoneFQDN     string
}

type ReconcileResultHandler

type ReconcileResultHandler struct {
	// contains filtered or unexported fields
}

func NewReconcileResultHandler

func NewReconcileResultHandler(reconcileAfter int) *ReconcileResultHandler

func (*ReconcileResultHandler) Requeue

func (r *ReconcileResultHandler) Requeue() (ctrl.Result, error)

Requeue requeue loop after config.ReconcileRequeueSeconds this apply in case you didn't modify request resources. If so, reconciliation starts immediately see: https://github.com/operator-framework/operator-sdk/issues/1164

func (*ReconcileResultHandler) RequeueError

func (r *ReconcileResultHandler) RequeueError(err error) (ctrl.Result, error)

RequeueError requeue loop immediately see default controller limiter: https://danielmangum.com/posts/controller-runtime-client-go-rate-limiting/

func (*ReconcileResultHandler) RequeueNow

func (r *ReconcileResultHandler) RequeueNow() (ctrl.Result, error)

func (*ReconcileResultHandler) Stop

func (r *ReconcileResultHandler) Stop() (ctrl.Result, error)

Stop stops reconciliation loop

type Result

type Result struct {
	Error error
}

func (*Result) RequireNoError

func (r *Result) RequireNoError(t *testing.T)

Jump to

Keyboard shortcuts

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