forked from TrueCloudLab/frostfs-node
Move to frostfs-node
Signed-off-by: Pavel Karpy <p.karpy@yadro.com>
This commit is contained in:
parent
42554a9298
commit
923f84722a
934 changed files with 3470 additions and 3451 deletions
48
cmd/frostfs-lens/internal/blobovnicza/inspect.go
Normal file
48
cmd/frostfs-lens/internal/blobovnicza/inspect.go
Normal file
|
@ -0,0 +1,48 @@
|
|||
package blobovnicza
|
||||
|
||||
import (
|
||||
common "github.com/TrueCloudLab/frostfs-node/cmd/frostfs-lens/internal"
|
||||
"github.com/TrueCloudLab/frostfs-node/pkg/local_object_storage/blobovnicza"
|
||||
"github.com/TrueCloudLab/frostfs-sdk-go/object"
|
||||
oid "github.com/TrueCloudLab/frostfs-sdk-go/object/id"
|
||||
"github.com/spf13/cobra"
|
||||
)
|
||||
|
||||
var inspectCMD = &cobra.Command{
|
||||
Use: "inspect",
|
||||
Short: "Object inspection",
|
||||
Long: `Inspect specific object in a blobovnicza.`,
|
||||
Run: inspectFunc,
|
||||
}
|
||||
|
||||
func init() {
|
||||
common.AddAddressFlag(inspectCMD, &vAddress)
|
||||
common.AddComponentPathFlag(inspectCMD, &vPath)
|
||||
common.AddOutputFileFlag(inspectCMD, &vOut)
|
||||
}
|
||||
|
||||
func inspectFunc(cmd *cobra.Command, _ []string) {
|
||||
var addr oid.Address
|
||||
|
||||
err := addr.DecodeString(vAddress)
|
||||
common.ExitOnErr(cmd, common.Errf("invalid address argument: %w", err))
|
||||
|
||||
blz := openBlobovnicza(cmd)
|
||||
defer blz.Close()
|
||||
|
||||
var prm blobovnicza.GetPrm
|
||||
prm.SetAddress(addr)
|
||||
|
||||
res, err := blz.Get(prm)
|
||||
common.ExitOnErr(cmd, common.Errf("could not fetch object: %w", err))
|
||||
|
||||
data := res.Object()
|
||||
|
||||
var o object.Object
|
||||
common.ExitOnErr(cmd, common.Errf("could not unmarshal object: %w",
|
||||
o.Unmarshal(data)),
|
||||
)
|
||||
|
||||
common.PrintObjectHeader(cmd, o)
|
||||
common.WriteObjectToFile(cmd, vOut, data)
|
||||
}
|
38
cmd/frostfs-lens/internal/blobovnicza/list.go
Normal file
38
cmd/frostfs-lens/internal/blobovnicza/list.go
Normal file
|
@ -0,0 +1,38 @@
|
|||
package blobovnicza
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"io"
|
||||
|
||||
common "github.com/TrueCloudLab/frostfs-node/cmd/frostfs-lens/internal"
|
||||
"github.com/TrueCloudLab/frostfs-node/pkg/local_object_storage/blobovnicza"
|
||||
oid "github.com/TrueCloudLab/frostfs-sdk-go/object/id"
|
||||
"github.com/spf13/cobra"
|
||||
)
|
||||
|
||||
var listCMD = &cobra.Command{
|
||||
Use: "list",
|
||||
Short: "Object listing",
|
||||
Long: `List all objects stored in a blobovnicza.`,
|
||||
Run: listFunc,
|
||||
}
|
||||
|
||||
func init() {
|
||||
common.AddComponentPathFlag(listCMD, &vPath)
|
||||
}
|
||||
|
||||
func listFunc(cmd *cobra.Command, _ []string) {
|
||||
// other targets can be supported
|
||||
w := cmd.OutOrStderr()
|
||||
|
||||
wAddr := func(addr oid.Address) error {
|
||||
_, err := io.WriteString(w, fmt.Sprintf("%s\n", addr))
|
||||
return err
|
||||
}
|
||||
|
||||
blz := openBlobovnicza(cmd)
|
||||
defer blz.Close()
|
||||
|
||||
err := blobovnicza.IterateAddresses(blz, wAddr)
|
||||
common.ExitOnErr(cmd, common.Errf("blobovnicza iterator failure: %w", err))
|
||||
}
|
33
cmd/frostfs-lens/internal/blobovnicza/root.go
Normal file
33
cmd/frostfs-lens/internal/blobovnicza/root.go
Normal file
|
@ -0,0 +1,33 @@
|
|||
package blobovnicza
|
||||
|
||||
import (
|
||||
common "github.com/TrueCloudLab/frostfs-node/cmd/frostfs-lens/internal"
|
||||
"github.com/TrueCloudLab/frostfs-node/pkg/local_object_storage/blobovnicza"
|
||||
"github.com/spf13/cobra"
|
||||
)
|
||||
|
||||
var (
|
||||
vAddress string
|
||||
vPath string
|
||||
vOut string
|
||||
)
|
||||
|
||||
// Root contains `blobovnicza` command definition.
|
||||
var Root = &cobra.Command{
|
||||
Use: "blobovnicza",
|
||||
Short: "Operations with a blobovnicza",
|
||||
}
|
||||
|
||||
func init() {
|
||||
Root.AddCommand(listCMD, inspectCMD)
|
||||
}
|
||||
|
||||
func openBlobovnicza(cmd *cobra.Command) *blobovnicza.Blobovnicza {
|
||||
blz := blobovnicza.New(
|
||||
blobovnicza.WithPath(vPath),
|
||||
blobovnicza.WithReadOnly(true),
|
||||
)
|
||||
common.ExitOnErr(cmd, blz.Open())
|
||||
|
||||
return blz
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue