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  }