diff options
author | Franck Cuny <franck@fcuny.net> | 2021-04-15 19:40:00 -0700 |
---|---|---|
committer | Franck Cuny <franck@fcuny.net> | 2022-06-11 13:57:41 -0700 |
commit | f0d3cb4797e9613dc565782b14ef19ab6e494ffb (patch) | |
tree | 0348ccc404811335057b02066030251c7f3065b2 /users/fcuny/exp | |
parent | pull a container into a namespace (diff) | |
download | world-f0d3cb4797e9613dc565782b14ef19ab6e494ffb.tar.gz |
add a lease to the Go context
This will ensure that our container will not be deleted while we work on it. In addition, a default expiry of 24 hours will be set on it once the lease is released (once the program is completed). See [1] for more details. [1] https://github.com/containerd/containerd/blob/261c107ffc4ff681bc73988f64e3f60c32233b37/docs/garbage-collection.md Signed-off-by: Franck Cuny <franck@fcuny.net>
Diffstat (limited to 'users/fcuny/exp')
-rw-r--r-- | users/fcuny/exp/containerd-to-vm/cmd/c2vm/main.go | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/users/fcuny/exp/containerd-to-vm/cmd/c2vm/main.go b/users/fcuny/exp/containerd-to-vm/cmd/c2vm/main.go index 4d0968b..5e9fbb0 100644 --- a/users/fcuny/exp/containerd-to-vm/cmd/c2vm/main.go +++ b/users/fcuny/exp/containerd-to-vm/cmd/c2vm/main.go @@ -42,6 +42,12 @@ func main() { defer client.Close() ctx := namespaces.WithNamespace(context.Background(), defaultNamespace) + ctx, done, err := client.WithLease(ctx) + if err != nil { + log.Fatalf("failed to get a lease: %v", err) + } + defer done(ctx) + image, err := client.Pull(ctx, *containerName, containerd.WithPlatformMatcher(platform)) if err != nil { log.Fatalf("failed to pull the container %s: %v\n", *containerName, err) |