|
Packit Service |
a2ae7a |
(*
|
|
Packit Service |
a2ae7a |
Module: Chrony
|
|
Packit Service |
a2ae7a |
Parses the chrony config file
|
|
Packit Service |
a2ae7a |
|
|
Packit Service |
a2ae7a |
Author: Pat Riehecky <riehecky@fnal.gov>
|
|
Packit Service |
a2ae7a |
|
|
Packit Service |
a2ae7a |
About: Reference
|
|
Packit Service |
a2ae7a |
This lens tries to keep as close as possible to chrony config syntax
|
|
Packit Service |
a2ae7a |
|
|
Packit Service |
a2ae7a |
See http://chrony.tuxfamily.org/manual.html#Configuration-file
|
|
Packit Service |
a2ae7a |
|
|
Packit Service |
a2ae7a |
About: License
|
|
Packit Service |
a2ae7a |
This file is licenced under the LGPL v2+, like the rest of Augeas.
|
|
Packit Service |
a2ae7a |
|
|
Packit Service |
a2ae7a |
About: Lens Usage
|
|
Packit Service |
a2ae7a |
To be documented
|
|
Packit Service |
a2ae7a |
|
|
Packit Service |
a2ae7a |
About: Configuration files
|
|
Packit Service |
a2ae7a |
This lens applies to /etc/chrony.conf
|
|
Packit Service |
a2ae7a |
|
|
Packit Service |
a2ae7a |
See <filter>.
|
|
Packit Service |
a2ae7a |
*)
|
|
Packit Service |
a2ae7a |
|
|
Packit Service |
a2ae7a |
module Chrony =
|
|
Packit Service |
a2ae7a |
autoload xfm
|
|
Packit Service |
a2ae7a |
|
|
Packit Service |
a2ae7a |
(************************************************************************
|
|
Packit Service |
a2ae7a |
* Group: Import provided expressions
|
|
Packit Service |
a2ae7a |
************************************************************************)
|
|
Packit Service |
a2ae7a |
(* View: empty *)
|
|
Packit Service |
a2ae7a |
let empty = Util.empty
|
|
Packit Service |
a2ae7a |
|
|
Packit Service |
a2ae7a |
(* View: eol *)
|
|
Packit Service |
a2ae7a |
let eol = Util.eol
|
|
Packit Service |
a2ae7a |
|
|
Packit Service |
a2ae7a |
(* View: space *)
|
|
Packit Service |
a2ae7a |
let space = Sep.space
|
|
Packit Service |
a2ae7a |
|
|
Packit Service |
a2ae7a |
(* Variable: email_addr *)
|
|
Packit Service |
a2ae7a |
let email_addr = Rx.email_addr
|
|
Packit Service |
a2ae7a |
|
|
Packit Service |
a2ae7a |
(* Variable: word *)
|
|
Packit Service |
a2ae7a |
let word = Rx.word
|
|
Packit Service |
a2ae7a |
|
|
Packit Service |
a2ae7a |
(* Variable: integer *)
|
|
Packit Service |
a2ae7a |
let integer = Rx.relinteger
|
|
Packit Service |
a2ae7a |
|
|
Packit Service |
a2ae7a |
(* Variable: decimal *)
|
|
Packit Service |
a2ae7a |
let decimal = Rx.reldecimal
|
|
Packit Service |
a2ae7a |
|
|
Packit Service |
a2ae7a |
(* Variable: ip *)
|
|
Packit Service |
a2ae7a |
let ip = Rx.ip
|
|
Packit Service |
a2ae7a |
|
|
Packit Service |
a2ae7a |
(* Variable: path *)
|
|
Packit Service |
a2ae7a |
let path = Rx.fspath
|
|
Packit Service |
a2ae7a |
|
|
Packit Service |
a2ae7a |
(************************************************************************
|
|
Packit Service |
a2ae7a |
* Group: Create required expressions
|
|
Packit Service |
a2ae7a |
************************************************************************)
|
|
Packit Service |
a2ae7a |
(* Variable: number *)
|
|
Packit Service |
a2ae7a |
let number = integer | decimal | decimal . /[eE]/ . integer
|
|
Packit Service |
a2ae7a |
|
|
Packit Service |
a2ae7a |
(* Variable: address_re *)
|
|
Packit Service |
a2ae7a |
let address_re = Rx.ip | Rx.hostname
|
|
Packit Service |
a2ae7a |
|
|
Packit Service |
a2ae7a |
(*
|
|
Packit Service |
a2ae7a |
View: comment
|
|
Packit Service |
a2ae7a |
from 4.2.1 of the upstream doc
|
|
Packit Service |
a2ae7a |
Chrony comments start with: ! ; # or % and must be on their own line
|
|
Packit Service |
a2ae7a |
*)
|
|
Packit Service |
a2ae7a |
let comment = Util.comment_generic /[ \t]*[!;#%][ \t]*/ "# "
|
|
Packit Service |
a2ae7a |
|
|
Packit Service |
a2ae7a |
(* Variable: no_space
|
|
Packit Service |
a2ae7a |
No spaces or comment characters
|
|
Packit Service |
a2ae7a |
*)
|
|
Packit Service |
a2ae7a |
let no_space = /[^ \t\r\n!;#%]+/
|
|
Packit Service |
a2ae7a |
|
|
Packit Service |
a2ae7a |
(* Variable: cmd_options
|
|
Packit Service |
a2ae7a |
Server/Peer/Pool options with values
|
|
Packit Service |
a2ae7a |
*)
|
|
Packit Service |
a2ae7a |
let cmd_options = "asymmetry"
|
|
Packit Service |
a2ae7a |
| "key"
|
|
Packit Service |
a2ae7a |
| /maxdelay((dev)?ratio)?/
|
|
Packit Service |
a2ae7a |
| /(min|max)poll/
|
|
Packit Service |
a2ae7a |
| /(min|max)samples/
|
|
Packit Service |
a2ae7a |
| "maxsources"
|
|
Packit Service |
a2ae7a |
| "mindelay"
|
|
Packit Service |
a2ae7a |
| "offset"
|
|
Packit Service |
a2ae7a |
| "polltarget"
|
|
Packit Service |
a2ae7a |
| "port"
|
|
Packit Service |
a2ae7a |
| "presend"
|
|
Packit Service |
a2ae7a |
| "version"
|
|
Packit Service |
a2ae7a |
|
|
Packit Service |
a2ae7a |
(* Variable: cmd_flags
|
|
Packit Service |
a2ae7a |
Server/Peer/Pool options without values
|
|
Packit Service |
a2ae7a |
*)
|
|
Packit Service |
a2ae7a |
let cmd_flags = "auto_offline"|"iburst"|"noselect"|"offline"|"prefer"
|
|
Packit Service |
a2ae7a |
|"require"|"trust"|"xleave"|"burst"
|
|
Packit Service |
a2ae7a |
|
|
Packit Service |
a2ae7a |
(* Variable: ntp_source
|
|
Packit Service |
a2ae7a |
Server/Peer/Pool key names
|
|
Packit Service |
a2ae7a |
*)
|
|
Packit Service |
a2ae7a |
let ntp_source = "server"|"peer"|"pool"
|
|
Packit Service |
a2ae7a |
|
|
Packit Service |
a2ae7a |
(* Variable: allowdeny_types
|
|
Packit Service |
a2ae7a |
Key names for access configuration
|
|
Packit Service |
a2ae7a |
*)
|
|
Packit Service |
a2ae7a |
let allowdeny_types = "allow"|"deny"|"cmdallow"|"cmddeny"
|
|
Packit Service |
a2ae7a |
|
|
Packit Service |
a2ae7a |
(* Variable: hwtimestamp_options
|
|
Packit Service |
a2ae7a |
HW timestamping options with values
|
|
Packit Service |
a2ae7a |
*)
|
|
Packit Service |
a2ae7a |
let hwtimestamp_options = "minpoll"|"precision"|"rxcomp"|"txcomp"
|
|
Packit Service |
a2ae7a |
|"rxfilter"
|
|
Packit Service |
a2ae7a |
|
|
Packit Service |
a2ae7a |
(* Variable: hwtimestamp_flags
|
|
Packit Service |
a2ae7a |
HW timestamping options without values
|
|
Packit Service |
a2ae7a |
*)
|
|
Packit Service |
a2ae7a |
let hwtimestamp_flags = "nocrossts"
|
|
Packit Service |
a2ae7a |
|
|
Packit Service |
a2ae7a |
(* Variable: local_options
|
|
Packit Service |
a2ae7a |
local options with values
|
|
Packit Service |
a2ae7a |
*)
|
|
Packit Service |
a2ae7a |
let local_options = "stratum"|"distance"
|
|
Packit Service |
a2ae7a |
|
|
Packit Service |
a2ae7a |
(* Variable: local_flags
|
|
Packit Service |
a2ae7a |
local options without values
|
|
Packit Service |
a2ae7a |
*)
|
|
Packit Service |
a2ae7a |
let local_flags = "orphan"
|
|
Packit Service |
a2ae7a |
|
|
Packit Service |
a2ae7a |
(* Variable: ratelimit_options
|
|
Packit Service |
a2ae7a |
Rate limiting options with values
|
|
Packit Service |
a2ae7a |
*)
|
|
Packit Service |
a2ae7a |
let ratelimit_options = "interval"|"burst"|"leak"
|
|
Packit Service |
a2ae7a |
|
|
Packit Service |
a2ae7a |
(* Variable: refclock_options
|
|
Packit Service |
a2ae7a |
refclock options with values
|
|
Packit Service |
a2ae7a |
*)
|
|
Packit Service |
a2ae7a |
let refclock_options = "refid"|"lock"|"poll"|"dpoll"|"filter"|"rate"
|
|
Packit Service |
a2ae7a |
|"minsamples"|"maxsamples"|"offset"|"delay"
|
|
Packit Service |
a2ae7a |
|"precision"|"maxdispersion"|"stratum"|"width"
|
|
Packit Service |
a2ae7a |
|
|
Packit Service |
a2ae7a |
(* Variable: refclock_flags
|
|
Packit Service |
a2ae7a |
refclock options without values
|
|
Packit Service |
a2ae7a |
*)
|
|
Packit Service |
a2ae7a |
let refclock_flags = "noselect"|"pps"|"prefer"|"require"|"tai"|"trust"
|
|
Packit Service |
a2ae7a |
|
|
Packit Service |
a2ae7a |
(* Variable: flags
|
|
Packit Service |
a2ae7a |
Options without values
|
|
Packit Service |
a2ae7a |
*)
|
|
Packit Service |
a2ae7a |
let flags = "dumponexit"
|
|
Packit Service |
a2ae7a |
| "generatecommandkey"
|
|
Packit Service |
a2ae7a |
| "lock_all"
|
|
Packit Service |
a2ae7a |
| "manual"
|
|
Packit Service |
a2ae7a |
| "noclientlog"
|
|
Packit Service |
a2ae7a |
| "rtconutc"
|
|
Packit Service |
a2ae7a |
| "rtcsync"
|
|
Packit Service |
a2ae7a |
|
|
Packit Service |
a2ae7a |
(* Variable: log_flags
|
|
Packit Service |
a2ae7a |
log has a specific options list
|
|
Packit Service |
a2ae7a |
*)
|
|
Packit Service |
a2ae7a |
let log_flags = "measurements"|"rawmeasurements"|"refclocks"|"rtc"
|
|
Packit Service |
a2ae7a |
|"statistics"|"tempcomp"|"tracking"
|
|
Packit Service |
a2ae7a |
|
|
Packit Service |
a2ae7a |
(* Variable: simple_keys
|
|
Packit Service |
a2ae7a |
Options with single values
|
|
Packit Service |
a2ae7a |
*)
|
|
Packit Service |
a2ae7a |
let simple_keys = "acquisitionport" | "bindacqaddress"
|
|
Packit Service |
a2ae7a |
| "bindaddress" | "bindcmdaddress" | "clientloglimit"
|
|
Packit Service |
a2ae7a |
| "combinelimit" | "commandkey"
|
|
Packit Service |
a2ae7a |
| "cmdport" | "corrtimeratio" | "driftfile"
|
|
Packit Service |
a2ae7a |
| "dumpdir" | "hwclockfile" | "include" | "keyfile"
|
|
Packit Service |
a2ae7a |
| "leapsecmode" | "leapsectz" | "linux_freq_scale"
|
|
Packit Service |
a2ae7a |
| "linux_hz" | "logbanner" | "logchange" | "logdir"
|
|
Packit Service |
a2ae7a |
| "maxclockerror" | "maxdistance" | "maxdrift"
|
|
Packit Service |
a2ae7a |
| "maxjitter" | "maxsamples" | "maxslewrate"
|
|
Packit Service |
a2ae7a |
| "maxupdateskew" | "minsamples" | "minsources"
|
|
Packit Service |
a2ae7a |
| "ntpsigndsocket" | "pidfile"
|
|
Packit Service |
a2ae7a |
| "port" | "reselectdist" | "rtcautotrim" | "rtcdevice"
|
|
Packit Service |
a2ae7a |
| "rtcfile" | "sched_priority" | "stratumweight" | "user"
|
|
Packit Service |
a2ae7a |
|
|
Packit Service |
a2ae7a |
(************************************************************************
|
|
Packit Service |
a2ae7a |
* Group: Make some sub-lenses for use in later lenses
|
|
Packit Service |
a2ae7a |
************************************************************************)
|
|
Packit Service |
a2ae7a |
(* View: host_flags *)
|
|
Packit Service |
a2ae7a |
let host_flags = [ space . key cmd_flags ]
|
|
Packit Service |
a2ae7a |
(* View: host_options *)
|
|
Packit Service |
a2ae7a |
let host_options = [ space . key cmd_options . space . store number ]
|
|
Packit Service |
a2ae7a |
(* View: log_flag_list *)
|
|
Packit Service |
a2ae7a |
let log_flag_list = [ space . key log_flags ]
|
|
Packit Service |
a2ae7a |
(* View: store_address *)
|
|
Packit Service |
a2ae7a |
let store_address = [ label "address" . store address_re ]
|
|
Packit Service |
a2ae7a |
|
|
Packit Service |
a2ae7a |
(************************************************************************
|
|
Packit Service |
a2ae7a |
* Group: Lenses for parsing out sections
|
|
Packit Service |
a2ae7a |
************************************************************************)
|
|
Packit Service |
a2ae7a |
(* View: all_flags
|
|
Packit Service |
a2ae7a |
options without any arguments
|
|
Packit Service |
a2ae7a |
*)
|
|
Packit Service |
a2ae7a |
let all_flags = [ Util.indent . key flags . eol ]
|
|
Packit Service |
a2ae7a |
|
|
Packit Service |
a2ae7a |
(* View: kv
|
|
Packit Service |
a2ae7a |
options with only one arg can be directly mapped to key = value
|
|
Packit Service |
a2ae7a |
*)
|
|
Packit Service |
a2ae7a |
let kv = [ Util.indent . key simple_keys . space . (store no_space) . eol ]
|
|
Packit Service |
a2ae7a |
|
|
Packit Service |
a2ae7a |
(* Property: Options with multiple values
|
|
Packit Service |
a2ae7a |
|
|
Packit Service |
a2ae7a |
Each of these gets their own parsing block
|
|
Packit Service |
a2ae7a |
- server|peer|pool <address> <options>
|
|
Packit Service |
a2ae7a |
- allow|deny|cmdallow|cmddeny [all] [<address[/subnet]>]
|
|
Packit Service |
a2ae7a |
- log <options>
|
|
Packit Service |
a2ae7a |
- broadcast <interval> <address> <optional port>
|
|
Packit Service |
a2ae7a |
- fallbackdrift <min> <max>
|
|
Packit Service |
a2ae7a |
- hwtimestamp <interface> <options>
|
|
Packit Service |
a2ae7a |
- initstepslew <threshold> <addr> <optional extra addrs>
|
|
Packit Service |
a2ae7a |
- local <options>
|
|
Packit Service |
a2ae7a |
- mailonchange <emailaddress> <threshold>
|
|
Packit Service |
a2ae7a |
- makestep <threshold> <limit>
|
|
Packit Service |
a2ae7a |
- maxchange <threshold> <delay> <limit>
|
|
Packit Service |
a2ae7a |
- ratelimit|cmdratelimit <options>
|
|
Packit Service |
a2ae7a |
- refclock <driver> <parameter> <options>
|
|
Packit Service |
a2ae7a |
- smoothtime <maxfreq> <maxwander> <options>
|
|
Packit Service |
a2ae7a |
- tempcomp <sensorfile> <interval> (<t0> <k0> <k1> <k2> | <pointfile> )
|
|
Packit Service |
a2ae7a |
*)
|
|
Packit Service |
a2ae7a |
|
|
Packit Service |
a2ae7a |
(* View: host_list
|
|
Packit Service |
a2ae7a |
Find all NTP sources and their flags/options
|
|
Packit Service |
a2ae7a |
*)
|
|
Packit Service |
a2ae7a |
let host_list = [ Util.indent . key ntp_source
|
|
Packit Service |
a2ae7a |
. space . store address_re
|
|
Packit Service |
a2ae7a |
. ( host_flags | host_options )*
|
|
Packit Service |
a2ae7a |
. eol ]
|
|
Packit Service |
a2ae7a |
|
|
Packit Service |
a2ae7a |
(* View: allowdeny
|
|
Packit Service |
a2ae7a |
allow/deny/cmdallow/cmddeny has a specific syntax
|
|
Packit Service |
a2ae7a |
*)
|
|
Packit Service |
a2ae7a |
let allowdeny = [ Util.indent . key allowdeny_types
|
|
Packit Service |
a2ae7a |
. [ space . key "all" ]?
|
|
Packit Service |
a2ae7a |
. ( space . store ( no_space - "all" ) )?
|
|
Packit Service |
a2ae7a |
. eol ]
|
|
Packit Service |
a2ae7a |
|
|
Packit Service |
a2ae7a |
(* View: log_list
|
|
Packit Service |
a2ae7a |
log has a specific options list
|
|
Packit Service |
a2ae7a |
*)
|
|
Packit Service |
a2ae7a |
let log_list = [ Util.indent . key "log" . log_flag_list+ . eol ]
|
|
Packit Service |
a2ae7a |
|
|
Packit Service |
a2ae7a |
(* View: bcast
|
|
Packit Service |
a2ae7a |
broadcast has specific syntax
|
|
Packit Service |
a2ae7a |
*)
|
|
Packit Service |
a2ae7a |
let bcast = [ Util.indent . key "broadcast"
|
|
Packit Service |
a2ae7a |
. space . [ label "interval" . store integer ]
|
|
Packit Service |
a2ae7a |
. space . store_address
|
|
Packit Service |
a2ae7a |
. ( space . [ label "port" . store integer ] )?
|
|
Packit Service |
a2ae7a |
. eol ]
|
|
Packit Service |
a2ae7a |
|
|
Packit Service |
a2ae7a |
(* View: fdrift
|
|
Packit Service |
a2ae7a |
fallbackdrift has specific syntax
|
|
Packit Service |
a2ae7a |
*)
|
|
Packit Service |
a2ae7a |
let fdrift = [ Util.indent . key "fallbackdrift"
|
|
Packit Service |
a2ae7a |
. space . [ label "min" . store integer ]
|
|
Packit Service |
a2ae7a |
. space . [ label "max" . store integer ]
|
|
Packit Service |
a2ae7a |
. eol ]
|
|
Packit Service |
a2ae7a |
|
|
Packit Service |
a2ae7a |
(* View: hwtimestamp
|
|
Packit Service |
a2ae7a |
hwtimestamp has specific syntax
|
|
Packit Service |
a2ae7a |
*)
|
|
Packit Service |
a2ae7a |
let hwtimestamp = [ Util.indent . key "hwtimestamp"
|
|
Packit Service |
a2ae7a |
. space . [ label "interface" . store no_space ]
|
|
Packit Service |
a2ae7a |
. ( space . ( [ key hwtimestamp_flags ]
|
|
Packit Service |
a2ae7a |
| [ key hwtimestamp_options . space
|
|
Packit Service |
a2ae7a |
. store no_space ] )
|
|
Packit Service |
a2ae7a |
)*
|
|
Packit Service |
a2ae7a |
. eol ]
|
|
Packit Service |
a2ae7a |
(* View: istepslew
|
|
Packit Service |
a2ae7a |
initstepslew has specific syntax
|
|
Packit Service |
a2ae7a |
*)
|
|
Packit Service |
a2ae7a |
let istepslew = [ Util.indent . key "initstepslew"
|
|
Packit Service |
a2ae7a |
. space . [ label "threshold" . store number ]
|
|
Packit Service |
a2ae7a |
. ( space . store_address )+
|
|
Packit Service |
a2ae7a |
. eol ]
|
|
Packit Service |
a2ae7a |
|
|
Packit Service |
a2ae7a |
(* View: local
|
|
Packit Service |
a2ae7a |
local has specific syntax
|
|
Packit Service |
a2ae7a |
*)
|
|
Packit Service |
a2ae7a |
let local = [ Util.indent . key "local"
|
|
Packit Service |
a2ae7a |
. ( space . ( [ key local_flags ]
|
|
Packit Service |
a2ae7a |
| [ key local_options . space . store no_space ] )
|
|
Packit Service |
a2ae7a |
)*
|
|
Packit Service |
a2ae7a |
. eol ]
|
|
Packit Service |
a2ae7a |
|
|
Packit Service |
a2ae7a |
(* View: email
|
|
Packit Service |
a2ae7a |
mailonchange has specific syntax
|
|
Packit Service |
a2ae7a |
*)
|
|
Packit Service |
a2ae7a |
let email = [ Util.indent . key "mailonchange" . space
|
|
Packit Service |
a2ae7a |
. [ label "emailaddress" . store email_addr ]
|
|
Packit Service |
a2ae7a |
. space
|
|
Packit Service |
a2ae7a |
. [ label "threshold" . store number ]
|
|
Packit Service |
a2ae7a |
. eol ]
|
|
Packit Service |
a2ae7a |
|
|
Packit Service |
a2ae7a |
(* View: makestep
|
|
Packit Service |
a2ae7a |
makestep has specific syntax
|
|
Packit Service |
a2ae7a |
*)
|
|
Packit Service |
a2ae7a |
let makestep = [ Util.indent . key "makestep"
|
|
Packit Service |
a2ae7a |
. space
|
|
Packit Service |
a2ae7a |
. [ label "threshold" . store number ]
|
|
Packit Service |
a2ae7a |
. space
|
|
Packit Service |
a2ae7a |
. [ label "limit" . store integer ]
|
|
Packit Service |
a2ae7a |
. eol ]
|
|
Packit Service |
a2ae7a |
|
|
Packit Service |
a2ae7a |
(* View: maxchange
|
|
Packit Service |
a2ae7a |
maxchange has specific syntax
|
|
Packit Service |
a2ae7a |
*)
|
|
Packit Service |
a2ae7a |
let maxchange = [ Util.indent . key "maxchange"
|
|
Packit Service |
a2ae7a |
. space
|
|
Packit Service |
a2ae7a |
. [ label "threshold" . store number ]
|
|
Packit Service |
a2ae7a |
. space
|
|
Packit Service |
a2ae7a |
. [ label "delay" . store integer ]
|
|
Packit Service |
a2ae7a |
. space
|
|
Packit Service |
a2ae7a |
. [ label "limit" . store integer ]
|
|
Packit Service |
a2ae7a |
. eol ]
|
|
Packit Service |
a2ae7a |
|
|
Packit Service |
a2ae7a |
(* View: ratelimit
|
|
Packit Service |
a2ae7a |
ratelimit/cmdratelimit has specific syntax
|
|
Packit Service |
a2ae7a |
*)
|
|
Packit Service |
a2ae7a |
let ratelimit = [ Util.indent . key /(cmd)?ratelimit/
|
|
Packit Service |
a2ae7a |
. [ space . key ratelimit_options
|
|
Packit Service |
a2ae7a |
. space . store no_space ]*
|
|
Packit Service |
a2ae7a |
. eol ]
|
|
Packit Service |
a2ae7a |
(* View: refclock
|
|
Packit Service |
a2ae7a |
refclock has specific syntax
|
|
Packit Service |
a2ae7a |
*)
|
|
Packit Service |
a2ae7a |
let refclock = [ Util.indent . key "refclock"
|
|
Packit Service |
a2ae7a |
. space
|
|
Packit Service |
a2ae7a |
. [ label "driver" . store word ]
|
|
Packit Service |
a2ae7a |
. space
|
|
Packit Service |
a2ae7a |
. [ label "parameter" . store no_space ]
|
|
Packit Service |
a2ae7a |
. ( space . ( [ key refclock_flags ]
|
|
Packit Service |
a2ae7a |
| [ key refclock_options . space . store no_space ] )
|
|
Packit Service |
a2ae7a |
)*
|
|
Packit Service |
a2ae7a |
. eol ]
|
|
Packit Service |
a2ae7a |
|
|
Packit Service |
a2ae7a |
(* View: smoothtime
|
|
Packit Service |
a2ae7a |
smoothtime has specific syntax
|
|
Packit Service |
a2ae7a |
*)
|
|
Packit Service |
a2ae7a |
let smoothtime = [ Util.indent . key "smoothtime"
|
|
Packit Service |
a2ae7a |
. space
|
|
Packit Service |
a2ae7a |
. [ label "maxfreq" . store number ]
|
|
Packit Service |
a2ae7a |
. space
|
|
Packit Service |
a2ae7a |
. [ label "maxwander" . store number ]
|
|
Packit Service |
a2ae7a |
. ( space . [ key "leaponly" ] )?
|
|
Packit Service |
a2ae7a |
. eol ]
|
|
Packit Service |
a2ae7a |
|
|
Packit Service |
a2ae7a |
(* View: tempcomp
|
|
Packit Service |
a2ae7a |
tempcomp has specific syntax
|
|
Packit Service |
a2ae7a |
*)
|
|
Packit Service |
a2ae7a |
let tempcomp = [ Util.indent . key "tempcomp"
|
|
Packit Service |
a2ae7a |
. space
|
|
Packit Service |
a2ae7a |
. [ label "sensorfile" . store path ]
|
|
Packit Service |
a2ae7a |
. space
|
|
Packit Service |
a2ae7a |
. [ label "interval" . store number ]
|
|
Packit Service |
a2ae7a |
. space
|
|
Packit Service |
a2ae7a |
. ( [ label "t0" . store number ] . space
|
|
Packit Service |
a2ae7a |
. [ label "k0" . store number ] . space
|
|
Packit Service |
a2ae7a |
. [ label "k1" . store number ] . space
|
|
Packit Service |
a2ae7a |
. [ label "k2" . store number ]
|
|
Packit Service |
a2ae7a |
| [ label "pointfile" . store path ] )
|
|
Packit Service |
a2ae7a |
. eol ]
|
|
Packit Service |
a2ae7a |
|
|
Packit Service |
a2ae7a |
(************************************************************************
|
|
Packit Service |
a2ae7a |
* Group: Final lense summary
|
|
Packit Service |
a2ae7a |
************************************************************************)
|
|
Packit Service |
a2ae7a |
(* View: settings
|
|
Packit Service |
a2ae7a |
* All supported chrony settings
|
|
Packit Service |
a2ae7a |
*)
|
|
Packit Service |
a2ae7a |
let settings = host_list | allowdeny | log_list | bcast | fdrift | istepslew
|
|
Packit Service |
a2ae7a |
| local | email | makestep | maxchange | refclock | smoothtime
|
|
Packit Service |
a2ae7a |
| hwtimestamp | ratelimit | tempcomp | kv | all_flags
|
|
Packit Service |
a2ae7a |
|
|
Packit Service |
a2ae7a |
(*
|
|
Packit Service |
a2ae7a |
* View: lns
|
|
Packit Service |
a2ae7a |
* The crony lens
|
|
Packit Service |
a2ae7a |
*)
|
|
Packit Service |
a2ae7a |
let lns = ( empty | comment | settings )*
|
|
Packit Service |
a2ae7a |
|
|
Packit Service |
a2ae7a |
(* View: filter
|
|
Packit Service |
a2ae7a |
* The files parsed by default
|
|
Packit Service |
a2ae7a |
*)
|
|
Packit Service |
a2ae7a |
let filter = incl "/etc/chrony.conf"
|
|
Packit Service |
a2ae7a |
|
|
Packit Service |
a2ae7a |
let xfm = transform lns filter
|
|
Packit Service |
a2ae7a |
|