Merge pull request #8547 from zhaojizhuang/bolt

[sandbox] Optimize metadata Schema notes to correctly match metadata structures
This commit is contained in:
Fu Wei 2023-05-23 15:32:47 +08:00 committed by GitHub
commit 773874caea
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -54,72 +54,86 @@
// //
// - a namespace in a schema bucket cannot be named "version" // - a namespace in a schema bucket cannot be named "version"
// //
// └──v1 - Schema version bucket /*
// ├──version : <varint> - Latest version, see migrations v1 - Schema version bucket
// ╘══*namespace* version : <varint> - Latest version, see migrations
// ├──labels *namespace*
// │  ╘══*key* : <string> - Label value labels
// ├──image *key* : <string> - Label value
// │  ╘══*image name* image
// │   ├──createdat : <binary time> - Created at *image name*
// │   ├──updatedat : <binary time> - Updated at createdat : <binary time> - Created at
// │   ├──target updatedat : <binary time> - Updated at
// │   │  ├──digest : <digest> - Descriptor digest target
// │   │  ├──mediatype : <string> - Descriptor media type digest : <digest> - Descriptor digest
// │   │  └──size : <varint> - Descriptor size mediatype : <string> - Descriptor media type
// │   └──labels size : <varint> - Descriptor size
// │   ╘══*key* : <string> - Label value labels
// ├──containers *key* : <string> - Label value
// │  ╘══*container id* containers
// │   ├──createdat : <binary time> - Created at *container id*
// │   ├──updatedat : <binary time> - Updated at createdat : <binary time> - Created at
// │   ├──spec : <binary> - Proto marshaled spec updatedat : <binary time> - Updated at
// │   ├──image : <string> - Image name spec : <binary> - Proto marshaled spec
// │   ├──snapshotter : <string> - Snapshotter name image : <string> - Image name
// │   ├──snapshotKey : <string> - Snapshot key snapshotter : <string> - Snapshotter name
// │   ├──runtime snapshotKey : <string> - Snapshot key
// │   │  ├──name : <string> - Runtime name runtime
// │   │  ├──extensions name : <string> - Runtime name
// │   │  │  ╘══*name* : <binary> - Proto marshaled extension options : <binary> - Proto marshaled options
// │   │  └──options : <binary> - Proto marshaled options extensions
// │   └──labels *name* : <binary> - Proto marshaled extension
// │   ╘══*key* : <string> - Label value labels
// ├──snapshots *key* : <string> - Label value
// │  ╘══*snapshotter* snapshots
// │   ╘══*snapshot key* *snapshotter*
// │    ├──name : <string> - Snapshot name in backend *snapshot key*
// │   ├──createdat : <binary time> - Created at name : <string> - Snapshot name in backend
// │   ├──updatedat : <binary time> - Updated at createdat : <binary time> - Created at
// │    ├──parent : <string> - Parent snapshot name updatedat : <binary time> - Updated at
// │   ├──children parent : <string> - Parent snapshot name
// │   │  ╘══*snapshot key* : <nil> - Child snapshot reference children
// │   └──labels *snapshot key* : <nil> - Child snapshot reference
// │   ╘══*key* : <string> - Label value labels
// ├──content *key* : <string> - Label value
// │  ├──blob content
// │  │ ╘══*blob digest* blob
// │  │ ├──createdat : <binary time> - Created at *blob digest*
// │  │ ├──updatedat : <binary time> - Updated at createdat : <binary time> - Created at
// │  │   ├──size : <varint> - Blob size updatedat : <binary time> - Updated at
// │  │ └──labels size : <varint> - Blob size
// │  │ ╘══*key* : <string> - Label value labels
// │  └──ingests *key* : <string> - Label value
// │   ╘══*ingest reference* ingests
// │    ├──ref : <string> - Ingest reference in backend *ingest reference*
// │   ├──expireat : <binary time> - Time to expire ingest ref : <string> - Ingest reference in backend
// │   └──expected : <digest> - Expected commit digest expireat : <binary time> - Time to expire ingest
// └──leases expected : <digest> - Expected commit digest
// ╘══*lease id* sandboxes
// ├──createdat : <binary time> - Created at *sandbox id*
// ├──labels createdat : <binary time> - Created at
// │ ╘══*key* : <string> - Label value updatedat : <binary time> - Updated at
// ├──snapshots spec : <binary> - Proto marshaled spec
// │  ╘══*snapshotter* runtime
// │   ╘══*snapshot key* : <nil> - Snapshot reference name : <string> - Runtime name
// ├──content options : <binary> - Proto marshaled options
// │  ╘══*blob digest* : <nil> - Content blob reference extensions
// └──ingests *name* : <binary> - Proto marshaled extension
// ╘══*ingest reference* : <nil> - Content ingest reference labels
*key* : <string> - Label value
leases
*lease id*
createdat : <binary time> - Created at
labels
*key* : <string> - Label value
snapshots
*snapshotter*
*snapshot key* : <nil> - Snapshot reference
content
*blob digest* : <nil> - Content blob reference
ingests
*ingest reference* : <nil> - Content ingest reference
*/
package metadata package metadata
import ( import (