Documentation
¶
Index ¶
- Constants
- func EqualSliceStringsWithoutOrder(a, b []string) bool
- func GetBoolValue(dataValue, dataName string) (result bool, err error)
- func GetK8sAPILogger() *logger
- func GetLogger() *logger
- func GetPodPrefix(podName string) (prefix string, err error)
- func Hash(input []byte) string
- func HomeDir() string
- func ParseInt(data string) (v int64, err error)
- func ParseSize(size string) (*int64, error)
- func ParseTime(data string) (*int64, error)
- func PtrInt64(value int64) *int64
- func PtrString(value string) *string
- type Errors
- type LogLevel
- type LogLevelValue
- type Logger
- type NamespaceValue
- type OSArgs
Constants ¶
View Source
const ( LogTypeShort = log.LstdFlags LogType = log.LstdFlags | log.Lshortfile )
Variables ¶
This section is empty.
Functions ¶
func GetBoolValue ¶
func GetK8sAPILogger ¶
func GetK8sAPILogger() *logger
func GetPodPrefix ¶
Types ¶
type LogLevelValue ¶
type LogLevelValue struct {
LogLevel LogLevel
}
LogLevel used to automatically distinct namespace/name string
func (*LogLevelValue) UnmarshalFlag ¶
func (n *LogLevelValue) UnmarshalFlag(value string) error
UnmarshalFlag Unmarshal flag
type Logger ¶
type Logger interface {
Print(args ...interface{}) // always print regardless of Log level
Trace(args ...interface{}) // used for heavy duty output everything, not recommended for production
Debug(args ...interface{}) // used to have detailed output of application flow
Info(args ...interface{})
Warning(args ...interface{})
Error(args ...interface{})
Err(args ...interface{}) []error
Panic(args ...interface{})
Printf(format string, args ...interface{}) // similar to fmt.SPrintf function
Tracef(format string, args ...interface{}) // similar to fmt.SPrintf function
Debugf(format string, args ...interface{}) // similar to fmt.SPrintf function
Infof(format string, args ...interface{}) // similar to fmt.SPrintf function
Warningf(format string, args ...interface{}) // similar to fmt.SPrintf function
Errorf(format string, args ...interface{}) // similar to fmt.SPrintf function
Panicf(format string, args ...interface{}) // similar to fmt.SPrintf function
SetLevel(level LogLevel)
ShowFilename(show bool)
}
Logger provides functions to writing log messages level can be defined only as `trace`, `debug`, `info`, `warning`, `error` error and panic are always printed, panic also exits application.
if nil is sent, it won't be printed. This is useful for printing errors only if they exist.
```
if err != nil {
logger.Error(err)
}
``` can be shortened to ``` logger.Error(err) ```
type NamespaceValue ¶
type NamespaceValue struct {
Namespace, Name string
}
NamespaceValue used to automatically distinct namespace/name string
func (NamespaceValue) MarshalFlag ¶
func (n NamespaceValue) MarshalFlag() (string, error)
MarshalFlag Marshals flag
func (NamespaceValue) String ¶
func (n NamespaceValue) String() string
func (*NamespaceValue) UnmarshalFlag ¶
func (n *NamespaceValue) UnmarshalFlag(value string) error
UnmarshalFlag Unmarshal flag
type OSArgs ¶
type OSArgs struct {
Help []bool `short:"h" long:"help" description:"show this help message"`
Version []bool `short:"v" long:"version" description:"version"`
DefaultBackendService NamespaceValue `` /* 131-byte string literal not displayed */
DefaultBackendPort int `long:"default-backend-port" description:"port to use for default service" default:"6061"`
DefaultCertificate NamespaceValue `long:"default-ssl-certificate" default:"" description:"secret name of the certificate"`
ConfigMap NamespaceValue `long:"configmap" description:"configmap designated for HAProxy" default:""`
ConfigMapTCPServices NamespaceValue `long:"configmap-tcp-services" description:"configmap used to define tcp services" default:""`
ConfigMapErrorFiles NamespaceValue `` /* 127-byte string literal not displayed */
ConfigMapPatternFiles NamespaceValue `` /* 137-byte string literal not displayed */
KubeConfig string `long:"kubeconfig" default:"" description:"combined with -e. location of kube config file"`
IngressClass string `long:"ingress.class" default:"" description:"ingress.class to monitor in multiple controllers environment"`
EmptyIngressClass bool `` /* 175-byte string literal not displayed */
PublishService string `` /* 205-byte string literal not displayed */
NamespaceWhitelist []string `long:"namespace-whitelist" description:"whitelisted namespaces"`
NamespaceBlacklist []string `long:"namespace-blacklist" description:"blacklisted namespaces"`
SyncPeriod time.Duration `long:"sync-period" default:"5s" description:"Sets the period at which the controller syncs HAProxy configuration file"`
CacheResyncPeriod time.Duration `` /* 147-byte string literal not displayed */
LogLevel LogLevelValue `long:"log" default:"info" description:"level of log messages you can see"`
External bool `short:"e" long:"external" description:"use as external Ingress Controller (out of k8s cluster)"`
Test bool `short:"t" description:"simulate running HAProxy"`
DisableIPV4 bool `long:"disable-ipv4" description:"toggle to disable the IPv4 protocol from all frontends"`
DisableIPV6 bool `long:"disable-ipv6" description:"toggle to disable the IPv6 protocol from all frontends"`
DisableHTTP bool `long:"disable-http" description:"toggle to disable the HTTP frontend"`
DisableHTTPS bool `long:"disable-https" description:"toggle to disable the HTTPs frontend"`
HTTPBindPort int64 `long:"http-bind-port" default:"80" description:"port to listen on for HTTP traffic"`
HTTPSBindPort int64 `long:"https-bind-port" default:"443" description:"port to listen on for HTTPS traffic"`
IPV4BindAddr string `long:"ipv4-bind-address" default:"0.0.0.0" description:"IPv4 address the Ingress Controller listens on (if enabled)"`
IPV6BindAddr string `long:"ipv6-bind-address" default:"::" description:"IPv6 address the Ingress Controller listens on (if enabled)"`
HealthzBindPort int64 `long:"healthz-bind-port" default:"1042" description:"port to listen on for probes"`
StatsBindPort int64 `long:"stats-bind-port" default:"1024" description:"port to listen on for stats page"`
LocalPeerPort int64 `long:"localpeer-port" default:"10000" description:"port to listen on for local peer"`
Program string `long:"program" description:"path to HAProxy program. NOTE: works only with External mode"`
CfgDir string `long:"config-dir" description:"path to HAProxy configuration directory. NOTE: works only in External mode"`
RuntimeDir string `long:"runtime-dir" description:"path to HAProxy runtime directory. NOTE: works only in External mode"`
DisableServiceExternalName bool `long:"disable-service-external-name" description:"disable forwarding to ExternalName Services due to CVE-2021-25740"`
UseWiths6Overlay bool `long:"with-s6-overlay" description:"use s6 overlay to start/stpop/reload HAProxy"`
ControllerPort int `long:"controller-port" description:"port to listen on for controller data: prometheus, pprof"`
PprofEnabled bool `long:"pprof" short:"p" description:"enable pprof"`
PrometheusEnabled bool `long:"prometheus" description:"enable prometheus of IC data"`
ChannelSize int64 `` /* 172-byte string literal not displayed */
}
OSArgs contains arguments that can be sent to controller
Click to show internal directories.
Click to hide internal directories.