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
- Completed Quickstart 1 (or have an existing org with a GVC)
- Docker installed and running
Step 1: Install the CLI
The CLI is required to build and push images to your org’s private registry in Control Plane.- npm
- Homebrew
- Binary
Requires Node.js version 18+ (an active LTS release is recommended).
Step 2: Authenticate
Log in to Control Plane:Step 3: Download the Sample Application
Download and extract the sample Node.js application:macOS / Linux
Sample Application
Windows
Sample Application
- macOS / Linux
- Windows PowerShell
Step 4: Build and Push the Image
Build and push the image to Control Plane’s private registry://image/my-app:1.0.
- Console UI
- CLI
- Terraform
- Pulumi
Step 5: Create the Workload
1
Navigate to Workloads
Click
Workloads in the left menu, then click New.2
Configure workload basics
- Enter the name
my-app - Select
quickstart-gvcfrom the GVC dropdown
3
Configure container
- Click
Containersin the left pane - Select
Control Planeas the image source - In the select image dropdown, type
my-appand selectmy-app:1.0 - Under
Ports, set Protocol tohttpand Number to8080
4
Configure firewall and create
- Click
Firewallin the left pane - Click
Make Public - 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:- Console UI
- CLI
- Terraform
- Pulumi
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_LOCATIONandCPLN_PROVIDERare injected automatically
Continue
3. Configure a Custom Domain
Map your own domain to your workload for production-ready URLs.
Clean Up
To delete just themy-app workload created in this quickstart:
- Console UI
- CLI
- Terraform
- Pulumi
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.