| Safe Haskell | Safe |
|---|
Ganeti.Runtime
Description
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 #
Constructors
| GanetiMasterd | |
| GanetiMetad | |
| GanetiNoded | |
| GanetiRapi | |
| GanetiConfd | |
| GanetiWConfd | |
| GanetiKvmd | |
| GanetiLuxid | |
| GanetiMond |
Instances
Constructors
| DaemonsGroup | |
| AdminGroup |
Instances
| Bounded MiscGroup # | |
Defined in Ganeti.Runtime | |
| Enum MiscGroup # | |
Defined in Ganeti.Runtime | |
| Eq MiscGroup # | |
| Ord MiscGroup # | |
Defined in Ganeti.Runtime | |
| Show MiscGroup # | |
data GanetiGroup Source #
Constructors
| DaemonGroup GanetiDaemon | |
| ExtraGroup MiscGroup |
Instances
| Eq GanetiGroup # | |
Defined in Ganeti.Runtime | |
| Ord GanetiGroup # | |
Defined in Ganeti.Runtime Methods 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 Methods showsPrec :: Int -> GanetiGroup -> ShowS show :: GanetiGroup -> String showList :: [GanetiGroup] -> ShowS | |
data RuntimeEnts Source #
Constructors
| RuntimeEnts | |
Fields
| |
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.
data ExtraLogReason Source #
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.