rctl.
What you’ll build
A Routr Connect release namedsipnet in a sipnet namespace, with each Routr service in its own pod, plus the PostgreSQL and Redis instances the chart installs for you. You manage it from your machine with rctl.
Prerequisites
- A local Kubernetes cluster, such as Minikube or the one built into Docker Desktop, with a storage provisioner for persistent volumes.
- kubectl configured for that cluster.
- Helm v3.
- Node.js and npm, to install
rctl. - The IP address your SIP clients will use to reach the cluster (for a local cluster, usually your machine’s IP, for example
192.168.1.3).
Steps
1
Add the Helm repository
Add the Routr chart repository and refresh your local cache:
2
Create a namespace
Create a namespace for the release. A dedicated namespace makes upgrades and cleanup easier.
3
Write a values file
Create a file named
values.yaml. It sets the address the EdgePort advertises in SIP messages and turns off TLS on the API Server so you can connect with --insecure in this tutorial.values.yaml
4
Install the chart
Install Routr Connect with your values file:Helm prints a summary similar to this:Wait a few minutes for the images to download and the pods to start. Check their status:You see one pod per Routr service (apiserver, connect, dispatcher, edgeport, location, registry, requester) plus
postgresql and redis. The chart runs two EdgePort replicas by default.All pods show the status
Running.5
Open a tunnel to the API Server
The API Server isn’t exposed outside the cluster. Forward its external port, The service name follows the pattern
51908, to your machine. Keep this command running in its own terminal.<release>-routr-apiserver.6
Connect with rctl
In a new terminal, install the command-line tool:Answer the prompts:List your Domains to confirm the API Server stored it in PostgreSQL:
rctl connects to localhost:51908 by default, which is where the tunnel listens. Create a Domain:rctl reaches Routr running in Kubernetes, and your Domain appears in the list.NodePort service over UDP. See Deploy on Kubernetes for service types, transports, and external addresses.
Clean up
Remove the release and the namespace when you’re done:Next steps
Deploy on Kubernetes
Configure transports, services, and external addresses for a real cluster.
Helm values
See every value the chart accepts.
Deployment topologies
Learn how each component scales.
Manage resources with rctl
Create Agents, Peers, Trunks, and Numbers.