提交 1f6dd26c 作者: Jeromy

add bootstrap add-default and rm-all subcommands to deprecate flags

License: MIT
Signed-off-by: 's avatarJeromy <why@ipfs.io>
上级 b034a0d8
......@@ -51,7 +51,10 @@ in the bootstrap list).
},
Options: []cmds.Option{
cmds.BoolOption("default", "Add default bootstrap nodes.").Default(false),
cmds.BoolOption("default", "Add default bootstrap nodes. (Deprecated, use 'default' subcommand instead)"),
},
Subcommands: map[string]*cmds.Command{
"default": bootstrapAddDefaultCmd,
},
Run: func(req cmds.Request, res cmds.Response) {
......@@ -124,6 +127,58 @@ in the bootstrap list).
},
}
var bootstrapAddDefaultCmd = &cmds.Command{
Helptext: cmds.HelpText{
Tagline: "Add default peers to the bootstrap list.",
ShortDescription: `Outputs a list of peers that were added (that weren't already
in the bootstrap list).`,
},
Run: func(req cmds.Request, res cmds.Response) {
defltPeers, err := config.DefaultBootstrapPeers()
if err != nil {
res.SetError(err, cmds.ErrNormal)
return
}
r, err := fsrepo.Open(req.InvocContext().ConfigRoot)
if err != nil {
res.SetError(err, cmds.ErrNormal)
return
}
defer r.Close()
cfg, err := r.Config()
if err != nil {
res.SetError(err, cmds.ErrNormal)
return
}
added, err := bootstrapAdd(r, cfg, defltPeers)
if err != nil {
res.SetError(err, cmds.ErrNormal)
return
}
res.SetOutput(&BootstrapOutput{config.BootstrapPeerStrings(added)})
},
Type: BootstrapOutput{},
Marshalers: cmds.MarshalerMap{
cmds.Text: func(res cmds.Response) (io.Reader, error) {
v, ok := res.Output().(*BootstrapOutput)
if !ok {
return nil, u.ErrCast()
}
buf := new(bytes.Buffer)
if err := bootstrapWritePeers(buf, "added ", v.Peers); err != nil {
return nil, err
}
return buf, nil
},
},
}
var bootstrapRemoveCmd = &cmds.Command{
Helptext: cmds.HelpText{
Tagline: "Removes peers from the bootstrap list.",
......@@ -135,7 +190,10 @@ var bootstrapRemoveCmd = &cmds.Command{
cmds.StringArg("peer", false, true, peerOptionDesc).EnableStdin(),
},
Options: []cmds.Option{
cmds.BoolOption("all", "Remove all bootstrap peers.").Default(false),
cmds.BoolOption("all", "Remove all bootstrap peers. (Deprecated, use 'all' subcommand)"),
},
Subcommands: map[string]*cmds.Command{
"all": bootstrapRemoveAllCmd,
},
Run: func(req cmds.Request, res cmds.Response) {
all, _, err := req.Option("all").Bool()
......@@ -190,6 +248,48 @@ var bootstrapRemoveCmd = &cmds.Command{
},
}
var bootstrapRemoveAllCmd = &cmds.Command{
Helptext: cmds.HelpText{
Tagline: "Removes all peers from the bootstrap list.",
ShortDescription: `Outputs the list of peers that were removed.`,
},
Run: func(req cmds.Request, res cmds.Response) {
r, err := fsrepo.Open(req.InvocContext().ConfigRoot)
if err != nil {
res.SetError(err, cmds.ErrNormal)
return
}
defer r.Close()
cfg, err := r.Config()
if err != nil {
res.SetError(err, cmds.ErrNormal)
return
}
removed, err := bootstrapRemoveAll(r, cfg)
if err != nil {
res.SetError(err, cmds.ErrNormal)
return
}
res.SetOutput(&BootstrapOutput{config.BootstrapPeerStrings(removed)})
},
Type: BootstrapOutput{},
Marshalers: cmds.MarshalerMap{
cmds.Text: func(res cmds.Response) (io.Reader, error) {
v, ok := res.Output().(*BootstrapOutput)
if !ok {
return nil, u.ErrCast()
}
buf := new(bytes.Buffer)
err := bootstrapWritePeers(buf, "removed ", v.Peers)
return buf, err
},
},
}
var bootstrapListCmd = &cmds.Command{
Helptext: cmds.HelpText{
Tagline: "Show peers in the bootstrap list.",
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论