mirror of
https://github.com/woodpecker-ci/woodpecker.git
synced 2024-09-25 21:20:12 +00:00
e34daae0cf
* Refactor: move cncd/pipeline/ to pipeline/ * Refactor: move pipeline/pipeline/ to pipeline/
116 lines
4.1 KiB
Go
116 lines
4.1 KiB
Go
package backend
|
|
|
|
type (
|
|
// Config defines the runtime configuration of a pipeline.
|
|
Config struct {
|
|
Stages []*Stage `json:"pipeline"` // pipeline stages
|
|
Networks []*Network `json:"networks"` // network definitions
|
|
Volumes []*Volume `json:"volumes"` // volume definitions
|
|
Secrets []*Secret `json:"secrets"` // secret definitions
|
|
}
|
|
|
|
// Stage denotes a collection of one or more steps.
|
|
Stage struct {
|
|
Name string `json:"name,omitempty"`
|
|
Alias string `json:"alias,omitempty"`
|
|
Steps []*Step `json:"steps,omitempty"`
|
|
}
|
|
|
|
// Step defines a container process.
|
|
Step struct {
|
|
Name string `json:"name"`
|
|
Alias string `json:"alias,omitempty"`
|
|
Image string `json:"image,omitempty"`
|
|
Pull bool `json:"pull,omitempty"`
|
|
Detached bool `json:"detach,omitempty"`
|
|
Privileged bool `json:"privileged,omitempty"`
|
|
WorkingDir string `json:"working_dir,omitempty"`
|
|
Environment map[string]string `json:"environment,omitempty"`
|
|
Labels map[string]string `json:"labels,omitempty"`
|
|
Entrypoint []string `json:"entrypoint,omitempty"`
|
|
Command []string `json:"command,omitempty"`
|
|
ExtraHosts []string `json:"extra_hosts,omitempty"`
|
|
Volumes []string `json:"volumes,omitempty"`
|
|
Tmpfs []string `json:"tmpfs,omitempty"`
|
|
Devices []string `json:"devices,omitempty"`
|
|
Networks []Conn `json:"networks,omitempty"`
|
|
DNS []string `json:"dns,omitempty"`
|
|
DNSSearch []string `json:"dns_search,omitempty"`
|
|
MemSwapLimit int64 `json:"memswap_limit,omitempty"`
|
|
MemLimit int64 `json:"mem_limit,omitempty"`
|
|
ShmSize int64 `json:"shm_size,omitempty"`
|
|
CPUQuota int64 `json:"cpu_quota,omitempty"`
|
|
CPUShares int64 `json:"cpu_shares,omitempty"`
|
|
CPUSet string `json:"cpu_set,omitempty"`
|
|
OnFailure bool `json:"on_failure,omitempty"`
|
|
OnSuccess bool `json:"on_success,omitempty"`
|
|
AuthConfig Auth `json:"auth_config,omitempty"`
|
|
NetworkMode string `json:"network_mode,omitempty"`
|
|
IpcMode string `json:"ipc_mode,omitempty"`
|
|
Sysctls map[string]string `json:"sysctls,omitempty"`
|
|
}
|
|
|
|
// Auth defines registry authentication credentials.
|
|
Auth struct {
|
|
Username string `json:"username,omitempty"`
|
|
Password string `json:"password,omitempty"`
|
|
Email string `json:"email,omitempty"`
|
|
}
|
|
|
|
// Conn defines a container network connection.
|
|
Conn struct {
|
|
Name string `json:"name"`
|
|
Aliases []string `json:"aliases"`
|
|
}
|
|
|
|
// Network defines a container network.
|
|
Network struct {
|
|
Name string `json:"name,omitempty"`
|
|
Driver string `json:"driver,omitempty"`
|
|
DriverOpts map[string]string `json:"driver_opts,omitempty"`
|
|
}
|
|
|
|
// Volume defines a container volume.
|
|
Volume struct {
|
|
Name string `json:"name,omitempty"`
|
|
Driver string `json:"driver,omitempty"`
|
|
DriverOpts map[string]string `json:"driver_opts,omitempty"`
|
|
}
|
|
|
|
// Secret defines a runtime secret
|
|
Secret struct {
|
|
Name string `json:"name,omitempty"`
|
|
Value string `json:"value,omitempty"`
|
|
Mount string `json:"mount,omitempty"`
|
|
Mask bool `json:"mask,omitempty"`
|
|
}
|
|
|
|
// State defines a container state.
|
|
State struct {
|
|
// Container exit code
|
|
ExitCode int `json:"exit_code"`
|
|
// Container exited, true or false
|
|
Exited bool `json:"exited"`
|
|
// Container is oom killed, true or false
|
|
OOMKilled bool `json:"oom_killed"`
|
|
}
|
|
|
|
// // State defines the pipeline and process state.
|
|
// State struct {
|
|
// Pipeline struct {
|
|
// // Current pipeline step
|
|
// Step *Step `json:"step"`
|
|
// // Current pipeline error state
|
|
// Error error `json:"error"`
|
|
// }
|
|
//
|
|
// Process struct {
|
|
// // Container exit code
|
|
// ExitCode int `json:"exit_code"`
|
|
// // Container exited, true or false
|
|
// Exited bool `json:"exited"`
|
|
// // Container is oom killed, true or false
|
|
// OOMKilled bool `json:"oom_killed"`
|
|
// }
|
|
// }
|
|
)
|