> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cnap.tech/llms.txt
> Use this file to discover all available pages before exploring further.

# Application Deployments

> Understand how applications are installed on your clusters through products or direct installs

<Frame>
  <img src="https://mintcdn.com/cnap/R79_hF5wT-6CQpcs/images/heros/deploy-anything.png?fit=max&auto=format&n=R79_hF5wT-6CQpcs&q=85&s=f5b59fce63390a2943510be3e2272ac0" alt="Deploy anything" width="1536" height="1024" data-path="images/heros/deploy-anything.png" />
</Frame>

Application <Tooltip headline="Installations" tip="We use the term 'installations' instead of 'deployments' to avoid confusion with Kubernetes Deployment resources. Installations represent complete application stacks that may include multiple applications, databases, and services bundled together.">installations</Tooltip> (also called installs) are running instances of your software on your clusters. Each installation represents a complete application stack running in a specific cluster—whether it's a customer's purchased product or an internal tool you've installed directly.

While many installations contain a single application, <Tooltip headline="Templates" tip="Templates are reusable configurations that define how your software is deployed. They can include multiple Helm charts, custom Kubernetes manifests, and services bundled together into a single installation.">templates</Tooltip> used by products support bundling multiple applications, databases, and services into a single installation. This lets you deploy complete application stacks with all their dependencies automatically configured.

CNAP handles the complexity of installing applications to Kubernetes clusters. When you create an installation, CNAP automatically creates the necessary Kubernetes resources, manages the application lifecycle, and ensures your software runs reliably on your infrastructure.

## Types of Installations

There are two ways to install applications in CNAP:

### Product-Based Installations

Product-based installations are created when customers purchase your products through the marketplace or when you manually install a product from your dashboard. These installations:

* **Pricing optional** - Can include Stripe integration for customer billing, or be deployed manually without pricing
* **Customer-facing** - Each installation serves a customer (paying or manually deployed)
* **Managed through products** - The product is linked to a template which defines what gets installed
* **Flexible deployment** - Created automatically when customers purchase, or manually deployed from your dashboard

**Examples of product-based installations:**

| Example                          | Description                                                                                                                                                      |
| -------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Custom applications**          | Applications you build and sell to customers (the most common use case). Each customer gets their own isolated instance of your software.                        |
| **Managed open-source software** | Self-hosted applications offered as dedicated managed services—project management (Plane, Taiga), CRMs (Twenty), or collaboration tools (Mattermost, Discourse). |
| **Game servers**                 | Dedicated game server instances for multiplayer games, each customer gets their own server.                                                                      |
| **Database-as-a-Service**        | Dedicated database instances for each customer with their own data and configuration.                                                                            |
| **Workflow automation**          | Dedicated instances of automation platforms like n8n, Windmill, or Activepieces for each customer.                                                               |
| **Development environments**     | Per-customer development or staging environments with isolated resources.                                                                                        |

Product-based installations are ideal when you're selling software to customers. Each customer gets their own isolated installation with dedicated resources, and CNAP handles billing integration automatically.

### Direct Installations

Direct installations (also called standalone installs) let you install applications without creating a product or configuring pricing. These installations are perfect for supporting systems, internal tools, and infrastructure components that your products depend on.

**Examples of direct installations:**

| Example                   | Description                                                                                                                          |
| ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
| **Shared databases**      | A PostgreSQL or MySQL database that serves multiple customer installations (one database installation shared across many customers). |
| **Monitoring systems**    | Grafana, Prometheus, or other observability tools for tracking your infrastructure.                                                  |
| **Analytics tools**       | Self-hosted PostHog, Plausible, or other open-source analytics platforms that customer installations send data to.                   |
| **API gateways**          | Cloudflare Tunnel, NGINX, or other gateway controllers that route traffic to customer installations.                                 |
| **Community portals**     | Documentation sites, forums, or community platforms that support your product ecosystem.                                             |
| **Backend services**      | Internal APIs, webhooks, or microservices that power your products.                                                                  |
| **Frontend applications** | Marketing websites, admin dashboards, or customer portals that don't require per-customer billing.                                   |

<Note>
  Some installations are shared across multiple customers (like a central database), while others are per-customer (like databases included in each customer's product installation). Direct installations give you flexibility to choose the architecture that fits your needs.
</Note>

Direct installations:

* **No product configuration** - Install directly from your <Tooltip headline="Application Sources" tip="Application sources define where your application comes from. You can use GitHub repositories (with automatic builds), Helm charts from Artifact Hub, Docker images from registries, or custom Kubernetes manifests. CNAP packages all sources into a single versioned package.">sources</Tooltip> without creating a product or configuring pricing
* **Immediate installation** - Deploy directly without creating a product first
* **Same capabilities** - Still benefit from automatic package generation and versioning
* **Template creation** - CNAP automatically creates a template from your Helm sources

## How Installations Work

Both installation types follow the same process:

1. **Template Creation** - CNAP automatically creates a template from your sources (GitHub repositories, Helm charts, Docker images, or custom Kubernetes manifests)
2. **Package Generation** - A versioned package is generated from the template, bundling all dependencies
3. **Cluster Selection** - The installation is assigned to a cluster (for products, this uses <Tooltip headline="Region-based selection" tip="When customers purchase products, they select a region. CNAP automatically selects one cluster from that region for the installation, distributing load across multiple clusters if available.">region-based selection</Tooltip>)
4. **Kubernetes Installation** - CNAP creates the necessary Kubernetes resources and installs your application
5. **Lifecycle Management** - CNAP monitors and manages the installation, ensuring it stays healthy

<Note>
  Both product-based and direct installations use the same underlying installation mechanism. The only difference is whether pricing is configured and whether the installation is linked to a product.
</Note>

## Installation Lifecycle

Once installed, applications are managed by CNAP:

* **Automatic health monitoring** - CNAP ensures your applications stay running
* **Resource management** - Kubernetes handles resource allocation and scaling
* **Update management** - Update installations by modifying standalone installs or products, which modify the underlying template
* **Isolation** - Each installation runs in its own <Tooltip headline="Namespace" tip="A Kubernetes namespace is a virtual cluster that provides isolation and resource organization. Each installation gets its own namespace, ensuring applications don't interfere with each other.">namespace</Tooltip> with dedicated resources

## When to Use Each Type

These guidelines help you choose the right installation type. You don't need to match all criteria—use one or more to decide which approach fits your needs.

<Tabs>
  <Tab title="Product-based installations">
    Use product-based installations when:

    * You're selling software to customers
    * You need billing integration with Stripe
    * You want to manage installations through your marketplace
    * Customers should be able to purchase and install your software
  </Tab>

  <Tab title="Direct installations">
    Use direct installations when:

    * You're installing supporting systems (databases, gateways, monitoring)
    * You're installing internal tools or services
    * You don't need pricing or billing
    * You want to install quickly without product setup
    * You're testing or developing applications
    * You need shared infrastructure that serves multiple customers
  </Tab>
</Tabs>

## Related Topics

* [Products →](/products) - Learn how to create sellable software packages
* [Templates →](/products/templates) - Understand how templates power installations
* [Clusters →](/clusters) - Set up infrastructure for your installations
* [App Sources →](/app-sources) - Choose how to package your applications
* [Marketplace →](/marketplace) - See how customers discover and install your products
