I have been testing borescope for managing workload containers in Juju. It bridges the gap when the workload rock has no shell or coreutils. The tool leverages the charm container to provide a bash-like experience. I appreciate that Pebble commands are first-class, meaning I do not need to prefix them. The history and tab-completion work well. The exec escape hatch is useful for running tools not built in. I used the snapshot mode to generate a JSON report for a bug, which was stable and clear. It integrates well with the existing Juju authority without needing kubeconfig.

borescope: a natural shell for Juju Kubernetes workload containers
Questions about borescope: a natural shell for Juju Kubernetes workload containers
What is borescope: a natural shell for Juju Kubernetes workload containers?
borescope is an open-source command-line tool that provides a shell-like prompt for debugging Juju Kubernetes workload containers. It works with charm workloads running minimal rock container images without an included shell, allowing operators to interact with the container's Pebble service manager through existing Juju authority.
Who is borescope intended for?
The tool is designed for operators who need to debug Juju Kubernetes workload containers where the workload rock has no bash or coreutils. It exposes Pebble commands such as services, logs, plan, checks, changes, and notices to help manage these environments effectively.
How can I get started with borescope?
Users can get started by viewing the project on GitHub, where the code is distributed under an Apache 2.0 license. The tool is free and open source, making it accessible for immediate use without any cost or complex setup procedures.
How does borescope handle containers with no shell?
borescope drives the workload's Pebble through the charm container, which always has a shell, so familiar file commands work even when the image is empty. This approach allows users to execute commands like ls and grep directly within the container environment.
What access requirements does borescope have?
The tool communicates with containers using the same mechanism as juju ssh, so it does not require kubectl or cluster-admin access. This means users only need the ability to juju ssh to the unit for borescope to function properly.
What specific features does borescope offer?
borescope ships a deliberately small command set that includes path-aware tab-completion, per-unit history, and single pipes. Users can also use the exec escape hatch to run any tool directly in the container with their current working directory.
How do one-shot and snapshot modes work?
The tool supports one-shot and snapshot modes, allowing users to script actions with --command or file a bug with --snapshot. The snapshot mode captures services, plan, checks, notices, and recent logs as a single stable JSON document.
What is the step-by-step process for borescope to connect?
borescope turns the target unit into a Pebble discovery step by confirming the unit, reading the charm's metadata.yaml for workload container names, and checking the container is alive. This process relies entirely on your Juju model access.
How does borescope open a transport to the Pebble socket?
The default backend reaches the workload's Pebble socket through the charm container via juju ssh. When the socket is directly reachable, inside a charm or a local Pebble, it uses the real ops.pebble.Client HTTP API instead.
What do reviewers praise about borescope?
Some reviewers say the tool feels like bash with muscle memory mostly just working, providing a real REPL with cd and pwd. Users appreciate the familiar file commands and the way Pebble's own vocabulary is first-class.
How does borescope integrate with existing Juju authority?
The tool provides a prompt that feels like bash, talking to the container's Pebble through the Juju authority you already have. This design ensures that operators can interact with the container without needing additional permissions or tools.
What is the current development status of borescope?
borescope is under active development as of the latest update, with version 1 currently available. The project is hosted on GitHub and follows an Apache 2.0 license for its distribution.
Which Pebble commands are exposed by borescope?
The tool exposes Pebble commands such as services, logs, plan, checks, changes, and notices, offering features like path-aware tab-completion and per-unit history. These capabilities are built into the core functionality of the shell.
What makes borescope different from other debugging tools?
borescope works on rocks with no shell at all, making it suitable for environments where the workload rock lacks bash or coreutils. The charm container always has a shell, which borescope leverages to drive the workload's Pebble.
What is the official website of borescope: a natural shell for Juju Kubernetes workload containers?
The official website of borescope: a natural shell for Juju Kubernetes workload containers is borescope.dev.
Post your question publicly — other visitors, and whoever manages this page, can answer. It will be visible on this page.
Want to hear about this company again? Follow it and we’ll email you when a new review appears.
Based on reviews, listing data and the company's website. Verify anything important with the company directly.
Borescope solves a real pain point for me. When I use juju ssh, I often drop into a rock with no shell at all. This tool gives me a proper prompt that feels like bash. I can run familiar commands like ls and grep even when the image is empty. It connects through the charm container easily. The installation is simple via snap or pip. It really helps when debugging containers that lack basic utilities, making the whole workflow much smoother.
Questions & Answers
No questions yet — be the first to ask.
Sign in to post
Your text is saved — you'll come right back to post.
Don't have an account? Create one
News & Press
No news yet. This is where the business shares its own updates and press.
Photos
No photos yet. Photos shared by reviewers will show up here.
About borescope: a natural shell for Juju Kubernetes workload containers
borescope is an open-source command-line tool that provides a shell-like prompt for debugging Juju Kubernetes workload containers. It is designed to work with charm workloads that run minimal "rock" container images without an included shell, allowing operators to interact with the container's Pebble service manager through the Juju authority they already have. The tool exposes Pebble commands such as services, logs, plan, checks, changes, and notices, and offers features like path-aware tab-completion, per-unit history, and single pipes. borescope communicates with containers using the same mechanism as `juju ssh`, so it does not require kubectl or cluster-admin access. It is distributed under the Apache 2.0 license and is under active development.
- Website
- borescope.dev