hashgraph / hashgraph/solo-weaver
diagnose state / diagnose info: local state + environment report
- Dominant language
- Go
- Stars
- 3
- Forks
- 0
- Avg merge
- 3d 5h
- Merged PRs (30d)
- 47
Description
Part of the diagnostics epic (#1110). Depends on the diagnostics framework sub-issue.
Two local, offline-first introspection commands.
## `solo-provisioner diagnose state`
```
solo-provisioner diagnose state [--validate] [-o json|yaml]
```
- Dump the parsed `state.yaml` (cluster/software/component state) plus the list of applied migrations.
- `--validate`: check schema validity and flag drift, exit non-zero on problems.
- `-o` accepts `json|yaml` (default `json`). This **extends** the global `-o` values for this command (text is meaningless for a state dump). Reuses `internal/state`.
## `solo-provisioner diagnose info`
- One-shot environment/self-report for bug reports: build (version/commit/go/OS/arch), resolved config paths, log path, effective profile, installed components (from state), kube context.
## Acceptance
- `diagnose state -o yaml` and `-o json` both render the current state; default is json.
- `diagnose state --validate` exits non-zero on a corrupt/incompatible state file with actionable hints.
- `diagnose info` prints a complete, paste-ready environment summary and works on an uninstalled host.
Contributor guide
Research direction
Start with the diagnostics framework sub-issue and the internal/state package, then trace the diagnose state and diagnose info command entry points. Verify both output formats, validation failure behavior, and the uninstalled-host path against the acceptance criteria; done means state output is accurate and the info command produces a complete paste-ready report.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go, kubernetes
- Domain
- cli, devtools
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 52/100