A2A — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited A2A (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
📚 [View Full Documentation](https://kubestellar.io/docs/a2a)
╭─────────────────────────────────────────────────────────────────────────────────────────────╮
│ ██╗ ██╗██╗ ██╗██████╗ ███████╗███████╗████████╗███████╗██╗ ██╗ █████╗ ██████╗ │
│ ██║ ██╔╝██║ ██║██╔══██╗██╔════╝██╔════╝╚══██╔══╝██╔════╝██║ ██║ ██╔══██╗██╔══██╗ │
│ █████╔╝ ██║ ██║██████╔╝█████╗ ███████╗ ██║ █████╗ ██║ ██║ ███████║██████╔╝ │
│ ██╔═██╗ ██║ ██║██╔══██╗██╔══╝ ╚════██║ ██║ ██╔══╝ ██║ ██║ ██╔══██║██╔══██╗ │
│ ██║ ██╗╚██████╔╝██████╔╝███████╗███████║ ██║ ███████╗███████╗███████╗██║ ██║██║ ██║ │
│ ╚═╝ ╚═╝ ╚═════╝ ╚═════╝ ╚══════╝╚══════╝ ╚═╝ ╚══════╝╚══════╝╚══════╝╚═╝ ╚═╝╚═╝ ╚═╝ │
│ Multi-Cluster Kubernetes Management Agent │
╰─────────────────────────────────────────────────────────────────────────────────────────────╯https://github.com/user-attachments/assets/fd5746f9-6620-4aeb-8150-dd9bf9eab694
# Enable virtual environment
uv venv
# Install with uv
uv pip install -e ".[dev]"
# Run commands
uv run kubestellar --help
uv run kubestellar list-functions
uv run kubestellar execute <function_name>
uv run kubestellar agent # Start interactive AI agentYou can install and use this project as a kubectl plugin. Primary plugin name is kubestellar (for Krew and release binaries). We also ship a Python-installed alias a2a for convenience. kubectl discovers plugins via executables named kubectl-<name> on your PATH.
Installation options:
# Using uv tool (recommended for per-user install)
uv tool install .
# Using pipx (isolated virtualenv)
pipx install .
# Or directly from GitHub
pipx install 'git+https://github.com/kubestellar/a2a'
# Using pip (installs into current Python environment)
python -m pip install .Usage:
# kubectl will find the plugin as long as the executable is on PATH
# Python-installed alias (uv/pipx/pip):
kubectl a2a --help
kubectl a2a list-functions
kubectl a2a execute <function_name> -P key=value
kubectl a2a agent
# Krew or release binary name:
kubectl kubestellar --help
kubectl kubestellar list-functions
kubectl kubestellar execute <function_name> -P key=value
kubectl kubestellar agentNotes:
kubectl-a2a, which is installed via the Python package entry points. This makes kubectl a2a behave the same as running the kubestellar CLI directly.uv tool install, executables are placed under ~/.local/bin by default. Ensure it is on your PATH.Once a release is published, you can use the generated Krew manifest to install:
# Install from the generated manifest attached to a release (name: kubestellar.yaml)
kubectl krew install --manifest=kubestellar.yaml
# Use the plugin
kubectl kubestellar --helpTo make installation available via the central krew-index and install like kubectl krew install kubestellar, submit a PR to https://github.com/kubernetes-sigs/krew-index with the kubestellar.yaml manifest from your release.
You can install the plugin by placing a binary named kubectl-kubestellar (or kubectl-kubestellar.exe on Windows) on your PATH. Alternatively, the Python package installs kubectl-a2a which kubectl also discovers.
Option A — use a release binary (kubectl-kubestellar):
# Download the tarball for your OS/arch from the latest Release
tar -xzf kubectl-kubestellar-<os>-<arch>.tar.gz
chmod +x kubectl-kubestellar
mv kubectl-kubestellar ~/.local/bin/ # or any dir on your PATH
# verify
which kubectl-kubestellar
kubectl plugin list | grep kubestellar || true
kubectl kubestellar --helpOption B — build locally and copy to PATH (kubectl-kubestellar):
uv sync --dev
uv pip install pyinstaller
uv run pyinstaller --onefile --name kubectl-kubestellar --distpath dist --workpath build packaging/entry_kubectl_a2a.py
install -m 0755 dist/kubectl-kubestellar ~/.local/bin/kubectl-kubestellarOption C — reuse the Python entrypoint by symlink (alias a2a):
# If you've installed the package via uv tool/pipx and have `kubestellar` on PATH,
# create a symlink named kubectl-kubestellar pointing to it
ln -sf "$(command -v kubestellar)" ~/.local/bin/kubectl-kubestellar
kubectl kubestellar --helpWindows:
.exe from the Windows release archive and place it in a directory on your %PATH%.kubectl-a2a.bat forwarding to kubestellar.exe if using a symlink alternative isn’t convenient.PATH for executables named kubectl-<name> (per the official docs). Examples: kubectl-kubestellar, kubectl-a2a.kubectl <name> ..., kubectl executes the first kubectl-<name> found on PATH and passes through the arguments.kubectl plugin list.kubectl krew install <name> makes <name> available as kubectl <name>.kubectl-kubestellar (for Krew and binary releases) and kubectl-a2a (Python entrypoint). Once on your PATH, use kubectl kubestellar ... or kubectl a2a ....Reference: https://kubernetes.io/docs/tasks/extend-kubectl/kubectl-plugins/
For users who installed via uv tool from GitHub:
# Install latest from main
uv tool install --upgrade 'git+https://github.com/kubestellar/a2a@main'
# Or upgrade an existing install (uses original source spec)
uv tool upgrade kubestellarFor pipx installs:
pipx upgrade kubestellar
# or reinstall from GitHub
pipx install --force 'git+https://github.com/kubestellar/a2a@main'This repo includes an automated release workflow that builds platform-specific plugin binaries and publishes a Krew manifest.
Steps:
git tag v0.1.0 && git push origin v0.1.0vX.Y.Z to trigger the workflow..github/workflows/release.yml runs and produces:kubectl-kubestellar on Linux amd64, macOS amd64/arm64, Windows amd64kubestellar.yaml Krew manifest with versioned asset URLs and checksumsUsers can then install via Krew using the attached manifest, or you can submit it to the central krew-index.
v*.*.*, Actions are enabled, and branch protections allow workflows.workflow_dispatch entry. Optionally provide the tag input.vX.Y.Z.You can test kubectl a2a locally in two ways.
# From the repo root
uv tool uninstall kubectl-a2a || true
uv tool uninstall kubestellar || true
uv tool install .
# Ensure ~/.local/bin is on PATH, then verify
which kubectl-a2a
kubectl plugin list | grep a2a || true
kubectl a2a --help
kubectl a2a list-functions
# Debug kubectl plugin discovery if needed
kubectl -v=6 a2a --help# Build the binary
uv sync --dev
uv pip install pyinstaller
uv run pyinstaller --onefile --name kubectl-a2a --distpath dist --workpath build packaging/entry_kubectl_a2a.py
# Put it on PATH for this shell and test
export PATH="$PWD/dist:$PATH"
kubectl plugin list | grep a2a || true
kubectl a2a --helpNotes:
hash -r (bash/zsh) after replacing the binary.dist/kubectl-a2a.exe is on your PATH.pip rather than pipx, ensure the Python scripts directory is on your PATH (e.g., ~/.local/bin on Linux, ~/Library/Python/<version>/bin on macOS, or the virtual environment's bin).pipx is the simplest way to get kubectl-a2a onto your PATH.The agent supports multiple AI providers:
# Set OpenAI API key
uv run kubestellar config set-key openai YOUR_OPENAI_API_KEY
# Set Gemini API key
uv run kubestellar config set-key gemini YOUR_GEMINI_API_KEY
# Set default provider
uv run kubestellar config set-default gemini
# List configured providers
uv run kubestellar config list-keys
# Show current configuration
uv run kubestellar config show# Use default provider
uv run kubestellar agent
# Use specific provider
uv run kubestellar agent --provider gemini
uv run kubestellar agent --provider openaiAdd to MCP server (~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"kubestellar": {
"command": "uv",
"args": ["run", "kubestellar-mcp"],
"cwd": "/path/to/a2a"
}
}
}📖 Complete Documentation: https://kubestellar.io/docs/a2a
This project is licensed under the Apache 2.0 License - see the LICENSE file for details.
Made with ❤️ by the KubeStellar community
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.