-
Notifications
You must be signed in to change notification settings - Fork 315
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
initial metadata store implementation #165
Conversation
This PR has passed 'Verify' and is ready for review and approval! |
baa1ef3
to
6ab47b7
Compare
This PR has passed 'Verify' and is ready for review and approval! |
This PR has passed 'Verify' and is ready for review and approval! |
This PR has passed 'Verify' and is ready for review and approval! |
This PR has passed 'Verify' and is ready for review and approval! |
This PR has passed 'Verify' and is ready for review and approval! |
This PR has passed 'Verify' and is ready for review and approval! |
This PR has passed 'Verify' and is ready for review and approval! |
4dad098
to
b607447
Compare
This PR has passed 'Verify' and is ready for review and approval! |
This PR has passed 'Verify' and is ready for review and approval! |
baedafa
to
bb11e49
Compare
} | ||
|
||
impl<'a> From<&'a str> for PackageIdent { | ||
fn from(value: &'a str) -> PackageIdent { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is awesome!
This PR has passed 'Verify' and is ready for review and approval! |
PackageIdent { | ||
derivation: deriv.into(), | ||
name: name.into(), | ||
version: version.map(|v| v.into()), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Clever!
When I try to run
Can we ensure that the data directory exists before starting the depot? |
@fnichol absolutely, good catch! |
This PR has passed 'Verify' and is ready for review and approval! |
This PR has passed 'Verify' and is ready for review and approval! |
9101246
to
e2b73f4
Compare
This PR has passed 'Verify' and is ready for review and approval! |
This PR has passed 'Verify' and is ready for review and approval! |
Ok, this PR contains the fixes that @adamhjk and I spoke about on video chat last night. I'm going to merge this one in so we're ready for demos tomorrow! |
This PR has passed 'Verify' and is ready for review and approval! |
@delivery approve |
Failed to unknown change: afd21805-27c3-4cf2-b3d6-25462315f5d6 |
@delivery approve |
Merged change afd21805-27c3-4cf2-b3d6-25462315f5d6 From review branch datastore into master Signed-off-by: reset <[email protected]>
This PR has passed 'Acceptance' and is ready to be delivered! |
This is the first pass at adding a metadata storage to the Depot server
PackageIdent
struct which encapsulates functionality which was sprinkled throughout modules in the codebase for working with package identifiers. This struct is passed as an argument to many functions which previously took either four&str
s or two&str
s and twoOption<&str>
sDataStore
struct which encapsulates the lmdb environment and all databasesPkgDatabase
which is populated from reading the metadata files of package archivesPkgIndex
which is a special database that allows sorted duplicate data to form an index. This database can be queried to find the latest version of a package using a cursor.ViewDatabase
which contains the names of repositories and the packages which are a part of them. This allows us to segregate particular packages to only being available in certain environments while not duplicating data on disk for the actual package archive.data_store
anddata_object
modules which contain an abstraction on top of the FFI layer of lmdbdepot-repair
repo-create
repo-list
package::archive
module frompackage
Known Issues