Safe Haskell | Safe |
---|
Implementation of the runtime configuration details.
Synopsis
- data GanetiDaemon
- data MiscGroup
- data GanetiGroup
- data RuntimeEnts = RuntimeEnts {
- reUserToUid :: Map GanetiDaemon UserID
- reUidToUser :: Map UserID String
- reGroupToGid :: Map GanetiGroup GroupID
- reGidToGroup :: Map GroupID String
- daemonName :: GanetiDaemon -> String
- daemonOnlyOnMaster :: GanetiDaemon -> Bool
- daemonLogBase :: GanetiDaemon -> String
- daemonUser :: GanetiDaemon -> String
- daemonGroup :: GanetiGroup -> String
- data ExtraLogReason
- daemonsExtraLogbase :: GanetiDaemon -> ExtraLogReason -> String
- daemonLogFile :: GanetiDaemon -> IO FilePath
- daemonsExtraLogFile :: GanetiDaemon -> ExtraLogReason -> IO FilePath
- daemonPidFile :: GanetiDaemon -> IO FilePath
- allGroups :: [GanetiGroup]
- getEnts :: Error e => ResultT e IO RuntimeEnts
- verifyDaemonUser :: GanetiDaemon -> RuntimeEnts -> IO ()
- checkUidMatch :: String -> UserID -> UserID -> IO ()
Documentation
data GanetiDaemon Source #
GanetiMasterd | |
GanetiMetad | |
GanetiNoded | |
GanetiRapi | |
GanetiConfd | |
GanetiWConfd | |
GanetiKvmd | |
GanetiLuxid | |
GanetiMond |
Instances
Instances
Bounded MiscGroup # | |
Defined in Ganeti.Runtime | |
Enum MiscGroup # | |
Eq MiscGroup # | |
Ord MiscGroup # | |
Defined in Ganeti.Runtime | |
Show MiscGroup # | |
data GanetiGroup Source #
Instances
Eq GanetiGroup # | |
Defined in Ganeti.Runtime (==) :: GanetiGroup -> GanetiGroup -> Bool (/=) :: GanetiGroup -> GanetiGroup -> Bool | |
Ord GanetiGroup # | |
Defined in Ganeti.Runtime compare :: GanetiGroup -> GanetiGroup -> Ordering (<) :: GanetiGroup -> GanetiGroup -> Bool (<=) :: GanetiGroup -> GanetiGroup -> Bool (>) :: GanetiGroup -> GanetiGroup -> Bool (>=) :: GanetiGroup -> GanetiGroup -> Bool max :: GanetiGroup -> GanetiGroup -> GanetiGroup min :: GanetiGroup -> GanetiGroup -> GanetiGroup | |
Show GanetiGroup # | |
Defined in Ganeti.Runtime showsPrec :: Int -> GanetiGroup -> ShowS show :: GanetiGroup -> String showList :: [GanetiGroup] -> ShowS |
data RuntimeEnts Source #
RuntimeEnts | |
|
daemonName :: GanetiDaemon -> String Source #
Returns the daemon name for a given daemon.
daemonOnlyOnMaster :: GanetiDaemon -> Bool Source #
Returns whether the daemon only runs on the master node.
daemonLogBase :: GanetiDaemon -> String Source #
Returns the log file base for a daemon.
daemonUser :: GanetiDaemon -> String Source #
Returns the configured user name for a daemon.
daemonGroup :: GanetiGroup -> String Source #
Returns the configured group for a daemon.
daemonsExtraLogbase :: GanetiDaemon -> ExtraLogReason -> String Source #
Some daemons might require more than one logfile. Specifically, right now only the Haskell http library "snap", used by the monitoring daemon, requires multiple log files.
daemonLogFile :: GanetiDaemon -> IO FilePath Source #
Returns the log file for a daemon.
daemonsExtraLogFile :: GanetiDaemon -> ExtraLogReason -> IO FilePath Source #
Returns the extra log files for a daemon.
daemonPidFile :: GanetiDaemon -> IO FilePath Source #
Returns the pid file name for a daemon.
allGroups :: [GanetiGroup] Source #
All groups list. A bit hacking, as we can't enforce it's complete at compile time.
getEnts :: Error e => ResultT e IO RuntimeEnts Source #
Computes the group/user maps.
verifyDaemonUser :: GanetiDaemon -> RuntimeEnts -> IO () Source #
Checks whether a daemon runs as the right user.
checkUidMatch :: String -> UserID -> UserID -> IO () Source #
Check that two UIDs are matching or otherwise exit.