# metalbear-co/mirrord

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/metalbear-co-mirrord).**

4,954 stars · 177 forks · Rust · mit

## Links

- GitHub: https://github.com/metalbear-co/mirrord
- Homepage: https://mirrord.dev
- awesome-repositories: https://awesome-repositories.com/repository/metalbear-co-mirrord.md

## Topics

`api` `backend` `backend-development` `cli` `cloud` `cloud-native` `debug` `develop` `developer-tools` `development` `devops` `devtool` `ide` `kubernetes` `rust` `shift-left` `sniffer` `traffic` `vscode` `vscode-extension`

## Description

mirrord is a developer tool that runs a local process inside the network, environment, and filesystem context of a live Kubernetes pod. It duplicates a pod's incoming traffic, environment variables, and file system onto the local machine, making the local process behave as if it were deployed in the cluster — without modifying code or redeploying.

The tool achieves this through a combination of eBPF-based system call interception and a lightweight sidecar agent deployed in the target pod. eBPF intercepts network, file, and process calls from the local process, routing them through the cluster pod, while the sidecar coordinates traffic mirroring and environment sharing. This approach preserves outgoing cluster connectivity and mirrors incoming cluster traffic to the local process, enabling realistic local debugging against real cluster dependencies.

mirrord supports a range of development workflows including running a local debugger on code that receives real cluster traffic, forwarding outgoing calls through the pod, and injecting the target pod's environment variables and filesystem paths. The tool's configuration is driven by the Kubernetes API, reading pod metadata and labels to set up the interception layer. Documentation and install instructions are available on the project's repository.

## Tags

### Development Tools & Productivity

- [Kubernetes Pod Context Emulators](https://awesome-repositories.com/f/development-tools-productivity/local-emulation-environments/kubernetes-pod-context-emulators.md) — Provides a local process with the same network, file, and environment context as a running Kubernetes pod.
- [Kubernetes Pod Debugging](https://awesome-repositories.com/f/development-tools-productivity/application-debugging/remote-debugging/kubernetes-pod-debugging.md) — Attaching a debugger to a local process that is connected to a Kubernetes cluster pod, enabling step-through debugging of code in production-like conditions.

### DevOps & Infrastructure

- [Pod Traffic Mirroring](https://awesome-repositories.com/f/devops-infrastructure/kubernetes-traffic-controllers/pod-traffic-mirroring.md) — Mirroring a pod's incoming network traffic to a local process for debugging, while allowing the local process to make outbound calls to the cluster as if it were the pod.
- [Pod Context Mirrors](https://awesome-repositories.com/f/devops-infrastructure/kubernetes-traffic-controllers/pod-traffic-mirroring/pod-context-mirrors.md) — Duplicates a pod's network traffic, filesystem, and environment variables to a local process for debugging without redeployment.
- [Pod Context Simulators](https://awesome-repositories.com/f/devops-infrastructure/kubernetes-traffic-controllers/pod-traffic-mirroring/pod-context-simulators.md) — Simulating a pod's environment including network, environment variables, and filesystem on a local machine for testing code without deploying.
- [Pod Context Development](https://awesome-repositories.com/f/devops-infrastructure/local-kubernetes-clusters/pod-context-development.md) — Running a local development process that behaves as if it is inside a Kubernetes pod, including receiving real cluster traffic and using cluster environment variables and filesystem.
- [Agent Sidecars](https://awesome-repositories.com/f/devops-infrastructure/sidecar-containers/agent-sidecars.md) — Runs a lightweight agent in the target pod to coordinate traffic mirroring and environment sharing with the local process.
- [Runtime Environment Variable Injections](https://awesome-repositories.com/f/devops-infrastructure/configuration-management/environment-management/environment-variable-management/environment-variable-configurations/environment-variable-configuration/runtime-environment-variable-injections.md) — Injects environment variables from a target Kubernetes pod into a local process environment at startup.

### Networking & Communication

- [eBPF Interceptors](https://awesome-repositories.com/f/networking-communication/traffic-interception-tools/ebpf-interceptors.md) — Intercepts network, file, and process system calls using eBPF to reroute them to a cluster pod without modifying application code.
- [Kubernetes Outbound Tunnels](https://awesome-repositories.com/f/networking-communication/traffic-tunneling/kubernetes-outbound-tunnels.md) — Forwards all outbound network connections from a local process through a Kubernetes pod to maintain cluster network access.

### Software Engineering & Architecture

- [Local Cluster Dependency Debugging](https://awesome-repositories.com/f/software-engineering-architecture/microservices-development/local-cluster-dependency-debugging.md) — Run a locally debugged process inside a cluster container to receive real traffic and inherit its environment. ([source](https://cdn.jsdelivr.net/gh/metalbear-co/mirrord@main/README.md))

### Operating Systems & Systems Programming

- [File System Operation Interception](https://awesome-repositories.com/f/operating-systems-systems-programming/file-system-operation-interception.md) — Intercepts file read/write calls and serves them from a mirrored cluster pod filesystem instead of the local filesystem.
