Class: Microsandbox::Image

Inherits:
Object
  • Object
show all
Defined in:
lib/microsandbox/image.rb

Overview

Management of the local OCI image cache. Images are pulled automatically by Sandbox.create; this namespace lets you inspect and prune the cache.

Class Method Summary collapse

Class Method Details

.get(reference) ⇒ ImageInfo

Metadata for one cached image.

Returns:



83
84
85
# File 'lib/microsandbox/image.rb', line 83

def get(reference)
  ImageInfo.new(Native::Image.get(reference.to_s))
end

.inspect(reference = nil) ⇒ ImageDetail

Full inspection detail for a cached image. With no argument this is the normal class ‘#inspect` (so object display still works).

Returns:



90
91
92
93
94
# File 'lib/microsandbox/image.rb', line 90

def inspect(reference = nil)
  return super() if reference.nil?

  ImageDetail.new(Native::Image.inspect(reference.to_s))
end

.listArray<ImageInfo>

All cached images.

Returns:



77
78
79
# File 'lib/microsandbox/image.rb', line 77

def list
  Native::Image.list.map { |info| ImageInfo.new(info) }
end

.pruneImagePruneReport

Garbage-collect unreferenced images, manifests, and layers.

Returns:



106
107
108
# File 'lib/microsandbox/image.rb', line 106

def prune
  ImagePruneReport.new(Native::Image.prune)
end

.remove(reference, force: false) ⇒ nil

Remove a cached image.

Parameters:

  • force (Boolean) (defaults to: false)

    remove even if referenced

Returns:

  • (nil)


99
100
101
102
# File 'lib/microsandbox/image.rb', line 99

def remove(reference, force: false)
  Native::Image.remove(reference.to_s, force)
  nil
end