Skip to content

Commit d4fcc27

Browse files
danmuxclaude
andcommitted
Add chunk sidecar delete command
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent d48d9fa commit d4fcc27

1 file changed

Lines changed: 46 additions & 0 deletions

File tree

internal/cmd/sidecar.go

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ func newSidecarCmd() *cobra.Command {
3636

3737
cmd.AddCommand(newSidecarListCmd())
3838
cmd.AddCommand(newSidecarCreateCmd())
39+
cmd.AddCommand(newSidecarDeleteCmd())
3940
cmd.AddCommand(newSidecarExecCmd())
4041
cmd.AddCommand(newSidecarAddSSHKeyCmd())
4142
cmd.AddCommand(newSidecarSSHCmd())
@@ -250,6 +251,51 @@ func newSidecarCreateCmd() *cobra.Command {
250251
return cmd
251252
}
252253

254+
func newSidecarDeleteCmd() *cobra.Command {
255+
var sidecarID string
256+
257+
cmd := &cobra.Command{
258+
Use: "delete",
259+
Short: "Delete a sidecar",
260+
RunE: func(cmd *cobra.Command, _ []string) error {
261+
io := iostream.FromCmd(cmd)
262+
if err := resolveSidecarID(cmd.Context(), &sidecarID); err != nil {
263+
return err
264+
}
265+
insecureStorage := insecureStorageFlag(cmd)
266+
rc, _ := config.Resolve("", "", insecureStorage)
267+
client, err := ensureCircleCIClient(cmd.Context(), cmd, rc, io, tui.PromptHidden)
268+
if err != nil {
269+
return err
270+
}
271+
if err := client.DeleteSidecar(cmd.Context(), sidecarID); err != nil {
272+
if err := notAuthorized("delete sidecars", err); err != nil {
273+
return err
274+
}
275+
return &userError{
276+
msg: "Could not delete the sidecar.",
277+
suggestion: suggestionNetworkRetry,
278+
err: err,
279+
}
280+
}
281+
io.ErrPrintf("%s\n", ui.Success(fmt.Sprintf("Deleted sidecar %s", sidecarID)))
282+
283+
if active, lerr := sidecar.LoadActive(cmd.Context()); lerr == nil && active != nil && active.SidecarID == sidecarID {
284+
if cerr := sidecar.ClearActive(cmd.Context()); cerr != nil {
285+
io.ErrPrintf("Warning: could not clear active sidecar state: %v\n", cerr)
286+
} else {
287+
io.ErrPrintln("Active sidecar cleared")
288+
}
289+
}
290+
return nil
291+
},
292+
}
293+
294+
cmd.Flags().StringVar(&sidecarID, "sidecar-id", "", "Sidecar ID (defaults to active sidecar)")
295+
296+
return cmd
297+
}
298+
253299
func newSidecarExecCmd() *cobra.Command {
254300
var sidecarID, command string
255301
var execArgs []string

0 commit comments

Comments
 (0)