Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

IPFS Repo Spec update #43

Merged
merged 2 commits into from
Feb 13, 2017
Merged

IPFS Repo Spec update #43

merged 2 commits into from
Feb 13, 2017

Conversation

jbenet
Copy link
Member

@jbenet jbenet commented Nov 23, 2015

The repo spec has some discrepancies to fix. I've added some commits that fix some, and noted others. This PR is a discussion to fix it.

Thanks to @masylum for prompting this fix, and sorry you had to find it by hand.

Discrepancies to address:

  • fs-repo: version format
  • fs-repo: pid in repo.lock
  • fs-repo: ipfs repo fsck to fix lock issues.
  • fs-repo: blocks dir layout (fanout/depth)
  • fs-repo: come up with a name for api-file-only repo

cc @ion1 @whyrusleeping @diasdavid


It is recommended that `config` files avoid identifying information, so that they may be re-shared across multiple nodes.

**CHANGES**: today, implementations like go-ipfs store the peer-id and private key directly in the config. These will be removed and moved out.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it would be good to specify the schema. Ideally any implementation should be compatible. Also, mention that its currently stored in JSON.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

that sounds good-- though i do want to keep config files flexible, in that people may want to add more values into it than we give -- similar to how people use .git/config

@masylum
Copy link

masylum commented Nov 23, 2015

Good to see specs moving forward little by little 💪

My two cents: I see some overlap between fs-repo and the repo specs. For instance, I'm not sure repo.lock is something a non-fs repo should be worried about. I'm thinking, for instance of an IndexedDB/Localstorage implementation for the browser, it probably does not care about locks at that level.This week I will try to move forward with the js implementation. Those differences will become more obvious when trying to get a non fs based repository.

@jbenet
Copy link
Member Author

jbenet commented Nov 30, 2015

I'm not sure repo.lock is something a non-fs repo should be worried about. I'm thinking, for instance of an IndexedDB/Localstorage implementation for the browser, it probably does not care about locks at that level.

makes sense. I only included that in repo spec to make it clear people need to deal with concurrent access. we could just make it a clear warning and remove the repo.lock requirement there altogether.

any other observations like that?

Those differences will become more obvious when trying to get a non fs based repository.

sounds great!

thanks for the feedback-- a solid spec here will go a long way

@jbenet jbenet mentioned this pull request Nov 30, 2015
42 tasks
This was referenced Nov 30, 2015
@@ -32,46 +31,35 @@ Repo Implementations:

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It would be pretty sweet to upgrade https://github.com/maxogden/abstract-blob-store to have a parallel interface for Go, so that we can have all of those s3/fs/mem repos for 'free'.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In go, we use https://github.com/jbenet/go-datastore/ -- which is similar and alraedy has a bunch.

i've been making these abstractions for a long time: https://github.com/datastore/datastore and https://github.com/datastore

@daviddias daviddias changed the title Fix Repo Spec issues IPFS Repo Spec update Jan 2, 2016
@daviddias daviddias mentioned this pull request Feb 13, 2017
6 tasks
@daviddias daviddias merged commit 3f0baaa into master Feb 13, 2017
@daviddias daviddias deleted the fix-repo branch February 13, 2017 16:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants