config

package
v1.1.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 17, 2025 License: MIT Imports: 9 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ServiceTypeService = "service"
	ServiceTypeCron    = "cron"
)
View Source
const (
	RestartPolicyAlways    = "always"
	RestartPolicyOnFailure = "on-failure"
	RestartPolicyNever     = "never"
)

Variables

View Source
var ErrInvalidConfig = errors.New("invalid config")
View Source
var PatternEnvName = regexp.MustCompile(`^[a-zA-Z_][a-zA-Z0-9_]*$`)
View Source
var PatternRestartPolicy = regexp.MustCompile(`^(always|on-failure|never|exponential)$`)
View Source
var PatternServiceName = regexp.MustCompile(`^[a-zA-Z0-9_-]+$`)

Functions

func ResolveConfigPath added in v1.1.0

func ResolveConfigPath(files ...string) (string, error)

Types

type AdminEntry added in v1.1.0

type AdminEntry struct {
	Host string
	Port int
	Unix string
}

func (*AdminEntry) Serialize added in v1.1.0

func (ae *AdminEntry) Serialize() map[string]any

type Config

type Config struct {
	DefaultInitialDelay time.Duration
	DefaultGracePeriod  time.Duration
	Admin               *AdminEntry
	Services            map[string]*ServiceEntry
}

func DeserializeConfig added in v1.1.0

func DeserializeConfig(data any, envMapping func(string) string, gron *gronx.Gronx) (*Config, error)

func (*Config) Serialize added in v1.1.0

func (c *Config) Serialize() map[string]any

type RestartPolicy

type RestartPolicy struct {
	Mode         string
	Exponential  bool
	InitialDelay time.Duration
	MaxDelay     time.Duration
	MaxRetries   int
}

func (*RestartPolicy) Serialize added in v1.1.0

func (rp *RestartPolicy) Serialize() map[string]any

type ServiceEntry added in v1.1.0

type ServiceEntry struct {
	Type        string
	Command     []string
	WorkingDir  string
	Optional    bool
	Env         map[string]string
	Restart     *RestartPolicy
	Cron        string
	Single      bool
	GracePeriod time.Duration
}

func (*ServiceEntry) Serialize added in v1.1.0

func (se *ServiceEntry) Serialize() map[string]any

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL