model

package
v0.0.16 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 12, 2023 License: MIT Imports: 2 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewDefaultDeployParams

func NewDefaultDeployParams() []string

func NewDefaultLaunchParams

func NewDefaultLaunchParams(
	appName string,
	orgSlug string,
) []string

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 (*AppConfig) Validate

func (a *AppConfig) Validate(options ...ValidateAppConfigOptions) error

type Concurrency

type Concurrency struct {
	Type      string `yaml:"type" toml:"type"`
	SoftLimit int    `yaml:"soft_limit" toml:"soft_limit"`
	HardLimit int    `yaml:"hard_limit" toml:"hard_limit"`
}

type GitRef

type GitRef struct {
	Branch string `yaml:"branch" toml:"branch"`
	Tag    string `yaml:"tag" toml:"tag"`
	Commit string `yaml:"commit" toml:"commit"`
}

func (*GitRef) IsEmpty

func (g *GitRef) IsEmpty() bool

type Port

type Port struct {
	Handlers   []string `yaml:"handlers" toml:"handlers"`
	Port       int      `yaml:"port" toml:"port"`
	ForceHttps bool     `yaml:"force_https" toml:"force_https"`
}

type ProjectConfig

type ProjectConfig struct {
	// Name Required. Name of the project
	Project string `yaml:"project" toml:"project"`
	// Source Required. Where the app configs of the project are located
	Source Source `yaml:"source" toml:"source"`
}

func (*ProjectConfig) Validate

func (cfg *ProjectConfig) Validate() error

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 NewGitSource(url string) Source

func NewInlineDockerFileSource

func NewInlineDockerFileSource(inline string) Source

func NewLocalFolderSource

func NewLocalFolderSource(path string) Source

func (*Source) Validate

func (s *Source) Validate() error

type SourceType

type SourceType string
const (
	SourceTypeGit              SourceType = "git"
	SourceTypeLocal            SourceType = "local"
	SourceTypeDocker           SourceType = "docker"
	SourceTypeInlineDockerFile SourceType = "inline-docker-file"
)

type ValidateAppConfigOptions

type ValidateAppConfigOptions struct {
	ValidateSource bool
}

func NewValidateAppConfigOptions

func NewValidateAppConfigOptions() ValidateAppConfigOptions

func (ValidateAppConfigOptions) WithValidateSource

func (opts ValidateAppConfigOptions) WithValidateSource(validateSource ...bool) ValidateAppConfigOptions

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL