Support various scenarios around single-click application provisioning and deployment(PaaS deployment). Support could include:
- P2: Deployment plan: Allow a user to specify the cloud meta-data external to the application, via deployment plan Deployment module must not ignore the cloud meta-data specified via deployment plan
- P1: Automatic Service Decommissioning: Automatically decommission all the application-scoped provisioned services of an application during application undeployment.
- P1: Pause/Stop Provisioned Services: Pause/Stop all the application-scoped provisioned services when an application is disabled. Similarly, start all the provisioned services when the application is enabled. The Orchestrator will invoke the Plugin to pause/stop the service. So it is the Plugin's responsibility to stop the service.
- P1: Provisioning during redeployment: Support redeployment of the application. Possibly with a "--retain" redeployment option to re-use the previously provisioned services instead of re-provisioning again.
- P3: Support application versioning: Only one version of the application will be active at a time. Each version of the application will have its own provisioned service(s) scoped to that particular version of the application. When a particular version of the application is disabled, all its associated application-scoped services are stopped.
- P1: Service decommissioning during domain deletion: Decommission all the provisioned services (application scoped and global/shared) during domain deletion.
We should decommission shared services as they are used only within the domain. The Orchestrator will invoke all the related plugins to decommission the services.
Admin infrastructure would need to send a delete-domain callback to the Orchestrator.
- P1: Track provisioned services: Orchestrator must keep track of all the services provisioned via the Orchestrator.