1
0
mirror of https://github.com/ipfs/kubo.git synced 2025-05-17 06:57:40 +08:00

15431 Commits

Author SHA1 Message Date
7383e1ecbb chore: fix typos and comment formatting (#10653)
* fix typos and comment formatting
2025-01-06 18:17:39 -08:00
b7cc47aef5 fix/gateway: escape directory redirect url (#10649)
* fix/gateway: escape directory redirect URLs

When a director gets redirected to a URL with a treailing slash, special chars in the directory name must be escaped in the redirect URL. This upgrades to a version of box that has that fix.

Closes #10536

* Fix sharness test for new redirect URLs
* Update to latest boxo
* Use latest gateway-conformance
2025-01-03 16:37:18 -08:00
016c2a7d16 Merge pull request #10650 from ipfs/chore/config-cmd-help
Add example of setting array to config command help
2025-01-03 12:58:27 +01:00
a4d13e3f6b Add example of setting array to config command help
Closes #10645
2025-01-02 10:55:19 -10:00
9425421114 collection of typo fixes (#10647) 2024-12-29 21:27:41 -08:00
1b5aa0bfac chore: 0.33.0-rc1 v0.33.0-rc1 2024-12-20 19:30:17 +01:00
1fe8c69b18 chore: bump master to 0.34.0-dev 2024-12-20 19:28:21 +01:00
9282f08188 fix: ipfs-webui v4.4.2 (#10635)
https://github.com/ipfs/ipfs-webui/releases/tag/v4.4.2
2024-12-20 19:24:21 +01:00
397c346ae0 feat(libp2p): shared TCP listeners and AutoTLS.AutoWSS (#10565)
* feat(libp2p): enable shared TCP listeners

* docs: switch mentions of /ws to /tcp/4001

* feat: AutoTLS.AutoWSS

This adds AutoTLS.AutoWSS flag that is set to true by default.

It will check if Addresses.Swarm contain explicit /ws listener,
and if not found, it will append one per every /tcp listener

This way existing TCP ports are reused without any extra configuration,
but we don't break user's who have custom / explicit /ws listener
already.

I also moved logger around, to include Addresses.Swarm inspection
results in `autotls` logger.

* chore: go-libp2p v0.38.1

https://github.com/libp2p/go-libp2p/releases/tag/v0.38.0
https://github.com/libp2p/go-libp2p/releases/tag/v0.38.1

* docs: AutoTLS.AutoWSS and go-libp2p v0.38.x

* chore: p2p-forge/client v0.2.0

https://github.com/ipshipyard/p2p-forge/releases/tag/v0.2.0

* fix: disable libp2p.ShareTCPListener() in PNET

* chore(ci): timeout sharness after 15m

average successful run is  <9 minutes, no need to wait for 20
https://github.com/ipfs/kubo/actions/workflows/sharness.yml?query=is%3Asuccess

---------

Co-authored-by: Andrew Gillis <11790789+gammazero@users.noreply.github.com>
Co-authored-by: Marcin Rataj <lidel@lidel.org>
2024-12-20 18:41:25 +01:00
f2c190535c feat(flatfs): default to sync=false (#10632) 2024-12-19 16:14:45 -08:00
4e91ea3220 Minor spelling and wording changes (#10634)
*Update readme

Closes #10627
2024-12-19 16:06:56 -08:00
295fd96bd0 docs: clarify Swarm.ResourceMgr.MaxMemory (#10622)
related to ux problem described in #10621
2024-12-20 00:48:21 +01:00
519ae27dce feat: expose BlockKeyCacheSize and enable WriteThrough datastore options (#10614)
* feat: expose BlockKeyCacheSize and enable WriteThrough when bloom filter disabled
* import/config: add BatchMaxSize and BatchMaxNodes
* config: make BlockKeyCacheSize an OptionalInteger
* config: add and wire datastore.WriteThrough option
* config: omitempty on BlockKeyCacheSize
* changelog: rewrite entry about new options for the datastore
* config: add docs for BatchMaxNodes and BatchMaxSize
* config: make WriteThrough an optional Flag
* changelog: improve description of new datastore/import options
* refactor: DefaultWriteThrough as bool
* chore: boxo v0.26.0
* docs: config and changelog fixes
2024-12-19 23:12:05 +00:00
ecb25581c6 cmd/files: flush parent folders (#10630)
* cmd/files: flush parent folders

This is a mitigation to increased MFS memory usage in the course of many writes operations.

The underlying issue is the unbounded growth of the mfs directory cache in
boxo. In the latest boxo version, this cache can be cleared by calling Flush()
on the folder. In order to trigger that, we call Flush() on the parent folder
of the file/folder where the write-operations are happening.

To flushing the parent folder allows it to grow unbounded. Then, any read
operation to that folder or parents (i.e. stat), will trigger a sync-operation to match
the cache to the underlying unixfs structure (and obtain the correct node-cid).

This sync operation must visit every item in the cache. When the cache has grown too much,
and the underlying unixfs-folder has switched into a HAMT, the operation can take minutes.

Thus, we should clear the cache often and the Flush flag is a good indicator
that we can let it go. Users can always run with --flush=false and flush at
regular intervals during their MFS writes if they want to extract some performance.

Fixes #8694, #10588.

* cmd/files: docs and changelog for --flush changes
2024-12-19 14:07:17 -08:00
7c49860061 Upgrade to Boxo v0.26.0 (#10631)
* Upgrade to Boxo v0.26.0
* Update docs/changelogs/v0.33.md
2024-12-19 13:54:02 -08:00
898f024f3c [skip changelog] pinmfs: mitigate slow mfs writes when it triggers (#10623)
* pinmfs: mitigate slow mfs writes when it triggers

This mitigates slow mfs writes when the pinmfs daemon calls mfs.RootNode()

When writing lots of files to MFS, this call triggers a mfs directory cache
sync operations. The cache grows forever and is unbounded. The more files
added to a directory, the longer it takes. In the meantime, writing to mfs is
locked.

The pinmfs, even when no remote pinning services are configured, will trigger
this issue. When RootNode() takes more than 30 seconds, the issue will be triggered
continuously causing a write-deadlock onto MFS.

This commit does not fix the fact that if you write 1M items into an MFS
directory, the first time that the directory is traversed it will still have
to sync those 1M items. It does at least prevent writes from stalling after
about ~6000 items.

* pinmfs: fix test
2024-12-17 12:59:12 -08:00
07b8742177 Merge pull request #10625 from ipfs/update-nopfs
[skip changelog] deps: update nopfs
2024-12-13 15:46:45 +01:00
335a27820d Merge branch 'master' into update-nopfs 2024-12-13 02:16:57 -10:00
09d5789946 mod tidy examples 2024-12-13 02:16:38 -10:00
b42eb5a8f9 Update deps (#10624) 2024-12-13 04:12:55 -08:00
53af049cb5 deps: update nopfs 2024-12-13 11:28:57 +01:00
c797fbc95c chore(deps): bump codecov/codecov-action from 5.0.7 to 5.1.1 (#10620)
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 5.0.7 to 5.1.1.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](015f24e681...7f8b4b4bde)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Andrew Gillis <11790789+gammazero@users.noreply.github.com>
2024-12-12 23:07:16 -08:00
642e58ef3b chore: use errors.New to replace fmt.Errorf with no parameters (#10617) 2024-12-10 13:50:35 -08:00
19dc712498 chore: boxo v0.25.0 (#10619)
https://github.com/ipfs/boxo/releases/tag/v0.25.0
2024-12-09 23:25:44 +01:00
433444b609 fix(cmds/add): disallow --wrap with --to-files (#10612)
Close #10611
Co-authored-by: Marcin Rataj <lidel@lidel.org>
2024-12-03 21:49:18 +01:00
224d6a3ba4 refactor(cmds): do not return errors embedded in result type (#10527)
incl. https://github.com/ipfs/boxo/pull/738
2024-12-03 20:15:33 +01:00
53e793afdd fix: ipfs-webui v4.4.1 (#10608)
https://github.com/ipfs/ipfs-webui/releases/tag/v4.4.1
2024-12-03 20:11:34 +01:00
8654538cce chore: fix broken url in comment (#10606)
Signed-off-by: hishope <csqiye@126.com>
2024-11-29 20:23:13 +01:00
778a418952 refactor(rcmgr): use default libp2p rcmgr metrics (#9947)
Co-authored-by: Marcin Rataj <lidel@lidel.org>
2024-11-27 20:50:43 +01:00
fa769f7544 chore(deps): bump codecov/codecov-action from 4.6.0 to 5.0.7 (#10597)
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 4.6.0 to 5.0.7.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](b9fd7d16f6...015f24e681)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-27 19:41:55 +01:00
9433105a85 docs(changelog/v0.33): bitswap reprovide changes (#10604) 2024-11-27 19:40:16 +01:00
02995d5d7d tests(cli/harness): use unused Verbose flag to pipe daemon outputs (#10601)
Obtain actual daemon output on the screen while
debugging tests. 
Might be useful in the future even though it needs to
manually set verbose somewhere.
2024-11-27 19:35:15 +01:00
3b2c2698e7 chore: p2p-forge/client v0.1.0 (#10605) 2024-11-27 19:28:11 +01:00
23ef1d70e7 fix: go-libp2p v0.37.2 (#10603)
* chore: go-libp2p v0.37.1

https://github.com/libp2p/go-libp2p/releases/tag/v0.37.1

* chore: go-libp2p v0.37.2

https://github.com/libp2p/go-libp2p/releases/tag/v0.37.2
2024-11-26 19:49:02 +01:00
466f72f518 docs: typos (#10602) 2024-11-26 19:19:48 +01:00
fb58b0ae85 tests/cli: fix flapping tests (#10600)
The issue is that for dht providing to work correctly, at least two nodes must
have dht routing.

Before, dht providing in the test always failed, but the test succeeded when
the tested-CID was the one that the failure happened with (the first in the
list for ProvideMany).
2024-11-26 19:19:07 +01:00
37c5060742 Update to boxo with refactored providerQueryManager. (#10595) 2024-11-26 03:34:06 -08:00
ef58568964 fix some typos in docs (#10598) 2024-11-25 15:15:43 -08:00
0bd0edc782 feat(bootstrap): add JS-based va1.bootstrap.libp2p.io (#10575)
* feat(bootstrap): /dnsaddr/va1.bootstrap.libp2p.io

this adds
https://github.com/libp2p/js-libp2p-amino-dht-bootstrapper
instance at /dnsaddr/va1.bootstrap.libp2p.io
to ensure Kubo does not depend on single language stack
for initial bootstrap

* docs: document where defaults live

* test: updated bootstrappers
2024-11-25 09:04:53 -08:00
d1f654148f fix: increase provider sample size (#10589) 2024-11-25 09:03:42 -08:00
d506003913 Typos Update config.md (#10591)
Fix Typos and Improve Clarity in Documentation
2024-11-19 09:40:25 -08:00
3a1b8eed0f refactor: update to boxo without goprocess (#10567)
* chore: update to boxo without goprocess
* Use boxo fix for registering metrics
* chore: switch to boxo main with PR 723

---------

Co-authored-by: Marcin Rataj <lidel@lidel.org>
2024-11-19 18:04:22 +01:00
f5b855550c Merge pull request #10585 from ipfs/merge-release-v0.32.1
Merge release v0.32.1
2024-11-15 23:58:37 +01:00
d924428ee6 Merge branch 'master' into merge-release-v0.32.1 2024-11-15 23:56:20 +01:00
c2922033c3 fix(ci): timeout and retry docker smoke test 2024-11-15 21:42:52 +01:00
901745353f Merge pull request #10583 from ipfs/release-v0.32.1
Release v0.32.1
v0.32.1
2024-11-15 20:26:50 +01:00
9c611b3c7d fix: go-libp2p-kad-dht v0.28.1 (#10581)
https://github.com/libp2p/go-libp2p-kad-dht/releases/tag/v0.28.1
(cherry picked from commit 83b06f14d2c2322b5eaaebb22ea8717d4c87852d)
2024-11-15 17:54:23 +01:00
ae80605dbf chore: version 0.32.1 2024-11-15 17:53:55 +01:00
83b06f14d2 fix: go-libp2p-kad-dht v0.28.1 (#10581)
https://github.com/libp2p/go-libp2p-kad-dht/releases/tag/v0.28.1
2024-11-15 17:50:18 +01:00
720663d7c8 docs: update RELEASE_CHECKLIST.md (#10564)
Based on 0.32 iteration
2024-11-14 04:04:18 +01:00