Skip to content

Commit 3e36ba9

Browse files
committed
update logging messages
Signed-off-by: Vivek Kumar Sahu <[email protected]> fix small issue Signed-off-by: Vivek Kumar Sahu <[email protected]>
1 parent 7ebf0eb commit 3e36ba9

File tree

11 files changed

+59
-62
lines changed

11 files changed

+59
-62
lines changed

cmd/transfer.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -157,9 +157,9 @@ func parseConfig(cmd *cobra.Command) (types.Config, error) {
157157
return types.Config{}, fmt.Errorf("output adapter must be one of type: dtrack, interlynk, folder")
158158
}
159159
config := types.Config{
160-
SourceType: inputType,
161-
DestinationType: outputType,
162-
DryRun: dr,
160+
SourceAdapter: inputType,
161+
DestinationAdapter: outputType,
162+
DryRun: dr,
163163
}
164164

165165
return config, nil

pkg/adapter/factory.go

+8-8
Original file line numberDiff line numberDiff line change
@@ -54,10 +54,10 @@ func NewAdapter(ctx *tcontext.TransferMetadata, config types.Config) (map[types.
5454
adapters := make(map[types.AdapterRole]Adapter)
5555

5656
// Initialize Input Adapter
57-
if config.SourceType != "" {
58-
logger.LogDebug(ctx.Context, "Initializing Input Adapter", "adapterType", config.SourceType)
57+
if config.SourceAdapter != "" {
58+
logger.LogDebug(ctx.Context, "Initializing Input Adapter", "InputAdapter", config.SourceAdapter)
5959

60-
switch types.AdapterType(config.SourceType) {
60+
switch types.AdapterType(config.SourceAdapter) {
6161

6262
case types.GithubAdapterType:
6363
adapters[types.InputAdapterRole] = &github.GitHubAdapter{Role: types.InputAdapterRole}
@@ -69,15 +69,15 @@ func NewAdapter(ctx *tcontext.TransferMetadata, config types.Config) (map[types.
6969
adapters[types.InputAdapterRole] = &interlynk.InterlynkAdapter{Role: types.InputAdapterRole}
7070

7171
default:
72-
return nil, fmt.Errorf("unsupported input adapter type: %s", config.SourceType)
72+
return nil, fmt.Errorf("unsupported input adapter type: %s", config.SourceAdapter)
7373
}
7474
}
7575

7676
// Initialize Output Adapter
77-
if config.DestinationType != "" {
78-
logger.LogDebug(ctx.Context, "Initializing Output Adapter", "adapterType", config.DestinationType)
77+
if config.DestinationAdapter != "" {
78+
logger.LogDebug(ctx.Context, "Initializing Output Adapter", "OutputAdapter", config.DestinationAdapter)
7979

80-
switch types.AdapterType(config.DestinationType) {
80+
switch types.AdapterType(config.DestinationAdapter) {
8181

8282
case types.FolderAdapterType:
8383
adapters[types.OutputAdapterRole] = &ofolder.FolderAdapter{Role: types.OutputAdapterRole, Uploader: &ofolder.SequentialUploader{}}
@@ -89,7 +89,7 @@ func NewAdapter(ctx *tcontext.TransferMetadata, config types.Config) (map[types.
8989
adapters[types.OutputAdapterRole] = &dependencytrack.DependencyTrackAdapter{Role: types.OutputAdapterRole, Uploader: dependencytrack.NewSequentialUploader()}
9090

9191
default:
92-
return nil, fmt.Errorf("unsupported output adapter type: %s", config.DestinationType)
92+
return nil, fmt.Errorf("unsupported output adapter type: %s", config.DestinationAdapter)
9393
}
9494
}
9595

pkg/converter/converter.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,7 @@ func serializeToCycloneDX(ctx tcontext.TransferMetadata, doc *sbom.Document) ([]
167167
if err := w.WriteStreamWithOptions(doc, buf, &writer.Options{Format: formats.CDX15JSON}); err != nil {
168168
return nil, fmt.Errorf("writing CycloneDX: %w", err)
169169
}
170-
logger.LogDebug(ctx.Context, "Converted SPDX SBOM to CycloneDX")
170+
logger.LogDebug(ctx.Context, "SPDX SBOM converted to CycloneDX SBOM")
171171

172172
return buf.Bytes(), nil
173173
}

pkg/engine/transfer.go

+18-22
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ import (
3333
)
3434

3535
func TransferRun(ctx context.Context, cmd *cobra.Command, config types.Config) error {
36-
logger.LogDebug(ctx, "Starting SBOM transfer process")
36+
logger.LogDebug(ctx, "Starting SBOM transfer process....")
3737

3838
// Initialize shared context with metadata support
3939
transferCtx := tcontext.NewTransferMetadata(ctx)
@@ -59,14 +59,14 @@ func TransferRun(ctx context.Context, cmd *cobra.Command, config types.Config) e
5959
return fmt.Errorf("input adapter error: %w", err)
6060
}
6161

62-
logger.LogDebug(transferCtx.Context, "input adapter instance config", "value", inputAdapterInstance)
62+
logger.LogDebug(transferCtx.Context, "Input adapter instance config", "value", inputAdapterInstance)
6363

6464
// Parse and validate output adapter parameters
6565
if err := outputAdapterInstance.ParseAndValidateParams(cmd); err != nil {
6666
return fmt.Errorf("output adapter error: %w", err)
6767
}
6868

69-
logger.LogDebug(transferCtx.Context, "output adapter instance config", "value", outputAdapterInstance)
69+
logger.LogDebug(transferCtx.Context, "Output adapter instance config", "value", outputAdapterInstance)
7070

7171
// Fetch SBOMs lazily using the iterator
7272
sbomIterator, err := inputAdapterInstance.FetchSBOMs(transferCtx)
@@ -127,7 +127,8 @@ func sbomConversion(sbomIterator iterator.SBOMIterator, transferCtx tcontext.Tra
127127
logger.LogDebug(transferCtx.Context, "Processing SBOM conversion")
128128

129129
var convertedSBOMs []*iterator.SBOM
130-
130+
var totalMinifiedSBOM int
131+
var totalSBOM int
131132
for {
132133
sbom, err := sbomIterator.Next(transferCtx.Context)
133134
if err == io.EOF {
@@ -146,7 +147,7 @@ func sbomConversion(sbomIterator iterator.SBOMIterator, transferCtx tcontext.Tra
146147
}
147148

148149
// let's check minimfied SBOM
149-
sbom.Data, err = convertMinifiedJSON(transferCtx, convertedData)
150+
sbom.Data, totalMinifiedSBOM, err = convertMinifiedJSON(transferCtx, convertedData, totalMinifiedSBOM)
150151

151152
// Update SBOM data with converted content
152153
sbom.Data = convertedData
@@ -156,31 +157,29 @@ func sbomConversion(sbomIterator iterator.SBOMIterator, transferCtx tcontext.Tra
156157
// transferCtx.FilePath = sbom.Path // Sync FilePath for logging
157158
}
158159

159-
// err = os.WriteFile(sbom.Path, sbom.Data, 0o644)
160-
// if err != nil {
161-
// fmt.Println("Error writing formatted JSON:", err)
162-
// }
163-
160+
totalSBOM++
164161
convertedSBOMs = append(convertedSBOMs, sbom)
165162
}
163+
164+
logger.LogDebug(transferCtx.Context, "Out of total SBOM", "value", totalSBOM, "total minifiedJSONSBOM converted to preety JSON", totalMinifiedSBOM)
166165
logger.LogDebug(transferCtx.Context, "Successfully SBOM conversion")
167166

168167
return convertedSBOMs
169168
}
170169

171170
func sbomProcessing(transferCtx *tcontext.TransferMetadata, config types.Config, sbomIterator iterator.SBOMIterator) iterator.SBOMIterator {
172-
logger.LogDebug(transferCtx.Context, "Checking adapter eligibility for undergoing conversion layer", "adapter type", config.DestinationType)
171+
logger.LogDebug(transferCtx.Context, "Checking adapter eligibility for undergoing conversion layer", "adapter type", config.DestinationAdapter)
173172

174173
// convert sbom to cdx for DTrack adapter only
175-
if types.AdapterType(config.DestinationType) == types.DtrackAdapterType {
176-
logger.LogDebug(transferCtx.Context, "Adapter eligible for conversion layer", "adapter type", config.DestinationType)
174+
if types.AdapterType(config.DestinationAdapter) == types.DtrackAdapterType {
175+
logger.LogDebug(transferCtx.Context, "Adapter eligible for conversion layer", "adapter type", config.DestinationAdapter)
177176

178177
logger.LogDebug(transferCtx.Context, "SBOM conversion will take place")
179178
convertedSBOMs := sbomConversion(sbomIterator, *transferCtx)
180179

181180
return iterator.NewMemoryIterator(convertedSBOMs)
182181
} else {
183-
logger.LogDebug(transferCtx.Context, "Adapter not eligible for conversion layer", "adapter type", config.DestinationType)
182+
logger.LogDebug(transferCtx.Context, "Adapter not eligible for conversion layer", "adapter type", config.DestinationAdapter)
184183
logger.LogDebug(transferCtx.Context, "SBOM conversion will not take place")
185184
return sbomIterator
186185
}
@@ -208,19 +207,16 @@ func isMinifiedJSON(data []byte) (bool, []byte, []byte, error) {
208207
return true, data, prettyJSON, nil // Minified JSON detected
209208
}
210209

211-
func convertMinifiedJSON(transferCtx tcontext.TransferMetadata, data []byte) ([]byte, error) {
210+
func convertMinifiedJSON(transferCtx tcontext.TransferMetadata, data []byte, totalMinifiedSBOM int) ([]byte, int, error) {
212211
minified, original, formatted, err := isMinifiedJSON(data)
213212
if err != nil {
214213
logger.LogError(transferCtx.Context, err, "Error while isMinifiedJSON")
215-
return original, nil
214+
return original, totalMinifiedSBOM, nil
216215
}
217216

218217
if minified {
219-
logger.LogDebug(transferCtx.Context, "Minified JSON detected! Converting to pretty format.")
220-
logger.LogDebug(transferCtx.Context, "Minified JSON converted to preety JSON!")
221-
222-
return formatted, nil
223-
218+
totalMinifiedSBOM++
219+
return formatted, totalMinifiedSBOM, nil
224220
}
225-
return original, nil
221+
return original, totalMinifiedSBOM, nil
226222
}

pkg/source/github/adapter.go

+4-4
Original file line numberDiff line numberDiff line change
@@ -224,16 +224,14 @@ func (g *GitHubAdapter) FetchSBOMs(ctx *tcontext.TransferMetadata) (iterator.SBO
224224
return nil, fmt.Errorf("failed to get repositories: %w", err)
225225
}
226226

227-
logger.LogDebug(ctx.Context, "Found repos", "number", len(repos))
228-
229227
// filtering to include/exclude repos
230228
repos = g.applyRepoFilters(repos)
231229

232230
if len(repos) == 0 {
233231
return nil, fmt.Errorf("no repositories left after applying filters")
234232
}
235233

236-
logger.LogDebug(ctx.Context, "Listing repos of organization after filtering", "values", repos)
234+
logger.LogDebug(ctx.Context, "Total repos from which SBOMs needs to be fetched after filteration", "count", len(repos), "values", repos)
237235

238236
processingMode := types.FetchSequential
239237
var sbomIterator iterator.SBOMIterator
@@ -407,13 +405,15 @@ func (g *GitHubAdapter) fetchSBOMsConcurrently(ctx *tcontext.TransferMetadata, r
407405

408406
// fetchSBOMsSequentially: fetch SBOMs from repositories one at a time
409407
func (g *GitHubAdapter) fetchSBOMsSequentially(ctx *tcontext.TransferMetadata, repos []string) (iterator.SBOMIterator, error) {
408+
logger.LogDebug(ctx.Context, "Fetching SBOMs sequentially")
409+
410410
var sbomList []*iterator.SBOM
411411

412412
// Iterate over repositories one by one (sequential processing)
413413
for _, repo := range repos {
414414
g.Repo = repo // Set current repository
415415

416-
logger.LogDebug(ctx.Context, "Fetching SBOMs sequentially", "repo", repo)
416+
logger.LogDebug(ctx.Context, "Repository", "value", repo)
417417

418418
iter := NewGitHubIterator(ctx, g, repo)
419419

pkg/source/github/client.go

+7-5
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ func NewClient(g *GitHubAdapter) *Client {
101101
// filter out the particular provided release asset and
102102
// extract SBOMs from that
103103
func (c *Client) FindSBOMs(ctx *tcontext.TransferMetadata) ([]SBOMAsset, error) {
104-
logger.LogDebug(ctx.Context, "Fetching GitHub releases", "repo_url", c.RepoURL, "owner", c.Owner, "repo", c.Repo)
104+
logger.LogDebug(ctx.Context, "Fetching SBOMs from GitHub releases", "repo_url", c.RepoURL, "owner", c.Owner, "repo", c.Repo)
105105

106106
releases, err := c.GetReleases(ctx, c.Owner, c.Repo)
107107
if err != nil {
@@ -249,7 +249,8 @@ func (c *Client) DownloadAsset(ctx *tcontext.TransferMetadata, downloadURL strin
249249
}
250250

251251
// GetSBOMs downloads and saves all SBOM files found in the repository
252-
func (c *Client) GetSBOMs(ctx *tcontext.TransferMetadata) (VersionedSBOMs, error) {
252+
func (c *Client) FetchSBOMFromReleases(ctx *tcontext.TransferMetadata) (VersionedSBOMs, error) {
253+
logger.LogDebug(ctx.Context, "Initializing fetching of SBOMs from repo release page", "repository", c.Repo, "version", c.Version)
253254
// Find SBOMs in releases
254255
sboms, err := c.FindSBOMs(ctx)
255256
if err != nil {
@@ -259,7 +260,7 @@ func (c *Client) GetSBOMs(ctx *tcontext.TransferMetadata) (VersionedSBOMs, error
259260
return nil, fmt.Errorf("no SBOMs found in repository")
260261
}
261262

262-
logger.LogDebug(ctx.Context, "Total SBOMs found in the repository", "version", c.Version, "total sboms", len(sboms))
263+
logger.LogDebug(ctx.Context, "Total SBOMs found in the repository release page", "version", c.Version, "total sboms", len(sboms))
263264
ctx.WithValue("total_sboms", len(sboms))
264265

265266
return c.downloadSBOMs(ctx, sboms)
@@ -411,11 +412,10 @@ func (c *Client) updateRepo(repo string) {
411412
}
412413

413414
func (c *Client) GetAllRepositories(ctx *tcontext.TransferMetadata) ([]string, error) {
414-
logger.LogDebug(ctx.Context, "Fetching all repositories for an organization", "name", c.Owner)
415-
416415
if c.Repo != "" {
417416
return []string{c.Repo}, nil
418417
}
418+
logger.LogDebug(ctx.Context, "Fetching all repositories for an organization", "name", c.Owner)
419419

420420
apiURL := fmt.Sprintf("https://api.github.com/orgs/%s/repos", c.Owner)
421421

@@ -465,5 +465,7 @@ func (c *Client) GetAllRepositories(ctx *tcontext.TransferMetadata) ([]string, e
465465
return nil, fmt.Errorf("no repositories found for organization %s", c.Owner)
466466
}
467467

468+
logger.LogDebug(ctx.Context, "Total number of repos", "count", len(repos), "in organization", c.Owner)
469+
468470
return repoNames, nil
469471
}

pkg/source/github/iterator.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ func NewGitHubIterator(ctx *tcontext.TransferMetadata, g *GitHubAdapter, repo st
5050

5151
// FetchSBOMs fetches SBOMs for the given GitHubIterator instance
5252
func (it *GitHubIterator) HandleSBOMFetchingViaIterator(ctx *tcontext.TransferMetadata, method GitHubMethod) error {
53-
logger.LogDebug(ctx.Context, "Fetching SBOMs using GitHub Iterator", "repo", it.client.Repo, "method", method)
53+
logger.LogDebug(ctx.Context, "Fetching SBOMs using Lazy Iterator", "repo", it.client.Repo, "method", method)
5454

5555
var err error
5656

@@ -111,7 +111,7 @@ func (it *GitHubIterator) fetchSBOMFromAPI(ctx *tcontext.TransferMetadata) error
111111

112112
// Fetch SBOMs from GitHub Releases
113113
func (it *GitHubIterator) fetchSBOMFromReleases(ctx *tcontext.TransferMetadata) error {
114-
sbomFiles, err := it.client.GetSBOMs(ctx)
114+
sbomFiles, err := it.client.FetchSBOMFromReleases(ctx)
115115
if err != nil {
116116
return fmt.Errorf("error retrieving SBOMs from releases: %w", err)
117117
}

pkg/target/dependencytrack/adapter.go

+10-10
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ import (
2727
)
2828

2929
type DependencyTrackAdapter struct {
30-
config *DependencyTrackConfig
30+
Config *DependencyTrackConfig
3131
client *DependencyTrackClient
3232
Uploader SBOMUploader
3333
Role types.AdapterRole
@@ -36,7 +36,7 @@ type DependencyTrackAdapter struct {
3636
func NewDependencyTrackAdapter(config *DependencyTrackConfig, client *DependencyTrackClient) *DependencyTrackAdapter {
3737
uploader := uploaderFactory["sequential"]
3838
return &DependencyTrackAdapter{
39-
config: config,
39+
Config: config,
4040
client: client,
4141
Uploader: uploader,
4242
}
@@ -100,17 +100,17 @@ func (d *DependencyTrackAdapter) ParseAndValidateParams(cmd *cobra.Command) erro
100100
cfg.ProjectVersion = projectVersion
101101

102102
// Set values to struct
103-
d.config = cfg
103+
d.Config = cfg
104104

105105
// Initialize the DependencyTrack client
106-
client := NewDependencyTrackClient(d.config)
106+
client := NewDependencyTrackClient(d.Config)
107107
d.client = client
108108

109109
logger.LogDebug(cmd.Context(), "Dependency-Track parameters validated and assigned",
110-
"url", d.config.APIURL,
111-
"apiKey", d.config.APIKey,
112-
"project_name", d.config.ProjectName,
113-
"project_version", d.config.ProjectVersion,
110+
"url", d.Config.APIURL,
111+
"apiKey", d.Config.APIKey,
112+
"project_name", d.Config.ProjectName,
113+
"project_version", d.Config.ProjectVersion,
114114
)
115115
return nil
116116
}
@@ -121,10 +121,10 @@ func (d *DependencyTrackAdapter) FetchSBOMs(ctx *tcontext.TransferMetadata) (ite
121121
}
122122

123123
func (d *DependencyTrackAdapter) UploadSBOMs(ctx *tcontext.TransferMetadata, iter iterator.SBOMIterator) error {
124-
return d.Uploader.Upload(ctx, d.config, d.client, iter)
124+
return d.Uploader.Upload(ctx, d.Config, d.client, iter)
125125
}
126126

127127
func (d *DependencyTrackAdapter) DryRun(ctx *tcontext.TransferMetadata, iter iterator.SBOMIterator) error {
128-
reporter := NewDependencyTrackReporter(d.config.APIURL, d.config.ProjectName)
128+
reporter := NewDependencyTrackReporter(d.Config.APIURL, d.Config.ProjectName)
129129
return reporter.DryRun(ctx.Context, iter)
130130
}

pkg/target/dependencytrack/client.go

+4-4
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ func (c *DependencyTrackClient) FindProject(ctx *tcontext.TransferMetadata, proj
5757
return "", err
5858
}
5959

60-
logger.LogDebug(ctx.Context, "Total Project Found", "count", projects.TotalCount)
60+
logger.LogDebug(ctx.Context, "Total Number of Projects Available in Dependency Track Platform", "count", projects.TotalCount)
6161

6262
for _, project := range projects.Items {
6363
// lookup for the our project name with version
@@ -93,7 +93,7 @@ func (c *DependencyTrackClient) UploadSBOM(ctx *tcontext.TransferMetadata, proje
9393

9494
// FindOrCreateProject ensures a project exists, returning its UUID after finding or creating project
9595
func (c *DependencyTrackClient) FindOrCreateProject(ctx *tcontext.TransferMetadata, projectName, projectVersion string) (string, error) {
96-
logger.LogDebug(ctx.Context, "Finding Project", "project", projectName, "version", projectVersion)
96+
logger.LogDebug(ctx.Context, "Processing finding or Creating Project", "project", projectName, "version", projectVersion)
9797

9898
// find project using project name and project version
9999
uuid, err := c.FindProject(ctx, projectName, projectVersion)
@@ -112,7 +112,7 @@ func (c *DependencyTrackClient) FindOrCreateProject(ctx *tcontext.TransferMetada
112112

113113
// CreateProject creates a new project if it doesn’t exist
114114
func (c *DependencyTrackClient) CreateProject(ctx *tcontext.TransferMetadata, projectName, projectVersion string) (string, error) {
115-
logger.LogDebug(ctx.Context, "Creating Project", "project", projectName, "version", projectVersion)
115+
logger.LogDebug(ctx.Context, "Initializing Project Creation", "project", projectName, "version", projectVersion)
116116

117117
project := dtrack.Project{
118118
Name: projectName,
@@ -125,6 +125,6 @@ func (c *DependencyTrackClient) CreateProject(ctx *tcontext.TransferMetadata, pr
125125
return "", err
126126
}
127127

128-
logger.LogDebug(ctx.Context, "Project created or verified", "project", created.Name, "version", created.Version, "uuid", created.UUID)
128+
logger.LogDebug(ctx.Context, "New Project created", "project", created.Name, "version", created.Version, "uuid", created.UUID)
129129
return created.UUID.String(), nil
130130
}

pkg/target/dependencytrack/uploader.go

-1
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,6 @@ func (u *SequentialUploader) Upload(ctx *tcontext.TransferMetadata, config *Depe
7575
continue
7676
}
7777
u.createdProjects[projectName] = true
78-
logger.LogDebug(ctx.Context, "Project created", "project", projectName)
7978
}
8079
u.mu.Unlock()
8180

pkg/types/mvtypes.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,10 @@ package types
1717

1818
type Config struct {
1919
// source adapter type
20-
SourceType string
20+
SourceAdapter string
2121

2222
// destination adapter type
23-
DestinationType string
23+
DestinationAdapter string
2424

2525
// dry run mode
2626
DryRun bool

0 commit comments

Comments
 (0)