github.com/lmars/docker@v1.6.0-rc2/registry/types.go (about) 1 package registry 2 3 type SearchResult struct { 4 StarCount int `json:"star_count"` 5 IsOfficial bool `json:"is_official"` 6 Name string `json:"name"` 7 IsTrusted bool `json:"is_trusted"` 8 Description string `json:"description"` 9 } 10 11 type SearchResults struct { 12 Query string `json:"query"` 13 NumResults int `json:"num_results"` 14 Results []SearchResult `json:"results"` 15 } 16 17 type RepositoryData struct { 18 ImgList map[string]*ImgData 19 Endpoints []string 20 Tokens []string 21 } 22 23 type ImgData struct { 24 ID string `json:"id"` 25 Checksum string `json:"checksum,omitempty"` 26 ChecksumPayload string `json:"-"` 27 Tag string `json:",omitempty"` 28 } 29 30 type RegistryInfo struct { 31 Version string `json:"version"` 32 Standalone bool `json:"standalone"` 33 } 34 35 type FSLayer struct { 36 BlobSum string `json:"blobSum"` 37 } 38 39 type ManifestHistory struct { 40 V1Compatibility string `json:"v1Compatibility"` 41 } 42 43 type ManifestData struct { 44 Name string `json:"name"` 45 Tag string `json:"tag"` 46 Architecture string `json:"architecture"` 47 FSLayers []*FSLayer `json:"fsLayers"` 48 History []*ManifestHistory `json:"history"` 49 SchemaVersion int `json:"schemaVersion"` 50 } 51 52 type APIVersion int 53 54 func (av APIVersion) String() string { 55 return apiVersions[av] 56 } 57 58 var apiVersions = map[APIVersion]string{ 59 1: "v1", 60 2: "v2", 61 } 62 63 // API Version identifiers. 64 const ( 65 APIVersionUnknown = iota 66 APIVersion1 67 APIVersion2 68 ) 69 70 // RepositoryInfo Examples: 71 // { 72 // "Index" : { 73 // "Name" : "docker.io", 74 // "Mirrors" : ["https://registry-2.docker.io/v1/", "https://registry-3.docker.io/v1/"], 75 // "Secure" : true, 76 // "Official" : true, 77 // }, 78 // "RemoteName" : "library/debian", 79 // "LocalName" : "debian", 80 // "CanonicalName" : "docker.io/debian" 81 // "Official" : true, 82 // } 83 84 // { 85 // "Index" : { 86 // "Name" : "127.0.0.1:5000", 87 // "Mirrors" : [], 88 // "Secure" : false, 89 // "Official" : false, 90 // }, 91 // "RemoteName" : "user/repo", 92 // "LocalName" : "127.0.0.1:5000/user/repo", 93 // "CanonicalName" : "127.0.0.1:5000/user/repo", 94 // "Official" : false, 95 // } 96 type IndexInfo struct { 97 Name string 98 Mirrors []string 99 Secure bool 100 Official bool 101 } 102 103 type RepositoryInfo struct { 104 Index *IndexInfo 105 RemoteName string 106 LocalName string 107 CanonicalName string 108 Official bool 109 }