Documentation ¶
Overview ¶
Package pushaction contains the business logic for orchestrating a V2 app push.
Index ¶
- Constants
- type Actor
- func (actor Actor) Apply(config ApplicationConfig, progressBar ProgressBar) (<-chan ApplicationConfig, <-chan Event, <-chan Warnings, <-chan error)
- func (actor Actor) BindServices(config ApplicationConfig) (ApplicationConfig, bool, Warnings, error)
- func (actor Actor) CalculateRoutes(routes []string, orgGUID string, spaceGUID string, ...) ([]v2action.Route, Warnings, error)
- func (actor Actor) CloudControllerAPIVersion() string
- func (actor Actor) ConvertSharedResourcesToV2Resources(resources []sharedaction.Resource) []v2action.Resource
- func (actor Actor) ConvertToApplicationConfigs(orgGUID string, spaceGUID string, noStart bool, apps []manifest.Application) ([]ApplicationConfig, Warnings, error)
- func (actor Actor) ConvertV2ResourcesToSharedResources(resources []v2action.Resource) []sharedaction.Resource
- func (actor Actor) CreateAndMapDefaultApplicationRoute(orgGUID string, spaceGUID string, app v2action.Application) (Warnings, error)
- func (actor Actor) CreateArchive(config ApplicationConfig) (string, error)
- func (actor Actor) CreateOrUpdateApp(config ApplicationConfig) (ApplicationConfig, Event, Warnings, error)
- func (actor Actor) CreateRoutes(config ApplicationConfig) (ApplicationConfig, bool, Warnings, error)
- func (actor Actor) DefaultDomain(orgGUID string) (v2action.Domain, Warnings, error)
- func (actor Actor) FindOrReturnPartialApp(appName string, spaceGUID string) (bool, Application, v2action.Warnings, error)
- func (actor Actor) GenerateRandomRoute(manifestApp manifest.Application, spaceGUID string, orgGUID string) (v2action.Route, Warnings, error)
- func (actor Actor) GetGeneratedRoute(manifestApp manifest.Application, orgGUID string, spaceGUID string, ...) (v2action.Route, Warnings, error)
- func (actor Actor) MapRoutes(config ApplicationConfig) (ApplicationConfig, bool, Warnings, error)
- func (actor Actor) MergeAndValidateSettingsAndManifests(cmdLineSettings CommandLineSettings, apps []manifest.Application) ([]manifest.Application, error)
- func (*Actor) ReadManifest(pathToManifest string) ([]manifest.Application, error)
- func (actor Actor) SetMatchedResources(config ApplicationConfig) (ApplicationConfig, Warnings)
- func (actor Actor) UnmapRoutes(config ApplicationConfig) (ApplicationConfig, Warnings, error)
- func (actor Actor) UploadDroplet(config ApplicationConfig, dropletPath string, progressbar ProgressBar, ...) (Warnings, error)
- func (actor Actor) UploadPackage(config ApplicationConfig) (Warnings, error)
- func (actor Actor) UploadPackageWithArchive(config ApplicationConfig, archivePath string, progressbar ProgressBar, ...) (Warnings, error)
- type Application
- type ApplicationConfig
- type CommandLineSettings
- type Event
- type ProgressBar
- type RandomWordGenerator
- type SharedActor
- type V2Actor
- type Warnings
Constants ¶
const ProtocolRegexp = "^https?://|^tcp://"
const PushRetries = 3
const URLRegexp = "^(?:https?://|tcp://)?(?:(?:[\\w-]+\\.)|(?:[*]\\.))+\\w+(?:\\:\\d+)?(?:/.*)*(?:\\.\\w+)?$"
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Actor ¶
type Actor struct { V2Actor V2Actor WordGenerator RandomWordGenerator // contains filtered or unexported fields }
Actor handles all business logic for Cloud Controller v2 operations.
func NewActor ¶
func NewActor(v2Actor V2Actor, sharedActor SharedActor) *Actor
NewActor returns a new actor.
func (Actor) Apply ¶
func (actor Actor) Apply(config ApplicationConfig, progressBar ProgressBar) (<-chan ApplicationConfig, <-chan Event, <-chan Warnings, <-chan error)
func (Actor) BindServices ¶
func (actor Actor) BindServices(config ApplicationConfig) (ApplicationConfig, bool, Warnings, error)
func (Actor) CalculateRoutes ¶
func (Actor) CloudControllerAPIVersion ¶
CloudControllerAPIVersion returns the Cloud Controller API version.
func (Actor) ConvertSharedResourcesToV2Resources ¶
func (actor Actor) ConvertSharedResourcesToV2Resources(resources []sharedaction.Resource) []v2action.Resource
func (Actor) ConvertToApplicationConfigs ¶
func (actor Actor) ConvertToApplicationConfigs(orgGUID string, spaceGUID string, noStart bool, apps []manifest.Application) ([]ApplicationConfig, Warnings, error)
func (Actor) ConvertV2ResourcesToSharedResources ¶
func (actor Actor) ConvertV2ResourcesToSharedResources(resources []v2action.Resource) []sharedaction.Resource
func (Actor) CreateAndMapDefaultApplicationRoute ¶
func (Actor) CreateArchive ¶
func (actor Actor) CreateArchive(config ApplicationConfig) (string, error)
func (Actor) CreateOrUpdateApp ¶
func (actor Actor) CreateOrUpdateApp(config ApplicationConfig) (ApplicationConfig, Event, Warnings, error)
func (Actor) CreateRoutes ¶
func (actor Actor) CreateRoutes(config ApplicationConfig) (ApplicationConfig, bool, Warnings, error)
func (Actor) DefaultDomain ¶
DefaultDomain looks up the shared and then private domains and returns back the first one in the list as the default.
func (Actor) FindOrReturnPartialApp ¶
func (Actor) GenerateRandomRoute ¶
func (actor Actor) GenerateRandomRoute(manifestApp manifest.Application, spaceGUID string, orgGUID string) (v2action.Route, Warnings, error)
GenerateRandomRoute generates a random route with a specified or default domain If the domain is HTTP, a random hostname is generated If the domain is TCP, an empty port is used (to signify a random port should be generated)
func (Actor) GetGeneratedRoute ¶
func (actor Actor) GetGeneratedRoute(manifestApp manifest.Application, orgGUID string, spaceGUID string, knownRoutes []v2action.Route) (v2action.Route, Warnings, error)
GetGeneratedRoute returns a route with the host and the default org domain. This may be a partial route (ie no GUID) if the route does not exist.
func (Actor) MapRoutes ¶
func (actor Actor) MapRoutes(config ApplicationConfig) (ApplicationConfig, bool, Warnings, error)
func (Actor) MergeAndValidateSettingsAndManifests ¶
func (actor Actor) MergeAndValidateSettingsAndManifests(cmdLineSettings CommandLineSettings, apps []manifest.Application) ([]manifest.Application, error)
func (*Actor) ReadManifest ¶
func (*Actor) ReadManifest(pathToManifest string) ([]manifest.Application, error)
func (Actor) SetMatchedResources ¶
func (actor Actor) SetMatchedResources(config ApplicationConfig) (ApplicationConfig, Warnings)
func (Actor) UnmapRoutes ¶
func (actor Actor) UnmapRoutes(config ApplicationConfig) (ApplicationConfig, Warnings, error)
func (Actor) UploadDroplet ¶
func (actor Actor) UploadDroplet(config ApplicationConfig, dropletPath string, progressbar ProgressBar, eventStream chan<- Event) (Warnings, error)
func (Actor) UploadPackage ¶
func (actor Actor) UploadPackage(config ApplicationConfig) (Warnings, error)
func (Actor) UploadPackageWithArchive ¶
func (actor Actor) UploadPackageWithArchive(config ApplicationConfig, archivePath string, progressbar ProgressBar, eventStream chan<- Event) (Warnings, error)
type Application ¶
type Application struct { v2action.Application Stack v2action.Stack }
func (*Application) SetStack ¶
func (app *Application) SetStack(stack v2action.Stack)
func (Application) String ¶
func (app Application) String() string
type ApplicationConfig ¶
type ApplicationConfig struct { CurrentApplication Application DesiredApplication Application CurrentRoutes []v2action.Route DesiredRoutes []v2action.Route NoRoute bool CurrentServices map[string]v2action.ServiceInstance DesiredServices map[string]v2action.ServiceInstance AllResources []v2action.Resource MatchedResources []v2action.Resource UnmatchedResources []v2action.Resource Archive bool Path string DropletPath string TargetedSpaceGUID string }
func (ApplicationConfig) CreatingApplication ¶
func (config ApplicationConfig) CreatingApplication() bool
func (ApplicationConfig) UpdatingApplication ¶
func (config ApplicationConfig) UpdatingApplication() bool
type CommandLineSettings ¶
type CommandLineSettings struct { Buildpack types.FilteredString Command types.FilteredString CurrentDirectory string DefaultRouteDomain string DefaultRouteHostname string DiskQuota uint64 DockerImage string DockerPassword string DockerUsername string DropletPath string HealthCheckTimeout int HealthCheckType string Instances types.NullInt Memory uint64 Name string NoHostname bool NoRoute bool ProvidedAppPath string RandomRoute bool RoutePath string StackName string }
func (CommandLineSettings) OverrideManifestSettings ¶
func (settings CommandLineSettings) OverrideManifestSettings(app manifest.Application) manifest.Application
func (CommandLineSettings) String ¶
func (settings CommandLineSettings) String() string
type Event ¶
type Event string
const ( SettingUpApplication Event = "setting up application" CreatedApplication Event = "created application" UpdatedApplication Event = "updated application" CreatingAndMappingRoutes Event = "creating and mapping routes" CreatedRoutes Event = "created routes" BoundRoutes Event = "bound routes" UnmappingRoutes Event = "unmapping routes" ConfiguringServices Event = "configuring services" BoundServices Event = "bound services" CreatingArchive Event = "creating archive" ResourceMatching Event = "resource matching" UploadingApplication Event = "uploading application" UploadingApplicationWithArchive Event = "uploading application with archive" UploadingDroplet Event = "uploading droplet" UploadDropletComplete Event = "upload droplet complete" UploadWithArchiveComplete Event = "upload complete" RetryUpload Event = "retry upload" Complete Event = "complete" )
type ProgressBar ¶
type RandomWordGenerator ¶
RandomWordGenerator returns random words.
type SharedActor ¶
type SharedActor interface {}
type V2Actor ¶
type V2Actor interface { MapRouteToApplication(routeGUID string, appGUID string) (v2action.Warnings, error) BindServiceByApplicationAndServiceInstance(appGUID string, serviceInstanceGUID string) (v2action.Warnings, error) CloudControllerAPIVersion() string CreateApplication(application v2action.Application) (v2action.Application, v2action.Warnings, error) CreateRoute(route v2action.Route, generatePort bool) (v2action.Route, v2action.Warnings, error) FindRouteBoundToSpaceWithSettings(route v2action.Route) (v2action.Route, v2action.Warnings, error) GetApplicationByNameAndSpace(name string, spaceGUID string) (v2action.Application, v2action.Warnings, error) GetApplicationRoutes(applicationGUID string) (v2action.Routes, v2action.Warnings, error) GetDomainsByNameAndOrganization(domainNames []string, orgGUID string) ([]v2action.Domain, v2action.Warnings, error) GetOrganizationDomains(orgGUID string) ([]v2action.Domain, v2action.Warnings, error) GetServiceInstanceByNameAndSpace(name string, spaceGUID string) (v2action.ServiceInstance, v2action.Warnings, error) GetServiceInstancesByApplication(appGUID string) ([]v2action.ServiceInstance, v2action.Warnings, error) GetStack(guid string) (v2action.Stack, v2action.Warnings, error) GetStackByName(stackName string) (v2action.Stack, v2action.Warnings, error) PollJob(job v2action.Job) (v2action.Warnings, error) ResourceMatch(allResources []v2action.Resource) ([]v2action.Resource, []v2action.Resource, v2action.Warnings, error) UnmapRouteFromApplication(routeGUID string, appGUID string) (v2action.Warnings, error) UpdateApplication(application v2action.Application) (v2action.Application, v2action.Warnings, error) UploadApplicationPackage(appGUID string, existingResources []v2action.Resource, newResources io.Reader, newResourcesLength int64) (v2action.Job, v2action.Warnings, error) UploadDroplet(appGUID string, droplet io.Reader, dropletLength int64) (v2action.Job, v2action.Warnings, error) }