Skip to main content

Marketplace Apps

Marketplace apps are VM templates with pre-installed applications. The service provider prepares the image (OS + application) so end users can deploy a ready-to-use app without installing software manually.

Example: A WordPress or cPanel Marketplace App is a VM image where the software stack is already pre-installed. The customer chooses the app, enters deployment parameters (such as domain name, admin credentials, or database settings), and launches a VM.


Workflow & Responsibilities (Summary)

Providers often assume complex automation occurs behind the scenes. For example, in a cPanel deployment, providers often assume:

  • The customer supplies their intended domain during service creation.
  • Because cPanel requires a domain to initialize, a temporary provider/platform subdomain or URL based on the provisioned public IP is initially assigned.
  • The customer later switches to their production domain by updating DNS / CNAME records.
  • Domain handling is part of the initial web-hosting setup flow, while final customer domain mapping happens post-provisioning.

How CMP Actually Works

CMP does not manage internal guest application state or automated DNS provisioning for apps out-of-the-box. Instead, CMP provides a generic parameter substitution and startup script mechanism:

  1. Template Preparation (CloudStack / Orchestrator Admin): Prepares the base VM template with the application installed and all necessary configuration tools/hooks that can be configured by a startup script via UserData.
  2. CMP Configuration (Admin): Configures the Marketplace App in CMP with the required Environment Variables, and attaches a Startup Script containing matching placeholders (for example {{DOMAIN}}, {{ADMIN_PASSWORD}}).
  3. Customer Input & CMP Orchestration: When a customer provisions the VM with the marketplace app, CMP renders input fields to collect the required environment variables (such as their domain or credentials) from the customer. CMP then replaces the placeholders in the admin's startup script with the customer's inputs and injects the rendered script into CloudStack UserData. At first boot, the startup script executes inside the guest OS to apply the configuration.

Responsibilities Matrix

ResponsibilityCloudStack / Provider AdminEnd CustomerCMP Platform
OS & App Image PreparationYes — Build and register template with app pre-installedNoNo
Startup Script & PlaceholdersYes — Write startup script with {{VAR}} placeholdersNoNo
Marketplace App & Env Vars SetupYes — Define variables, pricing, and email instructionsNoNo
Provide Deployment ParametersNoYes — Enter domain, passwords, or custom inputs at checkoutNo
Replace Variables & Inject UserDataNoNoYes — Substitute inputs into script and pass to CloudStack
Execute Guest ConfigurationNoNoYes (via guest startup script) — Runs at first VM boot
Deliver Credentials & Access InfoNoReceives details via emailYes — Sends credentials email with {{table}} & instructions
Post-Deploy DNS & Custom MappingGuides customer (via email / docs)Yes — Points DNS / CNAME records to VM public IPNo

How it fits together

Prepared OS+app image (CloudStack template)

CMP Apps Marketplace (app, versions, env vars, email content / instructions)

CMP Template (Image Type = Market Place App + startup script)

Customer Create Instance → Marketplace Apps tab → env inputs (if any) → deploy

Credentials email always sent ({{email_content}} + {{table}} when vars exist)
StepWhereDocs
Prepare password-enabled, UserData-capable templateCloudStackPreparing CMP-Compatible Templates
Create Marketplace App + versions + env vars + email contentSettings → Orchestrator → Apps MarketplaceConfigure in CMP
Map template to app / version + startup scriptSettings → Orchestrator → TemplatesConfigure in CMP
Activate credentials email templateSettings → System → TemplatesApplication credentials email — always sent after Marketplace deploy
Network offerings include User DataCloudStack VPC / network offeringsVirtual Router / VPC — User Data
Align userdata size limitsCloudStack + CMP Global SettingsStartup script size
Credentials after deploy

CMP always sends Market Place Application Credentials after a successful Marketplace deploy (not only the generic VM-created email), using the Active template — whether or not the app defines environment variables. Configure per-app email content (and {{table}} when you have variables). See Application credentials email.

Pages in this section