mirror of
https://github.com/containers/podman.git
synced 2025-05-21 17:16:22 +08:00

kpod inspect now uses the new libpod container state and closely matches the output of docker inspect some aspects of it are still WIP as the libpod container state is still being worked on Signed-off-by: umohnani8 <umohnani@redhat.com>
44 lines
1.1 KiB
Go
44 lines
1.1 KiB
Go
package driver
|
|
|
|
import cstorage "github.com/containers/storage"
|
|
|
|
// Data handles the data for a storage driver
|
|
type Data struct {
|
|
Name string `json:"Name"`
|
|
Data map[string]string `json:"Data"`
|
|
}
|
|
|
|
// GetDriverName returns the name of the driver for the given store
|
|
func GetDriverName(store cstorage.Store) (string, error) {
|
|
driver, err := store.GraphDriver()
|
|
if err != nil {
|
|
return "", err
|
|
}
|
|
return driver.String(), nil
|
|
}
|
|
|
|
// GetDriverMetadata returns the metadata regarding the driver for the layer in the given store
|
|
func GetDriverMetadata(store cstorage.Store, layerID string) (map[string]string, error) {
|
|
driver, err := store.GraphDriver()
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return driver.Metadata(layerID)
|
|
}
|
|
|
|
// GetDriverData returns the Data struct with information of the driver used by the store
|
|
func GetDriverData(store cstorage.Store, layerID string) (*Data, error) {
|
|
name, err := GetDriverName(store)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
metaData, err := GetDriverMetadata(store, layerID)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return &Data{
|
|
Name: name,
|
|
Data: metaData,
|
|
}, nil
|
|
}
|