8f48dd838b
Replace task statuses (pending/running/succeeded/failed/cancelled) with
a kanban workflow: todo → in_progress → in_review → done/wontdo.
When a non-review agent task completes, the API auto-creates a child
review task and moves the parent to in_review. Only humans can move
tasks from in_review to done/wontdo via the TUI.
New components:
- cmd/tui: bubbletea kanban board with $EDITOR integration
- POST /api/v1/tasks/{id}/complete: agent completion callback
- Operator --api-url flag for completion callbacks
- ProviderQueue sets tasks to in_progress on pickup
- AgentTask reconciler calls /complete on job finish
43 lines
804 B
Go
43 lines
804 B
Go
package controller
|
|
|
|
import (
|
|
ctrl "sigs.k8s.io/controller-runtime"
|
|
)
|
|
|
|
type SetupOptions struct {
|
|
APIURL string
|
|
}
|
|
|
|
func SetupAll(mgr ctrl.Manager, opts SetupOptions) error {
|
|
if err := (&AgentPoolReconciler{
|
|
Client: mgr.GetClient(),
|
|
Scheme: mgr.GetScheme(),
|
|
}).SetupWithManager(mgr); err != nil {
|
|
return err
|
|
}
|
|
|
|
if err := (&AgentTaskReconciler{
|
|
Client: mgr.GetClient(),
|
|
Scheme: mgr.GetScheme(),
|
|
APIURL: opts.APIURL,
|
|
}).SetupWithManager(mgr); err != nil {
|
|
return err
|
|
}
|
|
|
|
if err := (&ProviderQueueReconciler{
|
|
Client: mgr.GetClient(),
|
|
Scheme: mgr.GetScheme(),
|
|
}).SetupWithManager(mgr); err != nil {
|
|
return err
|
|
}
|
|
|
|
if err := (&RepositoryBindingReconciler{
|
|
Client: mgr.GetClient(),
|
|
Scheme: mgr.GetScheme(),
|
|
}).SetupWithManager(mgr); err != nil {
|
|
return err
|
|
}
|
|
|
|
return nil
|
|
}
|