fs-repo-migrations

command module
v1.2.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 17, 2017 License: MIT Imports: 13 Imported by: 0

README

fs-repo-migrations

standard-readme compliant

Migrations for the filesystem repository of ipfs clients

These are migrations for the filesystem repository of ipfs clients. This tool is written in Go, and developed alongside go-ipfs, but it should work with any repo conforming to the fs-repo specs.

Table of Contents

Install

make install

Usage

When should I migrate

When you want to upgrade go-ipfs to a new version, you may need to migrate.

Here is the table showing which repo version corresponds to which go-ipfs version:

ipfs repo version go-ipfs versions
1 0.0.0 - 0.2.3
2 0.3.0 - 0.3.11
3 0.4.0 - 0.4.2
4 0.4.3 - current
How to Run Migrations

Please see the migration run guide here.

Developing Migrations

Migrations are one of those things that can be extremely painful on users. At the end of the day, we want users never to have to think about it. The process should be:

  • SAFE. No data lost. Ever.
  • Revertible. Tools must implement forward and backward migrations.
  • Frozen. After the tool is written, all code must be frozen and vendored.
  • To Spec. The tools must conform to the spec.

Contribute

Feel free to join in. All welcome. Open an issue!

This repository falls under the IPFS Code of Conduct.

Want to hack on IPFS?

License

