Commit Graph

550 Commits

Author SHA1 Message Date
Antonio Navarro Perez
9da7f3a02d
Update to v0.23.4
Signed-off-by: Antonio Navarro Perez <antnavper@gmail.com>
2022-11-10 10:49:08 -05:00
Antonio Navarro Perez
3550758035
chore: Update go-libp2p to v0.23.3
Signed-off-by: Antonio Navarro Perez <antnavper@gmail.com>
2022-11-10 10:48:07 -05:00
Antonio Navarro Perez
254d81a9d5
feat: Improve ResourceManager UX (#9338)
This PR adds several new functionalities to make easier the usage of ResourceManager:

- Now resource manager logs when resources are exceeded are on ERROR instead of warning.
- The resources exceeded error now shows what kind of limit was reached and the scope.
- When there was no limit exceeded, we print a message for the user saying that limits are not exceeded anymore.
- Added `swarm limit all` command to show all set limits with the same format as `swarm stats all`
- Added `min-used-limit-perc` option to `swarm stats all` to only show stats that are above a specific percentage
- Simplify a lot default values.
- **Enable ResourceManager by default.**

Output example:
```
2022-11-09T10:51:40.565+0100    ERROR   resourcemanager libp2p/rcmgr_logging.go:59      Consider inspecting logs and raising the resource manager limits. Documentation: https://github.com/ipfs/kubo/blob/master/docs/config.md#swarmresourcemgr
2022-11-09T10:51:50.565+0100    ERROR   resourcemanager libp2p/rcmgr_logging.go:55      Resource limits were exceeded 483095 times with error "transient: cannot reserve inbound stream: resource limit exceeded".
2022-11-09T10:51:50.565+0100    ERROR   resourcemanager libp2p/rcmgr_logging.go:59      Consider inspecting logs and raising the resource manager limits. Documentation: https://github.com/ipfs/kubo/blob/master/docs/config.md#swarmresourcemgr
2022-11-09T10:52:00.565+0100    ERROR   resourcemanager libp2p/rcmgr_logging.go:55      Resource limits were exceeded 455294 times with error "transient: cannot reserve inbound stream: resource limit exceeded".
2022-11-09T10:52:00.565+0100    ERROR   resourcemanager libp2p/rcmgr_logging.go:59      Consider inspecting logs and raising the resource manager limits. Documentation: https://github.com/ipfs/kubo/blob/master/docs/config.md#swarmresourcemgr
2022-11-09T10:52:10.565+0100    ERROR   resourcemanager libp2p/rcmgr_logging.go:55      Resource limits were exceeded 471384 times with error "transient: cannot reserve inbound stream: resource limit exceeded".
2022-11-09T10:52:10.565+0100    ERROR   resourcemanager libp2p/rcmgr_logging.go:59      Consider inspecting logs and raising the resource manager limits. Documentation: https://github.com/ipfs/kubo/blob/master/docs/config.md#swarmresourcemgr
2022-11-09T10:52:20.565+0100    ERROR   resourcemanager libp2p/rcmgr_logging.go:55      Resource limits were exceeded 8 times with error "peer:12D3KooWKqcaBtcmZKLKCCoDPBuA6AXGJMNrLQUPPMsA5Q6D1eG6: cannot reserve inbound stream: resource limit exceeded".
2022-11-09T10:52:20.565+0100    ERROR   resourcemanager libp2p/rcmgr_logging.go:55      Resource limits were exceeded 192 times with error "peer:12D3KooWPjetWPGQUih9LZTGHdyAM9fKaXtUxDyBhA93E3JAWCXj: cannot reserve inbound stream: resource limit exceeded".
2022-11-09T10:52:20.565+0100    ERROR   resourcemanager libp2p/rcmgr_logging.go:55      Resource limits were exceeded 469746 times with error "transient: cannot reserve inbound stream: resource limit exceeded".
2022-11-09T10:52:20.565+0100    ERROR   resourcemanager libp2p/rcmgr_logging.go:59      Consider inspecting logs and raising the resource manager limits. Documentation: https://github.com/ipfs/kubo/blob/master/docs/config.md#swarmresourcemgr
2022-11-09T10:52:30.565+0100    ERROR   resourcemanager libp2p/rcmgr_logging.go:55      Resource limits were exceeded 484137 times with error "transient: cannot reserve inbound stream: resource limit exceeded".
2022-11-09T10:52:30.565+0100    ERROR   resourcemanager libp2p/rcmgr_logging.go:55      Resource limits were exceeded 29 times with error "peer:12D3KooWPjetWPGQUih9LZTGHdyAM9fKaXtUxDyBhA93E3JAWCXj: cannot reserve inbound stream: resource limit exceeded".
2022-11-09T10:52:30.565+0100    ERROR   resourcemanager libp2p/rcmgr_logging.go:59      Consider inspecting logs and raising the resource manager limits. Documentation: https://github.com/ipfs/kubo/blob/master/docs/config.md#swarmresourcemgr
2022-11-09T10:52:40.565+0100    ERROR   resourcemanager libp2p/rcmgr_logging.go:55      Resource limits were exceeded 468843 times with error "transient: cannot reserve inbound stream: resource limit exceeded".
2022-11-09T10:52:40.566+0100    ERROR   resourcemanager libp2p/rcmgr_logging.go:59      Consider inspecting logs and raising the resource manager limits. Documentation: https://github.com/ipfs/kubo/blob/master/docs/config.md#swarmresourcemgr
2022-11-09T10:52:50.566+0100    ERROR   resourcemanager libp2p/rcmgr_logging.go:55      Resource limits were exceeded 366638 times with error "transient: cannot reserve inbound stream: resource limit exceeded".
2022-11-09T10:52:50.566+0100    ERROR   resourcemanager libp2p/rcmgr_logging.go:59      Consider inspecting logs and raising the resource manager limits. Documentation: https://github.com/ipfs/kubo/blob/master/docs/config.md#swarmresourcemgr
2022-11-09T10:53:00.566+0100    ERROR   resourcemanager libp2p/rcmgr_logging.go:55      Resource limits were exceeded 405526 times with error "transient: cannot reserve inbound stream: resource limit exceeded".
2022-11-09T10:53:00.566+0100    ERROR   resourcemanager libp2p/rcmgr_logging.go:55      Resource limits were exceeded 107 times with error "peer:12D3KooWQZQCwevTDGhkE9iGYk5sBzWRDUSX68oyrcfM9tXyrs2Q: cannot reserve inbound stream: resource limit exceeded".
2022-11-09T10:53:00.566+0100    ERROR   resourcemanager libp2p/rcmgr_logging.go:59      Consider inspecting logs and raising the resource manager limits. Documentation: https://github.com/ipfs/kubo/blob/master/docs/config.md#swarmresourcemgr
2022-11-09T10:53:10.566+0100    ERROR   resourcemanager libp2p/rcmgr_logging.go:55      Resource limits were exceeded 336923 times with error "transient: cannot reserve inbound stream: resource limit exceeded".
2022-11-09T10:53:10.566+0100    ERROR   resourcemanager libp2p/rcmgr_logging.go:59      Consider inspecting logs and raising the resource manager limits. Documentation: https://github.com/ipfs/kubo/blob/master/docs/config.md#swarmresourcemgr
2022-11-09T10:53:20.565+0100    ERROR   resourcemanager libp2p/rcmgr_logging.go:55      Resource limits were exceeded 71 times with error "transient: cannot reserve inbound stream: resource limit exceeded".
2022-11-09T10:53:20.565+0100    ERROR   resourcemanager libp2p/rcmgr_logging.go:59      Consider inspecting logs and raising the resource manager limits. Documentation: https://github.com/ipfs/kubo/blob/master/docs/config.md#swarmresourcemgr
2022-11-09T10:53:30.565+0100    ERROR   resourcemanager libp2p/rcmgr_logging.go:64      Resrouce limits are no longer being exceeded.

```
## Validation tests

- Accelerated DHT client runs with no errors when ResourceManager is active. No problems were observed.
- Running an attack with 200 connections and 1M streams using yamux protocol. Node was usable during the attack. With ResourceManager deactivated, the node was killed by the OS because of the amount of memory consumed.
	- Actions done when the attack was active:
		- Add files 
		- Force a reprovide
		- Use the gateway to resolve an IPNS address.

It closes #9001 
It closes #9351
It closes #9322
2022-11-10 12:25:57 +01:00
Henrique Dias
a210abd743
feat(gateway): TAR response format (#9029)
Implementation of IPIP-288 (https://github.com/ipfs/specs/pull/288)

Co-authored-by: Marcin Rataj <lidel@lidel.org>
2022-11-09 19:20:33 +01:00
Marcin Rataj
d69f7a5ac9 chore: go-multicodec v0.7.0
https://github.com/multiformats/go-multicodec/releases/tag/v0.7.0
2022-11-08 18:33:36 +01:00
Andreas Källberg
2fd4e197a0 feat: Add command line completion for fish 2022-10-30 21:13:53 +00:00
Piotr Galar
0f44f2974a
Merge pull request #9283 from ipfs/docs-release-0.16.0
docs: init release issue template improvement process v0.16.0
2022-10-20 08:25:34 +02:00
Gus Eggert
8c72ea909a
feat: add delegated routing metrics (#9354) 2022-10-19 09:50:30 -04:00
galargh
c656952d78 Apply suggestions from the code review 2022-10-19 14:38:18 +02:00
Piotr Galar
cba1bdf4ea
Apply suggestions from code review
Co-authored-by: Steve Loeppky <biglep@protocol.ai>
2022-10-19 14:37:49 +02:00
Piotr Galar
f54018c39a
chore: create v0.17.md changelog 2022-10-18 18:55:20 +02:00
Rod Vagg
9e3745ebeb deps: upgrade go-ipld-prime to v0.19.0
Ref: https://github.com/ipld/go-ipld-prime/releases/tag/v0.19.0
2022-10-14 05:23:43 +02:00
Piotr Galar
cf4bf8a1c8
Merge branch 'master' into docs-release-0.16.0 2022-10-12 13:41:48 +02:00
galargh
2321be0457 docs: self-review the release issue template updates 2022-10-12 13:29:39 +02:00
galargh
4f76b9f326 docs: apply updates discovered during the final release 2022-10-12 12:13:37 +02:00
Henrique Dias
4291d6b236
fix: add InlineDNSLink flag to PublicGateways config (#9328)
https://github.com/ipfs/kubo/issues/9243
Co-authored-by: Marcin Rataj <lidel@lidel.org>
2022-10-11 15:45:43 +02:00
galargh
9364243414 docs: update changelog-v0.16 with full changelog data 2022-10-04 11:15:00 +02:00
galargh
5d2f3373da docs: update application testing examples 2022-10-01 17:51:51 +02:00
galargh
940e3974b1 docs: copy final release instructions 2022-10-01 13:38:04 +02:00
Marcin Rataj
c4a0656920 docs: document remaining 0.16.0 features 2022-09-28 20:13:03 +02:00
galargh
6c6708af32 docs: guess what's going to be required for the final release 2022-09-27 18:17:54 +02:00
galargh
4b50e59762 docs: move publishing npm package 2022-09-27 17:18:21 +02:00
galargh
c86b75debd docs: move changelog creation instructions earlier 2022-09-27 17:08:37 +02:00
galargh
335d961d15 docs: update release issue template with learnings from v0.16.0-rc1 release 2022-09-27 16:26:38 +02:00
Jorropo
b539cd4e47 docs: add WebTransport docs 2022-09-27 16:14:34 +02:00
Jorropo
baccaef1b5
Merge pull request #9293 from Jorropo/webtransport
feat: add webtransport as an optin transport
2022-09-23 20:09:33 +02:00
Jorropo
8baec10146 feat: add webtransport as an optin transport 2022-09-23 19:50:55 +02:00
Justin Johnson
bcaacdd6c3
feat(gateway): _redirects file support (#8890)
https://github.com/ipfs/kubo/pull/8890
https://github.com/ipfs/specs/pull/290
2022-09-23 18:44:19 +02:00
Jorropo
2549475d84 docs: fix typo in changelog-v0.16.0.md 2022-09-23 11:45:16 +02:00
Antonio Navarro Perez
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
galargh
b11efaf765 docs: add docs-release-vX.Y.Z info to the checklist 2022-09-22 10:43:15 +02:00
galargh
e103254e6f docs: incorporate the RC into the main checklist 2022-09-22 10:41:10 +02:00
galargh
f50fc3211c docs: add information about release prerequisites 2022-09-22 10:10:41 +02:00
Jorropo
74aaf37cec chore: bump go-libp2p v0.23.1
This does not include any WebTransport config code in Kubo, this will be done later in an other PR.
2022-09-21 23:16:03 +02:00
Marcin Rataj
b6b97d90ac fix: require IPNS V2 signatures 2022-09-21 01:09:00 +02:00
eth-limo
8e2bf82f97
docs: fix broken ENS DoH example (#9281) 2022-09-21 00:37:47 +02:00
galargh
cb706d73c1 docs: document currently used Go image version 2022-09-19 11:58:58 +02:00
galargh
f7df8d7318 docs: init release issue template improvement process v0.16.0 2022-09-19 11:48:09 +02:00
Steve Loeppky
289b4e1d60 Update docs/RELEASE_ISSUE_TEMPLATE.md 2022-09-16 10:57:37 -07:00
Steve Loeppky
a6eb9f1238 Update docs/RELEASE_ISSUE_TEMPLATE.md 2022-09-16 10:57:37 -07:00
Steve Loeppky
5abfd14e9b Update docs/RELEASE_ISSUE_TEMPLATE.md 2022-09-16 10:57:37 -07:00
Steve Loeppky
203c2f5e78 Update docs/RELEASE_ISSUE_TEMPLATE.md 2022-09-16 10:57:37 -07:00
Steve Loeppky
07c9b7d815 Update docs/RELEASE_ISSUE_TEMPLATE.md 2022-09-16 10:57:37 -07:00
Antonio Navarro Perez
952a376433 Update RELEASE_ISSUE_TEMPLATE.md 2022-09-16 10:57:37 -07:00
Antonio Navarro Perez
e7d9ce2915 Update RELEASE_ISSUE_TEMPLATE.md 2022-09-16 10:57:37 -07:00
Antonio Navarro Perez
3fe18278af Update RELEASE_ISSUE_TEMPLATE.md 2022-09-16 10:57:37 -07:00
Antonio Navarro Perez
4cb7508c3a Update docs/RELEASE_ISSUE_TEMPLATE.md
Co-authored-by: Marcin Rataj <lidel@lidel.org>
2022-09-16 10:57:37 -07:00
Antonio Navarro Perez
917d2bbf4f Update docs/RELEASE_ISSUE_TEMPLATE.md
Co-authored-by: Marcin Rataj <lidel@lidel.org>
2022-09-16 10:57:37 -07:00
Antonio Navarro Perez
7c0dde45e9 Add how to test IPFS companion. 2022-09-16 10:57:37 -07:00
Antonio Navarro Perez
29810705f7 Update RELEASE_ISSUE_TEMPLATE.md 2022-09-16 10:57:37 -07:00