github.com/argoproj/argo-events@v1.9.1/controllers/eventbus/installer/exotic_jetstream.go (about) 1 package installer 2 3 import ( 4 "context" 5 "fmt" 6 7 "go.uber.org/zap" 8 9 "github.com/argoproj/argo-events/pkg/apis/eventbus/v1alpha1" 10 ) 11 12 // exoticJetStreamInstaller is an inalleration implementation of exotic jetstream config. 13 type exoticJetStreamInstaller struct { 14 eventBus *v1alpha1.EventBus 15 16 logger *zap.SugaredLogger 17 } 18 19 // NewExoticJetStreamInstaller return a new exoticJetStreamInstaller 20 func NewExoticJetStreamInstaller(eventBus *v1alpha1.EventBus, logger *zap.SugaredLogger) Installer { 21 return &exoticJetStreamInstaller{ 22 eventBus: eventBus, 23 logger: logger.Named("exotic-jetstream"), 24 } 25 } 26 27 func (i *exoticJetStreamInstaller) Install(ctx context.Context) (*v1alpha1.BusConfig, error) { 28 JetStreamObj := i.eventBus.Spec.JetStreamExotic 29 if JetStreamObj == nil { 30 return nil, fmt.Errorf("invalid request") 31 } 32 i.eventBus.Status.MarkDeployed("Skipped", "Skip deployment because of using exotic config.") 33 i.logger.Info("use exotic config") 34 busConfig := &v1alpha1.BusConfig{ 35 JetStream: JetStreamObj, 36 } 37 return busConfig, nil 38 } 39 40 func (i *exoticJetStreamInstaller) Uninstall(ctx context.Context) error { 41 i.logger.Info("nothing to uninstall") 42 return nil 43 }