Documentation
¶
Index ¶
- type Backend
- type Config
- type Endpoint
- type EndpointPort
- type IPFamily
- type IPRange
- type IPRangeSet
- func (s *IPRangeSet) Contains(ip netip.Addr) bool
- func (s *IPRangeSet) Count(ipFamily IPFamily) *big.Int
- func (s *IPRangeSet) HasRangesOfFamily(ipFamily IPFamily) bool
- func (s *IPRangeSet) Intersections(rs IPRangeSet) IPRangeSet
- func (s *IPRangeSet) Merge(rs ...IPRange)
- func (s *IPRangeSet) Ranges() []IPRange
- func (s *IPRangeSet) RangesForFamily(ipFamily IPFamily) []IPRange
- func (s *IPRangeSet) String() string
- func (s *IPRangeSet) Subtract(rs ...IPRange)
- type Service
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct {
// Metrics and health probe options
MetricsAddr string `env:"METRICS_ADDR,default=:8080"`
ProbeAddr string `env:"PROBE_ADDR,default=:8081"`
// Webhook options
WebhookPort int `env:"WEBHOOK_PORT,default=9443"`
WebhookCertDir string `env:"WEBHOOK_CERT_DIR,default=/mnt/k8s-webhook-server/serving-certs"`
// RouterOS options
RouterOSURL *url.URL `env:"ROUTEROS_URL,required"`
RouterOSUsername string `env:"ROUTEROS_USERNAME,required"`
RouterOSPassword string `env:"ROUTEROS_PASSWORD,required"`
RouterOSCACert string `env:"ROUTEROS_CA_CERT"`
RouterOSCacheTimeout time.Duration `env:"ROUTEROS_CACHE_TIMEOUT,default=5m"`
// Controller options
LoadBalancerClassName string `env:"LOAD_BALANCER_CLASS_NAME,default=mikrolb.de/controller"`
IsDefaultLoadBalancer bool `env:"LOAD_BALANCER_DEFAULT,default=false"`
// Reconciliation options
AllocationTimeout time.Duration `env:"ALLOCATION_TIMEOUT,default=5m"`
}
type Endpoint ¶
type Endpoint struct {
IPs []netip.Addr
Ports []EndpointPort
}
type EndpointPort ¶
type IPRange ¶
type IPRange struct {
// contains filtered or unexported fields
}
func ParseIPRange ¶
type IPRangeSet ¶
type IPRangeSet struct {
// contains filtered or unexported fields
}
func NewIPRangeSet ¶
func NewIPRangeSet(rs ...IPRange) IPRangeSet
func (*IPRangeSet) HasRangesOfFamily ¶
func (s *IPRangeSet) HasRangesOfFamily(ipFamily IPFamily) bool
func (*IPRangeSet) Intersections ¶
func (s *IPRangeSet) Intersections(rs IPRangeSet) IPRangeSet
func (*IPRangeSet) Merge ¶
func (s *IPRangeSet) Merge(rs ...IPRange)
func (*IPRangeSet) Ranges ¶
func (s *IPRangeSet) Ranges() []IPRange
func (*IPRangeSet) RangesForFamily ¶
func (s *IPRangeSet) RangesForFamily(ipFamily IPFamily) []IPRange
func (*IPRangeSet) String ¶
func (s *IPRangeSet) String() string
func (*IPRangeSet) Subtract ¶
func (s *IPRangeSet) Subtract(rs ...IPRange)
Click to show internal directories.
Click to hide internal directories.