From b4aca2857520f9d74b6b1738e0b4a31bc408cca1 Mon Sep 17 00:00:00 2001 From: Dan Baker Date: Tue, 27 Jan 2026 11:13:32 +1100 Subject: [PATCH 1/5] Creating a new section for installing mirrord in docs --- .gitbook.yaml | 8 +- docs/SUMMARY.md | 10 +- docs/faq/general.md | 2 +- docs/installing-mirrord/README.md | 48 +++++++ docs/installing-mirrord/cli.md | 118 ++++++++++++++++++ .../docker.md} | 14 +-- .../intellij.md} | 14 +-- .../intellij}/images/enabler.png | Bin .../intellij}/images/select-active-config.png | Bin .../vscode.md} | 14 +-- .../vscode}/images/enabler.png | Bin .../vscode}/images/select-active-config.png | Bin .../wsl.md | 42 +++---- .../images/intellij-download-and-connect.png | Bin .../wsl/images/intellij-install-mirrord.png | Bin .../wsl/images/intellij-mirrord-disabled.png | Bin .../wsl/images/intellij-mirrord-enabled.png | Bin .../wsl/images/intellij-new-window.png | Bin .../wsl/images/intellij-open-wsl-project.png | Bin .../wsl/images/intellij-restart-wsl-ide.png | Bin .../wsl/images/intellij-select-wsl.png | Bin .../wsl/images/intellij-wsl-project-path.png | Bin .../wsl/images/intellij-wsl-project.png | Bin .../linux-files-from-windows-explorer.png | Bin .../wsl/images/ms-store-install-ubuntu.png | Bin .../wsl/images/ms-store-open-ubuntu.png | Bin .../images/open-terminal-administrator.png | Bin .../wsl/images/setting-up-ubuntu.png | Bin .../wsl/images/vscode-connected-wsl.png | Bin .../wsl/images/vscode-install-mirrord.png | Bin .../wsl/images/vscode-mirrord-disabled.png | Bin .../wsl/images/vscode-mirrord-enabled.png | Bin .../wsl/images/vscode-open-project.png | Bin .../vscode-remote-explorer-connect-ubuntu.png | Bin .../wsl/images/vscode-remote-explorer.png | Bin 35 files changed, 222 insertions(+), 48 deletions(-) create mode 100644 docs/installing-mirrord/README.md create mode 100644 docs/installing-mirrord/cli.md rename docs/{using-mirrord/local-container.md => installing-mirrord/docker.md} (81%) rename docs/{using-mirrord/intellij-plugin.md => installing-mirrord/intellij.md} (94%) rename docs/{using-mirrord/intellij-plugin => installing-mirrord/intellij}/images/enabler.png (100%) rename docs/{using-mirrord/intellij-plugin => installing-mirrord/intellij}/images/select-active-config.png (100%) rename docs/{using-mirrord/vscode-extension.md => installing-mirrord/vscode.md} (94%) rename docs/{using-mirrord/vscode-extension => installing-mirrord/vscode}/images/enabler.png (100%) rename docs/{using-mirrord/vscode-extension => installing-mirrord/vscode}/images/select-active-config.png (100%) rename docs/{using-mirrord => installing-mirrord}/wsl.md (86%) rename docs/{using-mirrord => installing-mirrord}/wsl/images/intellij-download-and-connect.png (100%) rename docs/{using-mirrord => installing-mirrord}/wsl/images/intellij-install-mirrord.png (100%) rename docs/{using-mirrord => installing-mirrord}/wsl/images/intellij-mirrord-disabled.png (100%) rename docs/{using-mirrord => installing-mirrord}/wsl/images/intellij-mirrord-enabled.png (100%) rename docs/{using-mirrord => installing-mirrord}/wsl/images/intellij-new-window.png (100%) rename docs/{using-mirrord => installing-mirrord}/wsl/images/intellij-open-wsl-project.png (100%) rename docs/{using-mirrord => installing-mirrord}/wsl/images/intellij-restart-wsl-ide.png (100%) rename docs/{using-mirrord => installing-mirrord}/wsl/images/intellij-select-wsl.png (100%) rename docs/{using-mirrord => installing-mirrord}/wsl/images/intellij-wsl-project-path.png (100%) rename docs/{using-mirrord => installing-mirrord}/wsl/images/intellij-wsl-project.png (100%) rename docs/{using-mirrord => installing-mirrord}/wsl/images/linux-files-from-windows-explorer.png (100%) rename docs/{using-mirrord => installing-mirrord}/wsl/images/ms-store-install-ubuntu.png (100%) rename docs/{using-mirrord => installing-mirrord}/wsl/images/ms-store-open-ubuntu.png (100%) rename docs/{using-mirrord => installing-mirrord}/wsl/images/open-terminal-administrator.png (100%) rename docs/{using-mirrord => installing-mirrord}/wsl/images/setting-up-ubuntu.png (100%) rename docs/{using-mirrord => installing-mirrord}/wsl/images/vscode-connected-wsl.png (100%) rename docs/{using-mirrord => installing-mirrord}/wsl/images/vscode-install-mirrord.png (100%) rename docs/{using-mirrord => installing-mirrord}/wsl/images/vscode-mirrord-disabled.png (100%) rename docs/{using-mirrord => installing-mirrord}/wsl/images/vscode-mirrord-enabled.png (100%) rename docs/{using-mirrord => installing-mirrord}/wsl/images/vscode-open-project.png (100%) rename docs/{using-mirrord => installing-mirrord}/wsl/images/vscode-remote-explorer-connect-ubuntu.png (100%) rename docs/{using-mirrord => installing-mirrord}/wsl/images/vscode-remote-explorer.png (100%) diff --git a/.gitbook.yaml b/.gitbook.yaml index aebe174e..61ce4067 100644 --- a/.gitbook.yaml +++ b/.gitbook.yaml @@ -1,4 +1,10 @@ root: ./docs/ structure: - summary: ./SUMMARY.md \ No newline at end of file + summary: ./SUMMARY.md + +redirects: + using-mirrord/vscode-extension: installing-mirrord/vscode + using-mirrord/intellij-plugin: installing-mirrord/intellij + using-mirrord/local-container: installing-mirrord/docker + using-mirrord/wsl: installing-mirrord/wsl \ No newline at end of file diff --git a/docs/SUMMARY.md b/docs/SUMMARY.md index d5e3d284..9eacf0b8 100644 --- a/docs/SUMMARY.md +++ b/docs/SUMMARY.md @@ -6,17 +6,19 @@ * [Onboarding Wizard](overview/onboarding-wizard.md) * [mirrord for Teams](overview/teams.md) * [Contributing](overview/contributing.md) +* [Installing mirrord](installing-mirrord/README.md) + * [CLI](installing-mirrord/cli.md) + * [VS Code](installing-mirrord/vscode.md) + * [IntelliJ](installing-mirrord/intellij.md) + * [Docker](installing-mirrord/docker.md) + * [WSL](installing-mirrord/wsl.md) * [Using mirrord](using-mirrord/README.md) * [Traffic Filtering](using-mirrord/traffic-filtering.md) * [Filtering by JSON body](using-mirrord/filtering-by-json-body.md) * [Outgoing Filter](using-mirrord/outgoing-filter.md) * [Targetless](using-mirrord/targetless.md) - * [Local Container](using-mirrord/local-container.md) * [Browser Extension](using-mirrord/browser-extension.md) * [Port Forwarding](using-mirrord/port-forwarding.md) - * [WSL](using-mirrord/wsl.md) - * [IntelliJ Plugin](using-mirrord/intellij-plugin.md) - * [VSCode Extension](using-mirrord/vscode-extension.md) * [HTTPS Stealing](using-mirrord/steal-https.md) * [Queue Splitting](using-mirrord/queue-splitting.md) * [Sessions](using-mirrord/sessions.md) diff --git a/docs/faq/general.md b/docs/faq/general.md index 7748455b..d438488d 100644 --- a/docs/faq/general.md +++ b/docs/faq/general.md @@ -56,7 +56,7 @@ If you have any restrictions for pulling external images inside your cluster, yo ## Can I use mirrord to run a local container, rather than a local process, in the context of the remote Kubernetes cluster? -Yes! You can use the `mirrord container` command to run a local container in the context of the remote Kubernetes cluster. You can read more about it [here](../using-mirrord/local-container.md). +Yes! You can use the `mirrord container` command to run a local container in the context of the remote Kubernetes cluster. You can read more about it [here](../installing-mirrord/docker.md). ## What if I can't create containers with the capabilities mirrord requires in my cluster? diff --git a/docs/installing-mirrord/README.md b/docs/installing-mirrord/README.md new file mode 100644 index 00000000..58e27142 --- /dev/null +++ b/docs/installing-mirrord/README.md @@ -0,0 +1,48 @@ +--- +title: Installing mirrord +date: 2020-11-16T12:59:39.000Z +lastmod: 2020-11-16T12:59:39.000Z +draft: false +images: [] +menu: + docs: + parent: "" +weight: 110 +toc: true +tags: + - open source + - team + - enterprise +description: How to install mirrord on your local machine +--- + +# Installing mirrord + +mirrord can be installed and used in several ways depending on your development workflow: + +- **[CLI](cli.md)** - Install the mirrord command-line tool directly +- **[VS Code](vscode.md)** - Install the mirrord extension for Visual Studio Code and compatible editors (Cursor, Windsurf, etc.) +- **[IntelliJ](intellij.md)** - Install the mirrord plugin for JetBrains IDEs (IntelliJ, PyCharm, GoLand, etc.) +- **[Docker](docker.md)** - Run mirrord with local containers instead of native processes +- **[WSL](wsl.md)** - Set up mirrord on Windows using the Windows Subsystem for Linux + +## Requirements + +### Local Requirements + +For your local machine, you may use any of: +- MacOS (Intel, Apple Silicon) +- Linux (x86_64) +- Windows (x86_64), WSL (x86_64) + - IDE plugins support for native mirrord for Windows is currently not supported + +kubectl needs to be configured on the local machine. + +### Remote Requirements + +- Docker or containerd runtime (containerd is the most common). If you'd like support for other runtimes to be added, please let us know by [opening an issue on GitHub](https://github.com/metalbear-co/mirrord/issues/new?assignees=&labels=enhancement&template=feature_request.md). +- Linux Kernel version 4.20+ + +## mirrord for Teams + +If you're planning to use [mirrord for Teams](https://app.metalbear.com), you'll also need to install the mirrord Operator. See the [mirrord for Teams](../overview/teams.md) page for installation instructions. diff --git a/docs/installing-mirrord/cli.md b/docs/installing-mirrord/cli.md new file mode 100644 index 00000000..b67b5b7e --- /dev/null +++ b/docs/installing-mirrord/cli.md @@ -0,0 +1,118 @@ +--- +title: CLI +date: 2020-11-16T12:59:39.000Z +lastmod: 2020-11-16T12:59:39.000Z +draft: false +images: [] +menu: + docs: + parent: installing-mirrord +weight: 111 +toc: true +tags: + - open source + - team + - enterprise +description: Installing and using the mirrord CLI tool +--- + +# CLI + +The mirrord CLI is the core tool for running mirrord from the command line. It can be used standalone or is automatically managed by the IDE extensions. + +## Installation + +{% tabs %} +{% tab title="MacOS/Linux" %} + +To install the CLI, run: + +```bash +brew install metalbear-co/mirrord/mirrord +``` + +or + +```bash +curl -fsSL https://raw.githubusercontent.com/metalbear-co/mirrord/main/scripts/install.sh | bash +``` +{% endtab %} + +{% tab title="Windows" %} +To install the CLI, run: + +```powershell +choco install --pre mirrord +``` +{% endtab %} +{% endtabs %} + +## Usage + +To use mirrord to plug a local process into a pod/deployment in the cluster configured with kubectl, run: + +```bash +mirrord exec --target +``` + +For example: + +```bash +mirrord exec --target pod/app-pod-01 python main.py +``` + +Or, if you'd rather run a local container than a native process, run: + +```bash +mirrord container --target -- +``` + +For example: + +```bash +mirrord container -- docker run nginx +``` + +Use `mirrord exec --help` or `mirrord container --help` to get all possible commands and arguments. + +## Interactive Setup + +You can use `mirrord wizard` to generate a config file interactively. This walks you through common use cases and helps you create a configuration tailored to your needs. + +## Listing Targets + +To see available targets in your cluster: + +```bash +mirrord ls +``` + +This will list all pods, deployments, and other resources that mirrord can target. + +## Configuration + +The CLI reads its configuration from a mirrord config file. By default, it looks for `.mirrord/mirrord.json` in the current directory. You can specify a different config file with the `-f` flag: + +```bash +mirrord exec -f my-config.json --target pod/app-pod python main.py +``` + +Configuration options are documented in the [configuration reference](https://app.gitbook.com/s/Z7vBpFMZTH8vUGJBGRZ4/options). + +## Verifying Installation + +To verify mirrord is installed correctly: + +```bash +mirrord --version +``` + +To check connectivity to your cluster and the mirrord Operator (if using mirrord for Teams): + +```bash +mirrord operator status +``` + +{% hint style="info" %} +**Got it working? Stuck?** Either way, [come say hi in Slack](https://metalbear.com/slack) +{% endhint %} diff --git a/docs/using-mirrord/local-container.md b/docs/installing-mirrord/docker.md similarity index 81% rename from docs/using-mirrord/local-container.md rename to docs/installing-mirrord/docker.md index 7e11aabe..dbc73f67 100644 --- a/docs/using-mirrord/local-container.md +++ b/docs/installing-mirrord/docker.md @@ -1,21 +1,21 @@ --- -title: Local Container +title: Docker date: 2020-11-16T12:59:39.000Z lastmod: 2020-11-16T12:59:39.000Z draft: false menu: docs: - parent: using-mirrord -weight: 133 + parent: installing-mirrord +weight: 114 toc: true tags: - open source - team - enterprise -description: How to run mirrord on a local container instead of a local process +description: Running mirrord with local containers (Docker, Podman, nerdctl) --- -# Local Container +# Docker The common way to use mirrord is on a locally running process. This way you can easily debug it in your IDE, as well as make quick changes and test them out without going through the additional layer of containerization. @@ -37,6 +37,6 @@ Local container execution is currently only supported in the mirrord CLI tool. I ### What's next? -1. If you'd like to intercept traffic rather than mirror it so that your local process is the one answering the remote requests, check out [this guide](steal.md). Note that you can even filter which traffic you intercept! -2. If you don't want to impersonate a remote target - for example, if you want to run a tool in the context of your cluster - check out our [guide on the targetless mode](targetless.md). +1. If you'd like to intercept traffic rather than mirror it so that your local process is the one answering the remote requests, check out [this guide](../using-mirrord/steal.md). Note that you can even filter which traffic you intercept! +2. If you don't want to impersonate a remote target - for example, if you want to run a tool in the context of your cluster - check out our [guide on the targetless mode](../using-mirrord/targetless.md). 3. If you just want to learn more about mirrord, why not check out our [architecture](../reference/architecture.md) or [configuration](https://app.gitbook.com/s/Z7vBpFMZTH8vUGJBGRZ4/) sections? diff --git a/docs/using-mirrord/intellij-plugin.md b/docs/installing-mirrord/intellij.md similarity index 94% rename from docs/using-mirrord/intellij-plugin.md rename to docs/installing-mirrord/intellij.md index 752152d5..7386367c 100644 --- a/docs/using-mirrord/intellij-plugin.md +++ b/docs/installing-mirrord/intellij.md @@ -1,26 +1,26 @@ --- -title: IntelliJ Plugin +title: IntelliJ date: 2025-01-07T00:00:00.000Z lastmod: 2025-01-07T00:00:00.000Z draft: false menu: docs: - parent: using-mirrord -weight: 160 + parent: installing-mirrord +weight: 113 toc: true tags: - open source - team - enterprise -description: Using the mirrord plugin in JetBrains' IDEs +description: Installing and using the mirrord plugin in JetBrains IDEs --- -# IntelliJ Plugin +# IntelliJ If you develop your application in one of the JetBrains' IDEs (e.g PyCharm, IntelliJ or GoLand), you can debug it with mirrord using our JetBrains Marketplace [plugin](https://plugins.jetbrains.com/plugin/19772-mirrord). Simply: 1. Download the plugin -2. Enable mirrord using the toolbar button (next to "mirrord" popup menu) ![Select Active Config action](intellij-plugin/images/enabler.png) +2. Enable mirrord using the toolbar button (next to "mirrord" popup menu) ![Select Active Config action](intellij/images/enabler.png) 3. Run or debug your application as you usually do When you start a debugging session with mirrord enabled, you'll be prompted with a target selection dialog. This dialog will allow you to select the target in your Kubernetes cluster that you want to impersonate. @@ -63,7 +63,7 @@ The toolbar dropdown menu allows for specifying a temporary mirrord config overr To specify the override, use `Select Active Config` action. -![Select Active Config action](intellij-plugin/images/select-active-config.png) +![Select Active Config action](intellij/images/select-active-config.png) You will be prompted with a dialog where you can select a mirrord config from your project files. For the file to be present in the dialog, its path must contain `mirrord` and end with either `.json`, `.yaml` or `.toml`. diff --git a/docs/using-mirrord/intellij-plugin/images/enabler.png b/docs/installing-mirrord/intellij/images/enabler.png similarity index 100% rename from docs/using-mirrord/intellij-plugin/images/enabler.png rename to docs/installing-mirrord/intellij/images/enabler.png diff --git a/docs/using-mirrord/intellij-plugin/images/select-active-config.png b/docs/installing-mirrord/intellij/images/select-active-config.png similarity index 100% rename from docs/using-mirrord/intellij-plugin/images/select-active-config.png rename to docs/installing-mirrord/intellij/images/select-active-config.png diff --git a/docs/using-mirrord/vscode-extension.md b/docs/installing-mirrord/vscode.md similarity index 94% rename from docs/using-mirrord/vscode-extension.md rename to docs/installing-mirrord/vscode.md index 0db02416..f2ead8fc 100644 --- a/docs/using-mirrord/vscode-extension.md +++ b/docs/installing-mirrord/vscode.md @@ -1,21 +1,21 @@ --- -title: VSCode Extension +title: VS Code date: 2025-01-07T00:00:00.000Z lastmod: 2025-01-07T00:00:00.000Z draft: false menu: docs: - parent: using-mirrord -weight: 165 + parent: installing-mirrord +weight: 112 toc: true tags: - open source - team - enterprise -description: Using the mirrord extension in Visual Studio Code +description: Installing and using the mirrord extension in Visual Studio Code --- -# VSCode Extension +# VS Code If you develop your application in Visual Studio Code, you can debug it with mirrord using our Visual Studio Marketplace [extension](https://marketplace.visualstudio.com/items?itemName=MetalBear.mirrord). Simply: @@ -27,7 +27,7 @@ The mirrord extension is also available for all VS Code forks like Cursor, Winds 2. Enable mirrord using the "mirrord" button on the bottom toolbar -![mirrord button](vscode-extension/images/enabler.png) +![mirrord button](vscode/images/enabler.png) 3. Run or debug your application as you usually do @@ -79,7 +79,7 @@ The toolbar dropdown menu allows for specifying a temporary mirrord config overr To specify the override, use `Select active config` action. -![select active config action](vscode-extension/images/select-active-config.png) +![select active config action](vscode/images/select-active-config.png) You will be prompted with a quick pick where you can select a mirrord config from your project files. For the file to be present in the dialog, it must either be located in a directory which name ends with `.mirrord`, or have a name that ends with `mirrord`. Accepted config file extensions are: `json`, `toml`, `yml` and `yaml`. diff --git a/docs/using-mirrord/vscode-extension/images/enabler.png b/docs/installing-mirrord/vscode/images/enabler.png similarity index 100% rename from docs/using-mirrord/vscode-extension/images/enabler.png rename to docs/installing-mirrord/vscode/images/enabler.png diff --git a/docs/using-mirrord/vscode-extension/images/select-active-config.png b/docs/installing-mirrord/vscode/images/select-active-config.png similarity index 100% rename from docs/using-mirrord/vscode-extension/images/select-active-config.png rename to docs/installing-mirrord/vscode/images/select-active-config.png diff --git a/docs/using-mirrord/wsl.md b/docs/installing-mirrord/wsl.md similarity index 86% rename from docs/using-mirrord/wsl.md rename to docs/installing-mirrord/wsl.md index 70e3751e..7cbb7cfe 100644 --- a/docs/using-mirrord/wsl.md +++ b/docs/installing-mirrord/wsl.md @@ -1,13 +1,13 @@ --- title: "WSL" -description: "Installing and using mirrord on windows with WSL." +description: "Installing and using mirrord on Windows with WSL." date: 2024-12-03T13:37:00+00:00 lastmod: 2024-12-09T13:37:00+00:00 draft: false menu: docs: - parent: "using-mirrord" -weight: 150 + parent: "installing-mirrord" +weight: 115 toc: true tags: ["open source", "team", "enterprise"] --- @@ -34,17 +34,17 @@ To install WSL from the Microsoft Store just open the Microsoft Store app, then the name of the Linux distro you want. We recommend installing Ubuntu, but mirrord works with any Linux distro. -![Install Ubuntu from the Microsoft store](/using-mirrord/wsl/./images/ms-store-install-ubuntu.png) +![Install Ubuntu from the Microsoft store](/installing-mirrord/wsl/./images/ms-store-install-ubuntu.png) After installation is complete, click on the Open button and a terminal window will appear. -![Open Ubuntu from the Microsoft store](/using-mirrord/wsl/./images/ms-store-open-ubuntu.png) +![Open Ubuntu from the Microsoft store](/installing-mirrord/wsl/./images/ms-store-open-ubuntu.png) ### From the Terminal Open a terminal with **administrator privileges**. -![Open terminal with administrator privileges](/using-mirrord/wsl/./images/open-terminal-administrator.png) +![Open terminal with administrator privileges](/installing-mirrord/wsl/./images/open-terminal-administrator.png) - It doesn’t have to be the Windows Terminal. PowerShell and Command Prompt will also work. @@ -85,7 +85,7 @@ After starting a new WSL session (either from the command line, or from the Micr you’ll be prompted to set up a Linux user. The username and password does not need to match your Windows user. -![Setting up Ubuntu](/using-mirrord/wsl/./images/setting-up-ubuntu.png) +![Setting up Ubuntu](/installing-mirrord/wsl/./images/setting-up-ubuntu.png) After setting up your Linux user, it’s time to prepare the Linux environment for development. Install the tools needed to access your Kubernetes cluster @@ -137,7 +137,7 @@ The best practice is to have everything inside Linux. You can do this from the command line (from within Linux, the Windows file system should be something like `/mnt/{windows-drive-letter}`, so by default it’ll be `/mnt/c`), or from File Explorer. -![Linux files from Windows Explorer](/using-mirrord/wsl/./images/linux-files-from-windows-explorer.png) +![Linux files from Windows Explorer](/installing-mirrord/wsl/./images/linux-files-from-windows-explorer.png) ### Creating a playground project @@ -193,19 +193,19 @@ We can finally move on to installing and using mirrord. Open VS Code from Windows, as you normally would, and click on the Remote Explorer. -![VS Code remote explorer WSL Targets](/using-mirrord/wsl/./images/vscode-remote-explorer.png) +![VS Code remote explorer WSL Targets](/installing-mirrord/wsl/./images/vscode-remote-explorer.png) Select the Linux distro you have set up, and click on the Connect in Current Window button that appears. -![VS Code remote explorer WSL Targets connecting to Ubuntu](/using-mirrord/wsl/./images/vscode-remote-explorer-connect-ubuntu.png) +![VS Code remote explorer WSL Targets connecting to Ubuntu](/installing-mirrord/wsl/./images/vscode-remote-explorer-connect-ubuntu.png) VS Code will notify you it’s starting WSL, and the Remote Explorer will change to indicate you’re connected. -![VS Code connected to WSL](/using-mirrord/wsl/./images/vscode-connected-wsl.png) +![VS Code connected to WSL](/installing-mirrord/wsl/./images/vscode-connected-wsl.png) Now go to the Extensions panel, search for mirrord and install it. -![VS Code extensions install mirrord](/using-mirrord/wsl/./images/vscode-install-mirrord.png) +![VS Code extensions install mirrord](/installing-mirrord/wsl/./images/vscode-install-mirrord.png) - Some of your extensions may appear as disabled, with a button to `Install in WSL`. If you want to use these extensions from the WSL VS Code, then you must click the button and install them. @@ -216,7 +216,7 @@ Now go to the Extensions panel, search for mirrord and install it. With mirrord installed, open up your project. -![VS Code open project](/using-mirrord/wsl/./images/vscode-open-project.png) +![VS Code open project](/installing-mirrord/wsl/./images/vscode-open-project.png) - Keep in mind that you’ll be navigating the directories with Linux style paths. If you have not copied your project files to WSL, you can navigate the Windows files from the `/mnt` directory. @@ -229,15 +229,15 @@ With mirrord installed, open up your project. Open the Jetbrains IDE you have installed on Windows (the mirrord plugin is available for every Jetbrains IDE. In this tutorial we’ll show screen caps from IntelliJ Idea Ultimate, but that’s **not** a requirement). -![IntelliJ IDEA new window](/using-mirrord/wsl/./images/intellij-new-window.png) +![IntelliJ IDEA new window](/installing-mirrord/wsl/./images/intellij-new-window.png) Select the WSL option under Remote Development. -![IntelliJ IDEA select WSL](/using-mirrord/wsl/./images/intellij-select-wsl.png) +![IntelliJ IDEA select WSL](/installing-mirrord/wsl/./images/intellij-select-wsl.png) Click on the + button (if you already have a project, otherwise select New Project). -![IntelliJ IDEA open WSL project](/using-mirrord/wsl/./images/intellij-open-wsl-project.png) +![IntelliJ IDEA open WSL project](/installing-mirrord/wsl/./images/intellij-open-wsl-project.png) - Pay attention to the IDE version you’re choosing. The recommendation here is to select the same one that you have installed on Windows, @@ -245,24 +245,24 @@ Click on the + button (if you already have a project, otherwise select New Proje Either type the path to your project, or click on the `...` button to open the path picker. -![IntelliJ IDEA find project in WSL path](/using-mirrord/wsl/./images/intellij-wsl-project-path.png) +![IntelliJ IDEA find project in WSL path](/installing-mirrord/wsl/./images/intellij-wsl-project-path.png) Now click `Download IDE and Connect` at the bottom. -![IntelliJ IDEA download and connect to WSL IDE](/using-mirrord/wsl/./images/intellij-download-and-connect.png) +![IntelliJ IDEA download and connect to WSL IDE](/installing-mirrord/wsl/./images/intellij-download-and-connect.png) The IDE will be downloaded and installed on Linux. After it’s ready, it should automatically open. -![IntelliJ IDEA project is open on WSL](/using-mirrord/wsl/./images/intellij-wsl-project.png) +![IntelliJ IDEA project is open on WSL](/installing-mirrord/wsl/./images/intellij-wsl-project.png) Click on the gear button, select `Plugins` and search the `Marketplace` for “mirrord”. -![IntelliJ IDEA WSL install mirrord from marketplace](/using-mirrord/wsl/./images/intellij-install-mirrord.png) +![IntelliJ IDEA WSL install mirrord from marketplace](/installing-mirrord/wsl/./images/intellij-install-mirrord.png) After clicking to install it, the install button will change to `Restart IDE`. Instead of restarting it like that, close the WSL IDE, and in the Windows IDE select to open your project again. -![IntelliJ IDEA restart WSL IDE after installing mirrord](/using-mirrord/wsl/./images/intellij-restart-wsl-ide.png) +![IntelliJ IDEA restart WSL IDE after installing mirrord](/installing-mirrord/wsl/./images/intellij-restart-wsl-ide.png) - If you get an error saying that mirrord does not support the Windows platform, this means that you’re trying to install it on the Windows IDE. Uninstall the mirrord extension, diff --git a/docs/using-mirrord/wsl/images/intellij-download-and-connect.png b/docs/installing-mirrord/wsl/images/intellij-download-and-connect.png similarity index 100% rename from docs/using-mirrord/wsl/images/intellij-download-and-connect.png rename to docs/installing-mirrord/wsl/images/intellij-download-and-connect.png diff --git a/docs/using-mirrord/wsl/images/intellij-install-mirrord.png b/docs/installing-mirrord/wsl/images/intellij-install-mirrord.png similarity index 100% rename from docs/using-mirrord/wsl/images/intellij-install-mirrord.png rename to docs/installing-mirrord/wsl/images/intellij-install-mirrord.png diff --git a/docs/using-mirrord/wsl/images/intellij-mirrord-disabled.png b/docs/installing-mirrord/wsl/images/intellij-mirrord-disabled.png similarity index 100% rename from docs/using-mirrord/wsl/images/intellij-mirrord-disabled.png rename to docs/installing-mirrord/wsl/images/intellij-mirrord-disabled.png diff --git a/docs/using-mirrord/wsl/images/intellij-mirrord-enabled.png b/docs/installing-mirrord/wsl/images/intellij-mirrord-enabled.png similarity index 100% rename from docs/using-mirrord/wsl/images/intellij-mirrord-enabled.png rename to docs/installing-mirrord/wsl/images/intellij-mirrord-enabled.png diff --git a/docs/using-mirrord/wsl/images/intellij-new-window.png b/docs/installing-mirrord/wsl/images/intellij-new-window.png similarity index 100% rename from docs/using-mirrord/wsl/images/intellij-new-window.png rename to docs/installing-mirrord/wsl/images/intellij-new-window.png diff --git a/docs/using-mirrord/wsl/images/intellij-open-wsl-project.png b/docs/installing-mirrord/wsl/images/intellij-open-wsl-project.png similarity index 100% rename from docs/using-mirrord/wsl/images/intellij-open-wsl-project.png rename to docs/installing-mirrord/wsl/images/intellij-open-wsl-project.png diff --git a/docs/using-mirrord/wsl/images/intellij-restart-wsl-ide.png b/docs/installing-mirrord/wsl/images/intellij-restart-wsl-ide.png similarity index 100% rename from docs/using-mirrord/wsl/images/intellij-restart-wsl-ide.png rename to docs/installing-mirrord/wsl/images/intellij-restart-wsl-ide.png diff --git a/docs/using-mirrord/wsl/images/intellij-select-wsl.png b/docs/installing-mirrord/wsl/images/intellij-select-wsl.png similarity index 100% rename from docs/using-mirrord/wsl/images/intellij-select-wsl.png rename to docs/installing-mirrord/wsl/images/intellij-select-wsl.png diff --git a/docs/using-mirrord/wsl/images/intellij-wsl-project-path.png b/docs/installing-mirrord/wsl/images/intellij-wsl-project-path.png similarity index 100% rename from docs/using-mirrord/wsl/images/intellij-wsl-project-path.png rename to docs/installing-mirrord/wsl/images/intellij-wsl-project-path.png diff --git a/docs/using-mirrord/wsl/images/intellij-wsl-project.png b/docs/installing-mirrord/wsl/images/intellij-wsl-project.png similarity index 100% rename from docs/using-mirrord/wsl/images/intellij-wsl-project.png rename to docs/installing-mirrord/wsl/images/intellij-wsl-project.png diff --git a/docs/using-mirrord/wsl/images/linux-files-from-windows-explorer.png b/docs/installing-mirrord/wsl/images/linux-files-from-windows-explorer.png similarity index 100% rename from docs/using-mirrord/wsl/images/linux-files-from-windows-explorer.png rename to docs/installing-mirrord/wsl/images/linux-files-from-windows-explorer.png diff --git a/docs/using-mirrord/wsl/images/ms-store-install-ubuntu.png b/docs/installing-mirrord/wsl/images/ms-store-install-ubuntu.png similarity index 100% rename from docs/using-mirrord/wsl/images/ms-store-install-ubuntu.png rename to docs/installing-mirrord/wsl/images/ms-store-install-ubuntu.png diff --git a/docs/using-mirrord/wsl/images/ms-store-open-ubuntu.png b/docs/installing-mirrord/wsl/images/ms-store-open-ubuntu.png similarity index 100% rename from docs/using-mirrord/wsl/images/ms-store-open-ubuntu.png rename to docs/installing-mirrord/wsl/images/ms-store-open-ubuntu.png diff --git a/docs/using-mirrord/wsl/images/open-terminal-administrator.png b/docs/installing-mirrord/wsl/images/open-terminal-administrator.png similarity index 100% rename from docs/using-mirrord/wsl/images/open-terminal-administrator.png rename to docs/installing-mirrord/wsl/images/open-terminal-administrator.png diff --git a/docs/using-mirrord/wsl/images/setting-up-ubuntu.png b/docs/installing-mirrord/wsl/images/setting-up-ubuntu.png similarity index 100% rename from docs/using-mirrord/wsl/images/setting-up-ubuntu.png rename to docs/installing-mirrord/wsl/images/setting-up-ubuntu.png diff --git a/docs/using-mirrord/wsl/images/vscode-connected-wsl.png b/docs/installing-mirrord/wsl/images/vscode-connected-wsl.png similarity index 100% rename from docs/using-mirrord/wsl/images/vscode-connected-wsl.png rename to docs/installing-mirrord/wsl/images/vscode-connected-wsl.png diff --git a/docs/using-mirrord/wsl/images/vscode-install-mirrord.png b/docs/installing-mirrord/wsl/images/vscode-install-mirrord.png similarity index 100% rename from docs/using-mirrord/wsl/images/vscode-install-mirrord.png rename to docs/installing-mirrord/wsl/images/vscode-install-mirrord.png diff --git a/docs/using-mirrord/wsl/images/vscode-mirrord-disabled.png b/docs/installing-mirrord/wsl/images/vscode-mirrord-disabled.png similarity index 100% rename from docs/using-mirrord/wsl/images/vscode-mirrord-disabled.png rename to docs/installing-mirrord/wsl/images/vscode-mirrord-disabled.png diff --git a/docs/using-mirrord/wsl/images/vscode-mirrord-enabled.png b/docs/installing-mirrord/wsl/images/vscode-mirrord-enabled.png similarity index 100% rename from docs/using-mirrord/wsl/images/vscode-mirrord-enabled.png rename to docs/installing-mirrord/wsl/images/vscode-mirrord-enabled.png diff --git a/docs/using-mirrord/wsl/images/vscode-open-project.png b/docs/installing-mirrord/wsl/images/vscode-open-project.png similarity index 100% rename from docs/using-mirrord/wsl/images/vscode-open-project.png rename to docs/installing-mirrord/wsl/images/vscode-open-project.png diff --git a/docs/using-mirrord/wsl/images/vscode-remote-explorer-connect-ubuntu.png b/docs/installing-mirrord/wsl/images/vscode-remote-explorer-connect-ubuntu.png similarity index 100% rename from docs/using-mirrord/wsl/images/vscode-remote-explorer-connect-ubuntu.png rename to docs/installing-mirrord/wsl/images/vscode-remote-explorer-connect-ubuntu.png diff --git a/docs/using-mirrord/wsl/images/vscode-remote-explorer.png b/docs/installing-mirrord/wsl/images/vscode-remote-explorer.png similarity index 100% rename from docs/using-mirrord/wsl/images/vscode-remote-explorer.png rename to docs/installing-mirrord/wsl/images/vscode-remote-explorer.png From 3d6364aab418e493bf02f8e4dabdfaebd8dcd28f Mon Sep 17 00:00:00 2001 From: Dan Baker Date: Tue, 27 Jan 2026 11:20:59 +1100 Subject: [PATCH 2/5] remove remote requirements --- docs/installing-mirrord/README.md | 5 ----- 1 file changed, 5 deletions(-) diff --git a/docs/installing-mirrord/README.md b/docs/installing-mirrord/README.md index 58e27142..f95453fd 100644 --- a/docs/installing-mirrord/README.md +++ b/docs/installing-mirrord/README.md @@ -38,11 +38,6 @@ For your local machine, you may use any of: kubectl needs to be configured on the local machine. -### Remote Requirements - -- Docker or containerd runtime (containerd is the most common). If you'd like support for other runtimes to be added, please let us know by [opening an issue on GitHub](https://github.com/metalbear-co/mirrord/issues/new?assignees=&labels=enhancement&template=feature_request.md). -- Linux Kernel version 4.20+ - ## mirrord for Teams If you're planning to use [mirrord for Teams](https://app.metalbear.com), you'll also need to install the mirrord Operator. See the [mirrord for Teams](../overview/teams.md) page for installation instructions. From dd9f7ee025ea7a5a0bda7c307db805716bfa6445 Mon Sep 17 00:00:00 2001 From: Dan Baker Date: Wed, 28 Jan 2026 19:40:33 +1100 Subject: [PATCH 3/5] addressing PR comments --- .gitbook.yaml | 2 +- docs/SUMMARY.md | 4 +-- docs/faq/general.md | 2 +- docs/installing-mirrord/README.md | 19 +++---------- docs/installing-mirrord/cli.md | 27 +++++-------------- docs/installing-mirrord/intellij.md | 16 ++--------- .../{docker.md => local-container.md} | 16 ++--------- docs/installing-mirrord/vscode.md | 12 --------- docs/installing-mirrord/wsl.md | 13 ++------- 9 files changed, 20 insertions(+), 91 deletions(-) rename docs/installing-mirrord/{docker.md => local-container.md} (87%) diff --git a/.gitbook.yaml b/.gitbook.yaml index 61ce4067..66630afd 100644 --- a/.gitbook.yaml +++ b/.gitbook.yaml @@ -6,5 +6,5 @@ structure: redirects: using-mirrord/vscode-extension: installing-mirrord/vscode using-mirrord/intellij-plugin: installing-mirrord/intellij - using-mirrord/local-container: installing-mirrord/docker + using-mirrord/local-container: installing-mirrord/local-container using-mirrord/wsl: installing-mirrord/wsl \ No newline at end of file diff --git a/docs/SUMMARY.md b/docs/SUMMARY.md index 9eacf0b8..60c75966 100644 --- a/docs/SUMMARY.md +++ b/docs/SUMMARY.md @@ -9,8 +9,8 @@ * [Installing mirrord](installing-mirrord/README.md) * [CLI](installing-mirrord/cli.md) * [VS Code](installing-mirrord/vscode.md) - * [IntelliJ](installing-mirrord/intellij.md) - * [Docker](installing-mirrord/docker.md) + * [JetBrains IDEs](installing-mirrord/intellij.md) + * [Local Container](installing-mirrord/local-container.md) * [WSL](installing-mirrord/wsl.md) * [Using mirrord](using-mirrord/README.md) * [Traffic Filtering](using-mirrord/traffic-filtering.md) diff --git a/docs/faq/general.md b/docs/faq/general.md index d438488d..6a8574b3 100644 --- a/docs/faq/general.md +++ b/docs/faq/general.md @@ -56,7 +56,7 @@ If you have any restrictions for pulling external images inside your cluster, yo ## Can I use mirrord to run a local container, rather than a local process, in the context of the remote Kubernetes cluster? -Yes! You can use the `mirrord container` command to run a local container in the context of the remote Kubernetes cluster. You can read more about it [here](../installing-mirrord/docker.md). +Yes! You can use the `mirrord container` command to run a local container in the context of the remote Kubernetes cluster. You can read more about it [here](../installing-mirrord/local-container.md). ## What if I can't create containers with the capabilities mirrord requires in my cluster? diff --git a/docs/installing-mirrord/README.md b/docs/installing-mirrord/README.md index f95453fd..7f2ad615 100644 --- a/docs/installing-mirrord/README.md +++ b/docs/installing-mirrord/README.md @@ -1,18 +1,5 @@ --- title: Installing mirrord -date: 2020-11-16T12:59:39.000Z -lastmod: 2020-11-16T12:59:39.000Z -draft: false -images: [] -menu: - docs: - parent: "" -weight: 110 -toc: true -tags: - - open source - - team - - enterprise description: How to install mirrord on your local machine --- @@ -22,8 +9,8 @@ mirrord can be installed and used in several ways depending on your development - **[CLI](cli.md)** - Install the mirrord command-line tool directly - **[VS Code](vscode.md)** - Install the mirrord extension for Visual Studio Code and compatible editors (Cursor, Windsurf, etc.) -- **[IntelliJ](intellij.md)** - Install the mirrord plugin for JetBrains IDEs (IntelliJ, PyCharm, GoLand, etc.) -- **[Docker](docker.md)** - Run mirrord with local containers instead of native processes +- **[JetBrains IDEs](intellij.md)** - Install the mirrord plugin for JetBrains IDEs (IntelliJ, PyCharm, GoLand, etc.) +- **[Local Container](local-container.md)** - Run mirrord with local containers instead of native processes - **[WSL](wsl.md)** - Set up mirrord on Windows using the Windows Subsystem for Linux ## Requirements @@ -38,6 +25,6 @@ For your local machine, you may use any of: kubectl needs to be configured on the local machine. -## mirrord for Teams +### mirrord for Teams If you're planning to use [mirrord for Teams](https://app.metalbear.com), you'll also need to install the mirrord Operator. See the [mirrord for Teams](../overview/teams.md) page for installation instructions. diff --git a/docs/installing-mirrord/cli.md b/docs/installing-mirrord/cli.md index b67b5b7e..97f324ef 100644 --- a/docs/installing-mirrord/cli.md +++ b/docs/installing-mirrord/cli.md @@ -1,24 +1,11 @@ --- title: CLI -date: 2020-11-16T12:59:39.000Z -lastmod: 2020-11-16T12:59:39.000Z -draft: false -images: [] -menu: - docs: - parent: installing-mirrord -weight: 111 -toc: true -tags: - - open source - - team - - enterprise -description: Installing and using the mirrord CLI tool +description: Installing and using the mirrord CLI --- # CLI -The mirrord CLI is the core tool for running mirrord from the command line. It can be used standalone or is automatically managed by the IDE extensions. +The mirrord CLI is the core tool for running mirrord from the command line. It can be used standalone, or is automatically managed by the IDE extensions. ## Installation @@ -73,11 +60,11 @@ For example: mirrord container -- docker run nginx ``` -Use `mirrord exec --help` or `mirrord container --help` to get all possible commands and arguments. +Use `mirrord --help` to see all available commands. ## Interactive Setup -You can use `mirrord wizard` to generate a config file interactively. This walks you through common use cases and helps you create a configuration tailored to your needs. +You can use `mirrord wizard` to generate a `mirrord.json` configuration file interactively. This walks you through common use cases to help you create a configuration tailored to your needs. [Click here](/docs/overview/onboarding-wizard.md) for more information. ## Listing Targets @@ -91,13 +78,13 @@ This will list all pods, deployments, and other resources that mirrord can targe ## Configuration -The CLI reads its configuration from a mirrord config file. By default, it looks for `.mirrord/mirrord.json` in the current directory. You can specify a different config file with the `-f` flag: +The CLI reads its configuration from a mirrord configuration file. By default, it looks for `.mirrord/mirrord.json` in the current directory. You can specify a different configuration file with the `-f` flag: ```bash mirrord exec -f my-config.json --target pod/app-pod python main.py ``` -Configuration options are documented in the [configuration reference](https://app.gitbook.com/s/Z7vBpFMZTH8vUGJBGRZ4/options). +Configuration options are documented in the [configuration reference](https://metalbear.com/mirrord/docs/config/options). ## Verifying Installation @@ -107,7 +94,7 @@ To verify mirrord is installed correctly: mirrord --version ``` -To check connectivity to your cluster and the mirrord Operator (if using mirrord for Teams): +To check connectivity to your cluster and the mirrord Operator (if using mirrord for Teams or Enterprise): ```bash mirrord operator status diff --git a/docs/installing-mirrord/intellij.md b/docs/installing-mirrord/intellij.md index 7386367c..c46e55dd 100644 --- a/docs/installing-mirrord/intellij.md +++ b/docs/installing-mirrord/intellij.md @@ -1,21 +1,9 @@ --- -title: IntelliJ -date: 2025-01-07T00:00:00.000Z -lastmod: 2025-01-07T00:00:00.000Z -draft: false -menu: - docs: - parent: installing-mirrord -weight: 113 -toc: true -tags: - - open source - - team - - enterprise +title: JetBrains IDEs description: Installing and using the mirrord plugin in JetBrains IDEs --- -# IntelliJ +# JetBrains IDEs If you develop your application in one of the JetBrains' IDEs (e.g PyCharm, IntelliJ or GoLand), you can debug it with mirrord using our JetBrains Marketplace [plugin](https://plugins.jetbrains.com/plugin/19772-mirrord). Simply: diff --git a/docs/installing-mirrord/docker.md b/docs/installing-mirrord/local-container.md similarity index 87% rename from docs/installing-mirrord/docker.md rename to docs/installing-mirrord/local-container.md index dbc73f67..9068d87a 100644 --- a/docs/installing-mirrord/docker.md +++ b/docs/installing-mirrord/local-container.md @@ -1,21 +1,9 @@ --- -title: Docker -date: 2020-11-16T12:59:39.000Z -lastmod: 2020-11-16T12:59:39.000Z -draft: false -menu: - docs: - parent: installing-mirrord -weight: 114 -toc: true -tags: - - open source - - team - - enterprise +title: Local Container description: Running mirrord with local containers (Docker, Podman, nerdctl) --- -# Docker +# Local Container The common way to use mirrord is on a locally running process. This way you can easily debug it in your IDE, as well as make quick changes and test them out without going through the additional layer of containerization. diff --git a/docs/installing-mirrord/vscode.md b/docs/installing-mirrord/vscode.md index f2ead8fc..196edca9 100644 --- a/docs/installing-mirrord/vscode.md +++ b/docs/installing-mirrord/vscode.md @@ -1,17 +1,5 @@ --- title: VS Code -date: 2025-01-07T00:00:00.000Z -lastmod: 2025-01-07T00:00:00.000Z -draft: false -menu: - docs: - parent: installing-mirrord -weight: 112 -toc: true -tags: - - open source - - team - - enterprise description: Installing and using the mirrord extension in Visual Studio Code --- diff --git a/docs/installing-mirrord/wsl.md b/docs/installing-mirrord/wsl.md index 7cbb7cfe..f37f807a 100644 --- a/docs/installing-mirrord/wsl.md +++ b/docs/installing-mirrord/wsl.md @@ -1,15 +1,6 @@ --- -title: "WSL" -description: "Installing and using mirrord on Windows with WSL." -date: 2024-12-03T13:37:00+00:00 -lastmod: 2024-12-09T13:37:00+00:00 -draft: false -menu: - docs: - parent: "installing-mirrord" -weight: 115 -toc: true -tags: ["open source", "team", "enterprise"] +title: WSL +description: Installing and using mirrord on Windows with WSL --- # Running mirrord on WSL From 984a2ab0584503ed5afcdbe032b125bc9e3cde5e Mon Sep 17 00:00:00 2001 From: Dan Baker Date: Wed, 28 Jan 2026 19:46:02 +1100 Subject: [PATCH 4/5] remove unneeded heading --- docs/installing-mirrord/README.md | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/docs/installing-mirrord/README.md b/docs/installing-mirrord/README.md index 7f2ad615..c7dc6981 100644 --- a/docs/installing-mirrord/README.md +++ b/docs/installing-mirrord/README.md @@ -13,9 +13,7 @@ mirrord can be installed and used in several ways depending on your development - **[Local Container](local-container.md)** - Run mirrord with local containers instead of native processes - **[WSL](wsl.md)** - Set up mirrord on Windows using the Windows Subsystem for Linux -## Requirements - -### Local Requirements +## Local Requirements For your local machine, you may use any of: - MacOS (Intel, Apple Silicon) @@ -25,6 +23,6 @@ For your local machine, you may use any of: kubectl needs to be configured on the local machine. -### mirrord for Teams +## mirrord for Teams If you're planning to use [mirrord for Teams](https://app.metalbear.com), you'll also need to install the mirrord Operator. See the [mirrord for Teams](../overview/teams.md) page for installation instructions. From 11d22ebb613189e731065e7f2a54e6e985e483cf Mon Sep 17 00:00:00 2001 From: Dan Baker Date: Fri, 20 Feb 2026 16:57:08 +1100 Subject: [PATCH 5/5] addressing PR comments --- .gitbook.yaml | 1 - docs/SUMMARY.md | 2 +- docs/faq/general.md | 2 +- docs/installing-mirrord/README.md | 1 - docs/installing-mirrord/cli.md | 28 ++++++------------- docs/installing-mirrord/intellij.md | 6 ++-- .../local-container.md | 10 +++---- 7 files changed, 18 insertions(+), 32 deletions(-) rename docs/{installing-mirrord => using-mirrord}/local-container.md (81%) diff --git a/.gitbook.yaml b/.gitbook.yaml index 66630afd..a24ebdf6 100644 --- a/.gitbook.yaml +++ b/.gitbook.yaml @@ -6,5 +6,4 @@ structure: redirects: using-mirrord/vscode-extension: installing-mirrord/vscode using-mirrord/intellij-plugin: installing-mirrord/intellij - using-mirrord/local-container: installing-mirrord/local-container using-mirrord/wsl: installing-mirrord/wsl \ No newline at end of file diff --git a/docs/SUMMARY.md b/docs/SUMMARY.md index 60c75966..99651719 100644 --- a/docs/SUMMARY.md +++ b/docs/SUMMARY.md @@ -10,7 +10,6 @@ * [CLI](installing-mirrord/cli.md) * [VS Code](installing-mirrord/vscode.md) * [JetBrains IDEs](installing-mirrord/intellij.md) - * [Local Container](installing-mirrord/local-container.md) * [WSL](installing-mirrord/wsl.md) * [Using mirrord](using-mirrord/README.md) * [Traffic Filtering](using-mirrord/traffic-filtering.md) @@ -29,6 +28,7 @@ * [Branch Management](using-mirrord/db-branch-management.md) * [Advanced Configuration](using-mirrord/db-branching-advanced-config.md) * [mirrord for CI](using-mirrord/mirrord-for-ci.md) + * [Working with Local Containers](using-mirrord/local-container.md) * [Connecting External Tools](using-mirrord/connecting-external-tools.md) * [Web Browsing](using-mirrord/web-browsing.md) * [Postman](using-mirrord/postman.md) diff --git a/docs/faq/general.md b/docs/faq/general.md index 6a8574b3..7748455b 100644 --- a/docs/faq/general.md +++ b/docs/faq/general.md @@ -56,7 +56,7 @@ If you have any restrictions for pulling external images inside your cluster, yo ## Can I use mirrord to run a local container, rather than a local process, in the context of the remote Kubernetes cluster? -Yes! You can use the `mirrord container` command to run a local container in the context of the remote Kubernetes cluster. You can read more about it [here](../installing-mirrord/local-container.md). +Yes! You can use the `mirrord container` command to run a local container in the context of the remote Kubernetes cluster. You can read more about it [here](../using-mirrord/local-container.md). ## What if I can't create containers with the capabilities mirrord requires in my cluster? diff --git a/docs/installing-mirrord/README.md b/docs/installing-mirrord/README.md index c7dc6981..9ec04e79 100644 --- a/docs/installing-mirrord/README.md +++ b/docs/installing-mirrord/README.md @@ -10,7 +10,6 @@ mirrord can be installed and used in several ways depending on your development - **[CLI](cli.md)** - Install the mirrord command-line tool directly - **[VS Code](vscode.md)** - Install the mirrord extension for Visual Studio Code and compatible editors (Cursor, Windsurf, etc.) - **[JetBrains IDEs](intellij.md)** - Install the mirrord plugin for JetBrains IDEs (IntelliJ, PyCharm, GoLand, etc.) -- **[Local Container](local-container.md)** - Run mirrord with local containers instead of native processes - **[WSL](wsl.md)** - Set up mirrord on Windows using the Windows Subsystem for Linux ## Local Requirements diff --git a/docs/installing-mirrord/cli.md b/docs/installing-mirrord/cli.md index 97f324ef..b38f4c79 100644 --- a/docs/installing-mirrord/cli.md +++ b/docs/installing-mirrord/cli.md @@ -5,7 +5,7 @@ description: Installing and using the mirrord CLI # CLI -The mirrord CLI is the core tool for running mirrord from the command line. It can be used standalone, or is automatically managed by the IDE extensions. +The mirrord CLI is the core tool for running mirrord from the command line. ## Installation @@ -48,23 +48,21 @@ For example: mirrord exec --target pod/app-pod-01 python main.py ``` -Or, if you'd rather run a local container than a native process, run: +Use `mirrord --help` to see all available commands. -```bash -mirrord container --target -- -``` +## Configuration -For example: +mirrord is configured using a JSON or YAML configuration file. The CLI reads its configuration from this file — by default, it looks for `.mirrord/mirrord.json` in the current directory. You can specify a different configuration file with the `-f` flag: ```bash -mirrord container -- docker run nginx +mirrord exec -f my-config.json --target pod/app-pod python main.py ``` -Use `mirrord --help` to see all available commands. +Configuration options are documented in the [configuration reference](https://metalbear.com/mirrord/docs/config/options). ## Interactive Setup -You can use `mirrord wizard` to generate a `mirrord.json` configuration file interactively. This walks you through common use cases to help you create a configuration tailored to your needs. [Click here](/docs/overview/onboarding-wizard.md) for more information. +You can use `mirrord wizard` to generate a `mirrord.json` configuration file interactively. This walks you through common use cases and helps you create a configuration tailored to your needs. See the [Onboarding Wizard](../overview/onboarding-wizard.md) for more information. ## Listing Targets @@ -76,16 +74,6 @@ mirrord ls This will list all pods, deployments, and other resources that mirrord can target. -## Configuration - -The CLI reads its configuration from a mirrord configuration file. By default, it looks for `.mirrord/mirrord.json` in the current directory. You can specify a different configuration file with the `-f` flag: - -```bash -mirrord exec -f my-config.json --target pod/app-pod python main.py -``` - -Configuration options are documented in the [configuration reference](https://metalbear.com/mirrord/docs/config/options). - ## Verifying Installation To verify mirrord is installed correctly: @@ -94,7 +82,7 @@ To verify mirrord is installed correctly: mirrord --version ``` -To check connectivity to your cluster and the mirrord Operator (if using mirrord for Teams or Enterprise): +To check connectivity to your cluster and the mirrord Operator (if using [mirrord for Teams](../overview/teams.md)): ```bash mirrord operator status diff --git a/docs/installing-mirrord/intellij.md b/docs/installing-mirrord/intellij.md index c46e55dd..b8eaba1e 100644 --- a/docs/installing-mirrord/intellij.md +++ b/docs/installing-mirrord/intellij.md @@ -37,13 +37,13 @@ mirrord's target can be specified in two ways: 1. with the target selection dialog * The dialog will only appear if the mirrord config does not specify the target. - * The dialog will initially show targets in the namespace specified in the mirrord config ([`.target.namespace`](https://app.gitbook.com/s/Z7vBpFMZTH8vUGJBGRZ4/options#target.namespace)). If the namespace is not specified, your Kubernetes user's default namespace will be used. + * The dialog will initially show targets in the namespace specified in the mirrord config ([`.target.namespace`](https://metalbear.com/mirrord/docs/config/options#target.namespace)). If the namespace is not specified, your Kubernetes user's default namespace will be used. * If you want to see targets in a different namespace, there is a dropdown to choose between namespaces. -2. in the mirrord config's [target section](https://app.gitbook.com/s/Z7vBpFMZTH8vUGJBGRZ4/options#target) +2. in the mirrord config's [target section](https://metalbear.com/mirrord/docs/config/options#target) ### Using the mirrord config -The plugin allows for using the [mirrord config](https://app.gitbook.com/s/Z7vBpFMZTH8vUGJBGRZ4/). For any run/debug session, the mirrord config to be used can be specified in multiple ways: +The plugin allows for using the [mirrord config](https://metalbear.com/mirrord/docs/config/options). For any run/debug session, the mirrord config to be used can be specified in multiple ways: #### Active config diff --git a/docs/installing-mirrord/local-container.md b/docs/using-mirrord/local-container.md similarity index 81% rename from docs/installing-mirrord/local-container.md rename to docs/using-mirrord/local-container.md index 9068d87a..93c67f85 100644 --- a/docs/installing-mirrord/local-container.md +++ b/docs/using-mirrord/local-container.md @@ -1,9 +1,9 @@ --- -title: Local Container +title: Working with Local Containers description: Running mirrord with local containers (Docker, Podman, nerdctl) --- -# Local Container +# Working with Local Containers The common way to use mirrord is on a locally running process. This way you can easily debug it in your IDE, as well as make quick changes and test them out without going through the additional layer of containerization. @@ -25,6 +25,6 @@ Local container execution is currently only supported in the mirrord CLI tool. I ### What's next? -1. If you'd like to intercept traffic rather than mirror it so that your local process is the one answering the remote requests, check out [this guide](../using-mirrord/steal.md). Note that you can even filter which traffic you intercept! -2. If you don't want to impersonate a remote target - for example, if you want to run a tool in the context of your cluster - check out our [guide on the targetless mode](../using-mirrord/targetless.md). -3. If you just want to learn more about mirrord, why not check out our [architecture](../reference/architecture.md) or [configuration](https://app.gitbook.com/s/Z7vBpFMZTH8vUGJBGRZ4/) sections? +1. If you'd like to intercept traffic rather than mirror it so that your local process is the one answering the remote requests, check out [this guide](steal.md). Note that you can even filter which traffic you intercept! +2. If you don't want to impersonate a remote target - for example, if you want to run a tool in the context of your cluster - check out our [guide on the targetless mode](targetless.md). +3. If you just want to learn more about mirrord, why not check out our [architecture](../reference/architecture.md) or [configuration](https://metalbear.com/mirrord/docs/config/options) sections?