summaryrefslogtreecommitdiff
path: root/_oasis
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-11Split the vyconfd config module into a non-installable library.Daniil Baturin
2017-12-13Add debug logging of protobuf messages.Daniil Baturin
2017-04-03T255: Add curly config renderer (#8)Shon Feder
* Add stand-alone config_tree renderer * Add tests for stand-alone config_tree renderer * Add renderer with reference tree * Add tests for Config_tree renderer with reftree * Update config files * Add refactoring functions and correct tests
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-17Second act of the _oasis cleanup.Daniil Baturin
Findlib package "vyconf" now contains modules required for working with configs, namely Vytree, Config_tree, Reference_tree, Valur_checker, Curly_lexer, and Curly_parser. Renderer will go there too. Migration scripts and convertors/analyzers/whatever utilities that need to read and write config files will link with it. The "vyconf.vyconf-config" package is for working with vyconfd.conf config. Config scripts written in OCaml, the shell, and the non-interactive client can use it to read the system config if the user didn't use options for socket location and so on. The "vyconf.vyconf-client" package is for the Protobuf over UNIX sockets protocol clients.
2017-01-17T231: Add a function for loading interface definitions from a directory (#5)Shon Feder
* T231: Load directory of interface definitions * T231: Add ounit package to merlin config * T231: Add tests for loading dir of definitions * squash! T231: Load directory of interface definitions * squash! T231: Add tests for loading dir of definitions
2017-01-17Add Curly_lexer to vyconf modules.Daniil Baturin
2017-01-16Add internal vyconf modules to _oasis configShon Feder
2017-01-17Clean up the _oasisDaniil 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-16Add a trivial 'a option -> 'a -> 'a function for substituting something for ↵Daniil Baturin
a default.
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.
2017-01-10Add JSON de/serialization derivers to vytree and config tree modules.Daniil Baturin
2017-01-09Not quite T245: add some unit tests for the curly parser.Daniil Baturin
2017-01-07Remove the old message library that will be replaced with the Protobuf one.Daniil Baturin
2017-01-06Add initial implementation of the protobuf schema.Daniil Baturin
2017-01-05Initial implementation of the curly config parser.Daniil Baturin
2016-12-30Add some unit tests for the Session.string_of_op function.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: Add tests and test data for the vyconfd config loader.Daniil Baturin
2016-12-14T210: use TOML for the vyconf config file.Daniil Baturin
Add an example of the file too.
2016-12-08Fix build for ocaml 4.03Daniil Baturin
Yojson now uses the Result.result type for its decoding functions instead of polymorphic variants.
2015-10-01Some error handling in config loading.Daniil Baturin
2015-09-28Add types and derivers for the message decoder.Daniil Baturin
2015-09-24Add Vyconf_config to _oasisDaniil Baturin
2015-09-23Add session module stub.Daniil Baturin
2015-05-11Add vytree insertion load test.Daniil Baturin
2015-04-28Rename vyconf_tree_test to just vytree_test.Daniil Baturin
2015-04-26Add config tree module.Daniil Baturin
2015-04-24Initial implementation of the reference tree module.Daniil Baturin
2015-04-24Add the util module to the _oasisDaniil Baturin
2015-04-15Add value validator module.Daniil Baturin
2015-04-15Group vyconf modules into a single library.Daniil Baturin
2015-03-04Add some tests for the vylist module.Daniil Baturin
2015-03-01Move the source files back to src/Daniil Baturin
Splitting directories was a bit premature and unnecessary.
2015-02-28Move vytree to its own subdir.Daniil Baturin
2015-02-28Factor out list operations from vytree.Daniil Baturin
2015-02-13Use the "best" arch for executables.Daniil Baturin
2015-02-13Add vytree to build.Daniil Baturin
2015-02-12Add unit test dummy for build integration testing.Daniil Baturin
2015-02-02Add basic oasis build setup.Daniil Baturin