Documentation

Overview

    Package pusher handles pushing to individual Cloud Foundry instances.

    Index

    Constants

    View Source
    const TemporaryNameSuffix = "-new-build-"

      TemporaryNameSuffix is used when deploying the new application in order to not overide the existing application name.

      Variables

      This section is empty.

      Functions

      func NewArtifactRetrievalFailureEventBinding

      func NewArtifactRetrievalFailureEventBinding(handler func(event ArtifactRetrievalFailureEvent) error) interfaces.Binding

      func NewArtifactRetrievalStartEventBinding

      func NewArtifactRetrievalStartEventBinding(handler func(event ArtifactRetrievalStartEvent) error) interfaces.Binding

      func NewArtifactRetrievalSuccessEventBinding

      func NewArtifactRetrievalSuccessEventBinding(handler func(event ArtifactRetrievalSuccessEvent) error) interfaces.Binding

      func NewDeployFailureEventBinding

      func NewDeployFailureEventBinding(handler func(event DeployFailureEvent) error) interfaces.Binding

      func NewDeployFinishedEventBinding

      func NewDeployFinishedEventBinding(handler func(event DeployFinishedEvent) error) interfaces.Binding

      func NewDeployStartEventBinding

      func NewDeployStartEventBinding(handler func(event DeployStartedEvent) error) interfaces.Binding

      func NewDeploySuccessEventBinding

      func NewDeploySuccessEventBinding(handler func(event DeploySuccessEvent) error) interfaces.Binding

      func NewPushFinishedEventBinding

      func NewPushFinishedEventBinding(handler func(event PushFinishedEvent) error) interfaces.Binding

      func NewPushStartedEventBinding

      func NewPushStartedEventBinding(handler func(event PushStartedEvent) error) interfaces.Binding

      Types

      type ArtifactRetrievalFailureEvent

      type ArtifactRetrievalFailureEvent struct {
      	CFContext   interfaces.CFContext
      	Auth        interfaces.Authorization
      	Environment structs.Environment
      	Response    io.ReadWriter
      	Data        map[string]interface{}
      	Manifest    string
      	ArtifactURL string
      }

      func (ArtifactRetrievalFailureEvent) Name

      type ArtifactRetrievalStartEvent

      type ArtifactRetrievalStartEvent struct {
      	CFContext   interfaces.CFContext
      	Auth        interfaces.Authorization
      	Environment structs.Environment
      	Response    io.ReadWriter
      	Data        map[string]interface{}
      	Manifest    string
      	ArtifactURL string
      }

      func (ArtifactRetrievalStartEvent) Name

      type ArtifactRetrievalSuccessEvent

      type ArtifactRetrievalSuccessEvent struct {
      	CFContext            interfaces.CFContext
      	Auth                 interfaces.Authorization
      	Environment          structs.Environment
      	Response             io.ReadWriter
      	Data                 map[string]interface{}
      	Manifest             string
      	ArtifactURL          string
      	AppPath              string
      	EnvironmentVariables map[string]string
      }

      func (ArtifactRetrievalSuccessEvent) Name

      type DeployFailureEvent

      type DeployFailureEvent struct {
      	CFContext   interfaces.CFContext
      	Body        io.Reader
      	ContentType string
      	Environment structs.Environment
      	Auth        interfaces.Authorization
      	Response    io.ReadWriter
      	Data        map[string]interface{}
      	Error       error
      }

      func (DeployFailureEvent) Name

      func (d DeployFailureEvent) Name() string

      type DeployFinishedEvent

      type DeployFinishedEvent struct {
      	CFContext   interfaces.CFContext
      	Body        io.Reader
      	ContentType string
      	Environment structs.Environment
      	Auth        interfaces.Authorization
      	Response    io.ReadWriter
      	Data        map[string]interface{}
      }

      func (DeployFinishedEvent) Name

      func (d DeployFinishedEvent) Name() string

      type DeployStartedEvent

      type DeployStartedEvent struct {
      	CFContext   interfaces.CFContext
      	ArtifactURL string
      	Body        io.Reader
      	ContentType string
      	Environment structs.Environment
      	Auth        interfaces.Authorization
      	Response    io.ReadWriter
      	Data        map[string]interface{}
      }

      func (DeployStartedEvent) Name

      func (d DeployStartedEvent) Name() string

      type DeploySuccessEvent

      type DeploySuccessEvent struct {
      	CFContext           interfaces.CFContext
      	Body                io.Reader
      	ContentType         string
      	Environment         structs.Environment
      	Auth                interfaces.Authorization
      	Response            io.ReadWriter
      	Data                map[string]interface{}
      	HealthCheckEndpoint string
      	ArtifactURL         string
      }

      func (DeploySuccessEvent) Name

      func (d DeploySuccessEvent) Name() string

      type PushController

      type PushController struct {
      	Deployer           I.Deployer
      	SilentDeployer     I.Deployer
      	Log                I.Logger
      	Config             config.Config
      	EventManager       I.EventManager
      	ErrorFinder        I.ErrorFinder
      	PushManagerFactory I.PushManagerFactory
      }

      func (*PushController) RunDeployment

      func (c *PushController) RunDeployment(deployment *I.Deployment, response *bytes.Buffer) (deployResponse I.DeployResponse)

        PUSH specific

        type PushFinishedEvent

        type PushFinishedEvent struct {
        	CFContext           interfaces.CFContext
        	Auth                interfaces.Authorization
        	Response            io.ReadWriter
        	AppPath             string
        	FoundationURL       string
        	TempAppWithUUID     string
        	Manifest            string
        	Data                map[string]interface{}
        	Courier             interfaces.Courier
        	HealthCheckEndpoint string
        }

        func (PushFinishedEvent) Name

        func (d PushFinishedEvent) Name() string

        type PushManager

        type PushManager struct {
        	CourierCreator       courierCreator
        	EventManager         I.EventManager
        	Logger               logger.DeploymentLogger
        	Fetcher              I.Fetcher
        	DeployEventData      S.DeployEventData
        	FileSystemCleaner    fileSystemCleaner
        	CFContext            I.CFContext
        	Auth                 I.Authorization
        	Environment          S.Environment
        	EnvironmentVariables map[string]string
        }

        func (PushManager) CleanUp

        func (a PushManager) CleanUp()

        func (PushManager) Create

        func (a PushManager) Create(environment S.Environment, response io.ReadWriter, foundationURL string) (I.Action, error)

        func (PushManager) ExecuteError

        func (a PushManager) ExecuteError(executeErrors []error) error

        func (PushManager) InitiallyError

        func (a PushManager) InitiallyError(initiallyErrors []error) error

        func (PushManager) OnFinish

        func (a PushManager) OnFinish(env S.Environment, response io.ReadWriter, err error) I.DeployResponse

        func (PushManager) OnStart

        func (a PushManager) OnStart() error

        func (*PushManager) SetUp

        func (a *PushManager) SetUp() error

        func (PushManager) SuccessError

        func (a PushManager) SuccessError(successErrors []error) error

        func (PushManager) UndoError

        func (a PushManager) UndoError(executeErrors, undoErrors []error) error

        type PushStartedEvent

        type PushStartedEvent struct {
        	CFContext            interfaces.CFContext
        	Body                 io.Reader
        	ContentType          string
        	Environment          structs.Environment
        	Auth                 interfaces.Authorization
        	Response             io.ReadWriter
        	Data                 map[string]interface{}
        	Instances            uint16
        	EnvironmentVariables map[string]string
        	Manifest             string
        }

        func (PushStartedEvent) Name

        func (d PushStartedEvent) Name() string

        type Pusher

        type Pusher struct {
        	Courier        I.Courier
        	DeploymentInfo S.DeploymentInfo
        	EventManager   I.EventManager
        	Response       io.ReadWriter
        	Log            I.Logger
        	FoundationURL  string
        	AppPath        string
        	Environment    S.Environment
        	Fetcher        I.Fetcher
        	CFContext      I.CFContext
        	Auth           I.Authorization
        }

          Pusher has a courier used to push applications to Cloud Foundry. It represents logging into a single foundation to perform operations.

          func (Pusher) Execute

          func (p Pusher) Execute() error

          func (Pusher) Finally

          func (p Pusher) Finally() error

            CleanUp removes the temporary directory created by the Executor.

            func (Pusher) Initially

            func (p Pusher) Initially() error

              Login will login to a Cloud Foundry instance.

              func (Pusher) Success

              func (p Pusher) Success() error

                FinishPush will delete the original application if it existed. It will always rename the the newly pushed application to the appName.

                func (Pusher) Undo

                func (p Pusher) Undo() error

                  UndoPush is only called when a Push fails. If it is not the first deployment, UndoPush will delete the temporary application that was pushed. If is the first deployment, UndoPush will rename the failed push to have the appName.

                  func (Pusher) Verify

                  func (p Pusher) Verify() error