@@ -11,7 +11,6 @@ import (
11
11
"sort"
12
12
"sync"
13
13
14
- cmds "github.com/ipfs/go-ipfs/commands"
15
14
"github.com/ipfs/go-ipfs/core"
16
15
commands "github.com/ipfs/go-ipfs/core/commands"
17
16
corehttp "github.com/ipfs/go-ipfs/core/corehttp"
@@ -20,6 +19,8 @@ import (
20
19
fsrepo "github.com/ipfs/go-ipfs/repo/fsrepo"
21
20
migrate "github.com/ipfs/go-ipfs/repo/fsrepo/migrations"
22
21
22
+ cmds "gx/ipfs/QmQVvuDwXUGbtYmbmTcbLtGRYXnEbymaR2zEj38GVysqWe/go-ipfs-cmds"
23
+ "gx/ipfs/QmSNbH2A1evCCbJSDC6u3RV3GGDhgu6pRGbXHvrN89tMKf/go-ipfs-cmdkit"
23
24
mprome "gx/ipfs/QmSk46nSD78YiuNojYMS8NW6hSCjH95JajqqzzoychZgef/go-metrics-prometheus"
24
25
"gx/ipfs/QmX3QZ5jHEPidwUrymXV1iSCSUhdGxj15sm2gP4jKMef7B/client_golang/prometheus"
25
26
"gx/ipfs/QmX3U3YXCQ6UYBxq2LVWF8dARS1hPUTEYLrSx654Qyxyw6/go-multiaddr-net"
@@ -51,7 +52,7 @@ const (
51
52
)
52
53
53
54
var daemonCmd = & cmds.Command {
54
- Helptext : cmds .HelpText {
55
+ Helptext : cmdkit .HelpText {
55
56
Tagline : "Run a network-connected IPFS node." ,
56
57
ShortDescription : `
57
58
'ipfs daemon' runs a persistent ipfs daemon that can serve commands
@@ -142,24 +143,25 @@ Headers.
142
143
` ,
143
144
},
144
145
145
- Options : []cmds.Option {
146
- cmds .BoolOption (initOptionKwd , "Initialize ipfs with default settings if not already initialized" ).Default (false ),
147
- cmds .StringOption (routingOptionKwd , "Overrides the routing option" ).Default ("dht" ),
148
- cmds .BoolOption (mountKwd , "Mounts IPFS to the filesystem" ).Default (false ),
149
- cmds .BoolOption (writableKwd , "Enable writing objects (with POST, PUT and DELETE)" ).Default (false ),
150
- cmds .StringOption (ipfsMountKwd , "Path to the mountpoint for IPFS (if using --mount). Defaults to config setting." ),
151
- cmds .StringOption (ipnsMountKwd , "Path to the mountpoint for IPNS (if using --mount). Defaults to config setting." ),
152
- cmds .BoolOption (unrestrictedApiAccessKwd , "Allow API access to unlisted hashes" ).Default (false ),
153
- cmds .BoolOption (unencryptTransportKwd , "Disable transport encryption (for debugging protocols)" ).Default (false ),
154
- cmds .BoolOption (enableGCKwd , "Enable automatic periodic repo garbage collection" ).Default (false ),
155
- cmds .BoolOption (adjustFDLimitKwd , "Check and raise file descriptor limits if needed" ).Default (true ),
156
- cmds .BoolOption (offlineKwd , "Run offline. Do not connect to the rest of the network but provide local API." ).Default (false ),
157
- cmds .BoolOption (migrateKwd , "If true, assume yes at the migrate prompt. If false, assume no." ),
158
- cmds .BoolOption (enableFloodSubKwd , "Instantiate the ipfs daemon with the experimental pubsub feature enabled." ),
159
- cmds .BoolOption (enableMultiplexKwd , "Add the experimental 'go-multiplex' stream muxer to libp2p on construction." ).Default (true ),
146
+ Options : []cmdkit.Option {
147
+ cmdkit .BoolOption (initOptionKwd , "Initialize ipfs with default settings if not already initialized" ).Default (false ),
148
+ cmdkit .StringOption (routingOptionKwd , "Overrides the routing option" ).Default ("dht" ),
149
+ cmdkit .BoolOption (mountKwd , "Mounts IPFS to the filesystem" ).Default (false ),
150
+ cmdkit .BoolOption (writableKwd , "Enable writing objects (with POST, PUT and DELETE)" ).Default (false ),
151
+ cmdkit .StringOption (ipfsMountKwd , "Path to the mountpoint for IPFS (if using --mount). Defaults to config setting." ),
152
+ cmdkit .StringOption (ipnsMountKwd , "Path to the mountpoint for IPNS (if using --mount). Defaults to config setting." ),
153
+ cmdkit .BoolOption (unrestrictedApiAccessKwd , "Allow API access to unlisted hashes" ).Default (false ),
154
+ cmdkit .BoolOption (unencryptTransportKwd , "Disable transport encryption (for debugging protocols)" ).Default (false ),
155
+ cmdkit .BoolOption (enableGCKwd , "Enable automatic periodic repo garbage collection" ).Default (false ),
156
+ cmdkit .BoolOption (adjustFDLimitKwd , "Check and raise file descriptor limits if needed" ).Default (true ),
157
+ cmdkit .BoolOption (offlineKwd , "Run offline. Do not connect to the rest of the network but provide local API." ).Default (false ),
158
+ cmdkit .BoolOption (migrateKwd , "If true, assume yes at the migrate prompt. If false, assume no." ),
159
+ cmdkit .BoolOption (enableFloodSubKwd , "Instantiate the ipfs daemon with the experimental pubsub feature enabled." ),
160
+ cmdkit .BoolOption (enableMultiplexKwd , "Add the experimental 'go-multiplex' stream muxer to libp2p on construction." ).Default (true ),
161
+
160
162
// TODO: add way to override addresses. tricky part: updating the config if also --init.
161
- // cmds .StringOption(apiAddrKwd, "Address for the daemon rpc API (overrides config)"),
162
- // cmds .StringOption(swarmAddrKwd, "Address for the swarm socket (overrides config)"),
163
+ // cmdkit .StringOption(apiAddrKwd, "Address for the daemon rpc API (overrides config)"),
164
+ // cmdkit .StringOption(swarmAddrKwd, "Address for the swarm socket (overrides config)"),
163
165
},
164
166
Subcommands : map [string ]* cmds.Command {},
165
167
Run : daemonFunc ,
@@ -178,7 +180,7 @@ func defaultMux(path string) corehttp.ServeOption {
178
180
179
181
var fileDescriptorCheck = func () error { return nil }
180
182
181
- func daemonFunc (req cmds.Request , res cmds.Response ) {
183
+ func daemonFunc (req cmds.Request , re cmds.ResponseEmitter ) {
182
184
// Inject metrics before we do anything
183
185
184
186
err := mprome .Inject ()
@@ -216,7 +218,7 @@ func daemonFunc(req cmds.Request, res cmds.Response) {
216
218
// running in an uninitialized state.
217
219
initialize , _ , err := req .Option (initOptionKwd ).Bool ()
218
220
if err != nil {
219
- res .SetError (err , cmds .ErrNormal )
221
+ re .SetError (err , cmdkit .ErrNormal )
220
222
return
221
223
}
222
224
@@ -226,7 +228,7 @@ func daemonFunc(req cmds.Request, res cmds.Response) {
226
228
if ! fsrepo .IsInitialized (cfg ) {
227
229
err := initWithDefaults (os .Stdout , cfg )
228
230
if err != nil {
229
- res .SetError (err , cmds .ErrNormal )
231
+ re .SetError (err , cmdkit .ErrNormal )
230
232
return
231
233
}
232
234
}
@@ -237,7 +239,7 @@ func daemonFunc(req cmds.Request, res cmds.Response) {
237
239
repo , err := fsrepo .Open (ctx .ConfigRoot )
238
240
switch err {
239
241
default :
240
- res .SetError (err , cmds .ErrNormal )
242
+ re .SetError (err , cmdkit .ErrNormal )
241
243
return
242
244
case fsrepo .ErrNeedMigration :
243
245
domigrate , found , _ := req .Option (migrateKwd ).Bool ()
@@ -250,7 +252,7 @@ func daemonFunc(req cmds.Request, res cmds.Response) {
250
252
if ! domigrate {
251
253
fmt .Println ("Not running migrations of fs-repo now." )
252
254
fmt .Println ("Please get fs-repo-migrations from https://dist.ipfs.io" )
253
- res .SetError (fmt .Errorf ("fs-repo requires migration" ), cmds .ErrNormal )
255
+ re .SetError (fmt .Errorf ("fs-repo requires migration" ), cmdkit .ErrNormal )
254
256
return
255
257
}
256
258
@@ -260,13 +262,13 @@ func daemonFunc(req cmds.Request, res cmds.Response) {
260
262
fmt .Printf (" %s\n " , err )
261
263
fmt .Println ("If you think this is a bug, please file an issue and include this whole log output." )
262
264
fmt .Println (" https://github.com/ipfs/fs-repo-migrations" )
263
- res .SetError (err , cmds .ErrNormal )
265
+ re .SetError (err , cmdkit .ErrNormal )
264
266
return
265
267
}
266
268
267
269
repo , err = fsrepo .Open (ctx .ConfigRoot )
268
270
if err != nil {
269
- res .SetError (err , cmds .ErrNormal )
271
+ re .SetError (err , cmdkit .ErrNormal )
270
272
return
271
273
}
272
274
case nil :
@@ -275,7 +277,7 @@ func daemonFunc(req cmds.Request, res cmds.Response) {
275
277
276
278
cfg , err := ctx .GetConfig ()
277
279
if err != nil {
278
- res .SetError (err , cmds .ErrNormal )
280
+ re .SetError (err , cmdkit .ErrNormal )
279
281
return
280
282
}
281
283
@@ -297,12 +299,12 @@ func daemonFunc(req cmds.Request, res cmds.Response) {
297
299
298
300
routingOption , _ , err := req .Option (routingOptionKwd ).String ()
299
301
if err != nil {
300
- res .SetError (err , cmds .ErrNormal )
302
+ re .SetError (err , cmdkit .ErrNormal )
301
303
return
302
304
}
303
305
switch routingOption {
304
306
case routingOptionSupernodeKwd :
305
- res .SetError (errors .New ("supernode routing was never fully implemented and has been removed" ), cmds .ErrNormal )
307
+ re .SetError (errors .New ("supernode routing was never fully implemented and has been removed" ), cmdkit .ErrNormal )
306
308
return
307
309
case routingOptionDHTClientKwd :
308
310
ncfg .Routing = core .DHTClientOption
@@ -311,14 +313,14 @@ func daemonFunc(req cmds.Request, res cmds.Response) {
311
313
case routingOptionNoneKwd :
312
314
ncfg .Routing = core .NilRouterOption
313
315
default :
314
- res .SetError (fmt .Errorf ("unrecognized routing option: %s" , routingOption ), cmds .ErrNormal )
316
+ re .SetError (fmt .Errorf ("unrecognized routing option: %s" , routingOption ), cmdkit .ErrNormal )
315
317
return
316
318
}
317
319
318
320
node , err := core .NewNode (req .Context (), ncfg )
319
321
if err != nil {
320
322
log .Error ("error from node construction: " , err )
321
- res .SetError (err , cmds .ErrNormal )
323
+ re .SetError (err , cmdkit .ErrNormal )
322
324
return
323
325
}
324
326
node .SetLocal (false )
@@ -349,32 +351,32 @@ func daemonFunc(req cmds.Request, res cmds.Response) {
349
351
// construct api endpoint - every time
350
352
err , apiErrc := serveHTTPApi (req )
351
353
if err != nil {
352
- res .SetError (err , cmds .ErrNormal )
354
+ re .SetError (err , cmdkit .ErrNormal )
353
355
return
354
356
}
355
357
356
358
// construct fuse mountpoints - if the user provided the --mount flag
357
359
mount , _ , err := req .Option (mountKwd ).Bool ()
358
360
if err != nil {
359
- res .SetError (err , cmds .ErrNormal )
361
+ re .SetError (err , cmdkit .ErrNormal )
360
362
return
361
363
}
362
364
if mount && offline {
363
- res .SetError (errors .New ("mount is not currently supported in offline mode" ),
364
- cmds .ErrClient )
365
+ re .SetError (errors .New ("mount is not currently supported in offline mode" ),
366
+ cmdkit .ErrClient )
365
367
return
366
368
}
367
369
if mount {
368
370
if err := mountFuse (req ); err != nil {
369
- res .SetError (err , cmds .ErrNormal )
371
+ re .SetError (err , cmdkit .ErrNormal )
370
372
return
371
373
}
372
374
}
373
375
374
376
// repo blockstore GC - if --enable-gc flag is present
375
377
err , gcErrc := maybeRunGC (req , node )
376
378
if err != nil {
377
- res .SetError (err , cmds .ErrNormal )
379
+ re .SetError (err , cmdkit .ErrNormal )
378
380
return
379
381
}
380
382
@@ -384,7 +386,7 @@ func daemonFunc(req cmds.Request, res cmds.Response) {
384
386
var err error
385
387
err , gwErrc = serveHTTPGateway (req )
386
388
if err != nil {
387
- res .SetError (err , cmds .ErrNormal )
389
+ re .SetError (err , cmdkit .ErrNormal )
388
390
return
389
391
}
390
392
}
@@ -398,7 +400,7 @@ func daemonFunc(req cmds.Request, res cmds.Response) {
398
400
for err := range merge (apiErrc , gwErrc , gcErrc ) {
399
401
if err != nil {
400
402
log .Error (err )
401
- res .SetError (err , cmds .ErrNormal )
403
+ re .SetError (err , cmdkit .ErrNormal )
402
404
}
403
405
}
404
406
}
0 commit comments