-
Notifications
You must be signed in to change notification settings - Fork 82
/
manifest.go
124 lines (115 loc) · 3.69 KB
/
manifest.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
//go:build !nolegacy
// +build !nolegacy
// Package manifest is a legacy package, this has been moved to the types/manifest package
package manifest
import (
"net/http"
topTypes "github.com/regclient/regclient/types"
"github.com/regclient/regclient/types/errs"
topManifest "github.com/regclient/regclient/types/manifest"
"github.com/regclient/regclient/types/mediatype"
"github.com/regclient/regclient/types/ref"
)
const (
// MediaTypeDocker1Manifest
//
// Deprecated: replace with [mediatype.Docker1Manifest].
MediaTypeDocker1Manifest = mediatype.Docker1Manifest
// MediaTypeDocker1ManifestSigned
//
// Deprecated: replace with [mediatype.Docker1ManifestSigned].
MediaTypeDocker1ManifestSigned = mediatype.Docker1ManifestSigned
// MediaTypeDocker2Manifest
//
// Deprecated: replace with [mediatype.Docker2Manifest].
MediaTypeDocker2Manifest = mediatype.Docker2Manifest
// MediaTypeDocker2ManifestList
//
// Deprecated: replace with [mediatype.Docker2ManifestList].
MediaTypeDocker2ManifestList = mediatype.Docker2ManifestList
// MediaTypeDocker2ImageConfig
//
// Deprecated: replace with [mediatype.Docker2ImageConfig].
MediaTypeDocker2ImageConfig = mediatype.Docker2ImageConfig
// MediaTypeOCI1Manifest
//
// Deprecated: replace with [mediatype.OCI1Manifest].
MediaTypeOCI1Manifest = mediatype.OCI1Manifest
// MediaTypeOCI1ManifestList
//
// Deprecated: replace with [mediatype.OCI1ManifestList].
MediaTypeOCI1ManifestList = mediatype.OCI1ManifestList
// MediaTypeOCI1ImageConfig
//
// Deprecated: replace with [mediatype.OCI1ImageConfig].
MediaTypeOCI1ImageConfig = mediatype.OCI1ImageConfig
// MediaTypeDocker2Layer
//
// Deprecated: replace with [mediatype.Docker2Layer].
MediaTypeDocker2Layer = mediatype.Docker2LayerGzip
// MediaTypeOCI1Layer
//
// Deprecated: replace with [mediatype.OCI1Layer].
MediaTypeOCI1Layer = mediatype.OCI1Layer
// MediaTypeOCI1LayerGzip
//
// Deprecated: replace with [mediatype.OCI1LayerGzip].
MediaTypeOCI1LayerGzip = mediatype.OCI1LayerGzip
// MediaTypeBuildkitCacheConfig
//
// Deprecated: replace with [mediatype.BuildkitCacheConfig].
MediaTypeBuildkitCacheConfig = mediatype.BuildkitCacheConfig
)
type (
// Manifest interface is implemented by all supported manifests but
// many calls are only supported by certain underlying media types.
//
// Deprecated: replace with [manifest.Manifest].
Manifest = topManifest.Manifest
)
var (
// ErrNotFound
//
// Deprecated: replace with [errs.ErrNotFound].
ErrNotFound = errs.ErrNotFound
// ErrNotImplemented
//
// Deprecated: replace with [errs.ErrNotImplemented].
ErrNotImplemented = errs.ErrNotImplemented
// ErrUnavailable
//
// Deprecated: replace with [errs.ErrUnavailable].
ErrUnavailable = errs.ErrUnavailable
// ErrUnsupportedMediaType
//
// Deprecated: replace with [errs.ErrUnsupportedMediaType].
ErrUnsupportedMediaType = errs.ErrUnsupported
)
// New creates a new manifest.
//
// Deprecated: replace with [manifest.New].
func New(mediaType string, raw []byte, r ref.Ref, header http.Header) (Manifest, error) {
return topManifest.New(
topManifest.WithDesc(topTypes.Descriptor{
MediaType: mediaType,
}),
topManifest.WithRef(r),
topManifest.WithRaw(raw),
topManifest.WithHeader(header),
)
}
// FromDescriptor creates a manifest from a descriptor.
//
// Deprecated: replace with [manifest.New].
func FromDescriptor(desc topTypes.Descriptor, mBytes []byte) (Manifest, error) {
return topManifest.New(
topManifest.WithDesc(desc),
topManifest.WithRaw(mBytes),
)
}
// FromOrig creates a manifest from an underlying manifest struct.
//
// Deprecated: replace with [manifest.New].
func FromOrig(orig interface{}) (Manifest, error) {
return topManifest.New(topManifest.WithOrig(orig))
}