mirror of
https://github.com/coder/coder.git
synced 2026-09-22 13:10:21 +08:00
Add a new subcommand to list all registered sync units and their current
statuses. This provides a quick overview of the dependency coordination
state in a workspace without needing to query each unit individually.
The command supports both table (default) and JSON output formats.
```
$ coder exp sync list
UNIT STATUS READY
unit-a started true
unit-b completed true
unit-c pending false
$ coder exp sync list --output json
[
{
"unit_name": "my-unit",
"status": "started",
"is_ready": true
}
]
```
When no units are registered, the command prints `No units registered`.
<details><summary>Changes across layers</summary>
- `agent/unit`: add `Manager.ListUnits()` method
- `agent/agentsocket/proto`: add `SyncList` RPC, bump API to v1.2
- `agent/agentsocket`: add service and client implementations
- `cli`: add `sync_list.go` command, register in `sync.go`
- Tests: three golden-file test cases (empty list, multiple units, JSON)
</details>
> Generated by Coder Agents on behalf of @SasSwart
---------
Co-authored-by: Cian Johnston <cian@coder.com>
24 lines
454 B
Go
24 lines
454 B
Go
package proto
|
|
|
|
import "github.com/coder/coder/v2/apiversion"
|
|
|
|
// Version history:
|
|
//
|
|
// API v1.0:
|
|
// - Initial release
|
|
// - Ping
|
|
// - Sync operations: SyncStart, SyncWant, SyncComplete, SyncWait, SyncStatus
|
|
//
|
|
// API v1.1:
|
|
// - UpdateAppStatus RPC (forwarded to coderd)
|
|
//
|
|
// API v1.2:
|
|
// - SyncList RPC (list all registered units)
|
|
|
|
const (
|
|
CurrentMajor = 1
|
|
CurrentMinor = 2
|
|
)
|
|
|
|
var CurrentVersion = apiversion.New(CurrentMajor, CurrentMinor)
|