Documentation
¶
Overview ¶
Changing configuration fields or semantics? Make sure to update commands/help/files/config.go as well
Index ¶
- Constants
- func ValidateRegion(region *Region, validateRoleArn bool) error
- type AvailabilityZone
- type BlackoutWindow
- type Config
- type Container
- type DstEnvFile
- type ELB
- type Environment
- func (recv *Environment) GetELBForRegion(reg string, elb string) (string, error)
- func (recv *Environment) GetRegion(regionName string) (*Region, error)
- func (recv *Environment) GetRoleARN(regionName string) (string, error)
- func (recv Environment) GetStackDefinitionPath(regionName string) (string, error)
- func (recv *Environment) IsWithinBlackoutWindow() error
- type HealthCheck
- type Hook
- type Hooks
- type Region
- type Slack
- type SrcEnvFile
Constants ¶
View Source
const ( Topology_Inet = "inet" Topology_Worker = "worker" Topology_Cron = "cron" )
Variables ¶
This section is empty.
Functions ¶
func ValidateRegion ¶
Types ¶
type AvailabilityZone ¶
type BlackoutWindow ¶
type Config ¶
type Config struct {
ServiceName string `yaml:"service_name"`
PorterVersion string `yaml:"porter_version"`
Environments []*Environment `yaml:"environments"`
Slack Slack `yaml:"slack"`
Hooks Hooks `yaml:"hooks"`
}
Config supports multi-container deployments
func (*Config) GetEnvironment ¶
func (recv *Config) GetEnvironment(envName string) (*Environment, error)
func (*Config) ValidateEnvironments ¶
func (*Config) ValidateTopLevelKeys ¶
type Container ¶
type Container struct {
Name string `yaml:"name"`
Topology string `yaml:"topology"`
InetPort int `yaml:"inet_port"`
Primary bool `yaml:"primary"`
Uid *int `yaml:"uid"`
HealthCheck *HealthCheck `yaml:"health_check"`
SrcEnvFile *SrcEnvFile `yaml:"src_env_file"`
DstEnvFile *DstEnvFile `yaml:"dst_env_file"`
}
type DstEnvFile ¶
type Environment ¶
type Environment struct {
Name string `yaml:"name"`
StackDefinitionPath string `yaml:"stack_definition_path"`
RoleARN string `yaml:"role_arn"`
InstanceCount uint `yaml:"instance_count"`
InstanceType string `yaml:"instance_type"`
BlackoutWindows []BlackoutWindow `yaml:"blackout_windows"`
Regions []*Region `yaml:"regions"`
}
func (*Environment) GetELBForRegion ¶
func (recv *Environment) GetELBForRegion(reg string, elb string) (string, error)
func (*Environment) GetRegion ¶
func (recv *Environment) GetRegion(regionName string) (*Region, error)
func (*Environment) GetRoleARN ¶
func (recv *Environment) GetRoleARN(regionName string) (string, error)
func (Environment) GetStackDefinitionPath ¶
func (recv Environment) GetStackDefinitionPath(regionName string) (string, error)
func (*Environment) IsWithinBlackoutWindow ¶
func (recv *Environment) IsWithinBlackoutWindow() error
type HealthCheck ¶
type Hooks ¶
type Hooks struct {
PrePack []Hook `yaml:"pre_pack"`
PostPack []Hook `yaml:"post_pack"`
PreProvision []Hook `yaml:"pre_provision"`
PostProvision []Hook `yaml:"post_provision"`
PrePromote []Hook `yaml:"pre_promote"`
PostPromote []Hook `yaml:"post_promote"`
PrePrune []Hook `yaml:"pre_prune"`
PostPrune []Hook `yaml:"post_prune"`
EC2Bootstrap []Hook `yaml:"ec2_bootstrap"`
}
type Region ¶
type Region struct {
Name string `yaml:"name"`
StackDefinitionPath string `yaml:"stack_definition_path"`
VpcId string `yaml:"vpc_id"`
AZs []AvailabilityZone `yaml:"azs"`
ELBs []*ELB `yaml:"elbs"`
ELB string `yaml:"elb"`
RoleARN string `yaml:"role_arn"`
SSLCertARN string `yaml:"ssl_cert_arn"`
HostedZoneName string `yaml:"hosted_zone_name"`
KeyPairName string `yaml:"key_pair_name"`
S3Bucket string `yaml:"s3_bucket"`
Containers []*Container `yaml:"containers"`
}
func (*Region) PrimaryTopology ¶
inet is a superset of worker which are almost identical to cron
func (*Region) ValidateContainers ¶
type Slack ¶
type Slack struct {
PackSuccessHook string `yaml:"pack_success_webhook_url"`
PackFailureHook string `yaml:"pack_failure_webhook_url"`
ProvisionSuccessHook string `yaml:"provision_success_webhook_url"`
ProvisionFailureHook string `yaml:"provision_failure_webhook_url"`
PromoteSuccessHook string `yaml:"promote_success_webhook_url"`
PromoteFailureHook string `yaml:"promote_failure_webhook_url"`
}
type SrcEnvFile ¶
Click to show internal directories.
Click to hide internal directories.