221
270
echo "FATAL: no shared switch; run 'install' first" >&2
222
271
exit 1
223
272
fi
273
+
Added:
echo "== runtime user and data =="
274
+
Added:
ensure_run_user
275
+
Added:
ensure_data
224
276
echo "== systemd unit =="; install_unit
225
277
echo "== deploy master =="; build_and_flip
226
278
}
227
279
228
280
cmd_reset() {
229
-
Removed:
if [[ ! -f "${DB}" ]]; then
230
-
Removed:
echo "FATAL: no database at ${DB}; aborting before wipe" >&2
281
+
Added:
if [[ ! -f "${DB}" && ! -f "${LEGACY_DB}" ]]; then
282
+
Added:
echo "FATAL: no database at ${DB} or ${LEGACY_DB}; aborting before wipe" >&2
231
283
exit 1
232
284
fi
233
285
local stash
234
286
echo "== stop service =="; systemctl stop hito || true
235
-
Removed:
echo "== stash the database =="
287
+
Added:
echo "== runtime user and data =="
288
+
Added:
ensure_run_user
289
+
Added:
ensure_data
290
+
Added:
echo "== stash the data directory =="
236
291
stash="$(mktemp -d /root/hito-reset-stash.XXXXXX)"
237
-
Removed:
cp -a "${DB}" "${stash}/hito.sqlite" # safety copy, never removed by us
238
-
Removed:
mv "${DB}" "${stash}/hito.sqlite.live"
292
+
Added:
cp -a "${DATA}/." "${stash}/" # safety copy, never removed by us
239
293
echo " DB backup at ${stash}/hito.sqlite"
240
-
Removed:
echo "== wipe /srv/hito contents =="
294
+
Added:
echo "== wipe /srv/hito contents except data/ =="
241
295
# The old switch is intentionally not preserved: it was built under a
242
296
# different opam root and owner. reset rebuilds it fresh as ${SVC_USER}.
243
-
Removed:
find "${SRV}" -mindepth 1 -maxdepth 1 -exec rm -rf {} +
297
+
Added:
find "${SRV}" -mindepth 1 -maxdepth 1 ! -path "${DATA}" -exec rm -rf {} +
244
298
echo "== rebuild skeleton, ${SVC_USER}-owned =="
245
299
mkdir -p "${SHARED}" "${RELEASES}"
246
-
Removed:
mv "${stash}/hito.sqlite.live" "${DB}"
247
-
Removed:
chown -R "${SVC_USER}:${SVC_GROUP}" "${SRV}"
300
+
Added:
chown "${SVC_USER}:${SVC_GROUP}" "${SRV}" "${SHARED}" "${RELEASES}"
248
301
mkdir -p "${OPAMROOT_DIR}"
249
302
chown "${SVC_USER}:${SVC_GROUP}" "${OPAMROOT_DIR}"
250
303
ensure_switch