github.com/argoproj/argo-events@v1.9.1/controllers/eventbus/installer/kafka.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 // exoticKafkaInstaller is an inalleration implementation of exotic kafka config. 13 type exoticKafkaInstaller struct { 14 eventBus *v1alpha1.EventBus 15 16 logger *zap.SugaredLogger 17 } 18 19 // NewExoticKafkaInstaller return a new exoticKafkaInstaller 20 func NewExoticKafkaInstaller(eventBus *v1alpha1.EventBus, logger *zap.SugaredLogger) Installer { 21 return &exoticKafkaInstaller{ 22 eventBus: eventBus, 23 logger: logger.Named("exotic-kafka"), 24 } 25 } 26 27 func (i *exoticKafkaInstaller) Install(ctx context.Context) (*v1alpha1.BusConfig, error) { 28 kafkaObj := i.eventBus.Spec.Kafka 29 if kafkaObj == nil { 30 return nil, fmt.Errorf("invalid request") 31 } 32 if kafkaObj.Topic == "" { 33 kafkaObj.Topic = fmt.Sprintf("%s-%s", i.eventBus.Namespace, i.eventBus.Name) 34 } 35 36 i.eventBus.Status.MarkDeployed("Skipped", "Skip deployment because of using exotic config.") 37 i.logger.Info("use exotic config") 38 busConfig := &v1alpha1.BusConfig{ 39 Kafka: kafkaObj, 40 } 41 return busConfig, nil 42 } 43 44 func (i *exoticKafkaInstaller) Uninstall(ctx context.Context) error { 45 i.logger.Info("nothing to uninstall") 46 return nil 47 }