orchard/internal/controller/store/store.go

21 lines
558 B
Go

package store
import v1 "github.com/cirruslabs/orchard/pkg/resource/v1"
type Store interface {
View(cb func(txn Transaction) error) error
Update(cb func(txn Transaction) error) error
}
type Transaction interface {
GetVM(name string) (result *v1.VM, err error)
SetVM(vm *v1.VM) (err error)
DeleteVM(name string) (err error)
ListVMs() (result []*v1.VM, err error)
GetWorker(name string) (result *v1.Worker, err error)
SetWorker(worker *v1.Worker) (err error)
DeleteWorker(name string) (err error)
ListWorkers() (result []*v1.Worker, err error)
}