2022-08-11 11:30:51 +00:00
|
|
|
package provider
|
|
|
|
|
|
|
|
import (
|
|
|
|
"os"
|
|
|
|
|
2022-09-16 15:42:45 +00:00
|
|
|
"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-19 06:28:28 +00:00
|
|
|
|
2022-08-12 07:40:40 +00:00
|
|
|
factory.Add(bus.EventRecoveryStop, RecoveryStop)
|
2022-08-19 06:28:28 +00:00
|
|
|
|
2022-08-12 10:22:43 +00:00
|
|
|
factory.Add(bus.EventInteractiveInstall, InteractiveInstall)
|
2022-08-11 11:30:51 +00:00
|
|
|
|
2022-08-19 06:28:28 +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
|
|
|
}
|