Lorenz Brun | 901c732 | 2023-07-13 20:10:37 +0200 | [diff] [blame^] | 1 | syntax = "proto3"; |
| 2 | |
| 3 | package monogon.metropolis.pkg.localregistry; |
| 4 | |
| 5 | option go_package = "source.monogon.dev/metropolis/pkg/localregistry/spec"; |
| 6 | |
| 7 | // BlobDescriptor is metadata for a single registry blob. Analogous to a |
| 8 | // distribution.Descriptor in Go. |
| 9 | message BlobDescriptor { |
| 10 | // Path to the file in the build directory. |
| 11 | string file_path = 1; |
| 12 | // Path to a file containing the SHA256 digest of the blob. |
| 13 | string digest_path = 2; |
| 14 | } |
| 15 | |
| 16 | // Single image metadata |
| 17 | message Image { |
| 18 | // Name of the image (no domain or tag, just slash-separated path) |
| 19 | string name = 1; |
| 20 | // Config blob |
| 21 | BlobDescriptor config = 2; |
| 22 | // Layer blobs in order |
| 23 | repeated BlobDescriptor layers = 3; |
| 24 | } |
| 25 | |
| 26 | // Main message |
| 27 | message Manifest { |
| 28 | // List of images for the local registry |
| 29 | repeated Image images = 1; |
| 30 | } |