telepresence
Local development against a remote Kubernetes or OpenShift cluster
Telepresence lets you run one service on your laptop while the rest of your app runs in a real Kubernetes cluster, so you can test code changes instantly without rebuilding or redeploying containers.
Telepresence is a developer tool that solves a common problem when building applications on Kubernetes: testing your code changes requires building a container image, pushing it to a registry, and deploying it to the cluster, which can take minutes each time. Telepresence removes that cycle by letting you run one service on your own laptop while the rest of the application continues running in a real Kubernetes cluster in the cloud.
The way it works is by creating a proxy between your local machine and the remote cluster. When you run Telepresence, it gives you a shell where your local process can talk to all the other services in the cluster as if it were deployed there, and the cluster can send traffic to your local process as if it were a pod running inside Kubernetes. You can attach a debugger, edit code and test immediately, and use all your usual local development tools without any container rebuilds.
This repository is for Telepresence 1, which the README notes is being replaced by Telepresence 2. The README advises trying version 2 first.
Telepresence is an open source project hosted by the Cloud Native Computing Foundation, the same organization that oversees Kubernetes itself. It was originally created by Ambassador Labs, which also offers a commercial team-oriented version. The tool supports Linux and macOS and can be installed via Homebrew, apt, or dnf. It works with both Kubernetes and OpenShift clusters.
This tool is aimed at backend developers who work in environments where the full application is too large or dependent on cloud infrastructure to run locally, but who still want a fast feedback loop when writing and testing code.
Where it fits
- Skip container rebuilds when iterating on a Kubernetes service by running it locally while all other cluster services stay live.
- Attach a local debugger to a service that depends on real Kubernetes cluster dependencies you cannot run on your laptop alone.
- Test code changes against a live Kubernetes environment instantly without pushing images or waiting for rolling deployments.