kubo/config
Guillaume Michel 6fcbba4b4a
fix: allow custom http provide when libp2p node is offline (#10974)
* feat: allow custom http provide when offline

* refactor: improve offline HTTP provider handling and tests

- fixed comment/function name mismatch
- added mock server test for HTTP provide success
- clarified test names for offline scenarios

* test: simplify single-node provider tests

use h.NewNode().Init() instead of NewNodes(1) for cleaner test setup

* fix: allow SweepingProvider to work with HTTP-only routing

when no DHT is available but HTTP routers are configured for providing,
return NoopProvider instead of failing. this allows the daemon to start
and HTTP-based providing to work through the routing system.

moved HTTP provider detection to config package as HasHTTPProviderConfigured()
for better code organization and reusability.

this fix is important as SweepingProvider will become the new default in the future.

---------

Co-authored-by: Marcin Rataj <lidel@lidel.org>
2025-09-19 18:55:42 +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
autoconf_client.go feat(config): AutoConf with "auto" placeholders (#10883) 2025-08-20 05:59:11 +02:00
autoconf_test.go feat(config): AutoConf with "auto" placeholders (#10883) 2025-08-20 05:59:11 +02:00
autoconf.go feat(config): AutoConf with "auto" placeholders (#10883) 2025-08-20 05:59:11 +02: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 feat(config): AutoConf with "auto" placeholders (#10883) 2025-08-20 05:59:11 +02:00
bootstrap_peers.go feat(config): AutoConf with "auto" placeholders (#10883) 2025-08-20 05:59:11 +02:00
config_test.go refactor(config): migration 17-to-18 to unify Provider/Reprovider into Provide.DHT (#10951) 2025-09-18 22:17:43 +02:00
config.go refactor(config): migration 17-to-18 to unify Provider/Reprovider into Provide.DHT (#10951) 2025-09-18 22:17:43 +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 feat(config): AutoConf with "auto" placeholders (#10883) 2025-08-20 05:59:11 +02:00
experiments.go fix(config): wire up Provider.Enabled flag (#10804) 2025-05-15 19:19:18 +02:00
gateway.go feat(gateway): improved error page with retrieval state details (#10950) 2025-09-08 19:49:00 +02: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_test.go feat(config): validate Import config at daemon startup (#10957) 2025-09-09 01:53:18 +02:00
import.go feat(config): validate Import config at daemon startup (#10957) 2025-09-09 01:53:18 +02:00
init_test.go chore: clean migration 2023-11-29 12:29:59 +01:00
init.go refactor(config): migration 17-to-18 to unify Provider/Reprovider into Provide.DHT (#10951) 2025-09-18 22:17:43 +02:00
internal.go fix(mfs): unbound cache growth with flush=false (#10971) 2025-09-19 03:39:55 +02:00
ipns.go feat(config): AutoConf with "auto" placeholders (#10883) 2025-08-20 05:59:11 +02:00
migration_test.go go-ipfs-config: Removed Peers from migration config 2021-05-03 09:08:16 -07:00
migration.go feat(config): AutoConf with "auto" placeholders (#10883) 2025-08-20 05:59:11 +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 fix: disable telemetry in test profile (#10931) 2025-08-24 14:30:35 +02:00
profile.go refactor(config): migration 17-to-18 to unify Provider/Reprovider into Provide.DHT (#10951) 2025-09-18 22:17:43 +02:00
provide_test.go docs(provide): validation and reprovide cycle visualization (#10977) 2025-09-19 18:47:30 +02:00
provide.go docs(provide): validation and reprovide cycle visualization (#10977) 2025-09-19 18:47:30 +02:00
provider.go refactor(config): migration 17-to-18 to unify Provider/Reprovider into Provide.DHT (#10951) 2025-09-18 22:17:43 +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 refactor(config): migration 17-to-18 to unify Provider/Reprovider into Provide.DHT (#10951) 2025-09-18 22:17:43 +02:00
routing_test.go style: gofumpt and godot [skip changelog] (#10081) 2023-08-17 14:02:08 +02:00
routing.go fix: allow custom http provide when libp2p node is offline (#10974) 2025-09-19 18:55:42 +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