Krayt - The Kubernetes Volume Inspector
Like cracking open a Krayt dragon pearl, this tool helps you inspect what's inside your Kubernetes volumes. Hunt down storage issues and explore your persistent data like a true Tatooine dragon hunter.
Features
- 🔍 Create inspector pods with all the tools you need
- 📦 Access volumes and device mounts from any pod
- 🔎 Fuzzy search across all namespaces
- 🛠️ Built-in tools for file exploration and analysis
- 🧹 Automatic cleanup of inspector pods
Installation
Quick Install (Linux)
# Install latest version
curl -sSL https://github.com/waylonwalker/krayt/releases/latest/download/install.sh | sudo bash
# Install specific version
curl -sSL https://github.com/waylonwalker/krayt/releases/download/v0.1.0/install.sh | sudo bash
This will install the krayt command to /usr/local/bin.
Manual Installation
- Download the latest release for your platform from the releases page
- Extract the archive:
tar xzf krayt-*.tar.gz - Move the binary:
sudo mv krayt-*/krayt /usr/local/bin/krayt - Make it executable:
sudo chmod +x /usr/local/bin/krayt
Usage
# Create a new inspector and apply it directly
krayt create | kubectl apply -f -
# Use a custom image
krayt create --image custom-image:latest | kubectl apply -f -
# Use a private image with pull secret
krayt create --image private-registry.com/image:latest --imagepullsecret my-registry-secret | kubectl apply -f -
# Or review the manifest first
krayt create > inspector.yaml
kubectl apply -f inspector.yaml
# Connect to a running inspector
krayt exec
# Clean up inspectors
krayt clean
# Show version
krayt version
Available Tools
Your inspector pod comes equipped with a full arsenal of tools:
- File Navigation:
lf,exa,fd - Search & Analysis:
ripgrep,bat,hexyl - Disk Usage:
ncdu,dust - File Comparison:
difftastic - System Monitoring:
bottom,htop - JSON/YAML Tools:
jq,yq - Network Tools:
mtr,dig - Cloud & Database:
aws-cli,sqlite3
Customization
Init Scripts
Krayt supports initialization scripts that run in the inspector pod before any packages are installed. These scripts are useful for:
- Setting up proxy configurations
- Installing additional tools
- Configuring custom package repositories
- Setting environment variables
Place your scripts in ~/.config/krayt/init.d/ with a .sh extension. Scripts are executed in alphabetical order, so you can control the execution sequence using numerical prefixes.
Example init scripts:
- Install additional tools (
~/.config/krayt/init.d/10_install_git.sh):
#!/bin/sh
echo "Installing additional tools..."
# Install git for source control
apk add git
# Configure git
git config --global init.defaultBranch main
git config --global core.editor vi
- Set up custom repositories (
~/.config/krayt/init.d/20_custom_repos.sh):
#!/bin/sh
echo "Adding custom package repositories..."
# Add testing repository for newer packages
echo "@testing http://dl-cdn.alpinelinux.org/alpine/edge/testing" >> /etc/apk/repositories
# Update package list
apk update
Proxy Configuration
If your environment requires a proxy, you have two options:
-
Environment Variables (Recommended):
# Add to your shell's rc file (e.g., ~/.bashrc, ~/.zshrc) export HTTP_PROXY="http://proxy.example.com:8080" export HTTPS_PROXY="http://proxy.example.com:8080" export NO_PROXY="localhost,127.0.0.1,.internal.example.com"
-
Init Script (
~/.config/krayt/init.d/00_proxy.sh):#!/bin/sh echo "Configuring proxy settings..." # Set proxy for Alpine package manager mkdir -p /etc/apk cat > /etc/apk/repositories << EOF http://dl-cdn.alpinelinux.org/alpine/latest-stable/main http://dl-cdn.alpinelinux.org/alpine/latest-stable/community # Configure proxy proxy=http://proxy.example.com:8080 EOF # Set proxy for other tools export HTTP_PROXY="http://proxy.example.com:8080" export HTTPS_PROXY="http://proxy.example.com:8080" export NO_PROXY="localhost,127.0.0.1,.internal.example.com"
The proxy configuration will be applied before any packages are installed, ensuring that all package installations and network operations work correctly through your proxy.
Quotes from the Field
"Inside every volume lies a pearl of wisdom waiting to be discovered."
-- Ancient Tatooine proverb
"The path to understanding your storage is through exploration."
-- Krayt dragon hunter's manual
May the Force be with your volumes!
Remember: A Krayt dragon's pearl is valuable not just for what it is, but for what it reveals about the dragon that created it. Similarly, your volumes tell a story about your application's data journey.
Metadata
Release files for krayt 0.4.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| krayt-0.4.3.tar.gz | 4.1 MB | Without provenance | Details for krayt-0.4.3.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| krayt-0.4.3-py3-none-any.whl | Python 3 | none | any | Details for krayt-0.4.3-py3-none-any.whl |
Total release size: 4.1 MB
Release files / krayt-0.4.3.tar.gz
| Download URL | krayt-0.4.3.tar.gz |
|---|---|
| Size | 4.1 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
cd804cd8fd96eaeac11a6f510529ea29ae6d4cab0548a15903864456949d9b3a
|
|
BLAKE2b-256 checksum How to use checksums |
9364b740404152f9cc774482c23239b08d18f74c6e7eac26fa2c1aa55928f881
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
python-httpx/0.28.1
|
Release files / krayt-0.4.3-py3-none-any.whl
| Download URL | krayt-0.4.3-py3-none-any.whl |
|---|---|
| Size | 20.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
eccb9bb7652d2c8a3ba8885a415cbf77f98e8b1292c0a435df9452659180ff29
|
|
BLAKE2b-256 checksum How to use checksums |
83a93eb9d1b57878d4abf31cb3762c7592ed48c27e98767f60fed8790883bb4a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
python-httpx/0.28.1
|
Security for krayt 0.4.3
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.