Skip to content

Commit

Permalink
feat: add hostname and timezone to report output
Browse files Browse the repository at this point in the history
Closes #37.
  • Loading branch information
vst committed Mar 31, 2024
1 parent 8f5e2b5 commit 4491850
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 0 deletions.
3 changes: 3 additions & 0 deletions src/Lhp/Remote.hs
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ import Data.Maybe (catMaybes, fromMaybe)
import qualified Data.Scientific as S
import qualified Data.Text as T
import qualified Lhp.Config as Config
import Lhp.Types (HostReport (_hostReportTimezone))
import qualified Lhp.Types as Types
import System.Exit (ExitCode (..))
import System.IO (hPutStrLn, stderr)
Expand Down Expand Up @@ -65,6 +66,8 @@ compileHostReport
compileHostReport h@Types.Host {..} = do
kvs <- (++) <$> _fetchHostInfo _hostName <*> _fetchHostCloudInfo _hostName
let _hostReportHost = h
_hostReportHostname <- _toParseError _hostName $ _getParse pure "LHP_GENERAL_HOSTNAME" kvs
_hostReportTimezone <- _toParseError _hostName $ _getParse pure "LHP_GENERAL_TIMEZONE" kvs
_hostReportCloud <- _mkCloud _hostName kvs
_hostReportHardware <- _mkHardware _hostName kvs
_hostReportKernel <- _mkKernel _hostName kvs
Expand Down
4 changes: 4 additions & 0 deletions src/Lhp/Types.hs
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,8 @@ instance ADC.HasCodec Host where
-- | Data definition for host patrol report.
data HostReport = HostReport
{ _hostReportHost :: !Host
, _hostReportHostname :: !T.Text
, _hostReportTimezone :: !T.Text
, _hostReportCloud :: !Cloud
, _hostReportHardware :: !Hardware
, _hostReportKernel :: !Kernel
Expand All @@ -90,6 +92,8 @@ instance ADC.HasCodec HostReport where
ADC.object "Report" $
HostReport
<$> ADC.requiredField "host" "Host descriptor." ADC..= _hostReportHost
<*> ADC.requiredField "hostname" "Hostname of the host." ADC..= _hostReportHostname
<*> ADC.requiredField "timezone" "Timezone of the host." ADC..= _hostReportTimezone
<*> ADC.requiredField "cloud" "Cloud information." ADC..= _hostReportCloud
<*> ADC.requiredField "hardware" "Hardware information." ADC..= _hostReportHardware
<*> ADC.requiredField "kernel" "Kernel information." ADC..= _hostReportKernel
Expand Down
2 changes: 2 additions & 0 deletions src/scripts/info.sh
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,8 @@ _check_file /etc/os-release
# PROCEDURE #
#############

_print_var "LHP_GENERAL_HOSTNAME" "$(hostname)"
_print_var "LHP_GENERAL_TIMEZONE" "$(timedatectl | grep "Time zone" | cut -f 2- -d ":" | xargs)"
_print_var "LHP_HW_CPU" "$(nproc)"
_print_var "LHP_HW_RAM" "$(grep -oP 'MemTotal:\s+\K\d+' /proc/meminfo)"
_print_var "LHP_HW_DISK" "$(df -k --output=size / | tail -n +2 | grep -o '[[:digit:]]*')"
Expand Down

0 comments on commit 4491850

Please sign in to comment.