package daemon import ( "context" "strings" "banger/internal/model" "banger/internal/opencode" ) type opencodeCapability struct{} func (opencodeCapability) Name() string { return "opencode" } func (opencodeCapability) PostStart(ctx context.Context, d *Daemon, vm model.VMRecord, image model.Image) error { if strings.TrimSpace(image.InitrdPath) == "" { // Direct-boot images (OCI pulls) don't ship the opencode // service — skip the readiness check so the VM isn't marked // as error for lacking an opinionated add-on. return nil } return opencode.WaitReady(ctx, d.logger, vm.Runtime.VSockPath, func(stage, detail string) { vmCreateStage(ctx, stage, detail) }) }