provider-kairos/internal/provider/start.go

34 lines
716 B
Go
Raw Permalink Normal View History

2022-08-11 11:30:51 +00:00
package provider
import (
"os"
"github.com/kairos-io/kairos/sdk/bus"
2022-08-11 11:30:51 +00:00
"github.com/mudler/go-pluggable"
)
func Start() error {
factory := pluggable.NewPluginFactory()
// Input: bus.EventInstallPayload
// Expected output: map[string]string{}
factory.Add(bus.EventInstall, Install)
factory.Add(bus.EventBootstrap, Bootstrap)
// Input: config
// Expected output: string
factory.Add(bus.EventChallenge, Challenge)
2022-08-12 07:40:40 +00:00
factory.Add(bus.EventRecovery, Recovery)
2022-08-12 07:40:40 +00:00
factory.Add(bus.EventRecoveryStop, RecoveryStop)
factory.Add(bus.EventInteractiveInstall, InteractiveInstall)
2022-08-11 11:30:51 +00:00
factory.Add(bus.EventAvailableReleases, ListVersions)
2022-08-12 07:40:40 +00:00
return factory.Run(pluggable.EventType(os.Args[1]), os.Stdin, os.Stdout)
2022-08-11 11:30:51 +00:00
}