59 lines
1.0 KiB
Go
59 lines
1.0 KiB
Go
package kubedog
|
|
|
|
import (
|
|
"time"
|
|
|
|
"github.com/helmfile/helmfile/pkg/resource"
|
|
)
|
|
|
|
type TrackMode string
|
|
|
|
const (
|
|
TrackModeHelm TrackMode = "helm"
|
|
TrackModeHelmLegacy TrackMode = "helm-legacy"
|
|
TrackModeKubedog TrackMode = "kubedog"
|
|
)
|
|
|
|
type TrackOptions struct {
|
|
Timeout time.Duration
|
|
Logs bool
|
|
LogsSince time.Duration
|
|
Filter *resource.FilterConfig
|
|
QPS float32
|
|
Burst int
|
|
}
|
|
|
|
func NewTrackOptions() *TrackOptions {
|
|
return &TrackOptions{
|
|
Timeout: 5 * time.Minute,
|
|
LogsSince: 10 * time.Minute,
|
|
QPS: 100,
|
|
Burst: 200,
|
|
}
|
|
}
|
|
|
|
func (o *TrackOptions) WithTimeout(timeout time.Duration) *TrackOptions {
|
|
o.Timeout = timeout
|
|
return o
|
|
}
|
|
|
|
func (o *TrackOptions) WithLogs(logs bool) *TrackOptions {
|
|
o.Logs = logs
|
|
return o
|
|
}
|
|
|
|
func (o *TrackOptions) WithFilterConfig(config *resource.FilterConfig) *TrackOptions {
|
|
o.Filter = config
|
|
return o
|
|
}
|
|
|
|
func (o *TrackOptions) WithQPS(qps float32) *TrackOptions {
|
|
o.QPS = qps
|
|
return o
|
|
}
|
|
|
|
func (o *TrackOptions) WithBurst(burst int) *TrackOptions {
|
|
o.Burst = burst
|
|
return o
|
|
}
|