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  }