- Oct 03, 2024
-
-
Andrew Gillis authored
* 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
-
- Sep 29, 2024
-
-
fengzie authored
-
- Aug 28, 2024
-
-
Marcin Rataj authored
* chore: upgrade to go 1.23 https://tip.golang.org/doc/go1.23 * refactor: golangci-lint v1.60.2 (cherry picked from commit 2260e35d)
-
Marcin Rataj authored
* chore: upgrade to go 1.23 https://tip.golang.org/doc/go1.23 * refactor: golangci-lint v1.60.2
-
- Nov 29, 2023
-
-
Henrique Dias authored
-
- Oct 28, 2023
-
-
Hector Sanjuan authored
Fixes #8492 This introduces "nopfs" as a preloaded plugin into Kubo with support for denylists from https://github.com/ipfs/specs/pull/383 It automatically makes Kubo watch *.deny files found in: - /etc/ipfs/denylists - $XDG_CONFIG_HOME/ipfs/denylists - $IPFS_PATH/denylists * test: Gateway.NoFetch and GatewayOverLibp2p adds missing tests for "no fetch" gateways one can expose, in both cases the offline mode is done by passing custom blockservice/exchange into path resolver, which means global path resolver that has nopfs intercept is not used, and the content blocking does not happen on these gateways. * fix: use offline path resolvers where appropriate this fixes the problem described in https://github.com/ipfs/kubo/pull/10161#issuecomment-1782175955 by adding explicit offline path resolvers that are backed by offline exchange, and using them in NoFetch gateways instead of the default online ones --------- Co-authored-by:
Henrique Dias <hacdias@gmail.com> Co-authored-by:
Marcin Rataj <lidel@lidel.org>
-
- Sep 18, 2023
-
-
Icarus9913 authored
Signed-off-by:
Icarus9913 <icaruswu66@qq.com>
-
- Aug 17, 2023
-
-
Kay authored
-
- Jun 29, 2023
-
- Jun 27, 2023
-
-
Jorropo authored
readPluginsConfig was copied from ReadMigrationConfig and switched erroring fields to a bool so it can be omitemptied.
-
- May 31, 2023
-
-
Michael Muré authored
fix #9909
-
- Mar 29, 2023
-
-
Jorropo authored
Resolves #9677, #9676, #9675, #9736
-
- Sep 09, 2022
-
-
Jorropo authored
Fixes: #9225
-
- Sep 08, 2022
-
-
Jorropo authored
-
- Aug 12, 2022
-
-
Gus Eggert authored
This adds a plugin interface that lets the plugin modify the fx options that are passed to fx when the app is initialized. This means plugins can inject their own implementations of IPFS interfaces. This enables granular customization of go-ipfs behavior by plugins, such as: - Bitswap with custom filters (e.g. for CID blocking) Custom interface - implementations such as Pinner or DAGService - Dynamic configuration of libp2p ... One downside of this is that we're exposing the entire dependency graph, init hooks, initialization, etc. to users, so this comes with a caveat that we reserve the right to make breaking changes to the graph structure and initialization logic (although this historically happens rarely). If these things are changed, we should mention them in release notes and changelogs though, since they could impact users of this plugin interface. I'm not particularly fond of DI frameworks (and neither are some of the folks work on/near go-ipfs), but it seems unlikely that somebody will rewrite the dependency wiring and lifecycle hooks of go-ipfs, and add dynamic extension points, so this seems like a palatable compromise. There are also problems that we should clean up in how model the go-ipfs app in fx, such as: - We make extensive use of nested fx.Options, which fx itself discourages because it "limits the user's ability to customize their application". It should be easy to flatten these out into a single []fx.Option slice. - We pass around a list of opaque libp2p opts, which makes it hard to customize after-the-fact...we should consider naming each of these opts and providing them to fx as proper dependencies, so that they can be explicitly overridden. - We call fx.Invoke() in some places with anonymous functions. We should instead only pass exported functions to fx.Invoke(), so that they have exported names, which would make it easier to remove/augment the invocations that happen when the app is initialized. These aren't blocking issues, they just make it harder and more brittle to customize go-ipfs with this plugin.
-
- Jul 06, 2022
-
-
Marcin Rataj authored
-
- May 03, 2022
-
-
Adin Schmahmann authored
-
- Apr 15, 2022
-
-
Adin Schmahmann authored
* remove building the pre-bundled plugins as shared objects in makefile * chore: update go version to minimum of 1.17
-
- Apr 04, 2022
-
-
Gus Eggert authored
* add deprecation warning when tracer plugins are loaded * add response format attribute to span in gateway handler * add note about tracing's experimental status in godoc * add nil check for TTL when adding name span attrs * add basic sharness test for integration with otel collector * add nil check in UnixFSAPI.processLink * test: sharness check all json objs for swarm span * add env var docs to docs/environment-variables.md * chore: pin the otel collector version * add tracing spans per response type (#8841) * docs: tracing with jaeger-ui Co-authored-by:
Marcin Rataj <lidel@lidel.org>
-
- Mar 04, 2022
-
-
Laurent Senta authored
-
- Nov 30, 2021
-
-
Mohsin Zaidi authored
* feat(dag-jose): integrate `go-dag-jose` plugin * test(dag-jose): sharness test for dag-jose plugin Co-authored-by:
Eric Myhre <hash@exultant.us>
-
- Nov 17, 2021
-
-
Dimitris Apostolou authored
-
- Oct 15, 2021
-
-
Steven Allen authored
Otherwise, the user will get a confusing panic. And given that we support "", we might as well support nil.
-
- Sep 28, 2021
-
-
guseggert authored
This preloads the peerlog plugin in the ipfs binary, but keeps it disabled by default. To enabled it, set Enabled=true in its config. The motivation is to simplify building and deploying gateways, and for them to use binaries that are more similar to release bins. (cherry picked from commit a35dd2ea)
- Aug 25, 2021
-
-
guseggert authored
and also about the ugly config semantics
-
guseggert authored
-
guseggert authored
This preloads the peerlog plugin in the ipfs binary, but keeps it disabled by default. To enabled it, set Enabled=true in its config. The motivation is to simplify building and deploying gateways, and for them to use binaries that are more similar to release bins.
-
- Aug 17, 2021
-
-
hannahhoward authored
* feat: switch to using go-ipld-prime for codecs, path resolution, and the `dag put/get` commands * fix: `dag put/get` not roundtripping due to an extra new line being added (https://github.com/ipfs/go-ipfs/issues/3503 ) More detailed information is in the CHANGELOG.md file. Very high level: * IPLD codecs (and their plugins) must use go-ipld-prime * Added support for the dag-json codec * `dag get/put` use IPLD codec names from the multicodec table * `dag get` defaults to dag-json output instead of json, but may output with other codecs * Data model pathing can be achieved using the /ipld prefix. For example, you can use `/ipld/QmFoo/Links/0/Hash` to traverse through a DagPB node * With `dag get/put` the DagPB field names have been changed to match the ones in the protobuf listed in the specification Co-authored-by:
hannahhoward <hannah@hannahhoward.net> Co-authored-by:
Daniel Martí <mvdan@mvdan.cc> Co-authored-by:
acruikshank <acruikshank@example.com> Co-authored-by:
Steven Allen <steven@stebalien.com> Co-authored-by:
Will Scott <will.scott@protocol.ai> Co-authored-by:
Will Scott <will@cypherpunk.email> Co-authored-by:
Rod Vagg <rod@vagg.org> Co-authored-by:
Adin Schmahmann <adin.schmahmann@gmail.com> Co-authored-by:
Eric Myhre <hash@exultant.us>
-
- Jul 17, 2021
-
-
godcong authored
-
- May 16, 2021
-
-
Marten Seemann authored
-
- Dec 09, 2020
-
-
Adrian Lanzafame authored
-
- Oct 12, 2020
-
-
Tomasz Zdybał authored
Go plugins are supported on FreeBSD, but build tags in `plugin/loader/load_*.go` enable IPFS plugins only on Linux and Darwin.
-
- Aug 09, 2020
-
-
Steven Allen authored
partially fixes #7305
-
- May 13, 2020
-
-
Steven Allen authored
fixes #7308
-
- Apr 28, 2020
-
-
Steven Allen authored
-
Steven Allen authored
Avoid ever blocking new connections in the peer logger. Instead: 1. Send all new peers to a highly buffered channel. 2. Emit "dropped event" errors whenever we detect that we're dropping events and falling behind. 3. Don't log protocols, they're too large. 4. Don't log disconnects, we don't need them.
-
- Apr 20, 2020
-
-
Dimitris Apostolou authored
-
- Mar 10, 2020
-
-
Steven Allen authored
-