Index

T |
| tab, Sep
| table, Toml
| table_gen, Toml
| tables, Toml
| tag, FAI_DiskConfig
| tag_spec, Sudoers
| target, Crypttab
| tcp_check, Test_Keepalived
| tcp_check_field, Keepalived
| tcp_listen_options, Rabbitmq
| tempcomp, Chrony
| Termcap
| terminal, Grub
| TEST a/c/e, Test_IniFile
| TEST a/c/f, Test_IniFile
| TEST a/d/e, Test_IniFile
| TEST a/d/f, Test_IniFile
| TEST b/c/e, Test_IniFile
| TEST b/c/f, Test_IniFile
| TEST b/d/e, Test_IniFile
| TEST b/d/f, Test_IniFile
| TEST list entries, Test_IniFile
| TEST multiline values, Test_IniFile
| Test_Access
| Test_ActiveMQ_Conf
| Test_ActiveMQ_XML
| Test_AFS_cellalias
| Test_Aliases
| Test_Anaconda
| Test_Anacron
| Test_Approx
| Test_Apt_Update_Manager
| Test_Authorized_Keys
| Test_BootConf
| Test_Build
| Test_Carbon
| Test_Channels
| Test_Chrony
| Test_Collectd
| Test_CPanel
| test_csv.aug
| Test_Cups
| Test_Dovecot
| Test_Erlang
| Test_FAI_DiskConfig
| Test_Fonts
| Test_Fuse
| Test_GtkBookmarks
| Test_Htpasswd
| test_httpd.aug
| Test_IniFile
| Test_Inputrc
| Test_Iscsid
| Test_JettyRealm
| Test_JMXAccess
| Test_JMXPassword
| Test_Kdump
| Test_Keepalived
| Test_Known_Hosts
| Test_Koji
| Test_Ldso
| Test_Lightdm
| Test_login_defs
| Test_LVM
| Test_MCollective
| Test_Memcached
| Test_MongoDBServer
| Test_NagiosCfg
| Test_NetworkManager
| Test_Nginx
| Test_Nslcd
| Test_Ntpd
| Test_OpenShift_Config
| Test_OpenShift_Http
| Test_OpenShift_Quickstarts
| Test_Postfix_Passwordmap
| Test_Postfix_Transport
| Test_Postfix_Virtual
| Test_Postgresql
| Test_Protocols
| Test_Puppet_Auth
| Test_Puppetfile
| Test_Qpid
| Test_Quote
| Test_Rabbitmq
| Test_Redis
| Test_Reprepro_Uploaders
| Test_Rhsm
| Test_Rsyslog
| Test_Semanage
| test_shellvars.aug
| test_shellvars_list.aug
| Test_Simplelines
| Test_Simplevars
| test_slapd.aug
| Test_SmbUsers
| Test_Sos
| Test_ssh
| Test_sshd
| Test_sssd
| Test_Subversion
| Test_sudoers
| Test_Sysconfig_Route
| Test_Sysctl
| Test_Systemd
| Test_Thttpd
| Test_Tmpfiles
| test_toml.aug
| test_trapperkeeper.aug
| Test_Up2date
| Test_UpdateDB
| test_user, Test_sudoers
| Test_VMware_Config
| Test_Xml
| Test_Xymon_Alerting
| Test_Yum
| Tests, Lightdm
| Tests to run, Test_IniFile
| THE TMPFILES LENSE, Tmpfiles
| the valid values for schedules, Cron
| Thttpd
| tilde, Test_Tmpfiles
| tilde_tree, Test_Tmpfiles
| time Cron Xymon_Alerting
| Tinc
| title Global puppetfileserver.aug sssd.aug Apt_Update_Manager Avahi Grub IniFile Oz Schroot Subversion Systemd
| TITLE, Subversion
| Title definition Global IniFile
| title_ace, Test_IniFile
| title_acf, Test_IniFile
| title_ade, Test_IniFile
| title_adf, Test_IniFile
| title_bce, Test_IniFile
| title_bcf, Test_IniFile
| title_bde, Test_IniFile
| title_bdf, Test_IniFile
| title_label, IniFile
| Tmpfiles
| to_com_chars, Sudoers
| to_com_dquot, Sudoers
| to_comment_re IniFile Simplevars
| to_eol, Xorg
| TODO Dovecot IniFile Nginx Pgbouncer
| token, Syslog
| Toml
| top level sequence, Yaml
| Top of the tree, Syslog
| tpid, Channels
| trailing_ws, Test_Tmpfiles
| transport, Postfix_Transport
| Trapperkeeper
| trim, Host_Conf
| Tuned
| tuple, Erlang
| tuple values, Test_Erlang
| tuple3, Erlang
| type Automaster Known_Hosts Tmpfiles
| type_label_lv, FAI_DiskConfig

