kubo/config
Hector Sanjuan a673c2ec95
fix: Provide according to Reprovider.Strategy (#10886)
* Provide according to strategy

Updates boxo to a version with the changes from https://github.com/ipfs/boxo/pull/976, which decentralize the providing responsibilities (from a central providing.Exchange to blockstore, pinner, mfs).

The changes consist in initializing the Pinner, MFS and the blockstore with the provider.System, which is created first.

Since the provider.System is created first, the reproviding KeyChanFunc is set
later when we can create it once we have the Pinner, MFS and the blockstore.

Some additional work applies to the Add() workflow. Normally, blocks would get provided at the Blockstore or the Pinner, but when adding blocks AND a "pinned" strategy is used, the blockstore does not provide, and the
pinner does not traverse the DAG (and thus doesn't provide either), so we need to provide directly from the Adder. This is resolved by wrapping the DAGService in a "providingDAGService" which provides every added block, when using the "pinned" strategy.

`ipfs --offline add` when the ONLINE daemon is running will now announce blocks per the chosen strategy, where before it did not announce them. This is documented in the changelog. A couple of releases ago, adding with `ipfs --offline add` was faster, but this is no longer the case so we are not incurring in any penalties by sticking to the fact that the daemon is online and has a providing strategy that we follow.

Co-authored-by: gammazero <11790789+gammazero@users.noreply.github.com>
Co-authored-by: Marcin Rataj <lidel@lidel.org>
2025-08-08 10:56:44 +02:00
..
serialize refactor: using error is instead of == (#10093) 2023-08-22 14:53:29 +00:00
addresses.go Fix typos 2022-03-18 00:58:36 +01:00
api_test.go feat(rpc): Opt-in HTTP RPC API Authorization (#10218) 2023-11-17 01:29:29 +01:00
api.go feat(rpc): Opt-in HTTP RPC API Authorization (#10218) 2023-11-17 01:29:29 +01:00
autonat.go feat: run AutoNAT V2 service in addition to V1 (#10468) 2024-08-06 21:51:45 +02:00
autotls.go feat(AutoTLS): enabled by default with 1h RegistrationDelay (#10724) 2025-02-25 22:25:58 +01:00
bitswap.go feat: opt-in http retrieval client (#10772) 2025-05-06 19:06:40 +02:00
bootstrap_peers_test.go go-ipfs-config: fix string formatting of bootstrap peers 2019-06-01 09:03:11 -07:00
bootstrap_peers.go Nonfunctional (#10753) 2025-03-11 14:04:16 -07:00
config_test.go feat: Provider.WorkerCount and stats reprovide (#10779) 2025-04-30 15:32:03 +02:00
config.go feat: opt-in http retrieval client (#10772) 2025-05-06 19:06:40 +02:00
datastore.go feat: expose BlockKeyCacheSize and enable WriteThrough datastore options (#10614) 2024-12-19 23:12:05 +00:00
discovery.go config: remove all options that are marked as REMOVED 2024-01-22 15:33:27 +01:00
dns.go style: gofumpt and godot [skip changelog] (#10081) 2023-08-17 14:02:08 +02:00
experiments.go fix(config): wire up Provider.Enabled flag (#10804) 2025-05-15 19:19:18 +02:00
gateway.go core/corehttp!: remove /api/v0 from gateway port 2024-03-05 08:21:13 +00:00
http_retrieval.go feat: HTTP retrieval enabled by default (#10836) 2025-06-17 01:48:46 +02:00
identity.go style: gofumpt and godot [skip changelog] (#10081) 2023-08-17 14:02:08 +02:00
import.go feat(add): add support for naming pinned CIDs (#10877) 2025-08-06 02:16:16 +02:00
init_test.go chore: clean migration 2023-11-29 12:29:59 +01:00
init.go feat(config): connmgr: expose silence period (#10827) 2025-06-17 15:55:57 +02:00
internal.go bitswap/client: configurable broadcast reduction (#10825) 2025-06-17 04:35:21 -07:00
ipns.go feat: add Ipns.MaxCacheTTL 2024-01-26 11:20:34 +01:00
migration_test.go go-ipfs-config: Removed Peers from migration config 2021-05-03 09:08:16 -07:00
migration.go style: gofumpt and godot [skip changelog] (#10081) 2023-08-17 14:02:08 +02:00
mounts.go feat(fuse): Expose MFS as FUSE mount point (#10781) 2025-05-06 21:55:53 +02:00
peering.go chore: bump go-libp2p v0.22.0 & go1.18&go1.19 2022-09-09 17:09:38 +02:00
plugins.go go-ipfs-config: plugins: don't omit empty config values 2019-08-29 13:56:13 -07:00
profile.go fix(config): wire up Provider.Enabled flag (#10804) 2025-05-15 19:19:18 +02:00
provider.go fix(config): wire up Provider.Enabled flag (#10804) 2025-05-15 19:19:18 +02:00
pubsub.go feat: Pubsub.SeenMessagesStrategy (#9543) 2023-01-27 00:24:35 +01:00
remotepin.go go-ipfs-config: add support for pinning mfs (#116) 2021-01-28 18:05:47 -05:00
reprovider.go fix: Provide according to Reprovider.Strategy (#10886) 2025-08-08 10:56:44 +02:00
routing_test.go style: gofumpt and godot [skip changelog] (#10081) 2023-08-17 14:02:08 +02:00
routing.go fix(config): wire up Provider.Enabled flag (#10804) 2025-05-15 19:19:18 +02:00
swarm.go feat(config): connmgr: expose silence period (#10827) 2025-06-17 15:55:57 +02:00
types_test.go style: gofumpt and godot [skip changelog] (#10081) 2023-08-17 14:02:08 +02:00
types.go graphsync: remove support for the server 2023-11-22 06:57:45 +03:00
version.go feat: Add CI for Spell Checking (#10637) 2025-01-30 17:50:51 +01:00