Overview
The Control Plane CLI offers developers the ability to containerize their code and push the resulting image to their Org’s private image registry. The image registry is scoped to the Org and available for use by all Workloads within the Org. Along with the console, the CLI can be used to deploy the image to the cloud by configuring a GVC and Workload. This quick start will demonstrate how to:- Containerize a Node.js application.
- Configure a GVC and Workload using the CLI.
- Test the deployed application.
Prerequisites
- Install the CLI.
- Log in to the CLI.
- Install Docker.
- Install Node.js version 12+.
- Download sample application:
Step One - Containerize the Sample Application
- Decompress the sample application to a new directory. The application is a web app that will display the environment variables of the running process that also include Control Plane variables such as cloud provider and location.
Decompression helper commands:
OS | Command |
---|---|
macOS | gunzip cpln_app.tgz && open cpln_app.tar |
Linux | tar -xvf cpln_app.tgz |
Windows 10/11 (PowerShell) | Expand-Archive cpln_app.zip |
- Execute the following command from the
cpln_app
directory to containerize the application:
quick-start-4
and the tag is 0.1
. You can build and push multiple versions with the same name and
different tags (e.g., 0.2, 0.3, etc.).
Notice that the application doesn’t contain a
Dockerfile
. The cpln image build
command uses Buildpacks to
scan the application and automatically build the image. If your application has an existing Dockerfile
, the command
will use that file to containerize the application.Step Two - Configure a GVC
In this step, you will configure a new GVC for the application using the CLI. If you’d like to use the GVC created in the previous quick start, skip to step 3. Execute the following command to create a new GVC mapped to two different cloud providers/locations:To view the list of available locations, execute the command:
cpln location get --org ORG_NAME
.Step Three - Configure a Workload
In this step, you will configure a new Workload for the application. Execute the following command to create a new Workload. For the--name
flag, choose an appropriate name for the workload. It will be used when generating the endpoint URL.
For the --image
flag, use the name of the image that was created in step 1. Prefix the image name with //image/
to have the platform pull the image from your Org’s private registry.
For the --gvc
flag, use the GVC name created in step 2 or from the previous quick start.
For the --port
flag, use port 8080 which is the port the application exposes.
The command uses the --public
flag which will automatically set the firewall rules for this Workload to allow inbound and outbound Internet traffic.
Step Four - Test the Deployed Application
Allow a few minutes for the workload to deploy, then copy the endpoint URL and paste it into a browser. The output will display the environment variables for the running process. The variables that are prefixed withCPLN_
are added by Control Plane and can be used by your application.
For example, the variable CPLN_LOCATION
will be the location where the Workload was served from. Since we configured the GVC with two locations, this variable can change depending on the location of the caller since the endpoint URL is DNS geo-routed to the nearest healthy location.
For more details on the built-in variables, visit the Workload Environment Variables reference page.