Daily BuilderResearch, Roadmap and Plan #2769
Closed
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Repository Overview
KSail is a Kubernetes SDK that bundles common tooling into a single binary. It supports four distributions (Vanilla/Kind, K3s/K3d, Talos, VCluster) across three infrastructure providers (Docker, Hetzner, Omni), with embedded CLI, AI chat TUI, MCP server, and VSCode extension.
As of March 4, 2026, the repository is in excellent health:
🔴 High-Priority Bugs
1. VCluster Image-Pull Retry for GHCR (
denied: denied)Source: Issue #2729 (CI Doctor analysis)
Impact: ❌ CI system tests fail with
fetching blob deniedforghcr.io/loft-sh/kubernetes— this is separate from the exit-status-22 / D-Bus transient failures already handled bycreateWithRetry. The current 7-patterntransientCreateErrors()does NOT cover GHCR image-pull failures occurring mid-provisioning.Action: Add
"fetching blob denied"and"denied: denied"totransientCreateErrors()inpkg/svc/provisioner/cluster/vcluster/provisioner.go, or implement targeted image-pull retry wrapping the Helm install phase.Effort: Small (1-2 hours)
Files:
pkg/svc/provisioner/cluster/vcluster/provisioner.go2. Monitoring: Transient System Test CI Failures
Source: Issue #2729
Status: 🔒 Blocked — transient infrastructure; PR #2655 (retry increase to 5) was already merged
Action: Continue monitoring; no code change needed unless patterns worsen
🚀 High-Impact Roadmap Features
3. Chat TUI Test Coverage (
pkg/cli/ui/chat/)Rationale: The chat TUI has been under active development (PRs #2705, #2700, #2702, #2396). Currently only 3 test files exist (
agentmode_test.go,pendingprompt_test.go,yolomode_test.go), covering a small subset of functionality. Key untested areas:ChatMode.Next()cycle (Agent → Plan → Agent)^O)^E)^H)Effort: Medium (2-4 hours per area)
Files:
pkg/cli/ui/chat/model.go,pkg/cli/ui/chat/model_picker.go,pkg/cli/ui/chat/reasoning_picker.go,pkg/cli/ui/chat/permission.goPattern: Use
export_test.gofor black-box testing of unexported methods4. VCluster Base Image Pre-Warming in CI
Rationale: GHCR
denied: deniederrors during system tests can be mitigated by pre-pullingghcr.io/loft-sh/kubernetes:(version)before tests run, similar to the existing retry logic in.github/actions/ksail-system-test/action.yaml.Effort: Small (1 hour)
Files:
.github/actions/ksail-system-test/action.yaml5. Upstream PR: Update
loft-sh/logtablewriter to v1.x APIRationale: KSail maintains a fork at
patches/loft-sh-log/solely becauseloft-sh/log/table/table.gouses the incompatible tablewriter v0.0.5 API (issue #2246). Submitting an upstream PR removes the maintenance burden.Effort: Medium (external contribution, requires fork/PR on loft-sh/log)
Blocked on: External upstream PR acceptance
Action: Fork
loft-sh/log, updatetable/table.goto tablewriter v1.x API, submit PR6. Upstream Issue: VCluster D-Bus Race Condition
Rationale: Issue #2261 — VCluster SDK
install-standalone.shrunssystemctl restart systemd-journaldbefore D-Bus is initialized. KSail has a local workaround (tryDBusRecovery), but filing an upstream issue with loft-sh/vcluster ensures a proper fix.Effort: Small (30 min to draft and file issue)
Blocked on: Upstream acceptance
🔧 Backlog Improvements
7. Update vCluster SDK to Stable Release (#2245)
Status: Currently pinned to
v0.32.1stable (go.mod). Monitor for v0.33.x releases.Action: Check loft-sh/vcluster releases; upgrade go.mod when new stable available
Effort: Small when released
8. Review and Merge PR #2768 (gitattributes for *.lock.yaml)
Status: Draft PR #2768 adds
*.lock.yaml linguist-generated=trueto.gitattributesAction: Review and merge if correct
Effort: Trivial
9. Omni Provider CI Testing (#2547)
Note: PR #2547 (Omni × Docker CI system test) appears to have been merged or superseded; verify status. If still open, review and merge.
10. Add
pkg/svc/installer/package testsRationale: Several installer packages have minimal test coverage after the MetalLB tests were added. Extending to
cloudproviderkind,cilium,calico, and others would improve quality.Effort: Medium (2-4 hours per package)
🗑️ Stale/Closeable Items
Tracking Issues
[agentics] Failed runs— expires March 5, 2026. Close if no active sub-issues remain.[agentics] Failed runs— expired Feb 26, 2026. Should be closed.Priority Order for Implementation
transientCreateErrors()ChatMode.Next()and model/reasoning picker testsHow to Control this Workflow
You can add comments to this discussion to provide feedback or adjust the plan. Available commands:
gh aw disable daily-builder --repo devantler-tech/ksail gh aw enable daily-builder --repo devantler-tech/ksail gh aw run daily-builder --repo devantler-tech/ksail --repeat (number-of-repeats) gh aw logs daily-builder --repo devantler-tech/ksailWhat Happens Next
The next time this workflow runs, it will begin implementing items from this plan based on priority:
If running in "repeat" mode, the workflow will automatically run again to continue working on items. Humans can review this research and add comments to adjust priorities before the workflow continues.
Beta Was this translation helpful? Give feedback.
All reactions