-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | A simple DSL for describing and generating Dockerfile containers in Haskell.
--   
--   A simple DSL for describing and generating Dockerfile containers in
--   Haskell.
@package dockerfile
@version 0.1.0.1


-- | A Simple Dockerfile DSL for Haskell
--   
--   <pre>
--   main :: IO ()
--   main = do
--     let df = dockerfile $ do
--                from "debian:trusty"
--                maintainer "creichert <a>creichert07@gmail.com</a>"
--                run "apt-get -y update "
--                run "apt-get -y upgrade"
--                cmd [ "echo", "hello world"]
--     putStrLn df
--   </pre>
module Data.Docker
type Docker a = Writer DockerFile a
dockerfile :: Docker a -> String
from :: String -> Docker ()
maintainer :: String -> Docker ()

-- | TODO support alternate forms run scr ps = tell [ Run scr ps ]
run :: Script -> Docker ()
env :: String -> String -> Docker ()
add :: FilePath -> FilePath -> Docker ()
expose :: Int -> Docker ()
copy :: FilePath -> FilePath -> Docker ()
cmd :: [ScriptFile] -> Docker ()
entrypoint :: FilePath -> [Param] -> Docker ()
user :: String -> Docker ()
workdir :: FilePath -> Docker ()
volume :: [FilePath] -> Docker ()
instance GHC.Show.Show Data.Docker.Instruction
