Documentation
¶
Index ¶
- Variables
- func AppIsDeployed(ctx context.Context, name string) (bool, error)
- func DeployAppFromInlineConfig(ctx context.Context, deployCfg DeployConfig, cfg AppConfig) error
- func DeploySingleAppFromFolder(ctx context.Context, path string, deployCfg DeployConfig) error
- func HandleGithubWebhook(payload github.PushWebhookPayload, path string) error
- func NewDefaultDeployParams() []string
- func NewDefaultLaunchParams(appName string, orgSlug string) []string
- type AppConfig
- type Concurrency
- type DeployConfig
- type DeployFailure
- type DeployResult
- type GitRef
- type Port
- type Service
- type Source
- type SourceType
- type SpecNode
- type TraversalStepAnalysis
Constants ¶
This section is empty.
Variables ¶
View Source
var SkippedAbortedEarlier = fmt.Errorf("skipped: job aborted earlier")
View Source
var SkippedNotValid = fmt.Errorf("skipped: not a valid app")
Functions ¶
func DeployAppFromInlineConfig ¶
func DeployAppFromInlineConfig(ctx context.Context, deployCfg DeployConfig, cfg AppConfig) error
func DeploySingleAppFromFolder ¶
func DeploySingleAppFromFolder(ctx context.Context, path string, deployCfg DeployConfig) error
func HandleGithubWebhook ¶
func HandleGithubWebhook(payload github.PushWebhookPayload, path string) error
func NewDefaultDeployParams ¶
func NewDefaultDeployParams() []string
func NewDefaultLaunchParams ¶
Types ¶
type AppConfig ¶
type AppConfig struct { App string `yaml:"app" toml:"app"` Org string `yaml:"org" toml:"org"` PrimaryRegion string `yaml:"primary_region" toml:"primary_region"` Source Source `yaml:"source" toml:"source"` Services []Service `yaml:"services" toml:"services"` LaunchParams []string `yaml:"launch_params" toml:"launch_params"` DeployParams []string `yaml:"deploy_params" toml:"deploy_params"` Env map[string]string `yaml:"env" toml:"env"` }
func GetDeployedAppConfig ¶
type Concurrency ¶
type DeployConfig ¶
type DeployConfig struct { Force bool Retries int AttemptTimeout time.Duration AbortOnFirstError bool }
func NewDeployConfig ¶
func NewDeployConfig() DeployConfig
func (DeployConfig) WithAbortOnFirstError ¶
func (c DeployConfig) WithAbortOnFirstError(state ...bool) DeployConfig
func (DeployConfig) WithAttemptTimeout ¶
func (c DeployConfig) WithAttemptTimeout(timeout ...time.Duration) DeployConfig
func (DeployConfig) WithForce ¶
func (c DeployConfig) WithForce(force ...bool) DeployConfig
func (DeployConfig) WithRetries ¶
func (c DeployConfig) WithRetries(retries ...int) DeployConfig
type DeployFailure ¶
type DeployResult ¶
type DeployResult struct { Succeeded []SpecNode Failed []DeployFailure }
func DeployAll ¶
func DeployAll( ctx context.Context, path string, deployCfg DeployConfig, ) (DeployResult, error)
func NewDeployResult ¶
func NewDeployResult() DeployResult
func (DeployResult) Success ¶
func (r DeployResult) Success() bool
type GitRef ¶
type Service ¶
type Service struct { InternalPort int `yaml:"internal_port" toml:"internal_port"` Protocol string `yaml:"protocol" toml:"protocol"` ForceHttps bool `yaml:"force_https" toml:"force_https"` AutoStopMachines bool `yaml:"auto_stop_machines" toml:"auto_stop_machines"` AutoStartMachines bool `yaml:"auto_start_machines" toml:"auto_start_machines"` MinMachinesRunning int `yaml:"min_machines_running" toml:"min_machines_running"` Concurrency Concurrency `yaml:"concurrency" toml:"concurrency"` Ports []Port `yaml:"ports" toml:"ports"` }
func NewDefaultServiceConfig ¶
func NewDefaultServiceConfig() Service
type Source ¶
type Source struct { Repo string `yaml:"repo" toml:"repo"` Path string `yaml:"path" toml:"path"` Ref GitRef `yaml:"ref" toml:"ref"` Type SourceType `yaml:"type" toml:"type"` Inline string `yaml:"inline" toml:"inline"` }
func NewGitSource ¶
func NewLocalFolderSource ¶
type SourceType ¶
type SourceType string
const ( SourceTypeGit SourceType = "git" SourceTypeLocal SourceType = "local" SourceTypeDocker SourceType = "docker" SourceTypeInlineDockerFile SourceType = "inline-docker-file" )
type SpecNode ¶
type SpecNode struct { Path string AppYaml string AppConfig AppConfig AppConfigSyntaxErr error AppConfigSemErr error Children []SpecNode }
func AnalyseSpec ¶
func CurrentApps ¶
func ScanForApps ¶
func (SpecNode) IsAppSyntaxValid ¶
func (SpecNode) IsValidApp ¶
Click to show internal directories.
Click to hide internal directories.