> let tab = del Rx.space "\t"

Deletes a Rx.space and default to a tab

> let table = table_gen "table" "[" "]" | table_gen "@table" "[[" "]]"

A table or array of tables

> let table_gen (name:string) (lbrack:string) (rbrack:string) = let title = Util.indent . label name . Util.del_str lbrack . store /[^]\r\n.]+(\.[^]\r\n.]+)*/ . Util.del_str rbrack . eol in [ title . (entry|empty|comment)* ]

A generic table

> let tag (re:regexp) = [ Util.del_str ":" . key re ]

A generic tag beginning with a colon

> let tag_spec = [ label "tag" . store /(NO)?(PASSWD|EXEC|SETENV)/ . sep_col ]

Tag specification for spec

> let target = Rx.device_name

> let tcp_check = "virtual_server 192.168.1.11 22 { real_server 10.20.40.10 22 { TCP_CHECK { connect_timeout 3 connect_port 22 bindto 192.168.1.1 } } } " test Keepalived.lns get tcp_check = { "virtual_server" { "ip" = "192.168.1.11" } { "port" = "22" } { "real_server" { "ip" = "10.20.40.10" } { "port" = "22" } { "TCP_CHECK" { "connect_timeout" = "3" } { "connect_port" = "22" } { "bindto" = "192.168.1.1" } } } }

An example of a TCP health checker

> let tcp_check_field = let word_re = "bindto" in let num_re = /connect_(timeout|port)/ in field word_re sto_word | field num_re sto_num

> let tcp_listen_options = let value = Erlang.make_value Erlang.bare | Erlang.tuple Erlang.bare Erlang.bare in Erlang.list "tcp_listen_options" value

> let tempcomp = [ Util.indent . key "tempcomp" . space . [ label "sensorfile" . store path ] . space . [ label "interval" . store number ] . space . ( [ label "t0" . store number ] . space . [ label "k0" . store number ] . space . [ label "k1" . store number ] . space . [ label "k2" . store number ] | [ label "pointfile" . store path ] ) . eol ]

tempcomp has specific syntax
Parses termcap capability database

> let terminal = [ command "terminal" "" . ([ spc . switch /dumb|no-echo|no-edit|silent/ ] |[ spc . switch_arg /timeout|lines/ ])* . [ spc . key /console|serial|hercules/ ]* . eol ]

Provides unit tests and examples for the Access lens.
Provides unit tests and examples for the ActiveMQ_Conf lens.
Provides unit tests and examples for the ActiveMQ_XML lens.
Provides unit tests and examples for the AFS_cellalias lens.
Provides unit tests and examples for the Aliases lens.
Provides unit tests and examples for the Anaconda lens.
Provides unit tests and examples for the Anacron lens.
Provides unit tests and examples for the Approx lens.
Provides unit tests and examples for the Apt_Update_Manager lens.
Provides unit tests and examples for the Authorized_Keys lens.
Provides unit tests for the BootConf lens.
Provides unit tests and examples for the Build lens.
Provides unit tests and examples for the Carbon lens.
Provides unit tests and examples for the Channels lens.
Provides unit tests and examples for the Chrony lens.
Provides unit tests and examples for the Collectd lens.
Provides unit tests and examples for the CPanel lens.
Provides unit tests and examples for the Cups lens.
Provides unit tests and examples for the Dovecot lens.
Provides unit tests and examples for the Erlang lens.
Provides unit tests and examples for the FAI_DiskConfig lens.
Provides unit tests and examples for the Fonts lens.
Provides unit tests and examples for the Fuse lens.
Provides unit tests and examples for the GtkBookmarks lens.
Provides unit tests and examples for the Htpasswd lens.
Provides unit tests and examples for the IniFile module.
Provides unit tests and examples for the Inputrc lens.
Provides unit tests and examples for the Iscsid lens.
Provides unit tests and examples for the JettyRealm lens.
Provides unit tests and examples for the JMXAccess lens.
Provides unit tests and examples for the JMXPassword lens.
Provides unit tests and examples for the Kdump lens.
Provides unit tests and examples for the Keepalived lens.
Provides unit tests and examples for the Known_Hosts lens.
Provides unit tests and examples for the Koji lens.
Provides unit tests and examples for the Ldso lens.
Module to test Lightdm module for Augeas
Test cases for the login_defs lense
Provides unit tests and examples for the LVM lens.
Provides unit tests and examples for the MCollective lens.
Provides unit tests and examples for the Memcached lens.
Provides unit tests and examples for the MongoDBServer lens.
Provides unit tests and examples for the NagiosCfg lens.
Provides unit tests and examples for the NetworkManager lens.
Provides unit tests and examples for the Nginx lens.
Provides unit tests and examples for the Nslcd lens.
Provides unit tests for the Ntpd lens.
Provides unit tests and examples for the OpenShift_Config lens.
Provides unit tests and examples for the OpenShift_Http lens.
Provides unit tests and examples for the OpenShift_Quickstarts lens.
Provides unit tests and examples for the Postfix_Passwordmap lens.
Provides unit tests and examples for the Postfix_Transport lens.
Provides unit tests and examples for the Postfix_Virtual lens.
Provides unit tests and examples for the Postgresql lens.
Provides unit tests and examples for the Protocols lens.
Provides unit tests and examples for the Puppet_Auth lens.
Provides unit tests and examples for the Puppetfile lens.
Provides unit tests and examples for the Qpid lens.
Provides unit tests and examples for the Quote lens.
Provides unit tests and examples for the Rabbitmq lens.
Provides unit tests and examples for the Redis lens.
Provides unit tests and examples for the Reprepro_Uploaders lens.
Provides unit tests and examples for the Rhsm lens.
Provides unit tests and examples for the Rsyslog lens.
Provides unit tests and examples for the Semanage lens.
Provides unit tests and examples for the Simplelines lens.
Provides unit tests and examples for the Simplevars lens.
Provides unit tests and examples for the SmbUsers lens.
Provides unit tests and examples for the Sos lens.
Test cases for the sssd lense
Provides unit tests and examples for the Subversion lens.
Provides unit tests and examples for the Sysconfig_Route lens.
Provides unit tests and examples for the Sysctl lens.
Provides unit tests and examples for the Systemd lens.
Provides unit tests and examples for the Thttpd lens.
Provides unit tests and examples for the Tmpfiles lens.
Provides unit tests and examples for the Up2date lens.
Provides unit tests and examples for the UpdateDB lens.

