At @gdglagos 2024, @Anita_ihuman delivered a talk on Remocal development with mirrord, showcasing how developers can make their K8s workflow smoother with the help of mirrord, leading to an improved developer experience and increased productivity.
👉 Watch the demo here:
Posts by MetalBear 🐻
When debugging Ruby microservices, most techniques like continuous deployment, log analysis, and remote debugging can be time-consuming, with additional overhead to your workflow
Here's a guide on how to mirror traffic and environment settings from your K8s pod to your local Ruby process with ease👇
- If a dev writes to a DB, won’t that mess up others' tests?
mirrord enables concurrent usage of the same cluster through the following capabilities:
This raises some big questions:
- What happens when multiple developers use the same cluster? 👩🏿🤝👨🏼
- If one dev steals traffic from a service, does that block others?🚦
- If a service reads from a queue, will one dev steal all the messages? 📨
mirrord cuts iteration time by letting developers run their code against the cluster directly—without slow build, push, and deploy cycles.
But here's the kicker: to really test in the cloud, your code needs to receive and send traffic back – which may alter the environment. 🤔🧵
Metalbear at KubeCon EU
🚀 KubeCon EU 2025 is weeks away, and we’ve been busy! 🇬🇧
We’re getting everything ready for London—demos, swag, and some exciting mirrord updates. And we’d love your input!
👉 What would you like to see from us at KubeCon? More hands-on demos? A chat with the team? Let us know in the comments!
Slow iterations, complex logs, and performance overhead are challenges that often kill developer productivity when debugging Java microservices in Kubernetes.
To address these issues, we provide a guide on how to debug Java applications within a K8s context with ease. 👇🏼🧵
This means🧵 👇 :
✅ Immediate effect on queues & traffic.
✅ A stable, high-level Kubernetes API solution.
✅ No reliance on container runtime internals.
📢 Read the full story on how we built—and deprecated—our container pause feature in this article by @Aviramyh: https://buff.ly/3CHK3uP
Tired of fighting for logs or dealing with unwanted traffic?
Instead of pausing containers, mirrord now creates an exclusive pod for your session and scales down others in the deployment.
➡️ New File Operation Support – Huge thanks to @facundopoblete for adding support for rmdir, unlink, unlinkat, and statfs! 👏
A big shoutout to our amazing community for making mirrord even more powerful! 🎉
Try out the latest updates, and let us know what you think.
➡️ Prometheus Metrics Export – Export mirrord agent metrics for improved observability and debugging.
➡️ mirrord CLI Improvements – Thanks to @waveywaves, the `-f / --config-file` argument now assumes `./.mirrord/mirrord.json` by default! 👏
➡️ IPv6 Support – Expanded support for outgoing traffic, incoming traffic interception, and domain name resolution. (Mirroring in progress!)
➡️ Kubernetes Service as a Target – Mirror traffic from an entire Kubernetes Service, making debugging multi-replica workloads easier.
➡️ mirrord Policies – Gain initial controls for file operations, offering more flexibility in managing remote file interactions.
➡️ IntelliJ Plugin Namespace Selection – No more manual switching! Select your Kubernetes namespace directly in the target selection dialog.
🚀 New Feature Updates!🚀
To improve your cloud development experience, we have added a ton of exciting features and improvements to mirrord in the last 4 weeks.
Here is what’s new with mirrord! 👇🏼
We’re bringing back this demo for anyone who might have missed it!
Catch up on @Eyal Bukchin's demo on how mirrord for Teams can simplify the development workflow for both startups and enterprises.
See how to transform your team's developer experience with mirrod:
Have questions about mirrord❓ We’ve got answers! 🧵
We recently chatted with @praveensanap from @Carousell, a leading multi-category platform for secondhand in Southeast Asia, about the pain of having to debug inside Docker containers just to test against their staging environment.
Check out the full story to learn: https://buff.ly/4hu7bM8
➡️ How to use the mirrord policy:
If you want to block stealing traffic on all webserver deployments in a namespace, you can write a policy like this:
➡️ Controllable Features🔧
Some policies don’t block features outright; they override user configurations:
- Env Policy: Controls which environment variables can be retrieved.
- FS Policy: Controls which files can be accessed or how they can be opened (e.g., read-only, local, etc.).
➡️ Blockable Features 🚫
You can use mirrord policies to block the following features:
- steal: Prevents stealing traffic from targeted pods.
- steal-without-filter: Same as above, but only if no HTTP filter is used.
- mirror: Prevents mirroring traffic.
➡️ What are mirrord Policies?
When you install the mirrord operator, it creates two types of policies that have the same specifications:
- MirrordPolicy: Applies to targets in the same namespace.
- MirrordClusterPolicy: Applies to targets across the entire cluster.
mirrord Policies are used to control which features can be used with your Kubernetes targets.
Let’s break it down! 🧵
Last year at #KCDAccra, @Anita_ihuman shared how to redefine local K8s development using the “mirror effect.”
In her talk, she gave a demo on how to debug a Python microservice directly from your local machine in under five minutes using mirrord.
Check out the demo here:
If you’re running K8s on Azure and want an easier way to build and debug your app locally, look no further🪞.
In Gemma Tipper's article, she shows how to:
💫 Mirror AKS environments locally using mirrord
💫 Test directly in AKS without wasting time
See article:
Is your development environment enabling a fast, reliable feedback loop—or is it holding you back?
@Anita Ihuman explores how Remocal development tools, like #mirrord, balance local and remote setups to simplify your processes, enhance productivity, and cut costs.
See more:
mirrord bridges the gap between local development and production, empowering developers to work faster and smarter.
As @Gavriel Zarka shared: “mirrord is an extraordinary plugin that reduces development time...”
Want to give it a try? Check out mirrord: https://mirrord.dev/
5️⃣ Regex-Based Environment Variable Mapping
You can now enjoy maximum flexibility by mapping remote environment variables to specific values in your mirrord configuration using regex with a simple command.
Discover more about these new features here: https://buff.ly/3PyVJ5P
4️⃣ Kafka Splitting with Kubernetes Secrets
Securely load Kafka client properties directly from Kubernetes secrets, streamlining your queue-based microservices debugging.
3️⃣ Prometheus Metrics Endpoint
Monitoring and observability just got better! With our new Prometheus endpoint, you can monitor and analyze mirrord usage in your cluster right in your existing Prometheus setup.