Skip to main content

Krayt - The Kubernetes Volume Inspector

krayt hero image

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

  1. Download the latest release for your platform from the releases page
  2. Extract the archive: tar xzf krayt-*.tar.gz
  3. Move the binary: sudo mv krayt-*/krayt /usr/local/bin/krayt
  4. 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:

  1. 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
  1. 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:

  1. 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"
    
  2. 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)

Source distribution for krayt 0.4.3
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)

Table of built distributions (wheels) for krayt 0.4.3
File Interpreter ABI Platform Actions
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.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page