> test test_user get "root @pbuilder +secre-taries @my\ admin\ group EXAMPLE\\\\cslack %ad.domain.com\\\\sudo-users MY\ EX-AMPLE\ 9\\\\cslack\ group " = { "user" = "root" } { "user" = "@pbuilder" } { "user" = "+secre-taries" } { "user" = "@my\\ admin\\ group" } { "user" = "EXAMPLE\\\\cslack" } { "user" = "%ad.domain.com\\\\sudo-users" } { "user" = "MY\\ EX-AMPLE\\ 9\\\\cslack\\ group" } let conf = " Host_Alias LOCALNET = 192.168.0.0/24, localhost # User alias specification User_Alias EXAMPLE_ADMINS = cslack, EXAMPLE\\\\cslack,\ EXAMPLE\\\\jmalstrom # Cmnd alias specification Cmnd_Alias \ DEBIAN_TOOLS \ = \ /usr/bin/apt-get,\ /usr/bin/auto-get, \ /usr/bin/dpkg, /usr/bin/dselect, /usr/sbin/dpkg-reconfigure \ : PBUILDER = /usr/sbin/pbuilder Cmnd_Alias ICAL = /bin/cat /home/rpinson/.kde/share/apps/korganizer/std.ics Defaults@LOCALNET !lecture, \ \t\t tty_tickets,!fqdn, !!env_reset Defaults !visiblepw Defaults:buildd env_keep+=\"APT_CONFIG DEBIAN_FRONTEND SHELL\" Defaults!PBUILDER env_keep+=\"HOME ARCH DIST DISTRIBUTION PDEBUILD_PBUILDER\" # User privilege specification root ALL=(ALL) ALL root ALL=(: ALL) ALL root ALL=(ALL :ALL) ALL # Members of the admin group may gain root privileges %admin ALL=(ALL) ALL, NOPASSWD : NOSETENV: \ DEBIAN_TOOLS %pbuilder LOCALNET = NOPASSWD: PBUILDER www-data +biglab=(rpinson)NOEXEC: ICAL \ : \ localhost = NOPASSWD: /usr/bin/

Provides unit tests and examples for the VMware_Config lens.
Provides unit tests and examples for the Xml lens.
Provides unit tests and examples for the Xymon_Alerting lens.
Provides unit tests and examples for the Yum lens.
The tests/test_lightdm.aug file contains unit tests.
The tests are run with all combinations of the following three parameters:
Parses Thttpd’s configuration files

> let tilde = "w~ /tmp/foo 0755 root root - dGVzdAo=\n"

Example with a tilde character in the type

