Index

K |
| Kdump
| Keepalived keepalived.aug ldso.aug
| kernel Erlang Grub Test_Erlang
| kernel_args, Grub
| kernel_parameters, Erlang
| key_comment, Authorized_Keys
| key_name, Nslcd
| key_opt_rtable_line, Ntpd
| key_opt_value_line, BootConf
| key_opt_weight_rtable_line, Ntpd
| key_options, Authorized_Keys
| key_re Approx Up2date
| key_type, Authorized_Keys
| key_value Build Test_Build
| key_value_line Build Test_Build
| key_value_line_comment Build Test_Build
| key_value_line_regexp, Nslcd
| key_value_line_regexp_opt_map, Nslcd
| key_ws_value Build Test_Build
| keys Dovecot Test_Authorized_Keys
| keyword, Ntpd
| Keywords Aptsources Ntpd
| knode, Test_Xml
| Known_Hosts
| Koji
| kv Approx Chrony CPanel
| kw_arg, Grub
| kw_boot_arg, Grub
| kw_menu_arg, Grub
| kw_pres, Grub
| kw_word, Xymon_Alerting
| kw_word_filters_opt, Xymon_Alerting

Parses /etc/kdump.conf
Parses /etc/keepalived/keepalived.conf

> let kernel = application "kernel" kernel_parameters

Core Erlang kernel app configuration

> let kernel = [ command /kernel\$?/ "\t" . (spc . ([switch "type" . eq . store /[a-z]+/] |[switch "no-mem-option"]))* . spc . kernel_args ]

> let kernel_args = let arg = /[A-Za-z0-9_.$-]+/ - /type|no-mem-option/ in store /(\([a-z0-9,]+\))?\/[^ \t\n]*/ . (spc . multiboot_arg)? . (spc . [ key arg . (eq. store /([^ \t\n])*/)?])* . eol

Parse the file name and args on a kernel or module line.

> let kernel_parameters = value "browser_cmd" path | value "dist_auto_connect" (store /never|once/) | value "error_logger" (store /tty|false|silent/) | value "net_setuptime" integer | value "net_ticktime" integer | value "shutdown_timeout" integer | value "sync_nodes_timeout" integer | value "start_dist_ac" boolean | value "start_boot_server" boolean | value "start_disk_log" boolean | value "start_pg2" boolean | value "start_timer" boolean

Config parameters accepted for kernel app

> let key_comment = [ label "comment" . store Rx.space_in ]

> let key_name = /[^ #\n\t\/][^ #\n\t\/]+/

> let key_opt_rtable_line (kw:regexp) (sto:lens) = let rtable = [ Util.del_str "rtable" . space . label "rtable" . store rtable_re ] in [ key kw . space . sto . (space . rtable)? . eol ]

A subnode with a keyword, an optional routing table id and an end of line.

> let key_opt_value_line (kw:regexp) (sto:lens) = [ key kw . (space . sto)? . eol ]

A subnode with a keyword, an optional part consisting of a separator and a storing lens, and an end of line

> let key_opt_weight_rtable_line (kw:regexp) (sto:lens) = let rtable = [ Util.del_str "rtable" . space . label "rtable" . store rtable_re ] in let weight = [ Util.del_str "weight" . space . label "weight" . store weight_re ] in [ key kw . space . sto . (space . weight)? . (space . rtable)? . eol ]

A subnode with a keyword, an optional routing table id, an optional weight-value and an end of line.

> let key_options = [ label "options" . Build.opt_list option Sep.comma ]

A list of key options

> let key_re = /\$?[A-Za-z0-9_.-]+/

> let key_re = /[^=# \t\n]+/

> let key_type = let key_type_re = /ecdsa-sha2-nistp[0-9]+/ | /ssh-[a-z0-9]+/ in [ label "type" . store key_type_re ]

> let key_value (kw: regexp) (sep:lens) (sto:lens) = [ key kw . sep . sto ]

Same as key_value_line, but does not end with an end of line

> let key_value = Build.key_value Rx.word Sep.equal (store Rx.word)

> let key_value_line (kw:regexp) (sep:lens) (sto:lens) = [ key kw . sep . sto . eol ]

A subnode with a keyword, a separator and a storing lens, and an end of line

> let key_value_line = Build.key_value_line Rx.word Sep.equal (store Rx.word)

> let key_value_line_comment (kw:regexp) (sep:lens) (sto:lens) (comment:lens) = [ key kw . sep . sto . (eol|comment) ]

Same as key_value_line, but allows to have a comment in the end of a line and an end of line

> let key_value_line_comment = Build.key_value_line_comment Rx.word Sep.equal (store Rx.word) Util.comment

> let key_value_line_regexp (kw:string) (sto:regexp) = Build.key_value_line kw spc (store sto)

A simple configuration option but specifying the regex for the value.

> let key_value_line_regexp_opt_map (kw:string) (sto:regexp) = ( key_value_line_regexp kw sto | mapped_entry kw sto )

A mapped configuration but the MAP value is optional as in scope [MAP] value`.

> let key_ws_value (kw:regexp) = key_value_line kw Util.del_ws_spc (store Rx.space_in)

Store a key/value pair where key and value are separated by whitespace and the value goes to the end of the line.

> let key_ws_value = Build.key_ws_value Rx.word

> let keys = Rx.word - (commands | block_names)

Match any possible key except commands and block names.

> let keys = "# Example keys, one of each type # ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDpWrKYsEsVUyuwMN4ReBN/TMGsaUWzDKDz/uQr6MlNNM95MDK/BPyJ+DiBiNMFVLpRt3gH3eCJBLJKMuUDaTNy5uym2zNgAaAIVct6M2GHI68W3iY3Ja8/MaRPbyTpMh1O74S+McpAW1SGL2YzFchYMjTnu/kOD3lxiWNiDLvdLFZu0wPOi7CYG37VXR4Thb0cC92zqnCjaP1TwfhpEYUZoowElYkoV2vG+19O6cRm/zduYcf8hmegZKB4GFUJTtZ2gZ18XJDSQd0ykK3KPt/+bKskdrtfiOwSZAmUZmd2YuAlY6+CBn1T3UBdQntueukd0z1xhd6SX7Bl8+qyqLQ3 user@example ssh-dsa AAAA user@example ecdsa-sha2-nistp256 AAAA user@example ssh-ed25519 AAAA user@example # Example comments ssh-dsa AAAA ssh-dsa AAAA user@example "

> let keyword = listen | server | servers | sensor

> let knode (r:regexp) = [ key r ]

A simple flag function
Parses SSH known_hosts files
Parses koji config files

> let kv = [ indent . key key_re . del sep " " . store value_re . eol ]

> let kv = [ Util.indent . key simple_keys . space . (store no_space) . eol ]

options with only one arg can be directly mapped to key = value

> let kv = [ key /[A-Za-z0-9:_.-]+/ . (Sep.equal . store (Rx.space_in?))? . Util.eol ]

A key-value pair, supporting flags and empty values

> let kw_arg (kw:regexp) (indent:string) (dflt_sep:string) = [ command kw indent . value_sep dflt_sep . value_to_eol . eol ]

> let kw_boot_arg (kw:regexp) = kw_arg kw "\t" " "

> let kw_menu_arg (kw:regexp) = kw_arg kw "" " "

> let kw_pres (kw:string) = [ opt_ws . key kw . eol ]

> let kw_word (kw:regexp) = Build.key_value kw equal store_word

A key=value value

> let kw_word_filters_opt (kw:string) = [ key kw . equal . store_word . filters_opt ]

A kw_word entry with optional filters
Close