MIT

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
Godeps
_workspace/src/github.com/anacrolix/missinggo
Package missinggo contains miscellaneous helpers used in many of anacrolix' projects.
Package missinggo contains miscellaneous helpers used in many of anacrolix' projects.
_workspace/src/github.com/anacrolix/utp
Package utp implements uTP, the micro transport protocol as used with Bittorrent.
Package utp implements uTP, the micro transport protocol as used with Bittorrent.
_workspace/src/github.com/bradfitz/iter
Package iter provides a syntantically different way to iterate over integers.
Package iter provides a syntantically different way to iterate over integers.
_workspace/src/github.com/codegangsta/cli
Package cli provides a minimal framework for creating and organizing command line Go applications.
Package cli provides a minimal framework for creating and organizing command line Go applications.
_workspace/src/github.com/ipfs/go-ipfs-api
package shell implements a remote API interface for a running ipfs daemon
package shell implements a remote API interface for a running ipfs daemon
_workspace/src/github.com/jbenet/go-base58
Package base58 provides base58-check encoding.
Package base58 provides base58-check encoding.
_workspace/src/github.com/jbenet/go-multiaddr
Package multiaddr provides an implementation of the Multiaddr network address format.
Package multiaddr provides an implementation of the Multiaddr network address format.
_workspace/src/github.com/jbenet/go-multiaddr-net
Package manet provides Multiaddr specific versions of common functions in stdlib's net package.
Package manet provides Multiaddr specific versions of common functions in stdlib's net package.
_workspace/src/github.com/jbenet/go-multihash/opts
Package opts helps to write commands which may take multihash options.
Package opts helps to write commands which may take multihash options.
_workspace/src/golang.org/x/crypto/sha3
Package sha3 implements the SHA-3 fixed-output-length hash functions and the SHAKE variable-output-length hash functions defined by FIPS-202.
Package sha3 implements the SHA-3 fixed-output-length hash functions and the SHAKE variable-output-length hash functions defined by FIPS-202.
Package migrate is used to write migrations between representations of things.
Package migrate is used to write migrations between representations of things.
context
Package context defines the Context type, which carries deadlines, cancelation signals, and other request-scoped values across API boundaries and between processes.
Package context defines the Context type, which carries deadlines, cancelation signals, and other request-scoped values across API boundaries and between processes.
go-datastore/flatfs
Package flatfs is a Datastore implementation that stores all objects in a two-level directory structure in the local file system, regardless of the hierarchy of the keys.
Package flatfs is a Datastore implementation that stores all objects in a two-level directory structure in the local file system, regardless of the hierarchy of the keys.
go-datastore/fs
Package fs is a simple Datastore implementation that stores keys are directories and files, mirroring the key.
Package fs is a simple Datastore implementation that stores keys are directories and files, mirroring the key.
go-datastore/keytransform
Package keytransform introduces a Datastore Shim that transforms keys before passing them to its child.
Package keytransform introduces a Datastore Shim that transforms keys before passing them to its child.
go-datastore/mount
Package mount provides a Datastore that has other Datastores mounted at various key prefixes.
Package mount provides a Datastore that has other Datastores mounted at various key prefixes.
go-datastore/namespace
Package namespace introduces a namespace Datastore Shim, which basically mounts the entire child datastore under a prefix.
Package namespace introduces a namespace Datastore Shim, which basically mounts the entire child datastore under a prefix.
go-migrate
Package migrate is used to write migrations between representations of things.
Package migrate is used to write migrations between representations of things.
go-uuid/uuid
The uuid package generates and inspects UUIDs.
The uuid package generates and inspects UUIDs.
goleveldb/leveldb
Package leveldb provides implementation of LevelDB key/value database.
Package leveldb provides implementation of LevelDB key/value database.
goleveldb/leveldb/cache
Package cache provides interface and implementation of a cache algorithms.
Package cache provides interface and implementation of a cache algorithms.
goleveldb/leveldb/comparer
Package comparer provides interface and implementation for ordering sets of data.
Package comparer provides interface and implementation for ordering sets of data.
goleveldb/leveldb/errors
Package errors provides common error types used throughout leveldb.
Package errors provides common error types used throughout leveldb.
goleveldb/leveldb/filter
Package filter provides interface and implementation of probabilistic data structure.
Package filter provides interface and implementation of probabilistic data structure.
goleveldb/leveldb/iterator
Package iterator provides interface and implementation to traverse over contents of a database.
Package iterator provides interface and implementation to traverse over contents of a database.
goleveldb/leveldb/journal
Package journal reads and writes sequences of journals.
Package journal reads and writes sequences of journals.
goleveldb/leveldb/memdb
Package memdb provides in-memory key/value database implementation.
Package memdb provides in-memory key/value database implementation.
goleveldb/leveldb/opt
Package opt provides sets of options used by LevelDB.
Package opt provides sets of options used by LevelDB.
goleveldb/leveldb/storage
Package storage provides storage abstraction for LevelDB.
Package storage provides storage abstraction for LevelDB.
goleveldb/leveldb/table
Package table allows read and write sorted key/value.
Package table allows read and write sorted key/value.
goleveldb/leveldb/util
Package util provides utilities used throughout leveldb.
Package util provides utilities used throughout leveldb.
goprocess
Package goprocess introduces a Process abstraction that allows simple organization, and orchestration of work.
Package goprocess introduces a Process abstraction that allows simple organization, and orchestration of work.
goprocess/periodic
Package periodic is part of github.com/jbenet/goprocess.
Package periodic is part of github.com/jbenet/goprocess.
goprocess/ratelimit
Package ratelimit is part of github.com/jbenet/goprocess.
Package ratelimit is part of github.com/jbenet/goprocess.
gosnappy/snappy
Package snappy implements the snappy block-based compression format.
Package snappy implements the snappy block-based compression format.
Godeps/_workspace/src/code.google.com/p/go-uuid/uuid
The uuid package generates and inspects UUIDs.
The uuid package generates and inspects UUIDs.
Godeps/_workspace/src/github.com/gogo/protobuf/proto
Package proto converts data structures to and from the wire format of protocol buffers.
Package proto converts data structures to and from the wire format of protocol buffers.
Godeps/_workspace/src/github.com/hashicorp/golang-lru
This package provides a simple LRU cache.
This package provides a simple LRU cache.
Godeps/_workspace/src/github.com/ipfs/go-ipfs/blocks
package blocks contains the lowest level of ipfs data structures, the raw block with a checksum.
package blocks contains the lowest level of ipfs data structures, the raw block with a checksum.
Godeps/_workspace/src/github.com/ipfs/go-ipfs/blocks/blockstore
package blockstore implements a thin wrapper over a datastore, giving a clean interface for Getting and Putting block objects.
package blockstore implements a thin wrapper over a datastore, giving a clean interface for Getting and Putting block objects.
Godeps/_workspace/src/github.com/ipfs/go-ipfs/blocks/set
package set contains various different types of 'BlockSet's
package set contains various different types of 'BlockSet's
Godeps/_workspace/src/github.com/ipfs/go-ipfs/blockservice
package blockservice implements a BlockService interface that provides a single GetBlock/AddBlock interface that seamlessly retrieves data either locally or from a remote peer through the exchange.
package blockservice implements a BlockService interface that provides a single GetBlock/AddBlock interface that seamlessly retrieves data either locally or from a remote peer through the exchange.
TODO FIXME name me
Godeps/_workspace/src/github.com/ipfs/go-ipfs/exchange
package exchange defines the IPFS Exchange interface
package exchange defines the IPFS Exchange interface
Godeps/_workspace/src/github.com/ipfs/go-ipfs/exchange/offline
package offline implements an object that implements the exchange interface but returns nil values to every request.
package offline implements an object that implements the exchange interface but returns nil values to every request.
Godeps/_workspace/src/github.com/ipfs/go-ipfs/merkledag
package merkledag implements the ipfs Merkle DAG datastructures.
package merkledag implements the ipfs Merkle DAG datastructures.
Godeps/_workspace/src/github.com/ipfs/go-ipfs/merkledag/internal/pb
Package merkledag_pb is a generated protocol buffer package.
Package merkledag_pb is a generated protocol buffer package.
Godeps/_workspace/src/github.com/ipfs/go-ipfs/merkledag/traverse
Package traverse provides merkledag traversal functions
Package traverse provides merkledag traversal functions
Godeps/_workspace/src/github.com/ipfs/go-ipfs/pin
package pin implements structures and methods to keep track of which objects a user wants to keep stored locally.
package pin implements structures and methods to keep track of which objects a user wants to keep stored locally.
Godeps/_workspace/src/github.com/ipfs/go-ipfs/pin/internal/pb
Package pb is a generated protocol buffer package.
Package pb is a generated protocol buffer package.
Godeps/_workspace/src/github.com/ipfs/go-ipfs/repo/config
package config implements the ipfs config file datastructures and utilities.
package config implements the ipfs config file datastructures and utilities.
Godeps/_workspace/src/github.com/ipfs/go-ipfs/thirdparty/notifier
Package notifier provides a simple notification dispatcher meant to be embedded in larger structres who wish to allow clients to sign up for event notifications.
Package notifier provides a simple notification dispatcher meant to be embedded in larger structres who wish to allow clients to sign up for event notifications.
Godeps/_workspace/src/github.com/ipfs/go-ipfs/util
package util implements various utility functions used within ipfs that do not currently have a better place to live.
package util implements various utility functions used within ipfs that do not currently have a better place to live.
Godeps/_workspace/src/github.com/jbenet/go-base58
Package base58 provides base58-check encoding.
Package base58 provides base58-check encoding.
Godeps/_workspace/src/github.com/jbenet/go-ctxgroup
package ctxgroup provides the ContextGroup, a hybrid between the context.Context and sync.WaitGroup, which models process trees.
package ctxgroup provides the ContextGroup, a hybrid between the context.Context and sync.WaitGroup, which models process trees.
Godeps/_workspace/src/github.com/jbenet/go-datastore/flatfs
Package flatfs is a Datastore implementation that stores all objects in a two-level directory structure in the local file system, regardless of the hierarchy of the keys.
Package flatfs is a Datastore implementation that stores all objects in a two-level directory structure in the local file system, regardless of the hierarchy of the keys.
Godeps/_workspace/src/github.com/jbenet/go-datastore/fs
Package fs is a simple Datastore implementation that stores keys are directories and files, mirroring the key.
Package fs is a simple Datastore implementation that stores keys are directories and files, mirroring the key.
Godeps/_workspace/src/github.com/jbenet/go-datastore/keytransform
Package keytransform introduces a Datastore Shim that transforms keys before passing them to its child.
Package keytransform introduces a Datastore Shim that transforms keys before passing them to its child.
Godeps/_workspace/src/github.com/jbenet/go-datastore/measure
Package measure provides a Datastore wrapper that records metrics using github.com/codahale/metrics.
Package measure provides a Datastore wrapper that records metrics using github.com/codahale/metrics.
Godeps/_workspace/src/github.com/jbenet/go-datastore/mount
Package mount provides a Datastore that has other Datastores mounted at various key prefixes.
Package mount provides a Datastore that has other Datastores mounted at various key prefixes.
Godeps/_workspace/src/github.com/jbenet/go-datastore/namespace
Package namespace introduces a namespace Datastore Shim, which basically mounts the entire child datastore under a prefix.
Package namespace introduces a namespace Datastore Shim, which basically mounts the entire child datastore under a prefix.
Godeps/_workspace/src/github.com/jbenet/goprocess
Package goprocess introduces a Process abstraction that allows simple organization, and orchestration of work.
Package goprocess introduces a Process abstraction that allows simple organization, and orchestration of work.
Godeps/_workspace/src/github.com/jbenet/goprocess/periodic
Package periodic is part of github.com/jbenet/goprocess.
Package periodic is part of github.com/jbenet/goprocess.
Godeps/_workspace/src/github.com/jbenet/goprocess/ratelimit
Package ratelimit is part of github.com/jbenet/goprocess.
Package ratelimit is part of github.com/jbenet/goprocess.
Godeps/_workspace/src/github.com/syndtr/goleveldb/leveldb
Package leveldb provides implementation of LevelDB key/value database.
Package leveldb provides implementation of LevelDB key/value database.
Godeps/_workspace/src/github.com/syndtr/goleveldb/leveldb/cache
Package cache provides interface and implementation of a cache algorithms.
Package cache provides interface and implementation of a cache algorithms.
Godeps/_workspace/src/github.com/syndtr/goleveldb/leveldb/comparer
Package comparer provides interface and implementation for ordering sets of data.
Package comparer provides interface and implementation for ordering sets of data.
Godeps/_workspace/src/github.com/syndtr/goleveldb/leveldb/errors
Package errors provides common error types used throughout leveldb.
Package errors provides common error types used throughout leveldb.
Godeps/_workspace/src/github.com/syndtr/goleveldb/leveldb/filter
Package filter provides interface and implementation of probabilistic data structure.
Package filter provides interface and implementation of probabilistic data structure.
Godeps/_workspace/src/github.com/syndtr/goleveldb/leveldb/iterator
Package iterator provides interface and implementation to traverse over contents of a database.
Package iterator provides interface and implementation to traverse over contents of a database.
Godeps/_workspace/src/github.com/syndtr/goleveldb/leveldb/journal
Package journal reads and writes sequences of journals.
Package journal reads and writes sequences of journals.
Godeps/_workspace/src/github.com/syndtr/goleveldb/leveldb/memdb
Package memdb provides in-memory key/value database implementation.
Package memdb provides in-memory key/value database implementation.
Godeps/_workspace/src/github.com/syndtr/goleveldb/leveldb/opt
Package opt provides sets of options used by LevelDB.
Package opt provides sets of options used by LevelDB.
Godeps/_workspace/src/github.com/syndtr/goleveldb/leveldb/storage
Package storage provides storage abstraction for LevelDB.
Package storage provides storage abstraction for LevelDB.
Godeps/_workspace/src/github.com/syndtr/goleveldb/leveldb/table
Package table allows read and write sorted key/value.
Package table allows read and write sorted key/value.
Godeps/_workspace/src/github.com/syndtr/goleveldb/leveldb/util
Package util provides utilities used throughout leveldb.
Package util provides utilities used throughout leveldb.
Godeps/_workspace/src/github.com/syndtr/gosnappy/snappy
Package snappy implements the snappy block-based compression format.
Package snappy implements the snappy block-based compression format.
Godeps/_workspace/src/github.com/whyrusleeping/go-logging
Package logging implements a logging infrastructure for Go.
Package logging implements a logging infrastructure for Go.
Godeps/_workspace/src/github.com/whyrusleeping/go-metrics
Go port of Coda Hale's Metrics library <https://github.com/rcrowley/go-metrics> Coda Hale's original work: <https://github.com/codahale/metrics>
Go port of Coda Hale's Metrics library <https://github.com/rcrowley/go-metrics> Coda Hale's original work: <https://github.com/codahale/metrics>
Metrics output to StatHat.
Godeps/_workspace/src/golang.org/x/crypto/blowfish
Package blowfish implements Bruce Schneier's Blowfish encryption algorithm.
Package blowfish implements Bruce Schneier's Blowfish encryption algorithm.
Godeps/_workspace/src/golang.org/x/crypto/sha3
Package sha3 implements the SHA-3 fixed-output-length hash functions and the SHAKE variable-output-length hash functions defined by FIPS-202.
Package sha3 implements the SHA-3 fixed-output-length hash functions and the SHAKE variable-output-length hash functions defined by FIPS-202.
Godeps/_workspace/src/golang.org/x/net/context
Package context defines the Context type, which carries deadlines, cancelation signals, and other request-scoped values across API boundaries and between processes.
Package context defines the Context type, which carries deadlines, cancelation signals, and other request-scoped values across API boundaries and between processes.
base32
Package base32 implements base32 encoding as specified by RFC 4648.
Package base32 implements base32 encoding as specified by RFC 4648.
flatfs
Package flatfs is a Datastore implementation that stores all objects in a two-level directory structure in the local file system, regardless of the hierarchy of the keys.
Package flatfs is a Datastore implementation that stores all objects in a two-level directory structure in the local file system, regardless of the hierarchy of the keys.
go-ds-flatfs
Package flatfs is a Datastore implementation that stores all objects in a two-level directory structure in the local file system, regardless of the hierarchy of the keys.
Package flatfs is a Datastore implementation that stores all objects in a two-level directory structure in the local file system, regardless of the hierarchy of the keys.
ipfs-8-to-9
migration Module
sharness
dependencies/pollEndpoint
pollEndpoint is a helper utility that waits for a http endpoint to be reachable and return with http.StatusOK
pollEndpoint is a helper utility that waits for a http endpoint to be reachable and return with http.StatusOK
dependencies Module
tools module

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL