Overview
The UCL working group will discuss and develop a common set of keys for configuration files to be used throughout the base system, and plan for the implementation of UCL support in various utilities. The goal is to develop a template for all future configuration files that is human readable and writable, but is also hierarchical, expressive, and programmatically editable. The stretch goal is to develop a universal API for loading UCL configurations into the existing C structs used internally by the target application, to simplify implementing UCL in more places.
Topics
- Opening: What is UCL
- Presentation of work in progress: converting newsyslog and other tools in base to UCL
- Discuss common requirements for configuration files
Discuss layering (/etc/defaults/foo.conf -> /etc/foo.conf -> /etc/foo.conf.d/*.conf -> /usr/local/etc/foo.conf.d/*.conf)
- Develop a common set of grammar/keys to work across all configuration files ('enabled' activates/deactivates each block, allows disabling default configuration without modifying the default files, ala pkg)
- Discuss required features for management utilities (uclcmd)
- Identify additional targets to UCL-ify
- Develop a universal API for using libucl in various applications, simplify loading configuration into C structs (libfigpar?)
Slides
Allan's slides about converting the base system, and uclcmd
Vsevolod's slides about the limitations and future of libucl
Attending
In order to attend you need register for the developer summit as well as by email for the session and be confirmed by the working group organizer. Follow the guidelines described on the main page or what you received by email. For questions or if in doubt ask the session chairs.
Please do NOT add yourself here. Your name will appear automatically once you have received the confirmation email. You need to put your name on the general developer summit attendees list though.
Name |
Username / Affiliation |
Topics of Interest |
Notes |
jonathan |
all |
|
|
jsa |
|
cancelled |
|
Michael Brink-Engel |
Xinuos |
all |
|
theraven |
all |
|
|
bapt |
all |
|
|
brd |
all |
|
|
grehan |
bhyve |
cancelled |
|
jamie |
jail.conf |
|
|
allanjude |
all |
Organizer |
|
Christian Koch |
Norse Corp |
|
|
erwin |
all / operations |
|
|
xmj |
|
|
|
Ken Moore |
iXsystems |
Lumina DE |
|
kmoore |
|
|
|
Phillip Nordwall |
Isilon |
|
|
Pierre Pronchery |
NetBSD/EdgeBSD/DeforaOS |
|
|
roberto |
|
|
|
Phil Shafer |
Juniper Networks, Inc. |
|
libxo contrib |
vsevolod |
|
libUCL author |
|
Arun Thomas |
BAE Systems |
|
|
John Wolfe |
Xinuos |
all |
|
Results
- libucl lacks some features that would be very useful. Some of those features are easier to add than others.
- libucl cannot handle unknown variables well
- libucl needs a way to preserve comments and macros during parsing
- Jonathan Anderson recommends an AST
- A number of additional files were identified as targets for UCL-ification