AI-powered upgrade helper for Kubernetes clusters and the software you run on them.
Starfall is an "Upgrade Helper": it automates the repetitive and error‑prone work of researching upgrade paths for your Kubernetes control plane and in-cluster applications.
Instead of manually answering:
- What version is currently running?
- What is the latest stable version?
- Are there breaking changes or relevant release notes?
- What is the safest upgrade path?
Starfall:
- Scans the cluster (control plane + selected workloads)
- Collects version + metadata
- Looks up latest stable releases
- Summarizes meaningful upgrade notes (planned capability)
- Prepares actionable insights (e.g. Slack / GitHub Issue / Email)
| Area | Status | Notes |
|---|---|---|
| Kubernetes control plane version detection | ✅ | Captures current + latest version |
| Workload container image version extraction | ✅ | Parses Deployments (selectively via labels) |
| Latest release lookup | ✅ (basic) | Uses external release sources (currently GitHub) |
| Structured task delegation to AI agents | ✅ | CrewAI powered |
| Release notes summarization | ✅ | Planned enhancement |
| Delivery integrations (Slack / GitHub issues) | ⏳ | Planned |
| Safety / diff heuristics | ⏳ | Planned |
- Python (uv + virtualenv)
- CrewAI for multi‑agent orchestration
- GPT-4 as the LLM provider
- Kubernetes (scan target)
| Path | Purpose |
|---|---|
src/starfall/crew.py |
Crew & agent orchestration entry points |
src/starfall/main.py |
CLI / execution entry |
src/starfall/tools/k8s_scanner.py |
Cluster + workload scanning tool |
src/starfall/pydantic_models.py |
Data models (versions, apps, etc.) |
knowledge/ |
User / domain guidance for agents |
outputs/ |
Generated scan reports (JSON) |
docs/ |
Roadmap, tools overview, performance notes |
- Python 3.11+ (align with your local environment)
- Access to a Kubernetes cluster (or kind/minikube)
- OpenAI key
- Git + curl
python3 -m venv .venv
source .venv/bin/activate
# Install UV
curl -LsSf https://astral.sh/uv/install.sh | sh
# Install project dependencies
uv sync --frozenUpdate .env with any required provider configuration
BRAVE_API_KEY=Bxxxxxx
MODEL=gpt-4o-mini
OPENAI_API_KEY=skxxxxxxxxxxxxuv run crewai run- Invoke the scanner tool (code in
k8s_scanner.py) to produce an initial JSON snapshot (e.g.initial_k8s_scanner_report.json). - Agents receive structured tasks derived from that snapshot.
- Release intelligence specialist agents look up the latest stable versions.
- A manager agent aggregates findings into
final_k8s_scanner_report.json. - Crews pick up the JSON file and find release notes.
- Use labels (e.g.
starfall.io/enabled=true) to scope which workloads are scanned. - Extend scanning logic by adding new collectors under
tools/. - Pydantic models enforce structure—update them if you add fields.
See:
docs/ROADMAP.mddocs/TOOLS.md
- Open an issue / jot intent
- Create a feature branch
- Keep changes focused
- Include/adjust sample output if data model changes
| Question | Answer |
|---|---|
| Does it mutate the cluster? | No, read-only scanning (current scope) |
| How are latest versions resolved? | GitHub releases (initial); pluggable sources planned |
Starfall is in an iterative build phase. Expect rapid changes.

