Documentation
¶
Index ¶
Constants ¶
View Source
const ( DEFAULT_REDIS_HOST = "127.0.0.1" DEFAULT_REDIS_PORT = uint32(6379) DEFAULT_SWEEP_SCHEDULE = "@daily" DEFAULT_MARK_SCHEDULE = "@hourly" DEFAULT_NOTIFY_SCHEDULE = "@every 12h" DEFAULT_GRACEPERIOD = "24h" DEFAULT_MAX_RETRY = 10 )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Aws ¶
type Aws struct {
Name string `yaml:"name" validate:"nonzero"`
MaxClientRetry int `yaml:"max_retries"`
Candidates []string `yaml:"candidates" validate:"isValidAwsCandidate"`
Region string `yaml:"region" validate:"nonzero"`
MarkSchedule string `yaml:"mark_schedule" validate:"isCron"`
SweepSchedule string `yaml:"sweep_schedule" validate:"isCron"`
NotifySchedule string `yaml:"notify_schedule" validate:"isCron"`
Not []AwsTagKV `yaml:"not_tags"`
GracePeriod string `yaml:"grace_period" validate:"isDuration"`
DeleteEnabled bool `yaml:"delete_enabled"`
IamRole string `yaml:"iamRole" validate:"nonzero"`
}
type Config ¶
type Config struct {
RedisHost string `yaml:"redis_host"`
RedisPort uint32 `yaml:"redis_port"`
Aws []Aws `yaml:"aws"`
Kubernetes []Kubernetes `yaml:"kubernetes"`
Slack Slack `yaml:"slack"`
}
func LoadConfig ¶
type Kubernetes ¶
type Kubernetes struct {
Name string `yaml:"name" validate:"nonzero"`
KubeConfig string `yaml:"kubeconfig" validate:"nonzero"`
KubeContext string `yaml:"kubecontext"`
MarkSchedule string `yaml:"mark_schedule" validate:"isCron"`
SweepSchedule string `yaml:"sweep_schedule" validate:"isCron"`
NotifySchedule string `yaml:"notify_schedule" validate:"isCron"`
DeleteEnabled bool `yaml:"delete_enabled"`
GracePeriod string `yaml:"grace_period" validate:"isDuration"`
Not []string `yaml:"not_namespaces"`
NotRegex []string `yaml:"not_regex" validate:"isRegex"`
}
Click to show internal directories.
Click to hide internal directories.