@Override
    protected void doExecute(WorkflowContext context) throws HyscaleException {
        String serviceName = context.getServiceName();
        
        DeploymentContext deploymentContext = deploymentContextBuilder.build(context);
        deploymentContext.setWaitForReadiness(false);
        
        if (StringUtils.isNotBlank(serviceName)) {
            // Service status command
            DeploymentStatus serviceStatus = deployer.getServiceDeploymentStatus(deploymentContext);
            if (serviceStatus != null) {
                serviceStatus.setMessage(getServiceMessage(serviceStatus, deploymentContext));
            }
            context.addAttribute(WorkflowConstants.DEPLOYMENT_STATUS, serviceStatus);
            return;
        }
        // App status command
        List<DeploymentStatus> deploymentStatusList = deployer.getDeploymentStatus(deploymentContext);
        if (deploymentStatusList != null) {
            for (DeploymentStatus serviceStatus : deploymentStatusList) {
                if (serviceStatus != null) {
                    serviceStatus.setMessage(getServiceMessage(serviceStatus, deploymentContext));
                }
            }
            context.addAttribute(WorkflowConstants.DEPLOYMENT_STATUS_LIST, deploymentStatusList);
        }
        
    }
ServiceStatus component acts as a bridge between workflow controller and deployer for status operation
provides link between {@link WorkflowContext} and {@link DeploymentContext}
Responsible for calling troubleshooting in case service is in Not running state
@author tushar
workflow-controller/controller-service/src/main/java/io/hyscale/controller/invoker/StatusComponentInvoker.java