blob: 31f5fc867735f6bcd4bf574ff98155abd56bb83d [file] [log] [blame]
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements. See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership. The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License. You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
syntax = "proto2";
package docker.spec.v2;
import "mesos/docker/v1.proto";
/**
* Protobuf for the Docker v2 image manifest JSON schema:
* https://github.com/docker/distribution/blob/master/docs/spec/manifest-v2-1.md
*/
message ImageManifest {
required string name = 1;
required string tag = 2;
required string architecture = 3;
message FsLayer {
required string blobSum = 1;
}
repeated FsLayer fsLayers = 4;
message History {
required string v1Compatibility = 1;
// NOTE: This field does not exist in the Docker v2 image manifest
// specification. It is the parsed version of 'v1Compatibility'
// above (which is a raw JSON).
optional v1.ImageManifest v1 = 2;
}
repeated History history = 5;
required uint32 schemaVersion = 6;
message Signature {
// The JSON Web Signature. For more detail please see:
// http://self-issued.info/docs/draft-ietf-jose-json-web-signature.html
message Header {
// The JSON Web Key. For more detail please see:
// https://tools.ietf.org/html/rfc7517 for more
message Jwk {
optional string crv = 1; // The cryptographic curve.
optional string kid = 2; // The key ID. OPTIONAL.
required string kty = 3; // The key type. MUST be present in a JWK.
optional string x = 4; // The base64url-encoded x coordinate.
optional string y = 5; // The base64url-encoded y coordinate.
}
optional Jwk jwk = 1; // The JSON Web Key. OPTIONAL.
required string alg = 2; // The algorithm. MUST be present.
}
required Header header = 1;
required string signature = 2;
required string protected = 3;
}
repeated Signature signatures = 7;
}