diff --git a/cmd/ipfs/init.go b/cmd/ipfs/init.go index ab6bf17ed..9be22982b 100644 --- a/cmd/ipfs/init.go +++ b/cmd/ipfs/init.go @@ -39,6 +39,8 @@ Available profiles: running IPFS on machines with public IPv4 addresses. '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. 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 diff --git a/repo/config/discovery.go b/repo/config/discovery.go index 30c24ea19..64f7af64a 100644 --- a/repo/config/discovery.go +++ b/repo/config/discovery.go @@ -1,7 +1,7 @@ package config type Discovery struct { - MDNS MDNS + MDNS MDNS //Routing sets default daemon routing mode. Routing string diff --git a/repo/config/profile.go b/repo/config/profile.go index 74383cda6..6aa5f5053 100644 --- a/repo/config/profile.go +++ b/repo/config/profile.go @@ -73,6 +73,11 @@ var Profiles = map[string]Transformer{ c.Datastore.Spec = DefaultDatastoreConfig().Spec return nil }, + "lowpower": func(c *Config) error { + c.Discovery.Routing = "dhtclient" + c.Reprovider.Interval = "0" + return nil + }, } func appendSingle(a []string, b []string) []string { diff --git a/test/sharness/t0020-init.sh b/test/sharness/t0020-init.sh index 65f811bc6..2252f938c 100755 --- a/test/sharness/t0020-init.sh +++ b/test/sharness/t0020-init.sh @@ -167,6 +167,20 @@ test_expect_success "clean up ipfs dir" ' rm -rf "$IPFS_PATH" ' +test_expect_success "'ipfs init --profile=lowpower' succeeds" ' + 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" +' + +test_expect_success "clean up ipfs dir" ' + rm -rf "$IPFS_PATH" +' + test_init_ipfs test_launch_ipfs_daemon diff --git a/test/sharness/t0021-config.sh b/test/sharness/t0021-config.sh index 5ade07d03..17bb0930c 100755 --- a/test/sharness/t0021-config.sh +++ b/test/sharness/t0021-config.sh @@ -45,7 +45,8 @@ CONFIG_SET_JSON_TEST='{ "MDNS": { "Enabled": true, "Interval": 10 - } + }, + "Routing": "dht" }' test_profile_apply_revert() {