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 }