project

package
v0.5.0-rc1 Latest Latest
Warning

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

Go to latest
Published: Jan 6, 2019 License: MIT Imports: 20 Imported by: 3

Documentation

Overview

Package project contains Inertia's build and project management code

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Builder

type Builder interface {
	Build(string, build.Config, *docker.Client, io.Writer) (func() error, error)
	GetBuildStageName() string
	StopContainers(*docker.Client, io.Writer) error
	Prune(*docker.Client, io.Writer) error
	PruneAll(*docker.Client, io.Writer) error
}

Builder builds projects and returns a callback that can be used to deploy the project. No relation to Bob the Builder, though a Bob did write this.

type DeployOptions

type DeployOptions struct {
	SkipUpdate bool
}

DeployOptions is used to configure how the deployment handles the deploy

type Deployer

type Deployer interface {
	Deploy(*docker.Client, io.Writer, DeployOptions) (func() error, error)
	Initialize(cfg DeploymentConfig, out io.Writer) error
	Down(*docker.Client, io.Writer) error
	Destroy(*docker.Client, io.Writer) error
	Prune(*docker.Client, io.Writer) error
	GetStatus(*docker.Client) (common.DeploymentStatus, error)

	SetConfig(DeploymentConfig)
	GetBranch() string
	CompareRemotes(string) error

	GetDataManager() (*DeploymentDataManager, bool)

	Watch(*docker.Client) (<-chan string, <-chan error)
}

Deployer manages the deployed user project

type Deployment

type Deployment struct {
	// contains filtered or unexported fields
}

Deployment represents the deployed project

func NewDeployment

func NewDeployment(projectDirectory, databasePath string, builder Builder) (*Deployment, error)

NewDeployment creates a new deployment

func (*Deployment) CompareRemotes

func (d *Deployment) CompareRemotes(remoteURL string) error

CompareRemotes will compare the remote of the deployment with given remote URL and return nil if they don't conflict

func (*Deployment) Deploy

func (d *Deployment) Deploy(cli *docker.Client, out io.Writer,
	opts DeployOptions) (func() error, error)

Deploy will update, build, and deploy the project

func (*Deployment) Destroy

func (d *Deployment) Destroy(cli *docker.Client, out io.Writer) error

Destroy shuts down the deployment and removes the repository

func (*Deployment) Down

func (d *Deployment) Down(cli *docker.Client, out io.Writer) error

Down shuts down the deployment

func (*Deployment) GetBranch

func (d *Deployment) GetBranch() string

GetBranch returns the currently deployed branch

func (*Deployment) GetBuildConfiguration

func (d *Deployment) GetBuildConfiguration() (*build.Config, error)

GetBuildConfiguration returns the build used to build this project. Returns config without env values if error.

func (*Deployment) GetDataManager

func (d *Deployment) GetDataManager() (manager *DeploymentDataManager, found bool)

GetDataManager returns the class managing deployment data

func (*Deployment) GetStatus

func (d *Deployment) GetStatus(cli *docker.Client) (common.DeploymentStatus, error)

GetStatus returns the status of the deployment

func (*Deployment) Initialize added in v0.4.2

func (d *Deployment) Initialize(cfg DeploymentConfig, out io.Writer) error

Initialize sets up deployment repository

func (*Deployment) Prune added in v0.4.1

func (d *Deployment) Prune(cli *docker.Client, out io.Writer) error

Prune clears unused Docker assets

func (*Deployment) SetConfig

func (d *Deployment) SetConfig(cfg DeploymentConfig)

SetConfig updates the deployment's configuration. Only supports ProjectName, Branch, and BuildType for now.

func (*Deployment) Watch added in v0.4.2

func (d *Deployment) Watch(client *docker.Client) (<-chan string, <-chan error)

Watch watches for container stops

type DeploymentConfig

type DeploymentConfig struct {
	ProjectName   string
	BuildType     string
	BuildFilePath string
	RemoteURL     string
	Branch        string
	PemFilePath   string
}

DeploymentConfig is used to configure Deployment

type DeploymentDataManager

type DeploymentDataManager struct {
	// contains filtered or unexported fields
}

DeploymentDataManager stores persistent deployment configuration

func (*DeploymentDataManager) AddEnvVariable

func (c *DeploymentDataManager) AddEnvVariable(name, value string,
	encrypt bool) error

AddEnvVariable adds a new environment variable that will be applied to all project containers

func (*DeploymentDataManager) GetEnvVariables

func (c *DeploymentDataManager) GetEnvVariables(decrypt bool) ([]string, error)

GetEnvVariables retrieves all stored environment variables

func (*DeploymentDataManager) RemoveEnvVariables added in v0.5.0

func (c *DeploymentDataManager) RemoveEnvVariables(names ...string) error

RemoveEnvVariables removes previously set env variables

Jump to

Keyboard shortcuts

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