summaryrefslogtreecommitdiff
path: root/src/vyconfd.ml
AgeCommit message (Collapse)Author
2025-02-06T6946: add test function and executableJohn Estabrook
2025-01-15T7046: add request reload_reftreeJohn Estabrook
2025-01-14T7046: move reftree.cache to unique directoryJohn Estabrook
This will simplify updates of the reference_tree in case of supplemental contributions, say, addon packages.
2024-10-27T6718: drop output of rendered config on startupJohn Estabrook
2024-10-27T6718: handle_connection should close fd on End_of_fileJohn Estabrook
2024-10-27T6718: drop unnecessary reference to file descriptorJohn Estabrook
2024-10-27T6718: fix teardown methodJohn Estabrook
An empty protobuf message does not correctly generate encode/decode functions. This appears to be fixed upstream, but for now, use workaround of adding a reasonable field.
2024-10-27T6718: add independent validate field and methodsJohn Estabrook
2024-10-27T6718: root node now has empty nameJohn Estabrook
The root node name was changed in vyos1x-config (T4491) so as not to conflict with actual nodes named "root".
2024-10-27T6718: restrict directory existence check to validators dirJohn Estabrook
2024-10-27T6718: read reference tree json file on startupJohn Estabrook
2024-10-27T6718: add rule to generate protobuf with name changeJohn Estabrook
Regenerate protobuf files: ocaml-protoc --ml_out src/ data/vyconf.proto The generated files vyconf.* are renamed vyconf_pbt.* instead of the split into vyconf_pb/vyconf_types as in the original implementation.
2024-10-27T6718: reorganize layout for dune build of libs/executablesJohn Estabrook
2024-10-27T6718: update build system, drop batteries, and adjust for lib changesJohn Estabrook
Update as needed for use with contemporary vyos1x-config: . update build system to use dune . drop use of batteries . update for protoc breaking changes in versions >= 3.0 . remove files now in vyos1x-config (config_tree et. al.; parsing)
2020-03-12Fix module path for newer versions of the Protobuf compiler runtime.Daniil Baturin
2018-05-22Remove a leftover debug print.Daniil Baturin
2018-05-22Send a response to the client if error occurs.Daniil Baturin
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