info

package
v0.0.0-...-9fdd194 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 28, 2024 License: Apache-2.0, MIT Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var StorageInfoCmd = &cmds.Command{
	Helptext: cmds.HelpText{
		Tagline: "Show storage host information.",
		ShortDescription: `
This command displays host information synchronized from the BTFS network.
By default it shows local host node information.`,
	},
	Arguments: []cmds.Argument{
		cmds.StringArg("peer-id", false, false, "Peer ID to show storage-related information. Default to self."),
	},
	Run: func(req *cmds.Request, res cmds.ResponseEmitter, env cmds.Environment) error {
		err := utils.CheckSimpleMode(env)
		if err != nil {
			return err
		}

		cfg, err := cmdenv.GetConfig(env)
		if err != nil {
			return err
		}
		if len(req.Arguments) > 0 {
			if !cfg.Experimental.StorageClientEnabled {
				return fmt.Errorf("storage client api not enabled")
			}
		}

		n, err := cmdenv.GetNode(env)
		if err != nil {
			return err
		}

		// Default to self
		var data *nodepb.Node_Settings
		var peerID string
		if len(req.Arguments) > 0 {
			peerID = req.Arguments[0]
			data, err = helper.GetHostStorageConfigForPeer(req.Context, n, peerID)
		} else {
			data, err = helper.GetHostStorageConfig(req.Context, n)
		}
		if err != nil {
			return err
		}
		roles := make([]nodepb.NodeRole, 0)
		if cfg.Experimental.StorageClientEnabled {
			roles = append(roles, nodepb.NodeRole_RENTER)
		}
		if cfg.Experimental.StorageHostEnabled {
			roles = append(roles, nodepb.NodeRole_HOST)
		}
		if cfg.Experimental.HostRepairEnabled {
			roles = append(roles, nodepb.NodeRole_REPAIRER)
		}
		if cfg.Experimental.HostChallengeEnabled {
			roles = append(roles, nodepb.NodeRole_CHALLENGER)
		}
		data.Roles = roles
		return cmds.EmitOnce(res, data)
	},
	Type: nodepb.Node_Settings{},
}

Functions

This section is empty.

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL