Class SkipperStreamDeployer
java.lang.Object
org.springframework.cloud.dataflow.server.stream.SkipperStreamDeployer
- All Implemented Interfaces:
StreamDeployer
Delegates to Skipper to deploy the stream.
- Author:
- Mark Pollack, Ilayaperumal Gopinathan, Soby Chacko, Glenn Renfro, Christian Tzolov, Chris Bono
-
Constructor Summary
ConstructorDescriptionSkipperStreamDeployer
(org.springframework.cloud.skipper.client.SkipperClient skipperClient, StreamDefinitionRepository streamDefinitionRepository, AppRegistryService appRegistryService, ForkJoinPool forkJoinPool, StreamDefinitionService streamDefinitionService) -
Method Summary
Modifier and TypeMethodDescriptionorg.springframework.cloud.skipper.domain.Release
deployStream
(StreamDeploymentRequest streamDeploymentRequest) static List<org.springframework.cloud.deployer.spi.app.AppStatus>
deserializeAppStatus
(String platformStatus) org.springframework.cloud.deployer.spi.core.RuntimeEnvironmentInfo
org.springframework.cloud.deployer.spi.app.AppStatus
getAppStatus
(String appDeploymentId) Gets runtime application statusorg.springframework.data.domain.Page<org.springframework.cloud.deployer.spi.app.AppStatus>
getAppStatuses
(org.springframework.data.domain.Pageable pageable) Returns application statuses of all deployed applicationsgetFromActuator
(String appId, String instanceId, String endpoint) Access an HTTP GET exposed actuator resource for a deployed app instance.org.springframework.cloud.skipper.domain.LogInfo
Returns the logs of all the applications of the stream identified by the stream name.org.springframework.cloud.skipper.domain.LogInfo
Returns the logs of a specific application in the stream identified by the stream name.getStreamInfo
(String streamName) Get stream information (including the deployment properties) for the given stream name.Returns the list of stream names that correspond to the currently available skipper releases.List<org.springframework.cloud.deployer.spi.app.AppStatus>
getStreamStatuses
(String streamName) Returns the deployed application statuses part for the streamName stream.getStreamStatuses
(String[] streamNames) Returns the deployed application statuses part for the streamName streams.Collection<org.springframework.cloud.skipper.domain.Release>
Collection<org.springframework.cloud.skipper.domain.Deployer>
postToActuator
(String appId, String instanceId, org.springframework.cloud.skipper.domain.ActuatorPostRequest actuatorPostRequest) Access an HTTP POST exposed actuator resource for a deployed app instance.org.springframework.cloud.skipper.domain.Release
rollbackStream
(String streamName, int releaseVersion) Rollback the stream to a specific versionvoid
For a selected stream scales the number of appName instances to count.Map<StreamDefinition,
org.springframework.cloud.deployer.spi.app.DeploymentState> streamsStates
(List<StreamDefinition> streamDefinitions) Get the deployment states for a list of stream definitionsorg.springframework.cloud.deployer.spi.app.DeploymentState
streamState
(String streamName) Get the deployment state of a stream.void
undeployStream
(String streamName) org.springframework.cloud.skipper.domain.Release
upgradeStream
(String streamName, org.springframework.cloud.skipper.domain.PackageIdentifier packageIdentifier, String configYml, boolean force, List<String> appNames) Update the stream identified by the PackageIdentifier and runtime configuration values.void
validateAppVersionIsRegistered
(StreamDefinition streamDefinition, org.springframework.cloud.deployer.spi.core.AppDeploymentRequest appDeploymentRequest, String appVersion)
-
Constructor Details
-
SkipperStreamDeployer
public SkipperStreamDeployer(org.springframework.cloud.skipper.client.SkipperClient skipperClient, StreamDefinitionRepository streamDefinitionRepository, AppRegistryService appRegistryService, ForkJoinPool forkJoinPool, StreamDefinitionService streamDefinitionService)
-
-
Method Details
-
deserializeAppStatus
-
streamState
Description copied from interface:StreamDeployer
Get the deployment state of a stream. Stream state is computed from the deployment states of its apps.- Specified by:
streamState
in interfaceStreamDeployer
- Parameters:
streamName
- stream name- Returns:
- the deployment status
-
streamsStates
public Map<StreamDefinition,org.springframework.cloud.deployer.spi.app.DeploymentState> streamsStates(List<StreamDefinition> streamDefinitions) Description copied from interface:StreamDeployer
Get the deployment states for a list of stream definitions- Specified by:
streamsStates
in interfaceStreamDeployer
- Parameters:
streamDefinitions
- list of stream definitions- Returns:
- map of stream definition and its corresponding deployment state
-
scale
Description copied from interface:StreamDeployer
For a selected stream scales the number of appName instances to count.- Specified by:
scale
in interfaceStreamDeployer
- Parameters:
streamName
- the stream nameappName
- the app namecount
- the countproperties
- the properties
-
deployStream
public org.springframework.cloud.skipper.domain.Release deployStream(StreamDeploymentRequest streamDeploymentRequest) -
validateAppVersionIsRegistered
public void validateAppVersionIsRegistered(StreamDefinition streamDefinition, org.springframework.cloud.deployer.spi.core.AppDeploymentRequest appDeploymentRequest, String appVersion) -
undeployStream
-
getAppStatuses
public org.springframework.data.domain.Page<org.springframework.cloud.deployer.spi.app.AppStatus> getAppStatuses(org.springframework.data.domain.Pageable pageable) Description copied from interface:StreamDeployer
Returns application statuses of all deployed applications- Specified by:
getAppStatuses
in interfaceStreamDeployer
- Parameters:
pageable
- Pagination information- Returns:
- pagable list of all app statuses
-
getAppStatus
Description copied from interface:StreamDeployer
Gets runtime application status- Specified by:
getAppStatus
in interfaceStreamDeployer
- Parameters:
appDeploymentId
- the id of the application instance running in the target runtime environment- Returns:
- app status
-
getStreamStatuses
public List<org.springframework.cloud.deployer.spi.app.AppStatus> getStreamStatuses(String streamName) Description copied from interface:StreamDeployer
Returns the deployed application statuses part for the streamName stream.- Specified by:
getStreamStatuses
in interfaceStreamDeployer
- Parameters:
streamName
- Stream name to retrieve the runtime application statuses for- Returns:
- List of runtime application statuses, part of the requested streamName.
-
getStreamStatuses
public Map<String,List<org.springframework.cloud.deployer.spi.app.AppStatus>> getStreamStatuses(String[] streamNames) Description copied from interface:StreamDeployer
Returns the deployed application statuses part for the streamName streams.- Specified by:
getStreamStatuses
in interfaceStreamDeployer
- Parameters:
streamNames
- Stream names to retrieve the runtime application statuses for- Returns:
- Map of runtime application statuses, part of the requested streamName.
-
getLog
Description copied from interface:StreamDeployer
Returns the logs of all the applications of the stream identified by the stream name.- Specified by:
getLog
in interfaceStreamDeployer
- Parameters:
streamName
- the stream name- Returns:
- the logs content
-
getLog
Description copied from interface:StreamDeployer
Returns the logs of a specific application in the stream identified by the stream name.- Specified by:
getLog
in interfaceStreamDeployer
- Parameters:
streamName
- the stream nameappName
- specific application name inside the stream- Returns:
- the logs content
-
environmentInfo
public org.springframework.cloud.deployer.spi.core.RuntimeEnvironmentInfo environmentInfo()- Specified by:
environmentInfo
in interfaceStreamDeployer
- Returns:
- the runtime environment info for deploying streams.
-
getStreamInfo
Description copied from interface:StreamDeployer
Get stream information (including the deployment properties) for the given stream name.- Specified by:
getStreamInfo
in interfaceStreamDeployer
- Parameters:
streamName
- the name of the stream- Returns:
- stream deployment information
-
getStreams
Description copied from interface:StreamDeployer
Returns the list of stream names that correspond to the currently available skipper releases.- Specified by:
getStreams
in interfaceStreamDeployer
- Returns:
- list of string names currently available
-
getFromActuator
Description copied from interface:StreamDeployer
Access an HTTP GET exposed actuator resource for a deployed app instance.- Specified by:
getFromActuator
in interfaceStreamDeployer
- Parameters:
appId
- the application idinstanceId
- the application instance idendpoint
- the relative actuator path, e.g.,/info
- Returns:
- the contents as JSON text
-
postToActuator
public Object postToActuator(String appId, String instanceId, org.springframework.cloud.skipper.domain.ActuatorPostRequest actuatorPostRequest) Description copied from interface:StreamDeployer
Access an HTTP POST exposed actuator resource for a deployed app instance.- Specified by:
postToActuator
in interfaceStreamDeployer
- Parameters:
appId
- the deployer assigned guid of the app instanceinstanceId
- the application instance idactuatorPostRequest
- the request body containing the endpoint and data to pass to the endpoint- Returns:
- the response from actuator.
-
upgradeStream
public org.springframework.cloud.skipper.domain.Release upgradeStream(String streamName, org.springframework.cloud.skipper.domain.PackageIdentifier packageIdentifier, String configYml, boolean force, List<String> appNames) Update the stream identified by the PackageIdentifier and runtime configuration values.- Parameters:
streamName
- the name of the stream to upgradepackageIdentifier
- the name of the package in skipperconfigYml
- the YML formatted configuration values to use when upgradingforce
- the flag to indicate if the stream update is forced even if there are no differences from the existing streamappNames
- the app names to update- Returns:
- release the upgraded release
-
rollbackStream
public org.springframework.cloud.skipper.domain.Release rollbackStream(String streamName, int releaseVersion) Rollback the stream to a specific version- Parameters:
streamName
- the name of the stream to rollbackreleaseVersion
- the version of the stream to rollback to- Returns:
- instance of
Release
-
manifest
-
manifest
-
history
-
platformList
-