summaryrefslogtreecommitdiff
path: root/src/vyconfd.ml
AgeCommit message (Collapse)Author
2018-02-16Implement config reading functions and a minimal command line client for ↵Daniil Baturin
using them. Yes, I hate oversized commits too, but this is hard to avoid sometimes. Adjustments to the Session functions logic required to make it work: Do not try to validate the path. The validation function is geared towards validating _set_ paths, so when path lacks a value, it doesn't work right. We assume that the path has been through set at some point, so if a path currently exists in the config tree, it is also a valid path that can be used for Reference_tree.is_leaf etc.
2018-02-16Add logging of interface definition file loading.Daniil Baturin
Move the high level load_interface_definitions function from Reference_tree to Startup.
2018-02-12Add support for the idempotent config read functions to vyconfd.Daniil Baturin
2018-01-26Use absolute path for the vyconfd config file option rather than relative to ↵Daniil Baturin
basepath.
2017-12-13Handle malformed protobuf messages correctly.Daniil Baturin
2017-12-12Add config load upon startup.Daniil Baturin
2017-12-12Rename the Startup.load_config to load_daemon_config to avoid ambiguity with ↵Daniil Baturin
the appliance config.
2017-02-18Make config file path relative to basepath.Daniil Baturin
2017-02-09Add basepath as a command line option.Daniil Baturin
2017-01-20Use BatOption.defalt instead of homegrown equivalent.Daniil Baturin
If we are going to use batteries for numeric_compare, why not take advantage of the rest.
2017-01-19Add basic session setup/teardown functionality to vyconfd.Daniil Baturin
2017-01-16Add a function for making secure session tokens.Daniil Baturin
Right now it uses a SHA-1 sum of 30 random bits. I hope that's secure enough.
2017-01-15Add functionality for socket communication.Daniil Baturin
The Message module contains read and write functions that take care of the wire protocol, which sends a 4 byte length header before every message. They take a bytes buffer and don't care about its contents. The Vyconf_client module has high level functions for interfacing with vyconfd. Functions for creating a socket and creating a server loop are in Startup. The rest is, for now at least, right in vyconfd. Notes: Message.read/write probably should be wrapped in Lwt_io.atomic We need to find out if it's safe to reuse Pbrt.Encoder.t or we really should create it every time.
2016-12-23Make log template and log level configurable.Daniil Baturin
2016-12-23Move housekeeping stuff from vyconfd.ml to Startup module.Daniil Baturin
2016-12-15T212: use a directory (normally $program_dir/validators) for external ↵Daniil Baturin
validators. What's bad is that right now way too many things are aware of the nature of external validators, and the validators dir (formerly validators hashtable) is passed around a lot. We'll need to think it through.
2016-12-14T210: Do not use the Result compatibility library, use built-in result type.Daniil Baturin
Use of the Result module from a compatibility library came from using Yojson for config parsing, which uses it for compatibility with older OCaml, since the ('a, 'b) result type appeared in Pervasives only in OCaml 4.03 All projects using vyconf library, however, by definition will be new projects, and will not have any reasons to use older compilers.
2016-12-14Move version info out of defaults to its own module.Daniil Baturin
2016-12-13Fix a few instances of sloppy sequences (with non-unit expressions).Daniil Baturin
2016-12-08Initial mockup of the vyconfd binary.Daniil Baturin
2015-10-01Some error handling in config loading.Daniil Baturin
2015-09-24Add a module for various defaults.Daniil Baturin
2015-02-02Add vyconfd main file stub for oasis testing.Daniil Baturin