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.