github.com/noqcks/syft@v0.0.0-20230920222752-a9e2c4e288e5/cmd/syft/cli/ui/handle_secrets_cataloger.go (about)

     1  package ui
     2  
     3  import (
     4  	"fmt"
     5  
     6  	tea "github.com/charmbracelet/bubbletea"
     7  	"github.com/wagoodman/go-partybus"
     8  	"github.com/wagoodman/go-progress"
     9  
    10  	"github.com/anchore/bubbly/bubbles/taskprogress"
    11  	"github.com/anchore/syft/internal/log"
    12  	syftEventParsers "github.com/anchore/syft/syft/event/parsers"
    13  	"github.com/anchore/syft/syft/file/cataloger/secrets"
    14  )
    15  
    16  var _ progress.StagedProgressable = (*secretsCatalogerProgressAdapter)(nil)
    17  
    18  // Deprecated: will be removed in syft 1.0
    19  type secretsCatalogerProgressAdapter struct {
    20  	*secrets.Monitor
    21  }
    22  
    23  // Deprecated: will be removed in syft 1.0
    24  func newSecretsCatalogerProgressAdapter(monitor *secrets.Monitor) secretsCatalogerProgressAdapter {
    25  	return secretsCatalogerProgressAdapter{
    26  		Monitor: monitor,
    27  	}
    28  }
    29  
    30  func (s secretsCatalogerProgressAdapter) Stage() string {
    31  	return fmt.Sprintf("%d secrets", s.Monitor.SecretsDiscovered.Current())
    32  }
    33  
    34  // Deprecated: will be removed in syft 1.0
    35  func (m *Handler) handleSecretsCatalogerStarted(e partybus.Event) []tea.Model {
    36  	mon, err := syftEventParsers.ParseSecretsCatalogingStarted(e)
    37  	if err != nil {
    38  		log.WithFields("error", err).Warn("unable to parse event")
    39  		return nil
    40  	}
    41  
    42  	tsk := m.newTaskProgress(
    43  		taskprogress.Title{
    44  			Default: "Catalog secrets",
    45  			Running: "Cataloging secrets",
    46  			Success: "Cataloged secrets",
    47  		},
    48  
    49  		taskprogress.WithStagedProgressable(
    50  			newSecretsCatalogerProgressAdapter(mon),
    51  		),
    52  	)
    53  
    54  	tsk.HideStageOnSuccess = false
    55  
    56  	return []tea.Model{tsk}
    57  }