diff --git a/containers/containers.go b/containers/containers.go index 275f8069e..c343a64a9 100644 --- a/containers/containers.go +++ b/containers/containers.go @@ -76,6 +76,9 @@ type Container struct { // Extensions stores client-specified metadata Extensions map[string]typeurl.Any + + // SandboxID is an identifier of sandbox this container belongs to. + SandboxID string } // RuntimeInfo holds runtime specific information diff --git a/metadata/containers.go b/metadata/containers.go index b27dc0f87..d6517ce47 100644 --- a/metadata/containers.go +++ b/metadata/containers.go @@ -359,6 +359,8 @@ func readContainer(container *containers.Container, bkt *bolt.Bucket) error { } container.Extensions = extensions + case string(bucketKeySandboxID): + container.SandboxID = string(v) } return nil @@ -407,5 +409,9 @@ func writeContainer(bkt *bolt.Bucket, container *containers.Container) error { return err } + if err := bkt.Put(bucketKeySandboxID, []byte(container.SandboxID)); err != nil { + return err + } + return boltutil.WriteLabels(bkt, container.Labels) }