@@ -73,6 +73,14 @@ data Container = Container
7373type Digest = Text
7474type Tag = Text
7575
76+newtype Labels = Labels (M.Map Text Text) deriving (Eq, Show)
77+
78+instance FromJSON Labels where
79+ parseJSON val = Labels <$> parseJSON val
80+
81+instance ToJSON Labels where
82+ toJSON (Labels kvs) = object [k .= v | (k,v) <- (M.toList kvs)]
83+
7684data Image = DockerImage {
7785 imageId :: ImageID
7886 , imageCreated :: Integer
@@ -81,6 +89,7 @@ data Image = DockerImage {
8189 , imageRepoDigests :: [Digest]
8290 , imageSize :: Integer
8391 , imageVirtualSize :: Integer
92+ , imageLabels :: Labels
8493 } deriving (Show, Eq, Generic)
8594
8695dropImagePrefix = drop 5