Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Dependency ¶ added in v0.3.0
type Dependency struct {
// Image is the Docker image.
Image string `yaml:"image"`
// Volumes are the Docker volumes.
Volumes []string `yaml:"volumes"`
// VolumesFrom are the docker volumes-from from.
VolumesFrom []string `yaml:"volumesfrom"`
// Ports holds ports configuration for container.
Ports []string `yaml:"ports"`
// Command is the Docker command which will be executed when container started.
Command string `yaml:"command"`
}
Dependency represents a Docker container and it holds instructions about how it should run.
type Event ¶ added in v0.3.0
type Event struct {
// Name is the name of event.
Name string `yaml:"name"`
// Description is the description of event.
Description string `yaml:"description"`
// Data holds the input parameters of event.
Data map[string]*Parameter `yaml:"data"`
}
Event describes a service task.
type Output ¶ added in v0.3.0
type Output struct {
// Name is the name of task output.
Name string `yaml:"name"`
// Description is the description of task output.
Description string `yaml:"description"`
// Data holds the output parameters of a task output.
Data map[string]*Parameter `yaml:"data"`
}
Output describes task output.
type Parameter ¶ added in v0.3.0
type Parameter struct {
// Name is the name of parameter.
Name string `yaml:"name"`
// Description is the description of parameter.
Description string `yaml:"description"`
// Type is the data type of parameter.
Type string `yaml:"type"`
// Optional indicates if parameter is optional.
Optional bool `yaml:"optional"`
}
Parameter describes task input parameters, output parameters of a task output and input parameters of an event.
type ServiceDefinition ¶ added in v0.3.0
type ServiceDefinition struct {
// Name is the service name.
Name string `yaml:"name"`
// Description is service description.
Description string `yaml:"description"`
// Tasks are the list of tasks that service can execute.
Tasks map[string]*Task `yaml:"tasks"`
// Events are the list of events that service can emit.
Events map[string]*Event `yaml:"events"`
// Dependencies are the Docker containers that service can depend on.
Dependencies map[string]*Dependency `yaml:"dependencies"`
// Configuration is the Docker container that service runs inside.
Configuration *Dependency `yaml:"configuration"`
// Repository holds the service's repository url if it's living on
// a Git host.
Repository string `yaml:"repository"`
}
ServiceDefinition represents MESG services configurations.
func From ¶
func From(source string) (*ServiceDefinition, error)
From imports a service from a source.
type Task ¶ added in v0.3.0
type Task struct {
// Name is the name of task.
Name string `yaml:"name"`
// Description is the description of task.
Description string `yaml:"description"`
// Inputs are the definition of the execution inputs of task.
Inputs map[string]*Parameter `yaml:"inputs"`
// Outputs are the definition of the execution results of task.
Outputs map[string]*Output `yaml:"outputs"`
}
Task describes a service task.
type ValidationError ¶
type ValidationError struct{}
ValidationError is the error type for the Validation of service.
func (*ValidationError) Error ¶
func (v *ValidationError) Error() string
type ValidationResult ¶
type ValidationResult struct {
ServiceFileExist bool
ServiceFileWarnings []string
DockerfileExist bool
}
ValidationResult contains the result of the validation of a service.
func Validate ¶
func Validate(source string) (*ValidationResult, error)
Validate validates a service at a source.
func (*ValidationResult) IsValid ¶
func (v *ValidationResult) IsValid() bool
IsValid returns true if the validation result is valid.
Source Files
¶
Click to show internal directories.
Click to hide internal directories.