Make batch workloads first-class across Applications and workload views#1098
Open
nadaverell wants to merge 3 commits into
Open
Make batch workloads first-class across Applications and workload views#1098nadaverell wants to merge 3 commits into
nadaverell wants to merge 3 commits into
Conversation
1b07139 to
fc263f3
Compare
2c036f6 to
0521535
Compare
0521535 to
0cdd8c3
Compare
0cdd8c3 to
3e3d80f
Compare
3e3d80f to
2e130c8
Compare
2e130c8 to
617df7c
Compare
0b76739 to
c373530
Compare
9e914f2 to
a8b7288
Compare
6350f05 to
fb9c0aa
Compare
fb9c0aa to
fe11c59
Compare
fe11c59 to
88bbf6e
Compare
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using default effort and found 1 potential issue.
There are 4 total unresolved issues (including 3 from previous reviews).
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 88bbf6e. Configure here.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Summary
Makes Jobs, CronJobs, Argo Workflows, and KEDA ScaledJobs first-class operational workloads instead of forcing serving-workload concepts such as replica readiness onto them.
The UI now distinguishes stable definitions and launchers from retained run instances and execution nodes, so operators can move from an Application to a specific run, understand what created it, inspect where it failed, and use the same selection in Overview and Logs.
What changed
A consistent batch workload model
Truthful Applications surfaces
Run-focused workload experience
?run=kind/namespace/nameand shares it between Overview and Logs, including cold deep links and expired-run fallback.Argo and topology behavior
storedWorkflowTemplateSpecfor resolved execution structure and image attribution when the original template is unavailable.Testing
git diff --checkmake tscmake testmake buildgo test ./internal/server ./internal/mcpgo test ./...frompkg/topologynonprod-cluster-us-east1Notes
Note
Medium Risk
Broad changes to application aggregation, issue classification, and log/run APIs could mis-rank health or mis-attribute runs if ownership/template refs are wrong; paths are heavily tested but live ScaledJob/ClusterWorkflowTemplate coverage was limited.
Overview
Extends batch workloads (Jobs, CronJobs, Argo Workflows/CronWorkflows/Templates, KEDA ScaledJobs) across the Applications API/UI and workload logs/runs APIs, building on the redesigned app/workload scope model rather than restoring older layouts.
Backend:
collectAppWorkloadsnow ingests batch kinds withappBatchSummaryrollups (schedules, retained/active/failed runs, latest run phase), skips child Jobs/Workflows owned by launchers/templates, and classifies batch health separately from replica readiness. NewGET .../runsreturns retained run history with launchers, triggers, and pod counts.get_workload_logs/ MCPget_workload_logssupport Job and Workflow selectors; empty responses includeemptyReason, guidance, and recovery commands when pods are gone after terminal completion. Issues classify Kubernetes RBAC forbidden messages (including Argo) and can group pod symptoms under the owning Workflow.Shared UI (
@skyhook-io/k8s-ui): Application list/detail use Runtime instead of Ready for job-class apps, batch signal chips for mixed apps, and optionalrenderOverviewIssueson Overview (replacing built-in synthetic “app issues”). Workload logs show Argo step metadata on pods and surface server empty-state messages/commands.Docs:
NOTES.mdcaptures rebase assumptions; MCP docs note Workflow/Job in aggregated logs.Reviewed by Cursor Bugbot for commit 750cbc5. Bugbot is set up for automated code reviews on this repo. Configure here.