Optimize metadata Schema notes to correctly match metadata structures

1. Add sandboxes object
2. Optimize indentation of parent and child objects

Signed-off-by: zhaojizhuang <571130360@qq.com>
This commit is contained in:
zhaojizhuang
2023-05-21 21:30:02 +08:00
parent 8eea15f891
commit 82deabf9db

View File

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