From d246228cfb94261a4b71cd8ed066d6c651f0a550 Mon Sep 17 00:00:00 2001 From: John Estabrook Date: Sun, 16 Mar 2025 22:45:18 -0500 Subject: T7121: add cache directory and files, and commitd socket name Pass active and proposed configs between vyconfd and vyos-commitd using a fast cache to avoid parsing overhead. --- data/vyconfd.conf | 7 +++++++ src/vyconf_config.ml | 9 +++++++++ src/vyconf_config.mli | 3 +++ 3 files changed, 19 insertions(+) diff --git a/data/vyconfd.conf b/data/vyconfd.conf index bcde860..d1ae247 100644 --- a/data/vyconfd.conf +++ b/data/vyconfd.conf @@ -6,6 +6,7 @@ data_dir = "/usr/share/vyos/vyconf" program_dir = "/usr/libexec/vyos" config_dir = "/usr/libexec/vyos/vyconf/config" reftree_dir = "/usr/libexec/vyos/vyconf/reftree" +session_dir = "/usr/libexec/vyos/vyconf/session" # paths relative to config_dir primary_config = "config.boot" @@ -14,6 +15,12 @@ fallback_config = "config.failsafe" # paths relative to reftree_dir reference_tree = "reftree.cache" +# paths relative to session_dir +running_cache = "running_cache" +session_cache = "session_cache" + +commitd_socket = "/var/run/vyos-commitd.sock" + [vyconf] socket = "/var/run/vyconfd.sock" diff --git a/src/vyconf_config.ml b/src/vyconf_config.ml index bef607f..5fbd716 100644 --- a/src/vyconf_config.ml +++ b/src/vyconf_config.ml @@ -6,9 +6,12 @@ type t = { program_dir: string; config_dir: string; reftree_dir: string; + session_dir: string; primary_config: string; fallback_config: string; reference_tree: string; + running_cache: string; + session_cache: string; socket: string; pid_file: string; log_file: string option; @@ -24,9 +27,12 @@ let empty_config = { program_dir = ""; config_dir = ""; reftree_dir = ""; + session_dir = ""; primary_config = ""; fallback_config = ""; reference_tree = ""; + running_cache = ""; + session_cache = ""; socket = ""; pid_file = ""; log_file = None; @@ -63,10 +69,13 @@ let load filename = let conf = {conf with data_dir = mandatory_field conf_toml "appliance" "data_dir"} in let conf = {conf with config_dir = mandatory_field conf_toml "appliance" "config_dir"} in let conf = {conf with reftree_dir = mandatory_field conf_toml "appliance" "reftree_dir"} in + let conf = {conf with session_dir = mandatory_field conf_toml "appliance" "session_dir"} in let conf = {conf with program_dir = mandatory_field conf_toml "appliance" "program_dir"} in let conf = {conf with primary_config = mandatory_field conf_toml "appliance" "primary_config"} in let conf = {conf with fallback_config = mandatory_field conf_toml "appliance" "fallback_config"} in let conf = {conf with reference_tree = mandatory_field conf_toml "appliance" "reference_tree"} in + let conf = {conf with running_cache = mandatory_field conf_toml "appliance" "running_cache"} in + let conf = {conf with session_cache = mandatory_field conf_toml "appliance" "session_cache"} in (* Optional fields *) let conf = {conf with pid_file = optional_field defaults.pid_file conf_toml "vyconf" "pid_file"} in let conf = {conf with socket = optional_field defaults.socket conf_toml "vyconf" "socket"} in diff --git a/src/vyconf_config.mli b/src/vyconf_config.mli index dad574c..9b6b283 100644 --- a/src/vyconf_config.mli +++ b/src/vyconf_config.mli @@ -4,9 +4,12 @@ type t = { program_dir: string; config_dir: string; reftree_dir: string; + session_dir: string; primary_config: string; fallback_config: string; reference_tree: string; + running_cache: string; + session_cache: string; socket: string; pid_file: string; log_file: string option; -- cgit v1.2.3