Skip to main content

Marketplace Apps

Marketplace Apps are VM images with pre-installed applications. The 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.


Supported Cloud Platforms​

Marketplace Apps are supported on both CloudStack and OpenStack. The CMP configuration workflow — creating apps, defining environment variables, writing startup scripts, and configuring credentials email — is identical across platforms.

The difference is at the image / template level: each platform uses its own mechanism to deliver the startup script to the VM.

PlatformStartup script delivery mechanismImage-level docs
CloudStackCloudStack UserDataCloudStack — Image & Startup Requirements
OpenStackNova user-data, processed by cloud-initOpenStack — Image & Startup Requirements

After the image is prepared, follow the common CMP configuration steps in Configure Marketplace Apps in CMP.


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 that works across cloud platforms:

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

Responsibilities Matrix​

ResponsibilityProvider AdminEnd CustomerCMP Platform
OS & App Image PreparationYes — Build and register image 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 & Deliver to PlatformNoNoYes — Substitute inputs into script and pass to the cloud platform
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

Marketplace Application Provisioning vs. Managed Services​

CMP Marketplace Apps are designed to provision a VM with a predefined application or software stack. The Marketplace application represents the software that will be installed and configured on the VM during provisioning.

CMP's responsibility is primarily focused on VM provisioning and application initialization. CMP does not automatically become the managed service provider for the application installed on the VM.

How It Works​

A Marketplace application can define:

  • VM / resource requirements
  • Application or software to be installed
  • Environment variables
  • Application credentials
  • Startup scripts
  • VM initialization mechanism configuration
  • Other parameters required during VM initialization

During VM provisioning, the configured parameters are passed to the VM and used by the predefined template and startup process to install or configure the application.

The resulting VM is then delivered with the selected application available for the customer to use and manage.

Example: cPanel​

For example, a Marketplace offering may provide:

Ubuntu VM + cPanel

In this scenario:

  1. CMP provisions the VM.
  2. The predefined application/template installs or configures cPanel.
  3. Required parameters can be passed through the Marketplace application configuration and the platform's VM initialization mechanism.
  4. The VM is delivered with cPanel available.
  5. The customer manages cPanel and the services operated through cPanel.

CMP should not be interpreted as providing a separate managed Web Hosting or Email Hosting service simply because cPanel is installed on the VM.

For example, cPanel may provide capabilities for:

  • Website hosting
  • Domain management within cPanel
  • Mailbox management
  • Email services
  • Other hosting-related functionality supported by the cPanel installation

These capabilities are provided and managed through cPanel and the customer-managed VM environment, not as separate managed services delivered by CMP.

cPanel Scope

The cPanel Marketplace offering provisions a VM with cPanel installed and configured as a predefined application. CMP does not provide cPanel-based Web Hosting or Email Hosting as separate managed services. Website hosting, email hosting, domains, mailboxes, DNS configuration, and other cPanel-level services are managed through the cPanel environment by the customer.

Other Examples​

The same model applies to other Marketplace applications:

  • Ubuntu + WordPress: CMP provisions the VM and provides the predefined WordPress environment. The customer manages the WordPress application, website, content, plugins, themes, updates, and related services.
  • Ubuntu + Next.js: CMP provisions the VM and provides the predefined Next.js environment. The customer is responsible for deploying and managing their Next.js application.
  • Ubuntu + MySQL: CMP provisions the VM with the predefined MySQL environment. Database administration, database users, schemas, backups, security, and ongoing database management remain outside the CMP provisioning layer.

Marketplace Application vs. Managed Service​

It is important to distinguish between the following:

CMP Marketplace ApplicationManaged Service
Provisions a VMOperates and manages the service
Installs/configures predefined softwareProvides ongoing service management
Passes configuration parametersManages application-level configuration
Uses platform initialization mechanism during provisioningHandles ongoing operational activities
Delivers the VM/application environmentManages the service throughout its lifecycle

Therefore, installing an application through the CMP Marketplace does not mean that CMP provides the application as a managed service.

Domain and DNS​

Domain registration and DNS management are outside the current CMP Marketplace application provisioning scope.

If an application requires a domain name, the required domain information can be collected as part of the Marketplace application configuration (environment variables) and passed to the VM during provisioning.

The customer remains responsible for managing the domain and configuring the required DNS records with their domain/DNS provider. CMP does not currently provide DNS management or external DNS integration.

Important Scope Clarification​

Marketplace Apps should therefore be understood as a mechanism for provisioning a VM with a predefined application/environment, rather than as a mechanism for creating a fully managed application service.

CMP Marketplace
↓
VM provisioning
↓
Predefined application installation / configuration
↓
Platform VM initialization (startup script execution)
↓
Application available on VM
↓
Customer manages the application / service

This distinction applies to cPanel, WordPress, Next.js, MySQL, and other applications provided through the Marketplace.


How it fits together​

Prepared OS+app image (registered in cloud platform)
↓
CMP Apps Marketplace (app, versions, env vars, email content / instructions)
↓
CMP Template / Image (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)

Common CMP configuration steps (all platforms)​

StepWhereDocs
Create Marketplace App + versions + env vars + email contentSettings → Orchestrator → Apps MarketplaceConfigure in CMP
Map image/template to app / version + startup scriptSettings → Orchestrator → TemplatesConfigure in CMP
Activate credentials email templateSettings → System → TemplatesApplication credentials email

CloudStack-specific steps​

StepWhereDocs
Prepare password-enabled, UserData-capable templateCloudStackCloudStack — Image & Startup Requirements
Network offerings include User DataCloudStack VPC / network offeringsCloudStack — Image & Startup Requirements
Align UserData size limitsCloudStack + CMP Global SettingsStartup script size

OpenStack-specific steps​

StepWhereDocs
Prepare Glance image with cloud-init installedOpenStack / GlanceOpenStack — Image & Startup Requirements
Configure CMP image with Image Type = Market Place AppSettings → Orchestrator → TemplatesConfiguring images in CMP (OpenStack)
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​

Was this page helpful?
Found something that could be improved?