Skip to content

Commit d786d41

Browse files
author
Matt Zumwalt
committed
adds Q4 Roadmap and configuration for roadmap generator
FYI: I had to run this without any of the libp2p repositories, which I don't have access to. Someone with full permissions should re-run. License: MIT Signed-off-by: Matt Zumwalt <[email protected]>
1 parent bbd7ad2 commit d786d41

File tree

5 files changed

+163
-67
lines changed

5 files changed

+163
-67
lines changed

roadmap.md

+72-67
Original file line numberDiff line numberDiff line change
@@ -1,67 +1,72 @@
1-
# go-ipfs Q2 roadmap
2-
NOTE: No specific order is implied in this list.
3-
4-
- [ ] fix random test failures
5-
- check issues for label 'test_failure'
6-
- [ ] Improve memory usage
7-
- [ ] Goal: ipfs doesnt run out of memory on mars for 1 month
8-
- [ ] identify where most memory usage comes from
9-
- [ ] find and fix leaks
10-
- [ ] add more IPFS_LOW_MEM knobs
11-
- [ ] dht query parallelism
12-
- [ ] libp2p dial concurrency
13-
- [ ] unixfs sharding
14-
- [ ] revive old branch for this
15-
- [ ] go-iprs
16-
- [ ] ipld?
17-
- [ ] gateway code in its own repo
18-
- [ ] move ipfs/go-ipfs/commands to ipfs/commands
19-
- [ ] move ipfs/go-ipfs/core/corehttp to ipfs/gateway
20-
- [ ] vendor all back in with gx
21-
- [ ] fix progress bars
22-
- [ ] no negative infinity! (before total size is computed)
23-
- [ ] 'ipfs get' progress bar working
24-
- [ ] Reduce idle bandwidth usage
25-
- [ ] Goal: idle < 100kbps
26-
- [ ] measure current idle BW loads to make sure this is reasonable
27-
- [ ] investigate why dht is so chatty
28-
- watch ipfs log tail
29-
- [ ] make fewer calls to findpeer and findprovs
30-
- [ ] identify where all these calls are made
31-
- [ ] fix 'ipfs stats bw' discrepancy
32-
- [ ] have test (using mocknet?) that tests bandwidth usage
33-
- [ ] Make bitswap waste less bandwidth
34-
- [ ] Goal: 50% reduction in duplicate block sends
35-
- [ ] Test to measure this
36-
- [ ] reintroduce pluggable strategy
37-
- [ ] Fix Providers Problem
38-
- [ ] Goal: 10x bandwidth reduction from providing
39-
- [ ] provide-many redo
40-
- [ ] Reduce bitswap RTT
41-
- [ ] decide on pathing language
42-
- [ ] Improve Disk performance
43-
- [ ] Goal: 1TB repo working nicely
44-
- [ ] Goal: 2x improvement in 'ipfs-whatever' ops/s
45-
- [ ] large repo perf #2405
46-
- [ ] investigate flatfs calls
47-
- [ ] reduce number of useless calls
48-
- [ ] dagservice lru caching
49-
- [ ] configurable size
50-
- [ ] blockstore 'has block' bloom filter cache
51-
- [ ] improve query perf
52-
- [ ] different datastore backends
53-
- [ ] datastore config PR
54-
- [ ] introduce sql-datastore
55-
- [ ] NAT Traversal (go-ipfs side)
56-
- [ ] DHT FindPeers only returns first result
57-
- Misc Issues (great place to start contibuting!)
58-
- [ ] user friendly dht output #2494
59-
- [ ] config file validations #2491
60-
- [ ] object patch error bug #2473
61-
- [ ] 'hash only' for ipfs files stat #2461
62-
- [ ] ipfs repo fsck #2457
63-
- [ ] command to list all logging subsystems #2434
64-
- [ ] offline mode for daemon #2393
65-
- [ ] fix dial filters for ipv6 #2329
66-
- [ ] 'ipfs object diff'
67-
- using code from merkledag/utils/diff.go
1+
# go-ipfs - Roadmap
2+
3+
This document describes the current status and the upcoming milestones of the go-ipfs project.
4+
5+
*Updated: Tue, 15 Nov 2016 19:08:06 GMT*
6+
7+
## Status and Progress
8+
9+
[![Project Status](https://badge.waffle.io/ipfs/go-ipfs.svg?label=Backlog&title=Backlog)](http://waffle.io/ipfs/go-ipfs) [![Project Status](https://badge.waffle.io/ipfs/go-ipfs.svg?label=In%20Progress&title=In%20Progress)](http://waffle.io/ipfs/go-ipfs) [![Project Status](https://badge.waffle.io/ipfs/go-ipfs.svg?label=Done&title=Done)](http://waffle.io/ipfs/go-ipfs)
10+
11+
See details of current progress on [Orbit's project board](https://waffle.io/haadcode/orbit)
12+
13+
#### Milestone Summary
14+
15+
| Status | Milestone | Goals | ETA |
16+
| :---: | :--- | :---: | :---: |
17+
| 🚀 | **[ipld integration](#ipld-integration)** | 2 / 2 | Fri Oct 28 2016 |
18+
| 🚀 | **[IPFS Core API](#ipfs-core-api)** | 0 / 0 | Sun Oct 30 2016 |
19+
| 🚀 | **[Directory Sharding](#directory-sharding)** | 1 / 2 | Mon Nov 07 2016 |
20+
| 🚀 | **[ipfs 0.4.5](#ipfs-0.4.5)** | 0 / 2 | Fri Nov 18 2016 |
21+
| 🚀 | **[Filestore implementation](#filestore-implementation)** | 5 / 9 | Sun Dec 04 2016 |
22+
| 🚀 | **[Dont Kill Routers](#dont-kill-routers)** | 0 / 1 | Sun Dec 11 2016 |
23+
24+
## Milestones and Goals
25+
26+
#### ipld integration
27+
28+
> integration of the ipld data format into go-ipfs
29+
30+
🚀 &nbsp;**OPEN** &nbsp;&nbsp;📉 &nbsp;&nbsp;**2 / 2** goals completed **(100%)** &nbsp;&nbsp;📅 &nbsp;&nbsp;**Fri Oct 28 2016**
31+
32+
See [milestone goals](https://waffle.io/ipfs/go-ipfs?milestone=ipld%20integration) for the list of goals this milestone has.
33+
#### IPFS Core API
34+
35+
> This milestone's goal is to extract the gateway code into its own tool. This will facilitate the implementation of the Core API in go-ipfs.
36+
37+
In the past months we've established a core set of commands that IPFS nodes can support. The JS implementation (js-ipfs and js-ipfs-api) is already compliant, and this milestone is all about starting to make the Go implementation (go-ipfs and go-ipfs-api) compliant. Check out https://github.com/ipfs/interface-ipfs-core
38+
39+
🚀 &nbsp;**OPEN** &nbsp;&nbsp;📉 &nbsp;&nbsp;**0 / 0** goals completed **(0%)** &nbsp;&nbsp;📅 &nbsp;&nbsp;**Sun Oct 30 2016**
40+
41+
See [milestone goals](https://waffle.io/ipfs/go-ipfs?milestone=IPFS%20Core%20API) for the list of goals this milestone has.
42+
#### Directory Sharding
43+
44+
> ipfs unixfs currently can't handle large directories. We need to shard directories after they get to a certain size.
45+
46+
🚀 &nbsp;**OPEN** &nbsp;&nbsp;📉 &nbsp;&nbsp;**1 / 2** goals completed **(50%)** &nbsp;&nbsp;📅 &nbsp;&nbsp;**Mon Nov 07 2016**
47+
48+
See [milestone goals](https://waffle.io/ipfs/go-ipfs?milestone=Directory%20Sharding) for the list of goals this milestone has.
49+
#### ipfs 0.4.5
50+
51+
> Version 0.4.5 of go-ipfs
52+
53+
🚀 &nbsp;**OPEN** &nbsp;&nbsp;📉 &nbsp;&nbsp;**0 / 2** goals completed **(0%)** &nbsp;&nbsp;📅 &nbsp;&nbsp;**Fri Nov 18 2016**
54+
55+
See [milestone goals](https://waffle.io/ipfs/go-ipfs?milestone=ipfs%200.4.5) for the list of goals this milestone has.
56+
#### Filestore implementation
57+
58+
>
59+
60+
🚀 &nbsp;**OPEN** &nbsp;&nbsp;📉 &nbsp;&nbsp;**5 / 9** goals completed **(55%)** &nbsp;&nbsp;📅 &nbsp;&nbsp;**Sun Dec 04 2016**
61+
62+
See [milestone goals](https://waffle.io/ipfs/go-ipfs?milestone=Filestore%20implementation) for the list of goals this milestone has.
63+
#### Dont Kill Routers
64+
65+
> Ipfs should strive not to kill peoples home internet connection.
66+
67+
This milestone is for tracking router killer issues beyond the normal bandwidth problems.
68+
69+
🚀 &nbsp;**OPEN** &nbsp;&nbsp;📉 &nbsp;&nbsp;**0 / 1** goals completed **(0%)** &nbsp;&nbsp;📅 &nbsp;&nbsp;**Sun Dec 11 2016**
70+
71+
See [milestone goals](https://waffle.io/ipfs/go-ipfs?milestone=Dont%20Kill%20Routers) for the list of goals this milestone has.
72+

tools/roadmap-generator/.gitignore

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
node_modules/
2+
ROADMAP.md

tools/roadmap-generator/README.md

+26
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# go-ipfs Roadmap Generator
2+
3+
This directory contains tools for generating this project's roadmap.
4+
5+
Uses [roadmap-generator](https://github.com/haadcode/roadmap-generator).
6+
7+
## Requirements
8+
- Node.js v6.x
9+
- Npm v3.x
10+
- GITHUB_TOKEN environment variable set
11+
- See [Creating an access token](https://help.github.com/articles/creating-an-access-token-for-command-line-use/) for help.
12+
13+
## Install
14+
```
15+
npm install
16+
```
17+
## Configure
18+
19+
Put configuration in `go-ipfs-roadmap.conf.js`
20+
21+
## Generate Roadmap
22+
```
23+
npm run roadmap
24+
```
25+
26+
This will generate ROADMAP.md file in this directory. You can copy the ROADMAP.md file to the project's root directory and commit it to Git.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
'use strict'
2+
3+
module.exports = {
4+
// Name of the organization or project this roadmap is generated for
5+
organization: 'go-ipfs',
6+
7+
// Include open and closed milestones where due date is after milestonesStartDate
8+
milestonesStartDate: '2016-10-01T00:00:00Z', // ISO formatted timestamp
9+
10+
// Include open and closed milestones where due date is before milestonesEndDate
11+
milestonesEndDate: '2016-12-30T00:00:00Z', // ISO formatted timestamp
12+
13+
// Github repository to open open a Pull Request with the generated roadmap
14+
targetRepo: "ipfs/go-ipfs", // 'owner/repo'
15+
16+
// List of projects that this roadmap covers
17+
projects: [
18+
{
19+
name: "go-ipfs",
20+
// Repositories that this project consists of.
21+
repos: [
22+
"ipfs/go-ipfs",
23+
"ipfs/go-cid",
24+
"ipfs/go-datastore",
25+
"ipfs/go-ds-flatfs",
26+
"ipfs/go-ds-measure",
27+
"ipfs/go-ipfs-api",
28+
"ipfs/go-ipfs-util",
29+
"ipfs/go-key",
30+
"ipfs/go-log",
31+
"libp2p/go-libp2p",
32+
"libp2p/go-libp2p-crypto",
33+
"libp2p/go-libp2p-loggable",
34+
"libp2p/go-libp2p-peer",
35+
"libp2p/go-libp2p-peerstore",
36+
"libp2p/go-libp2p-secio",
37+
"libp2p/go-libp2p-transport",
38+
"whyrusleeping/go-libp2p-pubsub"
39+
],
40+
// WIP
41+
links: {
42+
status: `## Status and Progress\n
43+
[![Project Status](https://badge.waffle.io/ipfs/go-ipfs.svg?label=Backlog&title=Backlog)](http://waffle.io/ipfs/go-ipfs) [![Project Status](https://badge.waffle.io/ipfs/go-ipfs.svg?label=In%20Progress&title=In%20Progress)](http://waffle.io/ipfs/go-ipfs) [![Project Status](https://badge.waffle.io/ipfs/go-ipfs.svg?label=Done&title=Done)](http://waffle.io/ipfs/go-ipfs)\n
44+
See details of current progress on [Orbit's project board](https://waffle.io/haadcode/orbit)\n\n`
45+
}
46+
},
47+
]
48+
}

tools/roadmap-generator/package.json

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
{
2+
"name": "go-ipfs-roadmap-generator",
3+
"version": "1.0.0",
4+
"description": "Roadmap generator for go-ipfs project",
5+
"main": "index.js",
6+
"scripts": {
7+
"roadmap": "node ./node_modules/.bin/roadmap-generator go-ipfs-roadmap.conf.js -s > ROADMAP.md",
8+
"test": "echo \"Error: no test specified\" && exit 1"
9+
},
10+
"author": "Haad",
11+
"license": "MIT",
12+
"dependencies": {
13+
"roadmap-generator": "0.0.3"
14+
}
15+
}

0 commit comments

Comments
 (0)