@cryptotaxi247 / kubo / commits / 8565bbb75

refactor: kubo in ./docs

Marcin Rataj committed Jul 6, 2022 at 22:14 UTC 8565bbb75c0cef40213e0d9df1fc683c75311f50
16 files changed +176 -168
docs/EARLY_TESTERS.md
+3 -3
@@ -2,7 +2,7 @@
2
3 ## What is it?
4
5 -The early testers programme allows groups using go-ipfs in production to self-volunteer to help test `go-ipfs` release candidates to ensure that no regressions that might affect production systems make it into the final release. While we invite the _entire_ community to help test releases, members of the early testers program are expected to participate directly and actively in every release.
5 +The early testers programme allows groups using Kubo in production to self-volunteer to help test `kubo` release candidates to ensure that no regressions that might affect production systems make it into the final release. While we invite the _entire_ community to help test releases, members of the early testers program are expected to participate directly and actively in every release.
6
7 ## What are the expectations?
8
@@ -14,11 +14,11 @@ Members of the early tester program are expected to work closely with us to:
14
15 We will ask early testers to participate at two points in the process:
16
17 -* When go-ipfs enters the second release stage (public beta), early testers will be asked to test go-ipfs on non-production infrastructure. This may involve things like:
17 +* When Kubo enters the second release stage (public beta), early testers will be asked to test Kubo on non-production infrastructure. This may involve things like:
18 - Running integration tests against the release candidate.
19 - Running simulations/benchmarks on the release candidate.
20 - Manually testing the release candidate to check for regressions.
21 -* When go-ipfs enters the third release stage (soft release), early testers will be asked to partially deploy the release candidate to production infrastructure. Release candidates at this stage are expected to be identical to the final release. However, this stage allows the go-ipfs team to fix any last-minute regressions without cutting an entirely new release.
21 +* When Kubo enters the third release stage (soft release), early testers will be asked to partially deploy the release candidate to production infrastructure. Release candidates at this stage are expected to be identical to the final release. However, this stage allows the Kubo team to fix any last-minute regressions without cutting an entirely new release.
22
23 ## Who has signed up?
24
docs/PATCH_RELEASE_TEMPLATE.md
+3 -3
@@ -1,6 +1,6 @@
1 # Patch Release Checklist
2
3 -This process handles patch releases from version `vX.Y.Z` to `vX.Y.Z+1` assuming that `vX.Y.Z` is the latest released version of go-ipfs.
3 +This process handles patch releases from version `vX.Y.Z` to `vX.Y.Z+1` assuming that `vX.Y.Z` is the latest released version of Kubo.
4
5 - [ ] Get temporary permissions to force-push to `release-*` branches
6 - [ ] Fork a new branch (`release-vX.Y.Z`) from `release` and cherry-pick the relevant commits from master (or custom fixes) onto this branch
@@ -15,7 +15,7 @@ This process handles patch releases from version `vX.Y.Z` to `vX.Y.Z+1` assuming
15 2. Pin the resulting release.
16 3. Make a PR against ipfs/distributions with the updated versions, including the new hash in the PR comment.
17 4. Ask the infra team to update the DNSLink record for dist.ipfs.io to point to the new distribution.
18 -- [ ] cut a release on [github](https://github.com/ipfs/go-ipfs/releases) and upload the result of the ipfs/distributions build in the previous step.
18 +- [ ] cut a release on [github](https://github.com/ipfs/kubo/releases) and upload the result of the ipfs/distributions build in the previous step.
19 - Announce the Release:
20 - [ ] On IRC/Matrix (both #ipfs and #ipfs-dev)
21 - [ ] On discuss.ipfs.io
@@ -24,7 +24,7 @@ This process handles patch releases from version `vX.Y.Z` to `vX.Y.Z+1` assuming
24 - [ ] to [npm-go-ipfs](https://github.com/ipfs/npm-go-ipfs)
25 - [ ] to [chocolatey](https://chocolatey.org/packages/ipfs)
26 - [ ] to [snap](https://snapcraft.io/ipfs)
27 - - [ ] to [github](https://github.com/ipfs/go-ipfs/releases)
27 + - [ ] to [github](https://github.com/ipfs/kubo/releases)
28 - [ ] to [arch](https://www.archlinux.org/packages/community/x86_64/go-ipfs/) (flag it out of date)
29 - [ ] Cut a new ipfs-desktop release
30 - [ ] Merge the `release` branch back into `master`, ignoring the changes to `version.go` (keep the `-dev` version from master).
docs/README.md
+4 -4
@@ -6,9 +6,9 @@ If you’re experiencing an issue with IPFS, **please follow [our issue guide](g
6
7 Otherwise, check out the following guides to using and developing IPFS:
8
9 -## Developing `go-ipfs`
9 +## Developing `kubo`
10
11 -- First, please read the Contributing Guidelines [for IPFS projects](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md) and then the Contributing Guidelines for [go-ipfs specifically](https://github.com/ipfs/community/blob/master/CONTRIBUTING_GO.md)
11 +- First, please read the Contributing Guidelines [for IPFS projects](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md) and then the Contributing Guidelines for [Go code specifically](https://github.com/ipfs/community/blob/master/CONTRIBUTING_GO.md)
12 - Building on…
13 - [Windows](windows.md)
14 - [Performance Debugging Guidelines](debug-guide.md)
@@ -17,7 +17,7 @@ Otherwise, check out the following guides to using and developing IPFS:
17 ## Guides
18
19 - [How to Implement an API Client](implement-api-bindings.md)
20 -- [Connecting with Websockets](transports.md) — if you want `js-ipfs` nodes in web browsers to connect to your `go-ipfs` node, you will need to turn on websocket support in your `go-ipfs` node.
20 +- [Connecting with Websockets](transports.md) — if you want `js-ipfs` nodes in web browsers to connect to your `kubo` node, you will need to turn on websocket support in your `kubo` node.
21
22 ## Advanced User Guides
23
@@ -28,7 +28,7 @@ Otherwise, check out the following guides to using and developing IPFS:
28 - [Installing command completion](command-completion.md)
29 - [Mounting IPFS with FUSE](fuse.md)
30 - [Installing plugins](plugins.md)
31 -- [Setting up an IPFS Gateway](https://github.com/ipfs/go-ipfs/blob/master/docs/gateway.md)
31 +- [Setting up an IPFS Gateway](https://github.com/ipfs/kubo/blob/master/docs/gateway.md)
32
33 ## Other
34
docs/RELEASE_ISSUE_TEMPLATE.md
+6 -6
@@ -1,8 +1,8 @@
1 > Release Issue Template
2
3 -# go-ipfs X.Y.Z Release
3 +# Kubo X.Y.Z Release
4
5 -We're happy to announce go-ipfs X.Y.Z, bla bla...
5 +We're happy to announce Kubo X.Y.Z, bla bla...
6
7 As usual, this release includes important fixes, some of which may be critical for security. Unless the fix addresses a bug being exploited in the wild, the fix will _not_ be called out in the release notes. Please make sure to update ASAP. See our [release process](https://github.com/ipfs/go-ipfs/tree/master/docs/releases.md#security-fix-policy) for details.
8
@@ -29,7 +29,7 @@ For each RC published in each stage:
29 2. Pin the resulting release.
30 3. Make a PR against ipfs/distributions with the updated versions, including the new hash in the PR comment.
31 4. Ask the infra team to update the DNSLink record for dist.ipfs.io to point to the new distribution.
32 -- cut a pre-release on [github](https://github.com/ipfs/go-ipfs/releases) and upload the result of the ipfs/distributions build in the previous step.
32 +- cut a pre-release on [github](https://github.com/ipfs/kubo/releases) and upload the result of the ipfs/distributions build in the previous step.
33 - Announce the RC:
34 - [ ] On Matrix (both #ipfs and #ipfs-dev)
35 - [ ] To the _early testers_ listed in [docs/EARLY_TESTERS.md](https://github.com/ipfs/go-ipfs/tree/master/docs/EARLY_TESTERS.md). Do this by copy/pasting their GitHub usernames and checkboxes as a comment so they get a GitHub notification. ([example](https://github.com/ipfs/go-ipfs/issues/8176#issuecomment-909356394))
@@ -40,7 +40,7 @@ Checklist:
40 - [ ] Upgrade to the latest patch release of Go that CircleCI has published
41 - [ ] See the list here: https://hub.docker.com/r/cimg/go/tags
42 - [ ] [ipfs/distributions](https://github.com/ipfs/distributions): bump [this version](https://github.com/ipfs/distributions/blob/master/.tool-versions#L2)
43 - - [ ] [ipfs/go-ipfs](https://github.com/ipfs/go-ipfs): [example PR](https://github.com/ipfs/go-ipfs/pull/8599)
43 + - [ ] [ipfs/kubo](https://github.com/ipfs/kubo): [example PR](https://github.com/ipfs/kubo/pull/8599)
44 - [ ] Fork a new branch (`release-vX.Y.Z`) from `master` and make any further release related changes to this branch. If any "non-trivial" changes (see the footnotes of [docs/releases.md](https://github.com/ipfs/go-ipfs/tree/master/docs/releases.md) for a definition) get added to the release, uncheck all the checkboxes and return to this stage.
45 - [ ] Follow the RC release process to cut the first RC.
46 - [ ] Bump the version in `version.go` in the `master` branch to `vX.(Y+1).0-dev`.
@@ -85,7 +85,7 @@ Checklist:
85 - [ ] Manually run [the release workflow](https://github.com/ipfs/choco-go-ipfs/actions/workflows/main.yml)
86 - [ ] to [snap](https://snapcraft.io/ipfs)
87 - [ ] to [github](https://github.com/ipfs/go-ipfs/releases)
88 - - [ ] use the artifacts built in CI for dist.ipfs.io: `wget "https://ipfs.io/api/v0/get?arg=/ipns/dist.ipfs.io/go-ipfs/$(curl -s https://dist.ipfs.io/go-ipfs/versions | tail -n 1)"`
88 + - [ ] use the artifacts built in CI for dist.ipfs.io: `wget "https://ipfs.io/api/v0/get?arg=/ipns/dist.ipfs.io/kubo/$(curl -s https://dist.ipfs.io/kubo/versions | tail -n 1)"`
89 - [ ] to [arch](https://www.archlinux.org/packages/community/x86_64/go-ipfs/) (flag it out of date)
90 - [ ] Cut a new ipfs-desktop release
91 - [ ] Submit [this form](https://airtable.com/shrNH8YWole1xc70I) to publish a blog post, linking to the GitHub release notes
@@ -124,7 +124,7 @@ The best place to ask your questions about IPFS, how it works and what you can d
124
125 Would you like to contribute to the IPFS project and don't know how? Well, there are a few places you can get started:
126
127 -- Check the issues with the `help wanted` label in the [go-ipfs repo](https://github.com/ipfs/go-ipfs/issues?q=is%3Aopen+is%3Aissue+label%3A%22help+wanted%22)
127 +- Check the issues with the `help wanted` label in the [ipfs/kubo repo](https://github.com/ipfs/kubo/issues?q=is%3Aopen+is%3Aissue+label%3A%22help+wanted%22)
128 - Join an IPFS All Hands, introduce yourself and let us know where you would like to contribute - https://github.com/ipfs/team-mgmt/#weekly-ipfs-all-hands
129 - Hack with IPFS and show us what you made! The All Hands call is also the perfect venue for demos, join in and show us what you built
130 - Join the discussion at [discuss.ipfs.io](https://discuss.ipfs.io/) and help users finding their answers.
docs/config.md
+28 -28
@@ -1,13 +1,13 @@
1 -# The go-ipfs config file
1 +# The Kubo config file
2
3 -The go-ipfs config file is a JSON document located at `$IPFS_PATH/config`. It
3 +The Kubo (go-ipfs) config file is a JSON document located at `$IPFS_PATH/config`. It
4 is read once at node instantiation, either for an offline command, or when
5 starting the daemon. Commands that execute on a running daemon do not read the
6 config file at runtime.
7
8 # Table of Contents
9
10 -- [The go-ipfs config file](#the-go-ipfs-config-file)
10 +- [The Kubo config file](#the-kubo-config-file)
11 - [Table of Contents](#table-of-contents)
12 - [Profiles](#profiles)
13 - [Types](#types)
@@ -245,7 +245,7 @@ This document refers to the standard JSON types (e.g., `null`, `string`,
245
246 Flags allow enabling and disabling features. However, unlike simple booleans,
247 they can also be `null` (or omitted) to indicate that the default value should
248 -be chosen. This makes it easier for go-ipfs to change the defaults in the
248 +be chosen. This makes it easier for Kubo to change the defaults in the
249 future unless the user _explicitly_ sets the flag to either `true` (enabled) or
250 `false` (disabled). Flags have three possible states:
251
@@ -281,7 +281,7 @@ does (e.g, `"1d2h4m40.01s"`).
281 Optional integers allow specifying some numerical value which has
282 an implicit default when missing from the config file:
283
284 -- `null`/missing will apply the default value defined in go-ipfs sources (`.WithDefault(value)`)
284 +- `null`/missing will apply the default value defined in Kubo sources (`.WithDefault(value)`)
285 - an integer between `-2^63` and `2^63-1` (i.e. `-9223372036854775808` to `9223372036854775807`)
286
287 ### `optionalBytes`
@@ -289,7 +289,7 @@ an implicit default when missing from the config file:
289 Optional Bytes allow specifying some number of bytes which has
290 an implicit default when missing from the config file:
291
292 -- `null`/missing (apply the default value defined in go-ipfs sources)
292 +- `null`/missing (apply the default value defined in Kubo sources)
293 - a string value indicating the number of bytes, including human readable representations:
294 - [SI sizes](https://en.wikipedia.org/wiki/Metric_prefix#List_of_SI_prefixes) (metric units, powers of 1000), e.g. `1B`, `2kB`, `3MB`, `4GB`, `5TB`, …)
295 - [IEC sizes](https://en.wikipedia.org/wiki/Binary_prefix#IEC_prefixes) (binary units, powers of 1024), e.g. `1B`, `2KiB`, `3MiB`, `4GiB`, `5TiB`, …)
@@ -299,7 +299,7 @@ an implicit default when missing from the config file:
299 Optional strings allow specifying some string value which has
300 an implicit default when missing from the config file:
301
302 -- `null`/missing will apply the default value defined in go-ipfs sources (`.WithDefault("value")`)
302 +- `null`/missing will apply the default value defined in Kubo sources (`.WithDefault("value")`)
303 - a string
304
305 ### `optionalDuration`
@@ -307,7 +307,7 @@ an implicit default when missing from the config file:
307 Optional durations allow specifying some duration value which has
308 an implicit default when missing from the config file:
309
310 -- `null`/missing will apply the default value defined in go-ipfs sources (`.WithDefault("1h2m3s")`)
310 +- `null`/missing will apply the default value defined in Kubo sources (`.WithDefault("1h2m3s")`)
311 - a string with a valid [go duration](#duration) (e.g, `"1d2h4m40.01s"`).
312
313 ## `Addresses`
@@ -431,7 +431,7 @@ Type: `string` (one of `"enabled"` or `"disabled"`)
431 ### `AutoNAT.Throttle`
432
433 When set, this option configure's the AutoNAT services throttling behavior. By
434 -default, go-ipfs will rate-limit the number of NAT checks performed for other
434 +default, Kubo will rate-limit the number of NAT checks performed for other
435 nodes to 30 per minute, and 3 per peer.
436
437 ### `AutoNAT.Throttle.GlobalLimit`
@@ -671,7 +671,7 @@ Type: `bool`
671
672 ### `Gateway.PathPrefixes`
673
674 -**DEPRECATED:** see [go-ipfs#7702](https://github.com/ipfs/go-ipfs/issues/7702)
674 +**DEPRECATED:** see [kubo#7702](https://github.com/ipfs/kubo/issues/7702)
675
676 <!--
677 An array of acceptable url paths that a client can specify in X-Ipfs-Path-Prefix
@@ -830,7 +830,7 @@ Below is a list of the most common public gateway setups.
830
831 `http://dweb.link/ipfs/{cid}` → `http://{cid}.ipfs.dweb.link`
832
833 - - **X-Forwarded-Proto:** if you run go-ipfs behind a reverse proxy that provides TLS, make it add a `X-Forwarded-Proto: https` HTTP header to ensure users are redirected to `https://`, not `http://`. It will also ensure DNSLink names are inlined to fit in a single DNS label, so they work fine with a wildcart TLS cert ([details](https://github.com/ipfs/in-web-browsers/issues/169)). The NGINX directive is `proxy_set_header X-Forwarded-Proto "https";`.:
833 + - **X-Forwarded-Proto:** if you run Kubo behind a reverse proxy that provides TLS, make it add a `X-Forwarded-Proto: https` HTTP header to ensure users are redirected to `https://`, not `http://`. It will also ensure DNSLink names are inlined to fit in a single DNS label, so they work fine with a wildcart TLS cert ([details](https://github.com/ipfs/in-web-browsers/issues/169)). The NGINX directive is `proxy_set_header X-Forwarded-Proto "https";`.:
834
835 `http://dweb.link/ipfs/{cid}` → `https://{cid}.ipfs.dweb.link`
836
@@ -892,7 +892,7 @@ Type: `string` (base64 encoded)
892
893 ## `Internal`
894
895 -This section includes internal knobs for various subsystems to allow advanced users with big or private infrastructures to fine-tune some behaviors without the need to recompile go-ipfs.
895 +This section includes internal knobs for various subsystems to allow advanced users with big or private infrastructures to fine-tune some behaviors without the need to recompile Kubo.
896
897 **Be aware that making informed change here requires in-depth knowledge and most users should leave these untouched. All knobs listed here are subject to breaking changes between versions.**
898
@@ -1193,7 +1193,7 @@ Type: `bool`
1193
1194 ## `Peering`
1195
1196 -Configures the peering subsystem. The peering subsystem configures go-ipfs to
1196 +Configures the peering subsystem. The peering subsystem configures Kubo to
1197 connect to, remain connected to, and reconnect to a set of nodes. Nodes should
1198 use this subsystem to create "sticky" links between frequently useful peers to
1199 improve reliability.
@@ -1202,15 +1202,15 @@ Use-cases:
1202
1203 * An IPFS gateway connected to an IPFS cluster should peer to ensure that the
1204 gateway can always fetch content from the cluster.
1205 -* A dapp may peer embedded go-ipfs nodes with a set of pinning services or
1205 +* A dapp may peer embedded Kubo nodes with a set of pinning services or
1206 textile cafes/hubs.
1207 * A set of friends may peer to ensure that they can always fetch each other's
1208 content.
1209
1210 -When a node is added to the set of peered nodes, go-ipfs will:
1210 +When a node is added to the set of peered nodes, Kubo will:
1211
1212 1. Protect connections to this node from the connection manager. That is,
1213 - go-ipfs will never automatically close the connection to this node and
1213 + Kubo will never automatically close the connection to this node and
1214 connections to this node will not count towards the connection limit.
1215 2. Connect to this node on startup.
1216 3. Repeatedly try to reconnect to this node if the last connection dies or the
@@ -1366,10 +1366,10 @@ Type: `bool`
1366
1367 Disable automatic NAT port forwarding.
1368
1369 -When not disabled (default), go-ipfs asks NAT devices (e.g., routers), to open
1370 -up an external port and forward it to the port go-ipfs is running on. When this
1369 +When not disabled (default), Kubo asks NAT devices (e.g., routers), to open
1370 +up an external port and forward it to the port Kubo is running on. When this
1371 works (i.e., when your router supports NAT port forwarding), it makes the local
1372 -go-ipfs node accessible from the public internet.
1372 +Kubo node accessible from the public internet.
1373
1374 Default: `false`
1375
@@ -1380,7 +1380,7 @@ Type: `bool`
1380 Enable hole punching for NAT traversal
1381 when port forwarding is not possible.
1382
1383 -When enabled, go-ipfs will coordinate with the counterparty using
1383 +When enabled, Kubo will coordinate with the counterparty using
1384 a [relayed connection](https://github.com/libp2p/specs/blob/master/relay/circuit-v2.md),
1385 to [upgrade to a direct connection](https://github.com/libp2p/specs/blob/master/relay/DCUtR.md)
1386 through a NAT/firewall whenever possible.
@@ -1553,7 +1553,7 @@ Please use [`AutoNAT.ServiceMode`][#autonatservicemode].
1553 ### `Swarm.ConnMgr`
1554
1555 The connection manager determines which and how many connections to keep and can
1556 -be configured to keep. Go-ipfs currently supports two connection managers:
1556 +be configured to keep. Kubo currently supports two connection managers:
1557
1558 * none: never close idle connections.
1559 * basic: the default connection manager.
@@ -1709,7 +1709,7 @@ Each field in this section is a `flag`.
1709 #### `Swarm.Transports.Network.TCP`
1710
1711 [TCP](https://en.wikipedia.org/wiki/Transmission_Control_Protocol) is the most
1712 -widely used transport by go-ipfs nodes. It doesn't directly support encryption
1712 +widely used transport by Kubo nodes. It doesn't directly support encryption
1713 and/or multiplexing, so libp2p will layer a security & multiplexing transport
1714 over it.
1715
@@ -1726,7 +1726,7 @@ Listen Addresses:
1726 [Websocket](https://en.wikipedia.org/wiki/WebSocket) is a transport usually used
1727 to connect to non-browser-based IPFS nodes from browser-based js-ipfs nodes.
1728
1729 -While it's enabled by default for dialing, go-ipfs doesn't listen on this
1729 +While it's enabled by default for dialing, Kubo doesn't listen on this
1730 transport by default.
1731
1732 Default: Enabled
@@ -1785,9 +1785,9 @@ this section will be used to secure unencrypted connections.
1785
1786 Security transports are configured with the `priority` type.
1787
1788 -When establishing an _outbound_ connection, go-ipfs will try each security
1788 +When establishing an _outbound_ connection, Kubo will try each security
1789 transport in priority order (lower first), until it finds a protocol that the
1790 -receiver supports. When establishing an _inbound_ connection, go-ipfs will let
1790 +receiver supports. When establishing an _inbound_ connection, Kubo will let
1791 the initiator choose the protocol, but will refuse to use any of the disabled
1792 transports.
1793
@@ -1798,7 +1798,7 @@ No default priority will ever be less than 100.
1798 #### `Swarm.Transports.Security.TLS`
1799
1800 [TLS](https://github.com/libp2p/specs/tree/master/tls) (1.3) is the default
1801 -security transport as of go-ipfs 0.5.0. It's also the most scrutinized and
1801 +security transport as of Kubo 0.5.0. It's also the most scrutinized and
1802 trusted security transport.
1803
1804 Default: `100`
@@ -1835,7 +1835,7 @@ No default priority will ever be less than 100.
1835
1836 ### `Swarm.Transports.Multiplexers.Yamux`
1837
1838 -Yamux is the default multiplexer used when communicating between go-ipfs nodes.
1838 +Yamux is the default multiplexer used when communicating between Kubo nodes.
1839
1840 Default: `100`
1841
@@ -1843,7 +1843,7 @@ Type: `priority`
1843
1844 ### `Swarm.Transports.Multiplexers.Mplex`
1845
1846 -Mplex is the default multiplexer used when communicating between go-ipfs and all
1846 +Mplex is the default multiplexer used when communicating between Kubo and all
1847 other IPFS and libp2p implementations. Unlike Yamux:
1848
1849 * Mplex is a simpler protocol.
docs/datastores.md
+2 -2
@@ -39,8 +39,8 @@ Uses a leveldb database to store key value pairs.
39
40 Uses [badger](https://github.com/dgraph-io/badger) as a key value store.
41
42 -* `syncWrites`: Flush every write to disk before continuing. Setting this to false is safe as go-ipfs will automatically flush writes to disk before and after performing critical operations like pinning. However, you can set this to true to be extra-safe (at the cost of a 2-3x slowdown when adding files).
43 -* `truncate`: Truncate the DB if a partially written sector is found (defaults to true). There is no good reason to set this to false unless you want to manually recover partially written (and unpinned) blocks if go-ipfs crashes half-way through a adding a file.
42 +* `syncWrites`: Flush every write to disk before continuing. Setting this to false is safe as kubo will automatically flush writes to disk before and after performing critical operations like pinning. However, you can set this to true to be extra-safe (at the cost of a 2-3x slowdown when adding files).
43 +* `truncate`: Truncate the DB if a partially written sector is found (defaults to true). There is no good reason to set this to false unless you want to manually recover partially written (and unpinned) blocks if kubo crashes half-way through a adding a file.
44
45 ```json
46 {
docs/debug-guide.md
+12 -9
@@ -1,14 +1,17 @@
1 # General performance debugging guidelines
2
3 -This is a document for helping debug go-ipfs. Please add to it if you can!
3 +This is a document for helping debug Kubo. Please add to it if you can!
4
5 -### Table of Contents
6 -- [Beginning](#beginning)
7 -- [Analyzing the stack dump](#analyzing-the-stack-dump)
8 -- [Analyzing the CPU Profile](#analyzing-the-cpu-profile)
9 -- [Analyzing vars and memory statistics](#analyzing-vars-and-memory-statistics)
10 -- [Tracing](#tracing)
11 -- [Other](#other)
5 +# Table of Contents
6 +
7 +- [General performance debugging guidelines](#general-performance-debugging-guidelines)
8 +- [Table of Contents](#table-of-contents)
9 + - [Beginning](#beginning)
10 + - [Analyzing the stack dump](#analyzing-the-stack-dump)
11 + - [Analyzing the CPU Profile](#analyzing-the-cpu-profile)
12 + - [Analyzing vars and memory statistics](#analyzing-vars-and-memory-statistics)
13 + - [Tracing](#tracing)
14 + - [Other](#other)
15
16 ### Beginning
17
@@ -103,6 +106,6 @@ See `tracing/doc.go` for more details.
106
107 ### Other
108
106 -If you have any questions, or want us to analyze some weird go-ipfs behaviour,
109 +If you have any questions, or want us to analyze some weird kubo behaviour,
110 just let us know, and be sure to include all the profiling information
111 mentioned at the top.
docs/environment-variables.md
+11 -11
@@ -1,4 +1,4 @@
1 -# go-ipfs environment variables
1 +# Kubo environment variables
2
3 ## `IPFS_PATH`
4
@@ -9,7 +9,7 @@ Default: ~/.ipfs
9
10 ## `IPFS_LOGGING`
11
12 -Specifies the log level for go-ipfs.
12 +Specifies the log level for Kubo.
13
14 `IPFS_LOGGING` is a deprecated alias for the `GOLOG_LOG_LEVEL` environment variable. See below.
15
@@ -61,11 +61,11 @@ The logging format defaults to `color` when the output is a terminal, and `nocol
61
62 ## `GOLOG_FILE`
63
64 -Sets the file to which go-ipfs logs. By default, go-ipfs logs to standard error.
64 +Sets the file to which Kubo logs. By default, Kubo logs to standard error.
65
66 ## `GOLOG_TRACING_FILE`
67
68 -Sets the file to which go-ipfs sends tracing events. By default, tracing is
68 +Sets the file to which Kubo sends tracing events. By default, tracing is
69 disabled.
70
71 This log can be read at runtime (without writing it to a file) using the `ipfs
@@ -87,14 +87,14 @@ Default: false
87
88 ## `IPFS_FD_MAX`
89
90 -Sets the file descriptor limit for go-ipfs. If go-ipfs fails to set the file
90 +Sets the file descriptor limit for Kubo. If Kubo fails to set the file
91 descriptor limit, it will log an error.
92
93 Defaults: 2048
94
95 ## `IPFS_DIST_PATH`
96
97 -IPFS Content Path from which go-ipfs fetches repo migrations (when the daemon
97 +IPFS Content Path from which Kubo fetches repo migrations (when the daemon
98 is launched with the `--migrate` flag).
99
100 Default: `/ipfs/<cid>` (the exact path is hardcoded in
@@ -116,7 +116,7 @@ $ ipfs resolve -r /ipns/dnslink-test2.example.com
116
117 ## `LIBP2P_TCP_REUSEPORT`
118
119 -go-ipfs tries to reuse the same source port for all connections to improve NAT
119 +Kubo tries to reuse the same source port for all connections to improve NAT
120 traversal. If this is an issue, you can disable it by setting
121 `LIBP2P_TCP_REUSEPORT` to false.
122
@@ -126,7 +126,7 @@ Default: true
126
127 Deprecated: Use the `Swarm.Transports.Multiplexers` config field.
128
129 -Tells go-ipfs which multiplexers to use in which order.
129 +Tells Kubo which multiplexers to use in which order.
130
131 Default: "/yamux/1.0.0 /mplex/6.7.0"
132
@@ -134,7 +134,7 @@ Default: "/yamux/1.0.0 /mplex/6.7.0"
134
135 Forces [libp2p Network Resource Manager](https://github.com/libp2p/go-libp2p-resource-manager#readme)
136 to be enabled (`1`) or disabled (`0`).
137 -When set, overrides [`Swarm.ResourceMgr.Enabled`](https://github.com/ipfs/go-ipfs/blob/master/docs/config.md#swarmresourcemgrenabled) from the config.
137 +When set, overrides [`Swarm.ResourceMgr.Enabled`](https://github.com/ipfs/kubo/blob/master/docs/config.md#swarmresourcemgrenabled) from the config.
138
139 Default: use config (not set)
140
@@ -190,7 +190,7 @@ Default: "$PWD/traces.json"
190 ### How to use Jaeger UI
191
192 One can use the `jaegertracing/all-in-one` Docker image to run a full Jaeger
193 -stack and configure go-ipfs to publish traces to it (here, in an ephemeral
193 +stack and configure Kubo to publish traces to it (here, in an ephemeral
194 container):
195
196 ```console
@@ -208,7 +208,7 @@ $ docker run --rm -it --name jaeger \
208 jaegertracing/all-in-one
209 ```
210
211 -Then, in other terminal, start go-ipfs with Jaeger tracing enabled:
211 +Then, in other terminal, start Kubo with Jaeger tracing enabled:
212 ```
213 $ OTEL_TRACES_EXPORTER=jaeger ipfs daemon
214 ```
docs/experimental-features.md
+7 -7
@@ -1,14 +1,14 @@
1 -# Experimental features of go-ipfs
1 +# Experimental features of Kubo
2
3 -This document contains a list of experimental features in go-ipfs.
3 +This document contains a list of experimental features in Kubo.
4 These features, commands, and APIs aren't mature, and you shouldn't rely on them.
5 Once they reach maturity, there's going to be mention in the changelog and
6 release posts. If they don't reach maturity, the same applies, and their code is
7 removed.
8
9 -Subscribe to https://github.com/ipfs/go-ipfs/issues/3397 to get updates.
9 +Subscribe to https://github.com/ipfs/kubo/issues/3397 to get updates.
10
11 -When you add a new experimental feature to go-ipfs or change an experimental
11 +When you add a new experimental feature to kubo or change an experimental
12 feature, you MUST please make a PR updating this document, and link the PR in
13 the above issue.
14
@@ -54,7 +54,7 @@ Then use the `ipfs pubsub` commands.
54
55 NOTE: `--enable-pubsub-experiment` CLI flag overrides `Pubsub.Enabled` config.
56
57 -Configuration documentation can be found in [go-ipfs/docs/config.md](./config.md#pubsub)
57 +Configuration documentation can be found in [kubo/docs/config.md](./config.md#pubsub)
58
59 ### Road to being a real feature
60
@@ -435,7 +435,7 @@ Replaced by autosharding.
435
436 The `Experimental.ShardingEnabled` config field is no longer used, please remove it from your configs.
437
438 -go-ipfs now automatically shards when directory block is bigger than 256KB, ensuring every block is small enough to be exchanged with other peers
438 +kubo now automatically shards when directory block is bigger than 256KB, ensuring every block is small enough to be exchanged with other peers
439
440 ## IPNS pubsub
441
@@ -574,7 +574,7 @@ ipfs config --json Experimental.GraphsyncEnabled true
574
575 Stable, enabled by default
576
577 -[Noise](https://github.com/libp2p/specs/tree/master/noise) libp2p transport based on the [Noise Protocol Framework](https://noiseprotocol.org/noise.html). While TLS remains the default transport in go-ipfs, Noise is easier to implement and is thus the "interop" transport between IPFS and libp2p implementations.
577 +[Noise](https://github.com/libp2p/specs/tree/master/noise) libp2p transport based on the [Noise Protocol Framework](https://noiseprotocol.org/noise.html). While TLS remains the default transport in Kubo, Noise is easier to implement and is thus the "interop" transport between IPFS and libp2p implementations.
578
579 ## Accelerated DHT Client
580
docs/fuse.md
+1 -1
@@ -2,7 +2,7 @@
2
3 **EXPERIMENTAL:** FUSE support is limited, YMMV.
4
5 -`go-ipfs` makes it possible to mount `/ipfs` and `/ipns` namespaces in your OS,
5 +Kubo makes it possible to mount `/ipfs` and `/ipns` namespaces in your OS,
6 allowing arbitrary apps access to IPFS.
7
8 ## Install FUSE
docs/gateway.md
+7 -5
@@ -6,9 +6,11 @@ they were stored in a traditional web server.
6
7 [More about Gateways](https://docs.ipfs.io/concepts/ipfs-gateway/) and [addressing IPFS on the web](https://docs.ipfs.io/how-to/address-ipfs-on-web/).
8
9 +Kubo's Gateway implementation follows [ipfs/specs: Specification for HTTP Gateways](https://github.com/ipfs/specs/tree/main/http-gateways#readme).
10 +
11 ### Local gateway
12
11 -By default, go-ipfs nodes run
13 +By default, Kubo nodes run
14 a [path gateway](https://docs.ipfs.io/how-to/address-ipfs-on-web/#path-gateway) at `http://127.0.0.1:8080/`
15 and a [subdomain gateway](https://docs.ipfs.io/how-to/address-ipfs-on-web/#subdomain-gateway) at `http://localhost:8080/`
16
@@ -24,8 +26,8 @@ There is a list of third-party public gateways provided by the IPFS community at
26 ## Configuration
27
28 The `Gateway.*` configuration options are (briefly) described in the
27 -[config](https://github.com/ipfs/go-ipfs/blob/master/docs/config.md#gateway)
28 -documentation, including a list of common [gateway recipes](https://github.com/ipfs/go-ipfs/blob/master/docs/config.md#gateway-recipes).
29 +[config](https://github.com/ipfs/kubo/blob/master/docs/config.md#gateway)
30 +documentation, including a list of common [gateway recipes](https://github.com/ipfs/kubo/blob/master/docs/config.md#gateway-recipes).
31
32 ### Debug
33 The gateway's log level can be changed with this command:
@@ -45,7 +47,7 @@ a directory:
47 2. Dynamically build and serve a listing of the contents of the directory.
48
49 <sub><sup>&dagger;</sup>This redirect is skipped if the query string contains a
48 -`go-get=1` parameter. See [PR#3964](https://github.com/ipfs/go-ipfs/pull/3963)
50 +`go-get=1` parameter. See [PR#3964](https://github.com/ipfs/kubo/pull/3963)
51 for details</sub>
52
53 ## Static Websites
@@ -97,7 +99,7 @@ This is equivalent of `ipfs block get`.
99 Returns a [CAR](https://ipld.io/specs/transport/car/) stream for specific DAG and selector.
100
101 Right now only 'full DAG' implicit selector is implemented.
100 -Support for user-provided IPLD selectors is tracked in https://github.com/ipfs/go-ipfs/issues/8769.
102 +Support for user-provided IPLD selectors is tracked in https://github.com/ipfs/kubo/issues/8769.
103
104 This is a rough equivalent of `ipfs dag export`.
105
docs/implement-api-bindings.md
+11 -11
@@ -1,7 +1,7 @@
1 # IPFS API Implementation Doc
2
3 This short document aims to give a quick guide to anyone implementing API
4 -bindings for IPFS implementations-- in particular go-ipfs.
4 +bindings for IPFS implementations-- in particular kubo.
5
6 Sections:
7 - IPFS Types
@@ -28,7 +28,7 @@ handled for you by writes to the request body blocking.)
28 ## API Transports
29
30 Like with everything else, IPFS aims to be flexible regarding the API transports.
31 -Currently, the [go-ipfs](https://github.com/ipfs/go-ipfs) implementation supports
31 +Currently, the [kubo](https://github.com/ipfs/kubo) implementation supports
32 both an in-process API and an HTTP API. More can be added easily, by mapping the
33 API functions over a transport. (This is similar to how gRPC is also _mapped on
34 top of transports_, like HTTP).
@@ -45,7 +45,7 @@ In the commandline, IPFS uses a traditional flag and arg-based mapping, where:
45 `ipfs object patch <hash1> add-linkfoo <hash2>`
46 - files are specified by filename, or through stdin
47
48 -(NOTE: When go-ipfs runs the daemon, the CLI API is actually converted to HTTP
48 +(NOTE: When kubo runs the daemon, the CLI API is actually converted to HTTP
49 calls. otherwise, they execute in the same process)
50
51 #### HTTP API Transport
@@ -62,8 +62,8 @@ In HTTP, our API layering uses a REST-like mapping, where:
62 ## API Commands
63
64 There is a "standard IPFS API" which is currently defined as "all the commands
65 -exposed by the go-ipfs implementation". There are auto-generated [API Docs](https://ipfs.io/docs/api/).
66 -You can Also see [a listing here](https://github.com/ipfs/go-ipfs/blob/94b832df861728c65e912935641d08880c341e0a/core/commands/root.go#L96-L130), or get a list of
65 +exposed by the kubo implementation". There are auto-generated [API Docs](https://ipfs.io/docs/api/).
66 +You can Also see [a listing here](https://github.com/ipfs/kubo/blob/94b832df861728c65e912935641d08880c341e0a/core/commands/root.go#L96-L130), or get a list of
67 commands by running `ipfs commands` locally.
68
69 ## Implementing bindings for the HTTP API
@@ -80,8 +80,8 @@ To date, we have two different HTTP API clients:
80
81 - [js-ipfs-api](https://github.com/ipfs/js-ipfs-api) - simple javascript
82 wrapper -- best to look at
83 -- [go-ipfs/commands/http](https://github.com/ipfs/go-ipfs/tree/916f987de2c35db71815b54bbb9a0a71df829838/commands/http) -
84 - generalized transport based on the [command definitions](https://github.com/ipfs/go-ipfs/tree/916f987de2c35db71815b54bbb9a0a71df829838/core/commands)
83 +- [kubo/commands/http](https://github.com/ipfs/kubo/tree/916f987de2c35db71815b54bbb9a0a71df829838/commands/http) -
84 + generalized transport based on the [command definitions](https://github.com/ipfs/kubo/tree/916f987de2c35db71815b54bbb9a0a71df829838/core/commands)
85
86 The Go implementation is good to answer harder questions, like how is multipart
87 handled, or what headers should be set in edge conditions. But the javascript
@@ -102,14 +102,14 @@ Currently, node-ipfs-api has three main files
102
103 Despite all the generalization spoken about above, the IPFS API is actually very
104 simple. You can inspect all the requests made with `nc` and the `--api` option
105 -(as of [this PR](https://github.com/ipfs/go-ipfs/pull/1598), or `0.3.8`):
105 +(as of [this PR](https://github.com/ipfs/kubo/pull/1598), or `0.3.8`):
106
107 ```
108 > nc -l 5002 &
109 > ipfs --api /ip4/127.0.0.1/tcp/5002 swarm addrs local --enc=json
110 POST /api/v0/version?enc=json&stream-channels=true HTTP/1.1
111 Host: 127.0.0.1:5002
112 -User-Agent: /go-ipfs/0.3.8/
112 +User-Agent: /kubo/0.14.0/
113 Content-Length: 0
114 Content-Type: application/octet-stream
115 Accept-Encoding: gzip
@@ -118,7 +118,7 @@ Accept-Encoding: gzip
118 ```
119
120 The only hard part is getting the file streaming right. It is (now) fairly easy
121 -to stream files to go-ipfs using multipart. Basically, we end up with HTTP
121 +to stream files to kubo using multipart. Basically, we end up with HTTP
122 requests like this:
123
124 ```
@@ -126,7 +126,7 @@ requests like this:
126 > ipfs --api /ip4/127.0.0.1/tcp/5002 add -r ~/demo/basic/test
127 POST /api/v0/add?encoding=json&progress=true&r=true&stream-channels=true HTTP/1.1
128 Host: 127.0.0.1:5002
129 -User-Agent: /go-ipfs/0.3.8/
129 +User-Agent: /kubo/0.14.0/
130 Transfer-Encoding: chunked
131 Content-Disposition: form-data: name="files"
132 Content-Type: multipart/form-data; boundary=2186ef15d8f2c4f100af72d6d345afe36a4d17ef11264ec5b8ec4436447f
docs/plugins.md
+26 -26
@@ -1,6 +1,6 @@
1 # Plugins
2
3 -Since 0.4.11 go-ipfs has an experimental plugin system that allows augmenting
3 +Since 0.4.11 Kubo has an experimental plugin system that allows augmenting
4 the daemons functionality without recompiling.
5
6 When an IPFS node is started, it will load plugins from the `$IPFS_PATH/plugins`
@@ -22,7 +22,7 @@ directory (by default `~/.ipfs/plugins`).
22 ## Plugin Types
23
24 Plugins can implement one or more plugin types, defined in the
25 -[plugin](https://godoc.org/github.com/ipfs/go-ipfs/plugin) package.
25 +[plugin](https://godoc.org/github.com/ipfs/kubo/plugin) package.
26
27 ### IPLD
28
@@ -37,15 +37,15 @@ Datastore plugins add support for additional datastore backends.
37
38 (experimental)
39
40 -Tracer plugins allow injecting an opentracing backend into go-ipfs.
40 +Tracer plugins allow injecting an opentracing backend into Kubo.
41
42 ### Daemon
43
44 -Daemon plugins are started when the go-ipfs daemon is started and are given an
44 +Daemon plugins are started when the Kubo daemon is started and are given an
45 instance of the CoreAPI. This should make it possible to build an ipfs-based
46 -application without IPC and without forking go-ipfs.
46 +application without IPC and without forking Kubo.
47
48 -Note: We eventually plan to make go-ipfs usable as a library. However, this
48 +Note: We eventually plan to make Kubo usable as a library. However, this
49 plugin type is likely the best interim solution.
50
51 ### Internal
@@ -53,9 +53,9 @@ plugin type is likely the best interim solution.
53 (never stable)
54
55 Internal plugins are like daemon plugins _except_ that they can access, replace,
56 -and modify all internal state. Use this plugin type to extend go-ipfs in
56 +and modify all internal state. Use this plugin type to extend Kubo in
57 arbitrary ways. However, be aware that your plugin will likely break every time
58 -go-ipfs updated.
58 +Kubo updated.
59
60 ## Configuration
61
@@ -89,47 +89,47 @@ Example:
89
90 | Name | Type | Preloaded | Description |
91 |---------------------------------------------------------------------------------|-----------|-----------|------------------------------------------------|
92 -| [git](https://github.com/ipfs/go-ipfs/tree/master/plugin/plugins/git) | IPLD | x | An IPLD format for git objects. |
93 -| [badgerds](https://github.com/ipfs/go-ipfs/tree/master/plugin/plugins/badgerds) | Datastore | x | A high performance but experimental datastore. |
94 -| [flatfs](https://github.com/ipfs/go-ipfs/tree/master/plugin/plugins/flatfs) | Datastore | x | A stable filesystem-based datastore. |
95 -| [levelds](https://github.com/ipfs/go-ipfs/tree/master/plugin/plugins/levelds) | Datastore | x | A stable, flexible datastore backend. |
92 +| [git](https://github.com/ipfs/kubo/tree/master/plugin/plugins/git) | IPLD | x | An IPLD format for git objects. |
93 +| [badgerds](https://github.com/ipfs/kubo/tree/master/plugin/plugins/badgerds) | Datastore | x | A high performance but experimental datastore. |
94 +| [flatfs](https://github.com/ipfs/kubo/tree/master/plugin/plugins/flatfs) | Datastore | x | A stable filesystem-based datastore. |
95 +| [levelds](https://github.com/ipfs/kubo/tree/master/plugin/plugins/levelds) | Datastore | x | A stable, flexible datastore backend. |
96 | [jaeger](https://github.com/ipfs/go-jaeger-plugin) | Tracing | | An opentracing backend. |
97
98 -* **Preloaded** plugins are built into the go-ipfs binary and do not need to be
98 +* **Preloaded** plugins are built into the Kubo binary and do not need to be
99 installed separately. At the moment, all in-tree plugins are preloaded.
100
101 ## Installing Plugins
102
103 -Go-ipfs supports two types of plugins: External and Preloaded.
103 +Kubo supports two types of plugins: External and Preloaded.
104
105 * External plugins must be installed in `$IPFS_PATH/plugins/` (usually
106 `~/.ipfs/plugins/`).
107 -* Preloaded plugins are built-into the go-ipfs when it's compiled.
107 +* Preloaded plugins are built-into the Kubo when it's compiled.
108
109 ### External Plugin
110
111 The advantage of an external plugin is that it can be built, packaged, and
112 -installed independently of go-ipfs. Unfortunately, this method is only supported
112 +installed independently of Kubo. Unfortunately, this method is only supported
113 on Linux and MacOS at the moment. Users of other operating systems should follow
114 the instructions for preloaded plugins.
115
116 #### In-tree
117
118 To build plugins included in
119 -[plugin/plugins](https://github.com/ipfs/go-ipfs/tree/master/plugin/plugins),
119 +[plugin/plugins](https://github.com/ipfs/kubo/tree/master/plugin/plugins),
120 run:
121
122 ```bash
123 -go-ipfs$ make build_plugins
124 -go-ipfs$ ls plugin/plugins/*.so
123 +kubo$ make build_plugins
124 +kubo$ ls plugin/plugins/*.so
125 ```
126
127 To install, copy desired plugins to `$IPFS_PATH/plugins`. For example:
128
129 ```bash
130 -go-ipfs$ mkdir -p ~/.ipfs/plugins/
131 -go-ipfs$ cp plugin/plugins/git.so ~/.ipfs/plugins/
132 -go-ipfs$ chmod +x ~/.ipfs/plugins/git.so # ensure plugin is executable
130 +kubo$ mkdir -p ~/.ipfs/plugins/
131 +kubo$ cp plugin/plugins/git.so ~/.ipfs/plugins/
132 +kubo$ chmod +x ~/.ipfs/plugins/git.so # ensure plugin is executable
133 ```
134
135 Finally, restart daemon if it is running.
@@ -153,22 +153,22 @@ Finally, as with in-tree plugins:
153
154 The advantages of preloaded plugins are:
155
156 -1. They're bundled with the go-ipfs binary.
156 +1. They're bundled with the Kubo binary.
157 2. They work on all platforms.
158
159 -To preload a go-ipfs plugin:
159 +To preload a Kubo plugin:
160
161 1. Add the plugin to the preload list: `plugin/loader/preload_list`
162 2. Build ipfs
163 ```bash
164 -go-ipfs$ make build
164 +kubo$ make build
165 ```
166
167 You can also preload an in-tree but disabled-by-default plugin by adding it to
168 the IPFS_PLUGINS variable. For example, to enable plugins foo, bar, and baz:
169
170 ```bash
171 -go-ipfs$ make build IPFS_PLUGINS="foo bar baz"
171 +kubo$ make build IPFS_PLUGINS="foo bar baz"
172 ```
173
174 ## Creating A Plugin
docs/releases.md
+27 -24
@@ -1,22 +1,25 @@
1 -# `go-ipfs` Release Flow
2 -
3 -## Table of Contents
4 -
5 -- [Release Philosophy](#release-philosophy)
6 -- [Release Flow](#release-flow)
7 - - [Stage 0 - Automated Testing](#stage-0---automated-testing)
8 - - [Stage 1 - Internal Testing](#stage-1---internal-testing)
9 - - [Stage 2 - Community Dev Testing](#stage-2---community-dev-testing)
10 - - [Stage 3 - Community Prod Testing](#stage-3---community-prod-testing)
11 - - [Stage 4 - Release](#stage-4---release)
12 -- [Release Cycle](#release-cycle)
13 - - [Patch Releases](#patch-releases)
14 -- [Performing a Release](#performing-a-release)
15 -- [Release Version Numbers (aka semver)](#release-version-numbers-aka-semver)
1 +# `kubo` Release Flow
2 +
3 +# Table of Contents
4 +
5 +- [`kubo` Release Flow](#kubo-release-flow)
6 +- [Table of Contents](#table-of-contents)
7 + - [Release Philosophy](#release-philosophy)
8 + - [Release Flow](#release-flow)
9 + - [Stage 0 - Automated Testing](#stage-0---automated-testing)
10 + - [Stage 1 - Internal Testing](#stage-1---internal-testing)
11 + - [Stage 2 - Community Dev Testing](#stage-2---community-dev-testing)
12 + - [Stage 3 - Community Prod Testing](#stage-3---community-prod-testing)
13 + - [Stage 4 - Release](#stage-4---release)
14 + - [Release Cycle](#release-cycle)
15 + - [Patch Releases](#patch-releases)
16 + - [Security Fix Policy](#security-fix-policy)
17 + - [Performing a Release](#performing-a-release)
18 + - [Release Version Numbers (aka semver)](#release-version-numbers-aka-semver)
19
20 ## Release Philosophy
21
19 -`go-ipfs` aims to have release every six weeks, two releases per quarter. During these 6 week releases, we go through 4 different stages that gives us the opportunity to test the new version against our test environments (unit, interop, integration), QA in our current production environment, IPFS apps (e.g. Desktop and WebUI) and with our community and _early testers_<sup>[1]</sup> that have IPFS running in production.
22 +`kubo` aims to have release every six weeks, two releases per quarter. During these 6 week releases, we go through 4 different stages that gives us the opportunity to test the new version against our test environments (unit, interop, integration), QA in our current production environment, IPFS apps (e.g. Desktop and WebUI) and with our community and _early testers_<sup>[1]</sup> that have IPFS running in production.
23
24 We might expand the six week release schedule in case of:
25
@@ -25,9 +28,9 @@ We might expand the six week release schedule in case of:
28
29 ## Release Flow
30
28 -`go-ipfs` releases come in 5 stages designed to gradually roll out changes and reduce the impact of any regressions that may have been introduced. If we need to merge non-trivial<sup>[2]</sup> changes during the process, we start over at stage 0.
31 +`kubo` releases come in 5 stages designed to gradually roll out changes and reduce the impact of any regressions that may have been introduced. If we need to merge non-trivial<sup>[2]</sup> changes during the process, we start over at stage 0.
32
30 -![go-ipfs-release-process-illustration](https://user-images.githubusercontent.com/618519/62986422-653fee00-bdf0-11e9-8f61-197117b61da2.png)
33 +![kubo-release-process-illustration](https://user-images.githubusercontent.com/618519/62986422-653fee00-bdf0-11e9-8f61-197117b61da2.png)
34
35 ### Stage 0 - Automated Testing
36
@@ -93,21 +96,21 @@ Finally, unless a security issue is actively being exploited or a significant nu
96
97 ## Performing a Release
98
96 -The release is managed by the `Lead Maintainer` for `go-ipfs`. It starts with the opening of an issue containing the content available on the [RELEASE_ISSUE_TEMPLATE](./RELEASE_ISSUE_TEMPLATE.md) not more than **48 hours** after the previous release.
99 +The release is managed by the `Lead Maintainer` for `kubo`. It starts with the opening of an issue containing the content available on the [RELEASE_ISSUE_TEMPLATE](./RELEASE_ISSUE_TEMPLATE.md) not more than **48 hours** after the previous release.
100
98 -This issue is pinned and labeled ["release"](https://github.com/ipfs/go-ipfs/issues?utf8=%E2%9C%93&q=is%3Aissue+is%3Aopen+label%3Arelease). When the cycle is due to begin the 5 stages will be followed until the release is done.
101 +This issue is pinned and labeled ["release"](https://github.com/ipfs/kubo/issues?utf8=%E2%9C%93&q=is%3Aissue+is%3Aopen+label%3Arelease). When the cycle is due to begin the 5 stages will be followed until the release is done.
102
103 ## Release Version Numbers (aka semver)
104
102 -Until `go-ipfs` 0.4.X, `go-ipfs` was not using semver to communicate the type of release
105 +Until `kubo` 0.4.X, `kubo` was not using semver to communicate the type of release
106
104 -Post `go-ipfs` 0.5.X, `go-ipfs` will use semver. This means that patch releases will not contain any breaking changes nor new features. Minor releases might contain breaking changes and always contain some new feature
107 +Post `kubo` 0.5.X, `kubo` will use semver. This means that patch releases will not contain any breaking changes nor new features. Minor releases might contain breaking changes and always contain some new feature
108
106 -Post `go-ipfs` 1.X.X (future), `go-ipfs` will use semver. This means that only major releases will contain breaking changes, minors will be reserved for new features and patches for bug fixes.
109 +Post `kubo` 1.X.X (future), `kubo` will use semver. This means that only major releases will contain breaking changes, minors will be reserved for new features and patches for bug fixes.
110
111 We do not yet retroactively apply fixes to older releases (no Long Term Support releases for now), which means that we always recommend users to update to the latest, whenever possible.
112
113 ----------------------------
114
112 -- <sup>**[1]**</sup> - _early testers_ is an IPFS programme in which members of the community can self-volunteer to help test `go-ipfs` Release Candidates. You find more info about it at [EARLY_TESTERS.md](./EARLY_TESTERS.md)
115 +- <sup>**[1]**</sup> - _early testers_ is an IPFS programme in which members of the community can self-volunteer to help test `kubo` Release Candidates. You find more info about it at [EARLY_TESTERS.md](./EARLY_TESTERS.md)
116 - <sup>**[2]**</sup> - A non-trivial change is any change that could potentially introduce an issue not trivially caught by automated testing. This is up to the discretion of the Lead Maintainer but the assumption is that every change is non-trivial unless proven otherwise.
docs/transports.md
+2 -2
@@ -3,9 +3,9 @@
3 If you want browsers to connect to e.g. `/dns4/example.com/tcp/443/wss/p2p/QmFoo`
4
5 - [ ] An SSL cert matching the `/dns4` or `/dns6` name
6 -- [ ] go-ipfs listening on `/ip4/127.0.0.1/tcp/8081/ws`
6 +- [ ] Kubo listening on `/ip4/127.0.0.1/tcp/8081/ws`
7 - 8081 is just an example
8 - - note that it's `/ws` here, not `/wss` -- go-ipfs can't currently do SSL, see the next point
8 + - note that it's `/ws` here, not `/wss` -- Kubo can't currently do SSL, see the next point
9 - [ ] nginx
10 - configured with the SSL cert
11 - listening on port 443
docs/windows.md
+26 -26
@@ -1,20 +1,20 @@
1 # Building on Windows
2 ![](https://ipfs.io/ipfs/QmccXW7JSZMVXidSc7tHsU6aktuaiV923q4yBGHUsdymYo/build.gif)
3
4 -If you just want to install go-ipfs, please download it from https://dist.ipfs.io/#go-ipfs. This document explains how to build it from source.
4 +If you just want to install kubo, please download it from https://dist.ipfs.io/#kubo. This document explains how to build it from source.
5
6 ## Install Go
7 -`go-ipfs` is built on Golang and thus depends on it for all building methods.
7 +`kubo` is built on Golang and thus depends on it for all building methods.
8 https://golang.org/doc/install
9 The `GOPATH` environment variable must be set as well.
10 https://golang.org/doc/code.html#GOPATH
11
12 ## Choose the way you want to proceed
13 -`go-ipfs` utilizes `make` to automate builds and run tests, but can be built without it using only `git` and `go`.
13 +`kubo` utilizes `make` to automate builds and run tests, but can be built without it using only `git` and `go`.
14 No matter which method you choose, if you encounter issues, please see the [Troubleshooting](#troubleshooting) section.
15
16 **Using `make`:**
17 -MSYS2 and Cygwin provide the Unix tools we need to build `go-ipfs`. You may use either, but if you don't already have one installed, we recommend MSYS2.
17 +MSYS2 and Cygwin provide the Unix tools we need to build `kubo`. You may use either, but if you don't already have one installed, we recommend MSYS2.
18 [MSYS2→](#msys2)
19 [Cygwin→](#cygwin)
20
@@ -29,28 +29,28 @@ An explanation of this block is below.
29 ```
30 SET PATH=%PATH%;\msys64\usr\bin
31 pacman --noconfirm -S git make unzip
32 -go get -u github.com/ipfs/go-ipfs
33 -cd %GOPATH%\src\github.com\ipfs\go-ipfs
32 +go get -u github.com/ipfs/kubo
33 +cd %GOPATH%\src\github.com\ipfs\kubo
34 make install
35 %GOPATH%\bin\ipfs.exe version --all
36 ```
37
38 -If there were no errors, the final command should output version information similar to "`ipfs version 0.4.14-dev-XXXXXXX`" where "XXXXXXX" should match the current short-hash of the `go-ipfs` repo. You can retrieve said hash via this command: `git rev-parse --short HEAD`.
38 +If there were no errors, the final command should output version information similar to "`ipfs version 0.4.14-dev-XXXXXXX`" where "XXXXXXX" should match the current short-hash of the `kubo` repo. You can retrieve said hash via this command: `git rev-parse --short HEAD`.
39 If `ipfs.exe` executes and the version string matches, then building was successful.
40
41 |Command|Explanation|
42 | ---: | :--- |
43 |`SET PATH=%PATH%;\msys64\usr\bin` |Add msys2's tools to our [`PATH`](https://ss64.com/nt/path.html); Defaults to: (\msys64\usr\bin)|
44 -|`pacman --noconfirm -S git make unzip` |Install `go-ipfs` build dependencies|
45 -|`go get -u github.com/ipfs/go-ipfs` |Fetch / Update `go-ipfs` source|
46 -|`cd %GOPATH%\src\github.com\ipfs\go-ipfs` |Change to `go-ipfs` source directory|
44 +|`pacman --noconfirm -S git make unzip` |Install `kubo` build dependencies|
45 +|`go get -u github.com/ipfs/kubo` |Fetch / Update `kubo` source|
46 +|`cd %GOPATH%\src\github.com\ipfs\kubo` |Change to `kubo` source directory|
47 |`make install` |Build and install to `%GOPATH%\bin\ipfs.exe`|
48 |`%GOPATH%\bin\ipfs.exe version --all` |Test the built binary|
49
50 To build again after making changes to the source, run:
51 ```
52 SET PATH=%PATH%;\msys64\usr\bin
53 -cd %GOPATH%\src\github.com\ipfs\go-ipfs
53 +cd %GOPATH%\src\github.com\ipfs\kubo
54 make install
55 ```
56
@@ -75,27 +75,27 @@ An explanation of this block is below.
75 SET PATH=%PATH%;\cygwin64\bin
76 mkdir %GOPATH%\src\github.com\ipfs
77 cd %GOPATH%\src\github.com\ipfs
78 -git clone https://github.com/ipfs/go-ipfs.git
79 -cd %GOPATH%\src\github.com\ipfs\go-ipfs
78 +git clone https://github.com/ipfs/kubo.git
79 +cd %GOPATH%\src\github.com\ipfs\kubo
80 make install
81 %GOPATH%\bin\ipfs.exe version --all
82 ```
83
84 -If there were no errors, the final command should output version information similar to "`ipfs version 0.4.14-dev-XXXXXXX`" where "XXXXXXX" should match the current short-hash of the `go-ipfs` repo. You can retrieve said hash via this command: `git rev-parse --short HEAD`.
84 +If there were no errors, the final command should output version information similar to "`ipfs version 0.4.14-dev-XXXXXXX`" where "XXXXXXX" should match the current short-hash of the `kubo` repo. You can retrieve said hash via this command: `git rev-parse --short HEAD`.
85 If `ipfs.exe` executes and the version string matches, then building was successful.
86
87 |Command|Explanation|
88 | ---: | :--- |
89 |`SET PATH=%PATH%;\cygwin64\bin` |Add Cygwin's tools to our [`PATH`](https://ss64.com/nt/path.html); Defaults to: (\cygwin64\bin)|
90 -|`mkdir %GOPATH%\src\github.com\ipfs`<br/>`cd %GOPATH%\src\github.com\ipfs`<br/>`git clone https://github.com/ipfs/go-ipfs.git` |Fetch / Update `go-ipfs` source|
91 -|`cd %GOPATH%\src\github.com\ipfs\go-ipfs` |Change to `go-ipfs` source directory|
90 +|`mkdir %GOPATH%\src\github.com\ipfs`<br/>`cd %GOPATH%\src\github.com\ipfs`<br/>`git clone https://github.com/ipfs/kubo.git` |Fetch / Update `kubo` source|
91 +|`cd %GOPATH%\src\github.com\ipfs\kubo` |Change to `kubo` source directory|
92 |`make install` |Build and install to `%GOPATH%\bin\ipfs.exe`|
93 |`%GOPATH%\bin\ipfs.exe version --all` |Test the built binary|
94
95 To build again after making changes to the source, run:
96 ```
97 SET PATH=%PATH%;\cygwin64\bin
98 -cd %GOPATH%\src\github.com\ipfs\go-ipfs
98 +cd %GOPATH%\src\github.com\ipfs\kubo
99 make install
100 ```
101
@@ -106,24 +106,24 @@ SETX PATH %PATH%
106
107 ## Minimal
108
109 -While it's possible to build `go-ipfs` with `go` alone, we'll be using `git` to fetch the source.
109 +While it's possible to build `kubo` with `go` alone, we'll be using `git` to fetch the source.
110
111 You can use whichever version of `git` you wish but we recommend the Windows builds at <https://git-scm.com>. `git` must be in your [`PATH`](https://ss64.com/nt/path.html) for `go get` to recognize and use it.
112
113 -### go-ipfs
113 +### kubo
114
115 Clone and change directory to the source code, if you haven't already:
116
117 CMD:
118 ```bat
119 -git clone https://github.com/ipfs/go-ipfs %GOPATH%/src/github.com/ipfs/go-ipfs
120 -cd %GOPATH%/src/github.com/ipfs/go-ipfs/cmd/ipfs
119 +git clone https://github.com/ipfs/kubo %GOPATH%/src/github.com/ipfs/kubo
120 +cd %GOPATH%/src/github.com/ipfs/kubo/cmd/ipfs
121 ```
122
123 PowerShell:
124 ```powershell
125 -git clone https://github.com/ipfs/go-ipfs $env:GOPATH/src/github.com/ipfs/go-ipfs
126 -cd $env:GOPATH/src/github.com/ipfs/go-ipfs/cmd/ipfs
125 +git clone https://github.com/ipfs/kubo $env:GOPATH/src/github.com/ipfs/kubo
126 +cd $env:GOPATH/src/github.com/ipfs/kubo/cmd/ipfs
127 ```
128
129 We need the `git` commit hash to be included in our build so that in the extremely rare event a bug is found, we have a reference point later for tracking it. We'll ask `git` for it and store it in a variable. The syntax for the next command is different depending on whether you're using the interactive command line or writing a batch file. Use the one that applies to you.
@@ -134,13 +134,13 @@ Finally, we'll build and test `ipfs` itself.
134
135 CMD:
136 ```bat
137 -go install -ldflags="-X "github.com/ipfs/go-ipfs".CurrentCommit=%SHA%"
137 +go install -ldflags="-X "github.com/ipfs/kubo".CurrentCommit=%SHA%"
138 %GOPATH%\bin\ipfs.exe version --all
139 ```
140
141 PowerShell:
142 ```powershell
143 -go install -ldflags="-X "github.com/ipfs/go-ipfs".CurrentCommit=$env:SHA"
143 +go install -ldflags="-X "github.com/ipfs/kubo".CurrentCommit=$env:SHA"
144 cp ./ipfs.exe $env:GOPATH/bin/ipfs.exe -force
145 . $env:GOPATH/bin/ipfs.exe version --all
146 ```
@@ -155,4 +155,4 @@ If you get authentication problems with Git, you might want to take a look at ht
155 - **Anything else**
156 Please search [https://discuss.ipfs.io](https://discuss.ipfs.io/search?q=windows%20category%3A13) for any additional issues you may encounter. If you can't find any existing resolution, feel free to post a question asking for help.
157
158 -If you encounter a bug with `go-ipfs` itself (not related to building) please use the [issue tracker](https://github.com/ipfs/go-ipfs/issues) to report it.
158 +If you encounter a bug with `kubo` itself (not related to building) please use the [issue tracker](https://github.com/ipfs/kubo/issues) to report it.