github.com/kubeshop/testkube@v1.17.23/pkg/logs/repository/interface.go (about)

     1  package repository
     2  
     3  import (
     4  	"context"
     5  
     6  	"github.com/kubeshop/testkube/pkg/logs/events"
     7  	"github.com/kubeshop/testkube/pkg/logs/state"
     8  )
     9  
    10  // RepositoryBuilder is responsible for getting valid repository based on execution state
    11  // It'll be ususally for OSS when we'll get from NATS buffer or from Minio (when execution completed)
    12  type RepositoryBuilder interface {
    13  	GetRepository(state state.LogState) (LogsRepository, error)
    14  }
    15  
    16  // LogsRepository is the repository primitive to get logs from
    17  type LogsRepository interface {
    18  	Get(ctx context.Context, id string) (chan events.LogResponse, error)
    19  }