MCPcopy
hub / github.com/containerd/containerd / GetOCIStopSignal

Function GetOCIStopSignal

client/signals.go:51–83  ·  view source on GitHub ↗

GetOCIStopSignal retrieves the stop signal specified in the OCI image config

(ctx context.Context, image Image, defaultSignal string)

Source from the content-addressed store, hash-verified

49
50// GetOCIStopSignal retrieves the stop signal specified in the OCI image config
51func GetOCIStopSignal(ctx context.Context, image Image, defaultSignal string) (string, error) {
52 _, err := signal.ParseSignal(defaultSignal)
53 if err != nil {
54 return "", err
55 }
56 ic, err := image.Config(ctx)
57 if err != nil {
58 return "", err
59 }
60 if !images.IsConfigType(ic.MediaType) {
61 return "", fmt.Errorf("unknown image config media type %s", ic.MediaType)
62 }
63
64 var (
65 ociimage v1.Image
66 config v1.ImageConfig
67 )
68 p, err := content.ReadBlob(ctx, image.ContentStore(), ic)
69 if err != nil {
70 return "", err
71 }
72
73 if err = json.Unmarshal(p, &ociimage); err != nil {
74 return "", err
75 }
76 config = ociimage.Config
77
78 if config.StopSignal == "" {
79 return defaultSignal, nil
80 }
81
82 return config.StopSignal, nil
83}

Callers 1

WithImageStopSignalFunction · 0.85

Calls 5

IsConfigTypeFunction · 0.92
ReadBlobFunction · 0.92
UnmarshalMethod · 0.80
ConfigMethod · 0.65
ContentStoreMethod · 0.65

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…