> ## Documentation Index
> Fetch the complete documentation index at: https://controlplanecorporation-majid-docs-content-expansion.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Quickstart

> Build an application on Control Plane across AWS and GCP, from your first container to a connected frontend, API, and PostgreSQL database. Add secrets, explore observability, and optionally connect a custom domain.

## What you'll build

A product launch page with a working email waitlist. You'll build it from source, connect a private backend to accept signups, and give it persistent storage so the list survives restarts. Then you'll follow a signup through the system to see how the pieces work together.

<img src="https://mintcdn.com/controlplanecorporation-majid-docs-content-expansion/6V8SaiZLWK_iHnrB/images/quickstart/waitlist-flow.svg?fit=max&auto=format&n=6V8SaiZLWK_iHnrB&q=85&s=32c3bbd056f8334eba3c87e47efa57d9" alt="A visitor joins the email waitlist on the launch page, the private API accepts the signup, and PostgreSQL stores it. The frontend and API run across AWS and GCP." style={{maxWidth:'720px',width:'100%',margin:'1.75rem auto',display:'block'}} width="720" height="180" data-path="images/quickstart/waitlist-flow.svg" />

## Start the series

Follow parts 1–5 in order. Part 6 is optional and requires a domain you own.

<CardGroup cols={2}>
  <Card title="1. Deploy your first workload" icon="https://mintcdn.com/controlplanecorporation-majid-docs-content-expansion/Ry1Mkgc7uPHC-gur/icons/gvc.svg?fit=max&auto=format&n=Ry1Mkgc7uPHC-gur&q=85&s=82438d45df407eb2a10e0843f549cbfa" href="/quickstart/deploy-workload" width="512" height="512" data-path="icons/gvc.svg">
    Create a GVC across AWS and GCP, deploy NGINX, and open it through one global HTTPS endpoint.
  </Card>

  <Card title="2. Deploy your own application" icon="rocket" href="/quickstart/deploy-application">
    Build the launch page from source, push its image to your private registry, and run it in both locations.
  </Card>

  <Card title="3. Connect two workloads" icon="arrows-left-right" href="/quickstart/connect-workloads">
    Deploy a private API and allow the frontend to call it over the internal network to accept waitlist signups.
  </Card>

  <Card title="4. Add a database and secret" icon="database" href="/quickstart/database-and-secrets">
    Save signups in PostgreSQL and grant the API access to its credentials through an identity, a policy, and a secret reference.
  </Card>

  <Card title="5. Observe your workload" icon="chart-line" href="/quickstart/observe-workload">
    Read logs and metrics, enable tracing, and follow a signup request from the frontend to the API.
  </Card>

  <Card title="6. Configure a custom domain (optional)" icon="globe" href="/quickstart/custom-domain">
    Point a domain you own at the frontend, with Control Plane issuing and renewing its TLS certificate.
  </Card>
</CardGroup>

<Note>
  You need an [org](/reference/org) to deploy into. If you don't have one yet, [sign up](https://console.cpln.io/signup) for Control Plane: the Console walks you through creating a [billing account](/concepts/billing) and your first org.
</Note>
