Documentation
¶
Index ¶
- Constants
- Variables
- func BuildEnvNameFromResolvedRepo(resolvedRepo ResolvedEnvRepository) string
- func BuildEnvNameSlug(name string) string
- func CheckPortValidity(port string, reservedPorts []string) error
- type CloudService
- type CloudServiceBuilder
- type Cluster
- type ClusterStatus
- type Config
- func (c *Config) ClusterExists(clusterName string) bool
- func (c *Config) CountEnvsInCluster(clusterName string) (int, error)
- func (c *Config) EnvExists(clusterName, envName string) bool
- func (c *Config) GetCluster(clusterName string) (*Cluster, error)
- func (c *Config) GetEnv(clusterName, envName string) (*Env, error)
- func (c *Config) RemoveCluster(clusterName string) error
- func (c *Config) RemoveEnv(clusterName, envName string) error
- func (c *Config) SetCluster(cluster *Cluster) error
- func (c *Config) SetEnv(clusterName string, env *Env) error
- type Env
- type EnvRepositoryGitURL
- type EnvSSHHostKey
- type EnvStatus
- type ErrClosePortCreatingEnv
- type ErrClosePortRemovingEnv
- type ErrClusterAlreadyExists
- type ErrClusterNotExists
- type ErrEditCreatingEnv
- type ErrEditRemovingEnv
- type ErrEnvNotExists
- type ErrEnvRepositoryNotFound
- type ErrInitRemovingEnv
- type ErrInvalidPort
- type ErrOpenPortCreatingEnv
- type ErrOpenPortRemovingEnv
- type ErrReservedPort
- type HookRunner
- type ResolvedEnvRepository
Constants ¶
View Source
const (
DefaultClusterName = "default"
)
Variables ¶
View Source
var ( ErrYoloNotInstalled = errors.New("ErrYoloNotInstalled") ErrUninstallExistingEnvs = errors.New("ErrUninstallExistingEnvs") )
Functions ¶
func BuildEnvNameFromResolvedRepo ¶
func BuildEnvNameFromResolvedRepo( resolvedRepo ResolvedEnvRepository, ) string
func BuildEnvNameSlug ¶
func CheckPortValidity ¶
Types ¶
type CloudService ¶
type CloudService interface {
CreateYoloConfigStorage(stepper.Stepper) error
RemoveYoloConfigStorage(stepper.Stepper) error
LookupYoloConfig(stepper.Stepper) (*Config, error)
SaveYoloConfig(stepper.Stepper, *Config) error
CreateCluster(stepper.Stepper, *Config, *Cluster) error
RemoveCluster(stepper.Stepper, *Config, *Cluster) error
CheckInstanceTypeValidity(stepper.Stepper, string) error
CreateEnv(stepper.Stepper, *Config, *Cluster, *Env) error
RemoveEnv(stepper.Stepper, *Config, *Cluster, *Env) error
OpenPort(stepper.Stepper, *Config, *Cluster, *Env, string) error
ClosePort(stepper.Stepper, *Config, *Cluster, *Env, string) error
}
type CloudServiceBuilder ¶
type CloudServiceBuilder interface {
Build() (CloudService, error)
}
type Cluster ¶
type Cluster struct {
ID string `json:"id"`
Name string `json:"name"`
DefaultInstanceType string `json:"default_instance_type"`
InfrastructureJSON string `json:"infrastructure_json"`
Envs map[string]*Env `json:"envs"`
IsDefault bool `json:"is_default"`
Status ClusterStatus `json:"status"`
CreatedAtTimestamp int64 `json:"created_at_timestamp"`
}
func NewCluster ¶
func (*Cluster) GetNameSlug ¶
func (*Cluster) SetInfrastructureJSON ¶
type ClusterStatus ¶
type ClusterStatus string
const ( ClusterStatusCreating ClusterStatus = "creating" ClusterStatusCreated ClusterStatus = "created" ClusterStatusRemoving ClusterStatus = "removing" )
type Config ¶
type Config struct {
ID string `json:"id"`
Clusters map[string]*Cluster `json:"clusters"`
CreatedAtTimestamp int64 `json:"created_at_timestamp"`
}
func (*Config) ClusterExists ¶
func (*Config) CountEnvsInCluster ¶
func (*Config) RemoveCluster ¶
func (*Config) SetCluster ¶
type Env ¶
type Env struct {
ID string `json:"id"`
Name string `json:"name"`
InfrastructureJSON string `json:"infrastructure_json"`
InstanceType string `json:"instance_type"`
InstancePublicIPAddress string `json:"instance_public_ip_address"`
SSHHostKeys []EnvSSHHostKey `json:"ssh_host_keys"`
SSHKeyPairPEMContent string `json:"ssh_key_pair_pem_content"`
ResolvedRepository ResolvedEnvRepository `json:"resolved_repository"`
OpenedPorts map[string]bool `json:"opened_ports"`
Status EnvStatus `json:"status"`
AdditionalPropertiesJSON string `json:"additional_properties_json"`
CreatedAtTimestamp int64 `json:"created_at_timestamp"`
}
func NewEnv ¶
func NewEnv( envName string, instanceType string, resolvedRepository ResolvedEnvRepository, ) *Env
func (*Env) GetNameSlug ¶
func (*Env) GetSSHKeyPairName ¶
func (*Env) SetAdditionalPropertiesJSON ¶
func (*Env) SetInfrastructureJSON ¶
type EnvRepositoryGitURL ¶
type EnvRepositoryGitURL string
type EnvSSHHostKey ¶
type EnvSSHHostKey struct {
Algorithm string `json:"algorithm"`
Fingerprint string `json:"fingerprint"`
}
func ParseSSHHostKeys ¶
func ParseSSHHostKeys(hostKeysContent string) ([]EnvSSHHostKey, error)
type ErrClosePortCreatingEnv ¶
type ErrClosePortCreatingEnv struct {
EnvName string
}
func (ErrClosePortCreatingEnv) Error ¶
func (ErrClosePortCreatingEnv) Error() string
type ErrClosePortRemovingEnv ¶
type ErrClosePortRemovingEnv struct {
EnvName string
}
func (ErrClosePortRemovingEnv) Error ¶
func (ErrClosePortRemovingEnv) Error() string
type ErrClusterAlreadyExists ¶
type ErrClusterAlreadyExists struct {
ClusterName string
}
func (ErrClusterAlreadyExists) Error ¶
func (e ErrClusterAlreadyExists) Error() string
type ErrClusterNotExists ¶
type ErrClusterNotExists struct {
ClusterName string
}
func (ErrClusterNotExists) Error ¶
func (e ErrClusterNotExists) Error() string
type ErrEditCreatingEnv ¶
type ErrEditCreatingEnv struct {
EnvName string
}
func (ErrEditCreatingEnv) Error ¶
func (ErrEditCreatingEnv) Error() string
type ErrEditRemovingEnv ¶
type ErrEditRemovingEnv struct {
EnvName string
}
func (ErrEditRemovingEnv) Error ¶
func (ErrEditRemovingEnv) Error() string
type ErrEnvNotExists ¶
func (ErrEnvNotExists) Error ¶
func (ErrEnvNotExists) Error() string
type ErrEnvRepositoryNotFound ¶
func (ErrEnvRepositoryNotFound) Error ¶
func (ErrEnvRepositoryNotFound) Error() string
type ErrInitRemovingEnv ¶
type ErrInitRemovingEnv struct {
EnvName string
}
func (ErrInitRemovingEnv) Error ¶
func (ErrInitRemovingEnv) Error() string
type ErrInvalidPort ¶
type ErrInvalidPort struct {
InvalidPort string
}
func (ErrInvalidPort) Error ¶
func (ErrInvalidPort) Error() string
type ErrOpenPortCreatingEnv ¶
type ErrOpenPortCreatingEnv struct {
EnvName string
}
func (ErrOpenPortCreatingEnv) Error ¶
func (ErrOpenPortCreatingEnv) Error() string
type ErrOpenPortRemovingEnv ¶
type ErrOpenPortRemovingEnv struct {
EnvName string
}
func (ErrOpenPortRemovingEnv) Error ¶
func (ErrOpenPortRemovingEnv) Error() string
type ErrReservedPort ¶
type ErrReservedPort struct {
ReservedPort string
}
func (ErrReservedPort) Error ¶
func (ErrReservedPort) Error() string
type HookRunner ¶
type HookRunner interface {
Run(
cloudService CloudService,
config *Config,
cluster *Cluster,
env *Env,
) error
}
type ResolvedEnvRepository ¶
type ResolvedEnvRepository struct {
Name string `json:"name"`
Owner string `json:"owner"`
ExplicitOwner bool `json:"explicit_owner"`
GitURL EnvRepositoryGitURL `json:"git_url"`
GitHTTPURL EnvRepositoryGitURL `json:"git_http_url"`
LanguagesUsed []string `json:"languages_used"`
}
Click to show internal directories.
Click to hide internal directories.