config

package
v0.1.1 Latest Latest
Warning

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

Go to latest
Published: Jun 7, 2024 License: GPL-2.0 Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Config

type Config struct {
	LogTimestampFormat string                 `mapstructure:"log_timestamp_format" json:"log_timestamp_format"`
	LogFormat          enums.LoggerFormatType `mapstructure:"log_format" json:"log_format"`
	LogFile            string                 `mapstructure:"log_file" json:"log_file,omitempty"`
	LogStdout          bool                   `mapstructure:"log_stdout" json:"log_stdout"`
	LogLevel           enums.LogLevel         `mapstructure:"log_level" json:"log_level"`
	Shell              string                 `mapstructure:"shell" json:"shell"`
	ShellArgs          []string               `mapstructure:"shell_args" json:"shell_args"`
	Jobs               []JobConfig            `mapstructure:"jobs" json:"jobs"`
}

func (*Config) Validate

func (cfg *Config) Validate() error

type EnvVariables

type EnvVariables = map[string]string

type JobConfig

type JobConfig struct {
	Name        string         `mapstructure:"name" json:"name,omitempty"`
	Description string         `mapstructure:"description" json:"description,omitempty"`
	Disabled    bool           `mapstructure:"disabled" json:"disabled,omitempty"`
	Concurrency uint           `mapstructure:"concurrency" json:"concurrency,omitempty"`
	Tasks       []Task         `mapstructure:"tasks" json:"tasks,omitempty"`
	Schedulers  []JobScheduler `mapstructure:"schedulers" json:"schedulers"`
	Hooks       JobHooks       `mapstructure:"hooks" json:"hooks,omitempty"`
}

func (*JobConfig) Validate

func (c *JobConfig) Validate() error

type JobHooks

type JobHooks struct {
	Done   []Task `mapstructure:"done" json:"done,omitempty"`
	Failed []Task `mapstructure:"failed" json:"failed,omitempty"`
}

type JobMetadata

type JobMetadata = map[string]interface{}

type JobScheduler

type JobScheduler struct {
	Cron     string        `mapstructure:"cron" json:"cron,omitempty"`
	Interval time.Duration `mapstructure:"interval" json:"interval,omitempty"`
	OnInit   bool          `mapstructure:"on_init" json:"on_init,omitempty"`
}

func (*JobScheduler) Validate

func (s *JobScheduler) Validate() error

type Task

type Task struct {
	Post             string            `mapstructure:"post" json:"post,omitempty"`
	Get              string            `mapstructure:"get" json:"get,omitempty"`
	Command          string            `mapstructure:"command" json:"command,omitempty"`
	WorkingDirectory string            `mapstructure:"working_directory" json:"working_directory,omitempty"`
	Headers          map[string]string `mapstructure:"headers" json:"headers,omitempty"`
	Data             any               `mapstructure:"data" json:"data,omitempty"`

	Retries    uint          `mapstructure:"retries" json:"retries,omitempty"`
	RetryDelay time.Duration `mapstructure:"retry-delay" json:"retry_delay,omitempty"`
	Timeout    time.Duration `mapstructure:"timeout" json:"timeout,omitempty"`
	Env        EnvVariables  `mapstructure:"env" json:"env,omitempty"`
}

func (*Task) Validate

func (t *Task) Validate() error

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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