{-# LANGUAGE NoImplicitPrelude #-} {-# LANGUAGE NoFieldSelectors #-} module Stack.Types.DockerEntrypoint ( DockerEntrypoint (..) , DockerUser (..) ) where import Stack.Prelude import System.PosixCompat.Types ( FileMode, GroupID, UserID ) -- | Data passed into Docker container for the Docker entrypoint's use newtype DockerEntrypoint = DockerEntrypoint { user :: Maybe DockerUser -- ^ UID/GID/etc of host user, if we wish to perform UID/GID switch in -- container } deriving (Read, Show) -- | Docker host user info data DockerUser = DockerUser { uid :: UserID -- ^ uid , gid :: GroupID -- ^ gid , groups :: [GroupID] -- ^ Supplemental groups , umask :: FileMode -- ^ File creation mask } } deriving (Read, Show)