1
0
mirror of https://github.com/ipfs/kubo.git synced 2025-08-06 19:44:01 +08:00

47 Commits

Author SHA1 Message Date
b3973fa016 refactor: make datastore metrics opt-in (#10788)
* datastore: metrics optional and off by default

When ipfs is initialized, the datastore metrics wrapper is not configured by default as it previously was. To enable datastore metrics during initialization, specifying the appropriate `--profile` option.

To enable datastore metrics tracking wrapper, initialize with datastore profile name + "-measure" suffix. For example:
```
ipfs init --profile flatfs-measure
```

Closes #10767

* fix sharness tests for new datastore dafaults

* Add sharness test to check metrics added by flatfs-measure profile

* Document updated metrics in changelog

* update config doc with new profiles

* docs(changelog): separate section

* initialize non-measure pebbleds with FormatMajorVersion config

* docs: fix typos, add docs link

---------

Co-authored-by: gammazero <gammazero@users.noreply.github.com>
Co-authored-by: Marcin Rataj <lidel@lidel.org>
2025-04-30 22:01:24 +02:00
6b55e64918 feat(config): ipfs add and Import options for controling UnixFS DAG Width (#10774)
Co-authored-by: Marcin Rataj <lidel@lidel.org>
2025-04-15 22:56:38 +02:00
d6a5bc0b68 feat(AutoTLS): enabled by default with 1h RegistrationDelay (#10724)
Enables AutoTLS by default, but delays registration by 1h
if user did not explicitly set `AutoTLS.Enabled` to `true`
2025-02-25 22:25:58 +01:00
7383e1ecbb chore: fix typos and comment formatting (#10653)
* fix typos and comment formatting
2025-01-06 18:17:39 -08:00
52b00624cd feat: pebbleds profile and plugin (#10530)
* include pebble as built-in plugin

Pebble provides a high-performance alternative to leveldb as the datastore, and will serve as a replacement for badger1.

There are a number of tuning parameters available for tuning pebble's performance to your specific needs. Default values are used for any that are not configured or are set to the parameter's zero-value.

Requires https://github.com/ipfs/go-ds-pebble/pull/39

Closes #10347

* docs: remove mention of ipfs-ds-convert. Rationale: https://github.com/ipfs/ipfs-ds-convert/issues/50
* docs: pebbleds profile
* test: meaningful t0025-datastores.sh
* Update config/init.go
* Update docs/config.md
* Do not hard-code zero values into pebble config
2024-10-03 13:58:14 -07:00
a8ecf014a9 feat: explicit announce-on/off profiles (#10524)
moving reprovide on/off to separate profile to avoid footgun
where node no longer announces to DHT + ipfs daemon check
that prints warning on start if reprovide system is disabled
2024-10-03 21:39:52 +02:00
60588afc9e docs(config): improve profile descriptions (#10517)
* docs(config): improve profile descriptions
* chore: move profiles and types to the end
2024-09-20 15:40:45 +02:00
8022e13a6b config: introduce Import section (#10421)
Co-authored-by: Marcin Rataj <lidel@lidel.org>
2024-05-14 14:17:04 +00:00
11183bb2f5 chore: upgrade go-libp2p-kad-dht (#10378)
* chore: upgrade go-libp2p-kad-dht
* config: make LoopbackAddressesOnLanDHT a Flag
* config: add DefaultLoopbackAddressesOnLanDHT
* docs(config): Routing.LoopbackAddressesOnLanDHT

---------

Co-authored-by: Marcin Rataj <lidel@lidel.org>
2024-04-04 12:56:19 +00:00
6d535072dc fix: switch lowpower profile to autoclient
We missed this in 
https://github.com/ipfs/kubo/pull/9708
2024-04-04 08:23:54 +02:00
Kay
f12b372af9 style: gofumpt and godot [skip changelog] (#10081) 2023-08-17 14:02:08 +02:00
70e604ff99 feat: Routing.Type=auto (DHT+IPNI) (#9475)
This changes the default routing to use both DHT and IPNI
at the same time. Closes #9454 Closes #9422

Full context:
https://github.com/ipfs/kubo/issues/9454
https://github.com/ipfs/kubo/issues/9422

Co-authored-by: Steve Loeppky <biglep@protocol.ai>
Co-authored-by: Gus Eggert <gus@gus.dev>
Co-authored-by: Steve Loeppky <biglep@protocol.ai>
2022-12-08 23:20:24 +01:00
72bad5c060 feat: increase default Reprovider.Interval (#9326)
* increase republish interval based on RFM17
* refactor(config): switch to implicit default

Co-authored-by: Marcin Rataj <lidel@lidel.org>
2022-12-08 21:28:40 +01:00
e34c0da2b5 refactor(config): remove Swarm.ConnMgr defaults
This moves defaults to Kubo code, cleaning up config.
If value is in config, we assume it is an explicit choice made by user.
Makes migrations easier.
2022-11-15 20:26:59 +01:00
d1b9e41fc2 feat: Delegated routing with custom configuration. (#9274)
New multi-router configuration system based on https://hackmd.io/G1KRDEX5T3qyfoBMkIrBew#Methods

- Added a new routing type: "custom"
- Added specific struct types for different Routers (instead of map[string]interface{})
- Added `Duration` config type, to make easier time string parsing
- Added config documentation.
- Use the latest go-delegated-routing library version with GET support.
- Added changelog notes for this feature.

It:
- closes #9157
- closes #9079
- closes #9186
2022-09-22 15:47:45 +02:00
92c4dc61a8 feat(routing): Delegated Routing (#8997)
* Delegated Routing.

Implementation of Reframe specs (https://github.com/ipfs/specs/blob/master/REFRAME.md) using go-delegated-routing library.

* Requested changes.

* Init using op string

* Separate possible ContentRouters for TopicDiscovery.

If we don't do this, we have a ciclic dependency creating TieredRouter.
Now we can create first all possible content routers, and after that,
create Routers.

* Set dht default routing type

* Add tests and remove uneeded code

* Add documentation.

* docs: Routing.Routers

* Requested changes.

Signed-off-by: Antonio Navarro Perez <antnavper@gmail.com>

* Add some documentation on new fx functions.

* Add changelog entry and integration tests

* test: sharness for 'dht' in 'routing' commands

Since 'routing' is currently the same as 'dht' (minus query command)
we need to test both, that way we won't have unnoticed divergence
in the default behavior.

* test(sharness): delegated routing via reframe URL

* Add more tests for delegated routing.

* If any put operation fails, the tiered router will fail.

* refactor: Routing.Routers: Parameters.Endpoint

As agreed  in https://github.com/ipfs/kubo/pull/8997#issuecomment-1175684716

* Try to improve CHANGELOG entry.

* chore: update reframe spec link

* Update go-delegated-routing dependency

* Fix config error test

* use new changelog format

* Remove port conflict

* go mod tidy

* ProviderManyWrapper to ProviderMany

* Update docs/changelogs/v0.14.md

Co-authored-by: Adin Schmahmann <adin.schmahmann@gmail.com>

Co-authored-by: Marcin Rataj <lidel@lidel.org>
Co-authored-by: Adin Schmahmann <adin.schmahmann@gmail.com>
2022-07-07 17:10:25 -04:00
74e6436814 go-ipfs-config: docs: updated flatfs/badger profile helptext (#167)
This is copy-paste from https://github.com/ipfs/go-ipfs/pull/8662
to ensure consistency.
2022-01-28 23:39:10 +01:00
f5fb70ee0f go-ipfs-config: remove duplicate entries in defaultServerFilters 2021-03-24 12:44:46 +01:00
74dcf427fc go-ipfs-config: Remove badger2 profile
This is needed for the upcoming release since there is not yet an official badger2 release with the items needed for use by IPFS.
2020-11-23 17:09:21 -08:00
1ec9262cda go-ipfs-config: Add badger2 profile and config spec 2020-10-09 16:11:07 -07:00
515d6905e3 go-ipfs-config: fix: correct the default-datastore config profile
And use an actual profile instead of just aliasing.
2020-04-27 14:39:17 -07:00
cf3fa1bdb6 go-ipfs-config: feat: disable autonat service when in lowpower mode 2020-04-14 20:29:05 -07:00
cc723f94b8 go-ipfs-config: feat: mark badger as stable
We're still not ready to enable it by default but at least mark it as stable.
2020-03-27 18:40:26 -07:00
95a14f43ac go-ipfs-config: profile: badger profile now defaults to asynchronous writes 2019-12-16 13:28:05 -05:00
c920b46f46 go-ipfs-config: Closes: #6284 Add appropriate IPv6 ranges to defaultServerFilters 2019-05-01 17:33:45 +00:00
16f3d2269a go-ipfs-config: Merge pull request #17 from tarekbadrshalaan/feat/profile/randomports
randomports: give user ability to init ipfs using random port for swarm.
2018-12-11 12:29:53 -08:00
b83ea099ff go-ipfs-config: change randomports Description 2018-11-03 15:41:49 +02:00
77a3e94a63 go-ipfs-config: profile: add badger truncate option 2018-10-29 11:03:54 -03:00
6a618df199 go-ipfs-config: allow multiple API/Gateway addresses
Alternative to #6 that doesn't require a migration.
2018-09-21 09:39:47 -07:00
a55c0fb51d go-ipfs-config: profile: fix test profile tests
License: MIT
Signed-off-by: Łukasz Magiera <magik6k@gmail.com>
2018-04-08 13:59:12 +02:00
97590c70cc go-ipfs-config: fix default-net profile not reverting bootstrap config
License: MIT
Signed-off-by: Łukasz Magiera <magik6k@gmail.com>
2018-04-08 13:59:12 +02:00
0c8a2e192f go-ipfs-config: config/profile: disable UPnP/NAT in server profile, docs
License: MIT
Signed-off-by: Łukasz Magiera <magik6k@gmail.com>
2018-03-26 19:34:52 +02:00
020c55ad62 go-ipfs-config: Fix missing profile docs
License: MIT
Signed-off-by: Łukasz Magiera <magik6k@gmail.com>
2018-03-26 19:16:57 +02:00
88d7dfec2f go-ipfs-config: config: apply review to lowpower profile
License: MIT
Signed-off-by: Łukasz Magiera <magik6k@gmail.com>
2018-03-24 16:11:42 +01:00
8d8b02b797 go-ipfs-config: init: lowpower profile
License: MIT
Signed-off-by: Łukasz Magiera <magik6k@gmail.com>
2018-03-24 16:11:42 +01:00
cdb9c2f316 go-ipfs-config: config-patch: Inverse profiles
License: MIT
Signed-off-by: Łukasz Magiera <magik6k@gmail.com>
2017-12-17 15:29:18 +01:00
4c300c521e go-ipfs-config: config-patch: docs typo, fix server profile
License: MIT
Signed-off-by: Łukasz Magiera <magik6k@gmail.com>
2017-12-16 18:16:43 +01:00
2423a8fb03 go-ipfs-config: config-patch: apply review suggestions
License: MIT
Signed-off-by: Łukasz Magiera <magik6k@gmail.com>
2017-12-15 15:37:37 +01:00
c2a74652fa go-ipfs-config: config: rename profile.Unapply to Revert
License: MIT
Signed-off-by: Łukasz Magiera <magik6k@gmail.com>
2017-12-15 15:37:37 +01:00
151c8dcf4e go-ipfs-config: conifg-patch: apply review
License: MIT
Signed-off-by: Łukasz Magiera <magik6k@gmail.com>
2017-12-15 15:37:37 +01:00
cb7bc06600 go-ipfs-config: config: profile tests, docs
License: MIT
Signed-off-by: Łukasz Magiera <magik6k@gmail.com>
2017-12-15 15:37:37 +01:00
3de82a7c54 go-ipfs-config: config: revert profile subcommand
License: MIT
Signed-off-by: Łukasz Magiera <magik6k@gmail.com>
2017-12-15 15:37:37 +01:00
9e4fa0d44a go-ipfs-config: add option to set syncWrites to badger
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2017-09-05 22:46:01 -07:00
118baa6543 go-ipfs-config: add measure layer to badgerds profile defaults
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2017-09-05 21:24:48 -07:00
6110648544 go-ipfs-config: add badger init profile
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2017-09-04 12:33:15 -07:00
af57db7725 go-ipfs-config: Add test init profile
License: MIT
Signed-off-by: Łukasz Magiera <magik6k@gmail.com>
2017-07-06 22:41:47 +02:00
c475d31c61 go-ipfs-config: Disable MDNS in server profile, move it out from init.go
License: MIT
Signed-off-by: Łukasz Magiera <magik6k@gmail.com>
2017-07-04 22:36:02 +02:00