package meta import ( "time" common "git.frostfs.info/TrueCloudLab/frostfs-node/cmd/frostfs-lens/internal" meta "git.frostfs.info/TrueCloudLab/frostfs-node/pkg/local_object_storage/metabase" "git.frostfs.info/TrueCloudLab/frostfs-node/pkg/local_object_storage/shard/mode" "github.com/spf13/cobra" "go.etcd.io/bbolt" ) var ( vAddress string vPath string ) type epochState struct{} func (s epochState) CurrentEpoch() uint64 { return 0 } // Root contains `meta` command definition. var Root = &cobra.Command{ Use: "meta", Short: "Operations with a metabase", } func init() { Root.AddCommand( inspectCMD, listGraveyardCMD, listGarbageCMD, ) } func openMeta(cmd *cobra.Command) *meta.DB { db := meta.New( meta.WithPath(vPath), meta.WithBoltDBOptions(&bbolt.Options{ ReadOnly: true, Timeout: 100 * time.Millisecond, }), meta.WithEpochState(epochState{}), ) common.ExitOnErr(cmd, common.Errf("could not open metabase: %w", db.Open(cmd.Context(), mode.ReadOnly))) return db }