1
0
mirror of https://github.com/ipfs/kubo.git synced 2025-06-26 07:28:20 +08:00

config: apply review to lowpower profile

License: MIT
Signed-off-by: Łukasz Magiera <magik6k@gmail.com>
This commit is contained in:
Łukasz Magiera
2017-10-31 19:34:38 +01:00
parent fae9967a03
commit af9b4af581
10 changed files with 28 additions and 16 deletions

View File

@ -151,7 +151,6 @@ Headers.
Options: []cmdkit.Option{
cmdkit.BoolOption(initOptionKwd, "Initialize ipfs with default settings if not already initialized"),
cmdkit.StringOption(initProfileOptionKwd, "Configuration profiles to apply for --init. See ipfs init --help for more"),
cmdkit.StringOption(routingOptionKwd, "Overrides the routing option").WithDefault("dht"),
cmdkit.StringOption(routingOptionKwd, "Overrides the routing option").WithDefault("default"),
cmdkit.BoolOption(mountKwd, "Mounts IPFS to the filesystem"),
cmdkit.BoolOption(writableKwd, "Enable writing objects (with POST, PUT and DELETE)"),
@ -313,7 +312,7 @@ func daemonFunc(req *cmds.Request, re cmds.ResponseEmitter, env cmds.Environment
return
}
routingOption = cfg.Discovery.Routing
routingOption = cfg.Routing.Type
if routingOption == "" {
routingOption = routingOptionDHTKwd
}

View File

@ -40,7 +40,8 @@ Available profiles:
'test' - Reduces external interference of IPFS daemon, this
is useful when using the daemon in test environments.
'lowpower' - Reduces daemon overhead on the system. May affect node
functionality.
functionality - performance of content discovery and data fetching
may be degraded.
ipfs uses a repository in the local file system. By default, the repo is
located at ~/.ipfs. To change the repo location, set the $IPFS_PATH

View File

@ -203,7 +203,6 @@ Valid modes are:
- `dht` (default)
- `dhtclient`
- `none`
- `supernode` (deprecated)
## `Gateway`
Options for the HTTP gateway.

View File

@ -19,6 +19,7 @@ type Config struct {
Addresses Addresses // local node's addresses
Mounts Mounts // local node's mount points
Discovery Discovery // local node's discovery mechanisms
Routing Routing // local node's routing settings
Ipns Ipns // Ipns settings
Bootstrap []string // local nodes's bootstrap peer addresses
Gateway Gateway // local node's gateway server options

View File

@ -2,9 +2,6 @@ package config
type Discovery struct {
MDNS MDNS
//Routing sets default daemon routing mode.
Routing string
}
type MDNS struct {

View File

@ -43,7 +43,10 @@ func Init(out io.Writer, nBitsForKeypair int) (*Config, error) {
Enabled: true,
Interval: 10,
},
Routing: "dht",
},
Routing: Routing{
Type: "dht",
},
// setup the node mount points.

View File

@ -1,5 +1,7 @@
package config
import "time"
// Transformer is a function which takes configuration and applies some filter to it
type Transformer func(c *Config) error
@ -74,8 +76,12 @@ var Profiles = map[string]Transformer{
return nil
},
"lowpower": func(c *Config) error {
c.Discovery.Routing = "dhtclient"
c.Routing.Type = "dhtclient"
c.Reprovider.Interval = "0"
c.Swarm.ConnMgr.LowWater = 20
c.Swarm.ConnMgr.HighWater = 40
c.Swarm.ConnMgr.GracePeriod = time.Minute.String()
return nil
},
}

7
repo/config/routing.go Normal file
View File

@ -0,0 +1,7 @@
package config
// Routing defines configuration options for libp2p routing
type Routing struct {
// Type sets default daemon routing mode.
Type string
}

View File

@ -168,17 +168,17 @@ test_expect_success "clean up ipfs dir" '
'
test_expect_success "'ipfs init --profile=lowpower' succeeds" '
BITS="1024" &&
ipfs init --bits="$BITS" --profile=lowpower
BITS="1024" &&
ipfs init --bits="$BITS" --profile=lowpower
'
test_expect_success "'ipfs config Discovery.Routing' looks good" '
ipfs config Discovery.Routing > actual_config &&
test $(cat actual_config) = "dhtclient"
ipfs config Routing.Type > actual_config &&
test $(cat actual_config) = "dhtclient"
'
test_expect_success "clean up ipfs dir" '
rm -rf "$IPFS_PATH"
rm -rf "$IPFS_PATH"
'
test_init_ipfs

View File

@ -45,8 +45,7 @@ CONFIG_SET_JSON_TEST='{
"MDNS": {
"Enabled": true,
"Interval": 10
},
"Routing": "dht"
}
}'
test_profile_apply_revert() {