...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 package ociclient
16
17 import (
18 "context"
19 "net/http"
20
21 "cuelabs.dev/go/oci/ociregistry"
22 "cuelabs.dev/go/oci/ociregistry/internal/ocirequest"
23 )
24
25 func (c *client) DeleteBlob(ctx context.Context, repoName string, digest ociregistry.Digest) error {
26 return c.delete(ctx, &ocirequest.Request{
27 Kind: ocirequest.ReqBlobDelete,
28 Repo: repoName,
29 Digest: string(digest),
30 })
31 }
32
33 func (c *client) DeleteManifest(ctx context.Context, repoName string, digest ociregistry.Digest) error {
34 return c.delete(ctx, &ocirequest.Request{
35 Kind: ocirequest.ReqManifestDelete,
36 Repo: repoName,
37 Digest: string(digest),
38 })
39 }
40
41 func (c *client) DeleteTag(ctx context.Context, repoName string, tagName string) error {
42 return c.delete(ctx, &ocirequest.Request{
43 Kind: ocirequest.ReqManifestDelete,
44 Repo: repoName,
45 Tag: tagName,
46 })
47 }
48
49 func (c *client) delete(ctx context.Context, rreq *ocirequest.Request) error {
50 resp, err := c.doRequest(ctx, rreq, http.StatusAccepted)
51 if err != nil {
52 return err
53 }
54 resp.Body.Close()
55 return nil
56 }
57
View as plain text