> let tilde_tree = { "1" { "type" = "w~" } { "path" = "/tmp/foo" } { "mode" = "0755" } { "uid" = "root" } { "gid" = "root" } { "age" = "-" } { "argument" = "dGVzdAo=" } }

Tree for tilde

> let time = [ label "time" . minute . sep_spc . hour . sep_spc . dayofmonth . sep_spc . month . sep_spc . dayofweek ]

Time in the format “minute hour dayofmonth month dayofweek”

> let time = kw_word "TIME"

The time filter definition
Parses Tinc VPN configuration files

> let title = IniFile.indented_title IniFile.record_re

Uses standard INI File title

> let title = IniFile.title Rx.word

> let title = IniFile.indented_title IniFile.record_re

> let title = del /title[ \t=]+/ "title " . value_to_eol . eol

> let title (kw:regexp) = Util.del_str "[" . key kw . Util.del_str "]". eol

Title for record.

> let title = IniFile.indented_title IniFile.record_re

> let title = IniFile.title IniFile.record_re

An IniFile.title

> let title = IniFile.title IniFile.entry_re

> let title = IniFile.title IniFile.record_re

An IniFile.title
subversion doesn’t allow anonymous entries (outside sections)

> let title_ace = IniFile.title IniFile.record_re

> let title_acf = IniFile.title IniFile.record_re

> let title_ade = IniFile.title IniFile.record_re

> let title_adf = IniFile.title IniFile.record_re

> let title_bce = IniFile.title IniFile.record_re

> let title_bcf = IniFile.title IniFile.record_re

> let title_bde = IniFile.title IniFile.record_re

> let title_bdf = IniFile.title IniFile.record_re

> let title_label (name:string) (kw:regexp) = label name . Util.del_str "[" . store kw . Util.del_str "]". eol

Title for record.
Parses systemd tmpfiles.d files

> let to_com_chars = /[^",=#() \t\n\\]+/ (* " relax emacs *)

> let to_com_dquot = /"[^",=#()\n\\]+"/ (* " relax emacs *)

> let to_comment_re = /[^";# \t\n][^";#\n]*[^";# \t\n]|[^";# \t\n]/

Regex until comment

> let to_comment_re = let to_comment_squote = /'[^\n']*'/ in let to_comment_dquote = /"[^\n"]*"/ in let to_comment_noquote = /[^\n \t'"#][^\n#]*[^\n \t#]|[^\n \t'"#]/ in to_comment_squote | to_comment_dquote | to_comment_noquote

The regexp to match the value

> let to_eol = /[^ \t\n](.*[^ \t\n])?/

Match everything from here to eol, cropping whitespace at both ends
Support for multiline values like queries in dict-sql.conf
Things to add in the future
Create a tree for the database options

> let token = /([A-Za-z0-9]+|\*)/

alphanum or “*”
Parses TOML files

> let tpid = let tpid_bylang = [ label "tpid_bylang" . store Rx.integer . (equal . langs)? ] in field_int "tpid" . ( semicol . Build.opt_list tpid_bylang comma )?

> let trailing_ws = " #Type Path Mode UID GID Age Argument \n d /run/user 0755 root root 10d - \t\n L /tmp/foobar - - - - /dev/null\t\n"

The complex example with extra spaces

> let transport = [ label "transport" . (store Rx.word)? ] . colon . nexthop

Parses Trapperkeeper configuration files

> let trim = let trim_list = Build.opt_list [seq "trim" . store Rx.word] (del /[:;,]/ ":") in Build.key_value_line "trim" Sep.space trim_list

Parses Tuned’s configuration files

> let tuple (one:lens) (two:lens) = [ rspace lbrace . label "tuple" . [ label "value" . one ] . lrspace comma . [ label "value" . two ] . lspace rbrace ]

A tuple of values

> let tuple3 (one:lens) (two:lens) (three:lens) = [ rspace lbrace . label "tuple" . [ label "value" . one ] . lrspace comma . [ label "value" . two ] . lrspace comma . [ label "value" . three ] . lspace rbrace ]

A tuple of 3 values

> let type = Rx.word - /ldap/

yp, file, dir etc but not ldap

> let type = [ label "type" . store Rx.neg1 ]

Bits, exponent, and modulus are taken directly from the RSA host key; they can be obtained, for example, from /etc/ssh/ssh_host_key.pub.

> let type = /([fFwdDevqQpLcbCxXrRzZtThHaAm]|[fFwpLcbaA]\+)[-!=~^]*/

One letter.

> let type_label_lv = label "lv" . [ label "vg" . store (/[^# \t\n-]+/ - "raw") ] . Util.del_str "-" . [ label "name" . store /[^ \t\n]+/ ]

Close