https://github.com/metalbear-co/mirrord
Connect your local process and your cloud environment, and run local code in cloud conditions.
https://github.com/metalbear-co/mirrord
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
Last synced: about 1 month ago
JSON representation
Connect your local process and your cloud environment, and run local code in cloud conditions.
- Host: GitHub
- URL: https://github.com/metalbear-co/mirrord
- Owner: metalbear-co
- License: mit
- Created: 2022-02-01T16:42:30.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2026-04-28T07:07:23.000Z (about 2 months ago)
- Last Synced: 2026-04-28T09:09:41.323Z (about 2 months ago)
- 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
- Language: Rust
- Homepage: https://metalbear.com/mirrord
- Size: 35.8 MB
- Stars: 5,050
- Watchers: 23
- Forks: 192
- Open Issues: 187
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Security: SECURITY.md
- Agents: AGENTS.md
Awesome Lists containing this project
- awesome-rust - mirrord
- awesome-k8s-resources - mirrord - mirrord connects your local process and your cloud environment, and runs local code in cloud conditions. (Tools and Libraries / Development Tools)
- awesome-rust - mirrord - Connect your local process and your cloud environment, and run local code in cloud conditions (Applications)
- awesome-opensource-israel - mirrord - Connect your local process and your cloud environment, and run local code in cloud conditions.   (Projects by main language / rust)
- awesome-rust - mirrord
- fucking-awesome-rust - mirrord - Connect your local process and your cloud environment, and run local code in cloud conditions (Applications)
- StarryDivineSky - metalbear-co/mirrord
- awesome-github-repos - metalbear-co/mirrord - Run any process, on your machine or in an AI agent's environment, as if it were a pod in your Kubernetes cluster: real env vars, DNS, network, traffic. (Rust)
- awesome-rust-with-stars - mirrord - 01-30 | (Applications)
- awesome-ai-devtools - mirrord - agent isolation inside a shared Kubernetes cluster: traffic filters, DB branches, and Kafka queue splits via the mirrord Operator. Six [Claude Code skills](https://github.com/metalbear-co/skills) cover quickstart, config, operator setup, CI, DB branching, and Kafka splitting; install via `/plugin marketplace add metalbear-co/skills`. (Agent Infrastructure / Sandboxing & Isolation)
README

[](https://metalbear.co/slack)
[](https://github.com/metalbear-co/mirrord/actions/workflows/ci.yaml)
[](https://github.com/metalbear-co/mirrord/blob/main/LICENSE)
[](https://github.com/metalbear-co/mirrord/releases)
[](https://twitter.com/metalbearco)
[mirrord lets developers run local processes in the context of their Kubernetes environment](https://metalbear.co/mirrord/).
It’s meant to provide the benefits of running your service on a cloud environment (e.g. staging) without actually
going through the hassle of deploying it there, and without disrupting the environment by deploying untested code.
It comes as a Visual Studio Code extension, an IntelliJ plugin and a CLI tool. [You can read more about it here](https://metalbear.co/mirrord/docs/overview/introduction/).
Or maybe you're just Looking for the [KubeCon Atlanta raffle password](#kubecon-atlanta-raffle).
# Contents
- [Contents](#contents)
- [Getting Started](#getting-started)
- [VS Code Extension](#vs-code-extension)
- [Installation](#installation)
- [How To Use](#how-to-use)
- [IntelliJ Plugin](#intellij-plugin)
- [Installation](#installation-1)
- [How To Use](#how-to-use-1)
- [CLI Tool](#cli-tool)
- [Installation](#installation-2)
- [How To Use](#how-to-use-2)
- [How It Works](#how-it-works)
- [Additional capabilities](#additional-capabilities)
- [FAQ](#faq)
- [Contributing](#contributing)
- [Help and Community](#help-and-community)
- [Code of Conduct](#code-of-conduct)
- [License](#license)
---
## Getting Started
- [VS Code Extension](#vs-code-extension)
- [IntelliJ Plugin](#intellij-plugin)
- [CLI Tool](#cli-tool)
> mirrord uses your machine's default kubeconfig for access to the Kubernetes API.
---
## VS Code Extension
### Installation
[Get the extension here](https://marketplace.visualstudio.com/items?itemName=MetalBear.mirrord).
### How To Use
- Click "Enable mirrord" on the status bar
- Start debugging your project
- Choose pod to impersonate
- The debugged process will be plugged into the selected pod by mirrord
---
## IntelliJ Plugin
### Installation
[Get the plugin here](https://plugins.jetbrains.com/plugin/19772-mirrord).
### How To Use
- Click the mirrord icon in the Navigation Toolbar
- Start debugging your project
- Choose a namespace and pod to impersonate
- The debugged process will be plugged into the selected pod by mirrord
---
## CLI Tool
### Installation
You can use either
```sh
brew install metalbear-co/mirrord/mirrord
```
or
```sh
curl -fsSL https://raw.githubusercontent.com/metalbear-co/mirrord/main/scripts/install.sh | bash
```
or using Nix (not official, community maintained):
```sh
# Using nix-env (legacy)
nix-env -iA nixpkgs.mirrord
# Using nix profile (recommended)
nix profile install nixpkgs#mirrord
```
or on Windows using Chocolatey:
```sh
choco install --pre mirrord
```
### How To Use
```sh
mirrord exec --target
```
e.g.
```sh
mirrord exec node app.js --target pod/my-pod
```
---
## How It Works
When you select a pod to impersonate, mirrord launches a pod on the same node as the pod you selected.
The new pod is then used to connect your local process and the impersonated pod: it mirrors incoming traffic from the pod to your process,
routes outgoing traffic from your process through the pod, and does the same for file reads, file writes, and environment variables.
[You can read more about it here](https://metalbear.co/mirrord/docs/overview/introduction/).
### Additional capabilities
Container run inside the pod launched by mirrord requires additional [Linux capabilities](https://man7.org/linux/man-pages/man7/capabilities.7.html):
- `CAP_NET_ADMIN` and `CAP_NET_RAW` - for modifying routing tables
- `CAP_SYS_PTRACE` - for reading target pod environment
- `CAP_SYS_ADMIN` - for joining target pod network namespace
However, you can disable any subset of those in the [configuration](https://metalbear.co/mirrord/docs/reference/configuration/).
This will possibly limit mirrord functionalities or even make it unusable in some setups.
```bash
MIRRORD_AGENT_DISABLED_CAPABILITIES=CAP_NET_RAW,CAP_SYS_PTRACE mirrord exec node app.js --target pod/my-pod
```
## FAQ
[Our FAQ is available here](https://metalbear.co/mirrord/docs/faq/general/).
If you have a question that's not on there, feel free to ask in our [Discussions](https://github.com/metalbear-co/mirrord/discussions)
or on [Slack](https://metalbear.co/slack).
## Contributing
Contributions are very welcome.
Start by checking out our [open issues](https://github.com/metalbear-co/mirrord/issues), and by going through our [contributing guide](CONTRIBUTING.md).
We're available on [Slack](https://metalbear.co/slack) for any questions.
## Help and Community
Join our [Slack](https://metalbear.co/slack) for questions, support and fun.
We always appreciate hearing how mirrord has made a difference for our users.
Check out our [ADOPTERS.md](./ADOPTERS.md) to see how others are using mirrord —
and [open a pull request](https://github.com/metalbear-co/mirrord/pulls) to add your organization if you’d like to share how mirrord has been useful to you.
## KubeCon Atlanta Raffle
The password is: **"The blind rooster crows at midnight."**
Say it to one of our team members at Booth #1560.
## Code of Conduct
We take our community seriously and we are dedicated to providing a safe and welcoming environment for everyone.
Please take a few minutes to review our [Code of Conduct](./CODE_OF_CONDUCT.md).
## License
[MIT](./LICENSE)