explaingit

telepresenceio/telepresence

7,208GoAudience · ops devopsComplexity · 4/5Setup · hard

TLDR

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.

Mindmap

mindmap
  root((telepresence))
    What it does
      Local to cluster proxy
      Skip container builds
      Instant code testing
    How it works
      Proxy shell session
      Traffic intercept
      Two-way networking
    Compatibility
      Kubernetes
      OpenShift
      Linux and macOS
    Audience
      Backend developers
      DevOps teams
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Skip container rebuilds when iterating on a Kubernetes service by running it locally while all other cluster services stay live.

USE CASE 2

Attach a local debugger to a service that depends on real Kubernetes cluster dependencies you cannot run on your laptop alone.

USE CASE 3

Test code changes against a live Kubernetes environment instantly without pushing images or waiting for rolling deployments.

Tech stack

GoKubernetes

Getting it running

Difficulty · hard Time to first run · 1h+

Requires an active Kubernetes or OpenShift cluster. This repo is Telepresence 1, which is deprecated, try Telepresence 2 first.

License not stated in the explanation.

In plain English

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.

Copy-paste prompts

Prompt 1
Using Telepresence 1, swap my local user-service into a Kubernetes cluster so I can test it against live dependencies without rebuilding the Docker image.
Prompt 2
How do I use Telepresence to attach a local Go debugger to a service running inside a Kubernetes cluster?
Prompt 3
What are the differences between Telepresence 1 and Telepresence 2, and how do I migrate my local dev workflow to version 2?
Prompt 4
Show me the Telepresence commands to intercept traffic for a specific Kubernetes deployment and redirect it to my local port 8080.
Prompt 5
How do I use Telepresence with an OpenShift cluster instead of vanilla Kubernetes?
Open on GitHub → Explain another repo

← telepresenceio on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.