blob: 3ba32a0a092d5c2a662d5b02fceb0e0ab0400241 [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.v1;
/**
* Protobuf for the Docker v1 image manifest JSON schema:
* https://github.com/docker/docker/blob/master/image/spec/v1.md
*/
message ImageManifest {
// Following docker code to define and order protobuf fields.
// https://github.com/docker/docker/blob/master/image/image.go
optional string id = 1;
optional string parent = 2;
// This field is used to comment user added comment. It is not
// covered in docker v1 doc, but it is included in docker code.
optional string comment = 3;
optional string created = 4;
// Container is the id of the container used to commit. It is
// not covered in docker v1 doc, but included in docker code.
optional string container = 5;
// TODO(gilbert): Add other config fields.
// Currently necessary runtime config fields only. Please see:
// https://github.com/docker/docker/blob/master/runconfig/config.go
message Config {
optional string Hostname = 1;
repeated string Entrypoint = 2;
repeated string Env = 3;
optional string User = 4;
repeated string Cmd = 5;
optional string WorkingDir = 6;
// Name of the image as it was passed by the operator.
optional string Image = 8;
// The Label of a docker image, used for adding custom metadata.
// https://docs.docker.com/engine/userguide/labels-custom-metadata
map<string, string> Labels = 9;
// TODO(gilbert): Create a message including string-message
// pair to match ExposedPorts' map (map[nat.Port]struct{}).
}
optional Config container_config = 6;
optional string docker_version = 7;
optional string author = 8;
optional Config config = 9;
optional string architecture = 10;
optional string os = 11;
optional uint32 Size = 12;
}