Skip to main content

Overview

This quickstart guides you through building and deploying your own application to Control Plane. You’ll containerize a sample Node.js application, push it to your org’s private image registry on Control Plane, and deploy it as a workload. What you’ll accomplish:
  • Install the Control Plane CLI
  • Containerize a sample application using Buildpacks
  • Push the image to your organization’s private registry
  • Deploy the application as a workload

Prerequisites

Step 1: Install the CLI

The CLI is required to build and push images to your org’s private registry in Control Plane.
Requires Node.js version 18+ (an active LTS release is recommended).
Verify the installation:

Step 2: Authenticate

Log in to Control Plane:
The CLI prints a login URL and a six-digit confirmation code. Open the URL in a browser on any device, sign in, and enter the code. After a successful login, set your default organization:

Step 3: Download the Sample Application

Download and extract the sample Node.js application:

macOS / Linux

Sample Application

Windows

Sample Application
Extract the archive and navigate to the directory:
The application is a web app that displays runtime environment variables, including Control Plane-injected variables such as cloud provider and location.

Step 4: Build and Push the Image

Build and push the image to Control Plane’s private registry:
The cpln image build command uses Buildpacks to automatically detect your application type and build the image. No Dockerfile is required. If your application has an existing Dockerfile, the command uses that instead.
The image is now available in your organization’s private registry as //image/my-app:1.0.

Step 5: Create the Workload

1

Navigate to Workloads

Click Workloads in the left menu, then click New.
2

Configure workload basics

  1. Enter the name my-app
  2. Select quickstart-gvc from the GVC dropdown
3

Configure container

  1. Click Containers in the left pane
  2. Select Control Plane as the image source
  3. In the select image dropdown, type my-app and select my-app:1.0
  4. Under Ports, set Protocol to http and Number to 8080
4

Configure firewall and create

  1. Click Firewall in the left pane
  2. Click Make Public
  3. Click Create

Step 6: Access Your Application

1

Wait for deployment

The workload status changes to show Ready under Health after 1-2 minutes.
2

Open the application

Under Endpoints, click the link next to Canonical Endpoint. Your application displays the Control Plane environment variables, including the location and provider.

Updating Your Application

To deploy a new version, update your code and build with a new image tag:
Then update your workload to use the new image:
Navigate to your workload, click Containers, select the new tag, and click Update.

What You’ve Learned

  • Private registry stores your images securely within your organization
  • Image references use //image/ prefix for CLI or full path for IaC tools
  • Buildpacks automatically containerize your application without a Dockerfile
  • Environment variables like CPLN_LOCATION and CPLN_PROVIDER are injected automatically

Continue

3. Configure a Custom Domain

Map your own domain to your workload for production-ready URLs.

Clean Up

To delete just the my-app workload created in this quickstart:
Navigate to Workloads, select my-app, and from Actions click Delete.
To delete images, navigate to Images in the Console, select the image name, and from Actions click Delete to remove all tags. With the CLI, delete each tag individually: cpln image delete my-app:1.0.