@@ -73,6 +73,14 @@ data Container = Container
73type Digest = Text
73type Digest = Text
74type Tag = Text
74type Tag = Text
76+newtype Labels = Labels (M.Map Text Text) deriving (Eq, Show)
78+instance FromJSON Labels where
79+ parseJSON val = Labels <$> parseJSON val
81+instance ToJSON Labels where
82+ toJSON (Labels kvs) = object [k .= v | (k,v) <- (M.toList kvs)]
76data Image = DockerImage {
84data Image = DockerImage {
77 imageId :: ImageID
85 imageId :: ImageID
78 , imageCreated :: Integer
86 , imageCreated :: Integer
@@ -81,6 +89,7 @@ data Image = DockerImage {
81 , imageRepoDigests :: [Digest]
89 , imageRepoDigests :: [Digest]
82 , imageSize :: Integer
90 , imageSize :: Integer
83 , imageVirtualSize :: Integer
91 , imageVirtualSize :: Integer
92+ , imageLabels :: Labels
84 } deriving (Show, Eq, Generic)
93 } deriving (Show, Eq, Generic)
86dropImagePrefix = drop 5
95dropImagePrefix = drop 5