21 lines
495 B
Go
21 lines
495 B
Go
package service
|
|
|
|
import (
|
|
"context"
|
|
"github.com/example/storage-appliance/internal/domain"
|
|
)
|
|
|
|
type DiskService interface {
|
|
List(ctx context.Context) ([]domain.Disk, error)
|
|
Inspect(ctx context.Context, path string) (domain.Disk, error)
|
|
}
|
|
|
|
type ZFSService interface {
|
|
ListPools(ctx context.Context) ([]domain.Pool, error)
|
|
CreatePool(ctx context.Context, name string, vdevs []string) (string, error)
|
|
}
|
|
|
|
type JobRunner interface {
|
|
Enqueue(ctx context.Context, j domain.Job) (string, error)
|
|
}
|