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

Convert Depot data storage to Redis #429

Merged
merged 1 commit into from
Apr 25, 2016
Merged

Convert Depot data storage to Redis #429

merged 1 commit into from
Apr 25, 2016

Conversation

reset
Copy link
Collaborator

@reset reset commented Apr 23, 2016

This replaces the backend of the Depot's DataStore from LMDB to Redis. I've added some abstractions in the dbcache crate which are not complete but will be molded as we continue to build out our persistence layer in the vault. The Depot doesn't store data the way the Vault server does, so we're only using the most basic abstractions.

The behaviour of the API should be completely unchanged with the exception of one addition. You can now list all packages of a given origin within a view. I'm not sure if we need this but it was easy to add so I just went ahead and did it.

The doctor tool is a little less feature-ful than it was before, but it also was never exactly complete. Right now it will blow away any views you have created and any packages you have assigned to them on repair. I'll need to add these features back in when I revisit it.

@reset reset force-pushed the redis-depot branch 4 times, most recently from 1e4c983 to 3aedd45 Compare April 25, 2016 00:27
@fnichol
Copy link
Collaborator

fnichol commented Apr 25, 2016

I built a package from this and successfully uploaded an entire stage1 set of artifacts. Then used that to launch a default type Studio (which installs from packages).

I pushed a commit which updates 2 Cargo.lock files, but otherwise we're going to be good to merge here shortly.

@fnichol
Copy link
Collaborator

fnichol commented Apr 25, 2016

gif-keyboard-7473235510045658624

@adamhjk
Copy link
Contributor

adamhjk commented Apr 25, 2016

gif-keyboard-3895105124003048381

path: "/hab/svc/hab-depot/data".to_string(),
port: super::ListenPort::default(),
listen_addr: super::ListenAddr::default(),
datastore_addr: net::SocketAddrV4::new(net::Ipv4Addr::new(127, 0, 0, 1), 6379),
Copy link
Collaborator

Choose a reason for hiding this comment

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

We'll want to make this configurable but can handle that in a later PR.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Gonna be taking care of this now in another PR since I already need it to deploy the service ;)

@bookshelfdave
Copy link
Contributor

excellent!

gif-keyboard-16527578613116607018

@reset reset merged commit 68b58f4 into master Apr 25, 2016
@reset reset deleted the redis-depot branch April 25, 2016 20:18
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.

4 participants