Skip to content

Commit

Permalink
Fix backup/restore procedure
Browse files Browse the repository at this point in the history
- Restore the "active from" timestamp
- Add to the backup and restore the "active to" timestamp
  • Loading branch information
DavidePrincipi committed Apr 10, 2024
1 parent ace73f5 commit 47dd35c
Show file tree
Hide file tree
Showing 4 changed files with 40 additions and 17 deletions.
29 changes: 12 additions & 17 deletions imageroot/actions/restore-module/06copyenv
Original file line number Diff line number Diff line change
@@ -1,23 +1,8 @@
#!/usr/bin/env python3

#
# Copyright (C) 2022 Nethesis S.r.l.
# http://www.nethesis.it - [email protected]
#
# This script is part of NethServer.
#
# NethServer is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License,
# or any later version.
#
# NethServer is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with NethServer. If not, see COPYING.
# Copyright (C) 2024 Nethesis S.r.l.
# SPDX-License-Identifier: GPL-3.0-or-later
#

import sys
Expand All @@ -33,5 +18,15 @@ for evar in [
"LOKI_API_AUTH_PASSWORD",
"LOKI_LOGS_INGRESS_TOKEN",
"LOKI_RETENTION_PERIOD",
"LOKI_ACTIVE_FROM",
]:
agent.set_env(evar, original_environment[evar])

try:
backup_env = agent.read_envfile("backup.env")
except:
backup_env = {}

# If available, restore the backup approximate timestamp
if "LOKI_ACTIVE_TO" in backup_env:
agent.set_env("LOKI_ACTIVE_TO", backup_env["LOKI_ACTIVE_TO"])
13 changes: 13 additions & 0 deletions imageroot/bin/module-cleanup-state
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
#!/bin/bash

#
# Copyright (C) 2024 Nethesis S.r.l.
# SPDX-License-Identifier: GPL-3.0-or-later
#

set -e

# Redirect any output to the journal (stderr)
exec 1>&2

rm -vf backup.env
14 changes: 14 additions & 0 deletions imageroot/bin/module-dump-state
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
#!/usr/bin/env python3

#
# Copyright (C) 2024 Nethesis S.r.l.
# SPDX-License-Identifier: GPL-3.0-or-later
#

import json
import sys
import agent

agent.write_envfile("backup.env", {
'LOKI_ACTIVE_TO': datetime.datetime.now().astimezone().isoformat(),
})
1 change: 1 addition & 0 deletions imageroot/etc/state-include.conf
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
volumes/loki-server-data
state/backup.env

0 comments on commit 47dd35c

Please sign in to comment.