Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Command ¶
type Command struct {
Name string `yaml:"name"`
Kind string `yaml:"kind"`
Command string `yaml:"command"`
Environment map[string]string `yaml:"environment"`
Attributes map[string]interface{}
Path string
}
Command defines one action to execute within a rule
func LoadCommand ¶
LoadCommand loads a definition from the given text
func LoadCommandFromPath ¶
LoadCommandFromPath loads a definition from the specified file
type Component ¶
type Component struct {
Name string `yaml:"name"`
App string `yaml:"app"`
Kind string `yaml:"kind"`
Ignore bool `yaml:"ignore"`
Docker Docker `yaml:"docker"`
ECS ECS `yaml:"ecs"`
Toolchain Toolchain `yaml:"toolchain"`
Rules map[string]Rule `yaml:"rules"`
Exports map[string]Export `yaml:"exports"`
Environment map[string]string `yaml:"environment"`
Path string
}
Component defines component configuration in YAML
func LoadComponent ¶
LoadComponent loads a definition from the given text
func LoadComponentFromPath ¶
LoadComponentFromPath loads a definition from the specified file
type Dependency ¶
type Dependency struct {
Component string `yaml:"component"`
Rule string `yaml:"rule"`
Export string `yaml:"export"`
Recurse int `yaml:"recurse"`
}
Dependency between Rules
type Docker ¶
type Docker struct {
Image string `yaml:"image"`
}
Docker defines Docker configuration for a component
type ECS ¶
type ECS struct {
Task string `yaml:"task"`
Type string `yaml:"type"`
Memory int `yaml:"memory"`
CPU int `yaml:"cpu"`
}
ECS defines ECS configuration for a component
type Export ¶
type Export struct {
Provider string `yaml:"provider"`
Resources []string `yaml:"resources"`
Ignore []string `yaml:"ignore"`
}
Export defines resources exposed by a Component
type Project ¶
type Project struct {
Name string `yaml:"name"`
Environment map[string]string `yaml:"environment"`
Components []string `yaml:"components"`
Providers map[string]map[string]interface{} `yaml:"providers"`
}
Project defines project configuration in YAML
func LoadProject ¶
LoadProject loads a definition from the given text
func LoadProjectFromPath ¶
LoadProjectFromPath loads a definition from the specified file
type Providers ¶
Providers specifies the name of the Provider type to be used for the input and output Resources of a Rule
type Rule ¶
type Rule struct {
Name string `yaml:"name"`
Inputs []string `yaml:"inputs"`
Outputs []string `yaml:"outputs"`
Ignore []string `yaml:"ignore"`
Local bool `yaml:"local"`
Requires []Dependency `yaml:"requires"`
Description string `yaml:"description"`
Command string `yaml:"command"`
Commands []string `yaml:"commands"`
Providers Providers `yaml:"providers"`
}
Rule defines inputs, commands, and outputs for a build step or action
type Toolchain ¶
type Toolchain struct {
Items []ToolchainItem `yaml:"items"`
}
Toolchain identifies dependencies this component has on build tools. This may be used to identify changes in toolchain that may necessitate a rebuild.
type ToolchainItem ¶
ToolchainItem is one part of a Component Toolchain