Overview
This quickstart demonstrates how workloads communicate internally with automatic mTLS encryption. By default, workloads are isolated and reject internal traffic. You’ll configure firewall rules to enable secure service-to-service communication. What you’ll accomplish:- Deploy a new workload that communicates with an existing service
- Observe the default deny behavior
- Configure internal firewall rules to allow communication
- Verify secure service-to-service communication
Prerequisites
- Completed Quickstart 1 with a running workload
- Permissions to create workloads in your org
How Internal Communication Works
Workloads communicate using internal endpoints that follow this pattern:quickstart-gvc) and deployed a workload (hello-world). Now you’ll create a new workload that communicates with the existing hello-world workload.
- Console UI
- CLI
- Terraform
- Pulumi
Step 1: Create the Caller Workload
1
Navigate to Workloads
Click
Workloads in the left menu, then click New.2
Configure workload basics
- Name:
caller - Make sure
quickstart-gvcis selected in the GVC dropdown
3
Configure container
- Click
Containersin the left pane - Select
Externaland enter the image:cplnquickstarts/service-to-service-quick-start:1.1 - Under
Ports, set Protocol tohttpand Number to8080
4
Configure firewall and create
- Click
Firewallin the left pane - Click
Make Public - Click
Create
Step 2: Observe Default Deny Behavior
1
Wait for workload to be ready
The
caller workload shows Ready in Workload Health.2
Open the caller workload
Navigate to the
caller workload and click Open next to the Global Endpoint.3
Test internal call
Add this query parameter to the caller URL:The request will time out and fail because the
hello-world workload blocks internal traffic by default.Step 3: Configure Internal Firewall
1
Navigate to hello-world workload
Click
Workloads in the left menu and select hello-world.2
Configure firewall
- Click
Firewallin the left pane - Under the
Internaltab, selectSame GVCfor the Inbound Allow Type - Click
Update
Step 4: Verify Communication
1
Wait for redeployment
The
hello-world workload redeploys with the updated firewall rules after 1-2 minutes.2
Test again
Refresh the caller page with the URL parameter. The
hello-world workload now responds:Internal Firewall Options
The
workload-list option requires view permission on the allowed workloads.Internal Endpoint Format
Workloads communicate using internal DNS endpoints:http://api.production-gvc.cpln.local:8080http://cache.quickstart-gvc.cpln.local:6379
The endpoint above load-balances across all replicas. For stateful workloads with
replicaDirect enabled, you can also reach an individual replica directly — see Finding Replica Hostnames.What You’ve Learned
- Workloads are isolated by default - internal traffic is blocked
- mTLS is automatic - no certificate configuration is required
- Firewall rules control which workloads are allowed to communicate
- Internal endpoints use the
.cpln.localdomain
Clean Up
To delete all resources created through the quickstart series:- Console UI
- CLI
- Terraform
- Pulumi
- Navigate to
GVCs, selectquickstart-gvc, and fromActionsclickDelete - Navigate to
Domains, select your domains, and fromActionsclickDelete
Remember to remove the DNS records from your DNS provider after deleting the domains.
Next Steps
Push Your Own Image
Deploy your own containerized application on Control Plane.
Secrets
Manage sensitive configuration for your workloads.
Identities
Grant workloads access to cloud resources securely.
CI/CD Integration
Automate deployments with your CI/CD pipeline.