FEATURE RELEASE
Managing and Sharing Kubernetes Developer Environments
Telepresence 2.11 adds intercept specifications, Edge Stack 3.5 is now available
There once was a tool named Telepresence
That made Kubernetes a breeze with its essence
With YAML custom resources to configure
It became a developer’s treasure
Making container development a new presence
Over the years, we’ve added many options to Telepresence, to the point where there is a veritable smorgasbord of options. This has led to a Cambrian explosion of custom shell scripts and Makefiles that invoke Telepresence.
Today is a new day 🌄! We’re introducing the intercept specification, which enables users to specify all the metadata needed for a successful intercept in a single YAML file. Read on for more.

Telepresence Intercept Specifications
Most application developers just want to write code and have fast inner development loops. Telepresence gives developers that fast inner dev loop … but configuring it can be arcane. Now, an application developer simply types a single command to set up an intercept and their local development container(s):
telepresence intercept run my-intercept.yaml
The my-intercept.yaml
contains a Telepresence intercept specification:
prerequisites:
- create: hello
workloads:
- name: echo-easy
intercepts:
- handler: echo-easy
headers:
- name: test-{{ .Telepresence.Username }}
value: "{{ .Telepresence.Username }}"
previewURL:
enable: true
connection:
context: "default"
handlers:
- name: echo-easy
docker:
image: jmalloc/echo-server:latest
- name: hello
script:
run: echo hello
This intercept specification will run the bash command echo hello
, start an intercept in the Kubernetes context hello
, and then start up a container thhal/echo-server:latest
locally to serve as the target of the intercepts of the echo
deployment on port 8080
.
Kubernetes platform engineers, you can now create these standard configurations for each of your services, check it into source control, and let your application developers spin up development environments with a single command.
Application engineers: you no longer need to remember all the details of the Telepresence CLI.
Define Intercepts as CRDs
Even better, intercept specifications can also be formatted as custom resource definitions, and applied to a Kubernetes cluster. When the telepresence intercept run $X
command is executed, Telepresence will look for a CRD named $X
, followed by a YAML file with the same name, before checking for a service and deployment to intercept. Here’s an example:
apiVersion: getambassador.io/v1alpha1
kind: InterceptSpecification
metadata:
name: echo-server-spec
namespace: my-crd-namespace
spec:
prerequisites:
- create: build-binary
delete: rm-binary
connection:
context: "shared-cluster"
mappedNamespaces:
- "my_app"
workloads:
echo-server:
intercepts:
- headers:
x-intercept-id: foo
service_port: 8080
handler: echo-server
handlers:
- name: echo-server
docker:
image: thhal/echo-server:latest
In general, we recommend that organizations use the CRD approach. By using CRDs, you can directly integrate the configuration into your existing CI deployment pipeline, ensuring that every developer in your organization can configure intercepts with the latest configuration 🔥.
Watch the sizzle reel below to see a demo of the Intercept Specifications, and check out our official documentation to learn more and get started.
Note: Intercept Specifications are part of our commercial release of Telepresence, and are free for up to five developers. If you need more than five developers, please contact us.
Improved VPN support, IPv6
Telepresence 2.11 also ships a number of fixes and improvements, with a particular focus on VPN support. In particular:
test-vpn
has been improved to better report on conflicting network routes.- mTLS secrets are now mounted into the Traffic Agent, improving robustness.
- Local daemons now auto-reconnect to the cluster when the network connection is lost.
Telepresence 2.11 also now supports Kubernetes clusters using IPv6. Thanks to Jeff Williams for your contribution!
Edge Stack 3.5
Edge Stack 3.5 is now generally available and contains the following fixes and enhancements:
- gRPC TLS support with
External
filters. - Golang 1.20.1, addressing CVE-2022-41725 and CVE-2022-41723.
This release includes the following community-contributed changes:
- OpenTelemetry support (Paul Salaberria). Export spans in the OLTP format by setting
TracingService.spec.driver=opentelemetry
. - Switch to a non-blocking readiness check (Fabrice & Tomas Banet). This avoids false positive readiness check failures when loading large configurations.
- Add support for resolving port names (not just port numbers) in Ingress resources (Anton Ustyuzhanin).
Try the latest releases today!
Ambassador Cloud and Telepresence are free forever for solo developers and come with an unlimited use 21-day trial for your team and company. Get started today!
Learn more
- Need help moving faster as a cloud native team? Work with our team of engineers and put best practices in place for your organization through Ambassador’s Kubernetes Development Accelerator Program.
- Kubernetes Expert Interviews: Adopt and Manage K8s as a Team: Check out perspectives from industry thought leaders on the platforms, paved paths, and developer experience for organizations adopting Kubernetes.
- Learn how Voiceflow, the collaborative platform for building chat and voice assistants, sped up the development and debugging of microservices by implementing Telepresence within the workflow.