8000 GitHub - ericdcobb/blob-store-explorer
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

ericdcobb/blob-store-explorer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

blob-store-explorer

Contents

Overview

The Blob Store explorer was written in Golang mostly because I wanted to learn it.

The tool is designed to query/explore the Nexus Repository blob store directly. This can be used for development or support. Some things it should be able to do:

  • find a count of soft-deleted blobs, verify the amount of storage that should be recovered after a compact.
  • find blobs associated with a certain repository
  • find blobs created by a specific user

Building

After setting up go install with:

go install

Usage

blob-store-explorer --c --filter deleted=true  ~/develop/sonatype/nexus-internal/target/sonatype-work/nexus3/blobs/default/

Example output:

Exploring /Users/ericdcobb/develop/sonatype/nexus-internal/target/sonatype-work/nexus3/blobs/default/Stats:
Total blobs: 6, Total size: 834, Soft Deleted: 6, Total Size Deleted: 834
deleted = true
@BlobStore.created-by = admin
size = 40
@Bucket.repo-name = maven-releases
creationTime = 1486679665325
@BlobStore.blob-name = com/sonatype/training/nxs301/03-implicit-staging/maven-metadata.xml.sha1
@BlobStore.content-type = text/plain
sha1 = cbd5bce1c926e6b55b6b4037ce691b8f9e5dea0f

deleted = true
@BlobStore.created-by = admin
size = 40
@Bucket.repo-name = maven-releases
creationTime = 1486675424206
@BlobStore.blob-name = com/sonatype/training/nxs301/03-implicit-staging/maven-metadata.xml.sha1
@BlobStore.content-type = text/plain
sha1 = 35d39f8f5fade17cebd4474a07f3bdc28179bdac

deleted = true
@BlobStore.created-by = admin
size = 361
@Bucket.repo-name = maven-releases
creationTime = 1486679665310
@BlobStore.blob-name = com/sonatype/training/nxs301/03-implicit-staging/maven-metadata.xml
@BlobStore.content-type = application/xml
sha1 = 9a49697dae03eb74d05db06bc765fe050034fc60

deleted = true
@BlobStore.created-by = admin
size = 32
@Bucket.repo-name = maven-releases
creationTime = 1486675424219
@BlobStore.blob-name = com/sonatype/training/nxs301/03-implicit-staging/maven-metadata.xml.md5
@BlobStore.content-type = text/plain
sha1 = 4982969b96e1822a7afc32c500741c61c0a3d55a

deleted = true
@BlobStore.created-by = admin
size = 32
@Bucket.repo-name = maven-releases
creationTime = 1486679665338
@BlobStore.blob-name = com/sonatype/training/nxs301/03-implicit-staging/maven-metadata.xml.md5
@BlobStore.content-type = text/plain
sha1 = d18758e45b1557c218ebadd7455029c4cffe93fc

deleted = true
@BlobStore.created-by = admin
size = 329
@Bucket.repo-name = maven-releases
creationTime = 1486675424191
@BlobStore.blob-name = com/sonatype/training/nxs301/03-implicit-staging/maven-metadata.xml
@BlobStore.content-type = application/xml
sha1 = dbfa3838d7c51136f022e8c7698611daa23114d8

Package Management

Dependencies are currently managed by godep, which looks to be the most popular package management tool today. Interestingly, godep pulls dependencies into a 'vendor' folder, which is then managed in VC.

Check out The Saga of Go Dependency Management for an interesting read. The upshot of all this is that the Go community recognizes the limitations inherent in "Just committing vendor" and has begun working on an official tool (dep) to reproduce builds, with committing vendor becoming optional.

TODO:

  • Tests!
  • some kind of package/ version management, you have to manually go get dependencies now
  • better error handling
  • output in various formats (json?)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages

0