deploy

package
v0.0.0-...-3544c3d Latest Latest
Warning

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

Go to latest
Published: Jul 17, 2019 License: Apache-2.0 Imports: 30 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ProcfileFileName = "Procfile"
)
View Source
const (
	ProcfileReleaseCmd = "release"
)

Variables

View Source
var (
	ErrPodRunFail            = status.Errorf(codes.Unknown, "Run command returned a non zero value")
	ErrReleaseFail           = status.Errorf(codes.Unknown, "Release command returned a non zero value")
	ErrInvalidTeresaYamlFile = status.Errorf(codes.InvalidArgument, "Invalid Teresa Yaml file")
	ErrCronScheduleNotFound  = status.Errorf(codes.InvalidArgument, "Cron schedule not found in teresa yaml file")
)

Functions

This section is empty.

Types

type ByRevision

type ByRevision []*dpb.ListResponse_Deploy

func (ByRevision) Len

func (s ByRevision) Len() int

func (ByRevision) Less

func (s ByRevision) Less(i, j int) bool

func (ByRevision) Swap

func (s ByRevision) Swap(i, j int)

type CloudProviderOperations

type CloudProviderOperations interface {
	CreateOrUpdateSSL(appName, cert string, port int) error
	CreateOrUpdateStaticIp(appName, addressName string) error
}

type DeployConfigFiles

type DeployConfigFiles struct {
	TeresaYaml *spec.TeresaYaml
	Procfile   Procfile
	NginxConf  string
}

type DeployOperations

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

func (*DeployOperations) Deploy

func (ops *DeployOperations) Deploy(ctx context.Context, user *database.User, appName string, tarBall io.ReadSeeker, description string) (io.ReadCloser, <-chan error)

func (*DeployOperations) List

func (ops *DeployOperations) List(user *database.User, appName string) ([]*ReplicaSetListItem, error)

func (*DeployOperations) Rollback

func (ops *DeployOperations) Rollback(user *database.User, appName, revision string) error

type FakeOperations

type FakeOperations struct {
	Storage map[string]bool
	// contains filtered or unexported fields
}

func (*FakeOperations) Deploy

func (f *FakeOperations) Deploy(ctx context.Context, user *database.User, appName string, tarBall io.ReadSeeker, description string) (io.ReadCloser, <-chan error)

func (*FakeOperations) List

func (f *FakeOperations) List(user *database.User, appName string) ([]*ReplicaSetListItem, error)

func (*FakeOperations) Rollback

func (f *FakeOperations) Rollback(user *database.User, appName, revision string) error

type K8sOperations

type K8sOperations interface {
	CreateOrUpdateDeploy(deploySpec *spec.Deploy) error
	CreateOrUpdateCronJob(cronJobSpec *spec.CronJob) error
	ExposeDeploy(namespace, name, svcType, portName string, vHosts []string, reserveStaticIp bool, w io.Writer) error
	ReplicaSetListByLabel(namespace, label, value string) ([]*ReplicaSetListItem, error)
	DeployRollbackToRevision(namespace, name, revision string) error
	CreateOrUpdateConfigMap(namespace, name string, data map[string]string) error
	DeleteConfigMap(namespace, name string) error
	IsNotFound(err error) bool
	ContainerExplicitEnvVars(namespace, deployName, containerName string) ([]*app.EnvVar, error)
	WatchDeploy(namespace, deployName string) error
}

type Operations

type Operations interface {
	Deploy(ctx context.Context, user *database.User, appName string, tarBall io.ReadSeeker, description string) (io.ReadCloser, <-chan error)
	List(user *database.User, appName string) ([]*ReplicaSetListItem, error)
	Rollback(user *database.User, appName, revision string) error
}

func NewDeployOperations

func NewDeployOperations(aOps app.Operations, k8s K8sOperations, s storage.Storage, execOps exec.Operations, buildOps build.Operations, cOps cloudprovider.Operations, opts *Options) Operations

func NewFakeOperations

func NewFakeOperations() Operations

type Options

type Options struct {
	KeepAliveTimeout     time.Duration `split_words:"true" default:"30s"`
	RevisionHistoryLimit int           `split_words:"true" default:"5"`
	SlugBuilderImage     string        `split_words:"true" default:"luizalabs/slugbuilder:v3.6.0"`
	SlugRunnerImage      string        `split_words:"true" default:"luizalabs/slugrunner:v3.4.0"`
	SlugStoreImage       string        `split_words:"true" default:"luizalabs/slugstore:v1.0.0"`
	NginxImage           string        `split_words:"true" default:"nginx:1.13-alpine-perl"`
	BuildLimitCPU        string        `split_words:"true" default:"800m"`
	BuildLimitMemory     string        `split_words:"true" default:"1Gi"`
	DefaultServiceType   string        `split_words:"true" default:"LoadBalancer"`
	CloudSQLProxyImage   string        `split_words:"true" default:"gcr.io/cloudsql-docker/gce-proxy:1.11"`
}

type Procfile

type Procfile map[string]string

type ReplicaSetListItem

type ReplicaSetListItem struct {
	Revision    string
	Description string
	Current     bool
	CreatedAt   string
}

type Service

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

func NewService

func NewService(ops Operations, options *Options) *Service

func (*Service) List

func (s *Service) List(ctx context.Context, req *dpb.ListRequest) (*dpb.ListResponse, error)

func (*Service) Make

func (s *Service) Make(stream dpb.Deploy_MakeServer) error

func (*Service) RegisterService

func (s *Service) RegisterService(grpcServer *grpc.Server)

func (*Service) Rollback

func (s *Service) Rollback(ctx context.Context, req *dpb.RollbackRequest) (*dpb.Empty, error)

Jump to

Keyboard shortcuts

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