//go:build linux

package spindle

import (
	"context"

	"tangled.org/core/spindle/config"
	"tangled.org/core/spindle/db"
	"tangled.org/core/spindle/engines/microvm"
	"tangled.org/core/spindle/models"
	"tangled.org/core/spindle/quota"
)

// the engine's ssh listener can't import the spindle, so the spindle hands it the key check
func attachDebugAuthorizer(engines map[string]models.Engine, s *Spindle) {
	if eng, ok := engines["microvm"].(*microvm.Engine); ok {
		eng.SetDebugAuthorizer(s)
	}
}

func newMicrovmEngine(ctx context.Context, cfg *config.Config, d *db.DB, qStore quota.ReservationStore) (models.Engine, error) {
	return microvm.New(ctx, cfg, d, qStore)
}
