diff --git a/cmdeploy/src/cmdeploy/journald.conf b/cmdeploy/src/cmdeploy/90-volatile-logging.conf similarity index 100% rename from cmdeploy/src/cmdeploy/journald.conf rename to cmdeploy/src/cmdeploy/90-volatile-logging.conf diff --git a/cmdeploy/src/cmdeploy/basedeploy.py b/cmdeploy/src/cmdeploy/basedeploy.py index 5831f218..46a230e6 100644 --- a/cmdeploy/src/cmdeploy/basedeploy.py +++ b/cmdeploy/src/cmdeploy/basedeploy.py @@ -167,6 +167,24 @@ class Deployer: return self.put_template(src, dest, **kwargs) return self.put_file(src, dest) + def comment_out(self, path: str, config_key: str, config_value: str = "", comment_char: str = "#", **kwargs): + """Comment out a config parameter in a file with a + + :param path: the config file to change + :param config_key: the key which should be commented out + :param config_value: the value that should be in the leftover comment + :param comment_char: the character the config file uses to comment out + """ + res = files.line( + name=f"Comment out {config_key} in {path}", + path=path , + line=f"^({comment_char}|){config_key}=(.*)", + replace = f"{comment_char}{config_key}={config_value}", + extended_regex = True, + **kwargs, + ) + return self._update_restart_signals(path, res) + def put_file(self, src, dest, mode="644", **kwargs): if isinstance(src, str): src = get_resource(src) diff --git a/cmdeploy/src/cmdeploy/deployers.py b/cmdeploy/src/cmdeploy/deployers.py index bf2c822d..2862d7a6 100644 --- a/cmdeploy/src/cmdeploy/deployers.py +++ b/cmdeploy/src/cmdeploy/deployers.py @@ -354,7 +354,11 @@ class IrohDeployer(Deployer): class JournaldDeployer(Deployer): def configure(self): - self.put_file("journald.conf", "/etc/systemd/journald.conf.d/90-volatile-logging.conf") + overwrite_path = "/etc/systemd/journald.conf.d/90-volatile-logging.conf" + journald_conf = "/etc/systemd/journald.conf" + self.put_file("90-volatile-logging.conf", overwrite_path) + self.comment_out(journald_conf, "MaxRetentionSec", f"3d # set in {overwrite_path}") + self.comment_out(journald_conf, "Storage", f"volatile # set in {overwrite_path}") def activate(self): self.ensure_service("systemd-journald.service")