Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct {
// Command to execute (after --)
Command []string
// Timeout for command execution (0 = no timeout)
Timeout time.Duration
// Maximum runtime before forced termination
MaxRuntime time.Duration
// Restart policy: never, always, on-failure
Restart RestartPolicy
// Maximum retry attempts (0 = unlimited when restart enabled)
MaxRetries int
// Grace period for graceful shutdown
GracePeriod time.Duration
// Health check command
HealthCmd string
// Health check interval
HealthInterval time.Duration
// Health check timeout
HealthTimeout time.Duration
// Alert methods: stderr, webhook, script
AlertMethods []string
// Webhook URL for alerts
WebhookURL string
// Custom alert script
AlertCmd string
// Log format: text, json
LogFormat LogFormat
// Exit codes to treat as success
SuccessExitCodes []int
// Exit codes to treat as failure (trigger restart)
FailureExitCodes []int
// Idle timeout (no output)
IdleTimeout time.Duration
// Config file path
ConfigFile string
}
func LoadFromFile ¶
type RestartPolicy ¶
type RestartPolicy string
const ( RestartNever RestartPolicy = "never" RestartAlways RestartPolicy = "always" RestartOnFailure RestartPolicy = "on-failure" )
type YAMLConfig ¶
type YAMLConfig struct {
Timeout string `yaml:"timeout"`
MaxRuntime string `yaml:"max_runtime"`
Restart string `yaml:"restart"`
MaxRetries int `yaml:"max_retries"`
GracePeriod string `yaml:"grace_period"`
HealthCmd string `yaml:"health_cmd"`
HealthInterval string `yaml:"health_interval"`
HealthTimeout string `yaml:"health_timeout"`
Alert []string `yaml:"alert"`
WebhookURL string `yaml:"webhook_url"`
AlertCmd string `yaml:"alert_cmd"`
LogFormat string `yaml:"log_format"`
SuccessCodes []int `yaml:"success_codes"`
FailureCodes []int `yaml:"failure_codes"`
IdleTimeout string `yaml:"idle_timeout"`
}
Click to show internal directories.
Click to hide internal directories.