Proxmox worker, uptime, backup, tagged deploy
This commit is contained in:
commit
d6a2391be0
6 changed files with 96 additions and 0 deletions
3
NATS.md
Normal file
3
NATS.md
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
# NATS — verae-deploy
|
||||
|
||||
Deploy does not start nats-server or open client connections. Archive types still need `nats-server` from `verae-bootstrap/scripts/host-deps.sh --nats`.
|
||||
20
README.md
Normal file
20
README.md
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
# verae-deploy
|
||||
|
||||
Upgrade cloned Forgejo modules **on the machine that runs them**. Order: `host-deps.sh` → `git fetch` → checkout tag/branch → `npm ci` (or `npm install`) → `npm rebuild`.
|
||||
|
||||
**Forgejo:** https://git.georgelambert.org/marchon/verae-deploy
|
||||
**SSH:** `ssh://git@git.georgelambert.org:2223/marchon/verae-deploy.git`
|
||||
|
||||
```bash
|
||||
export VERAE_SRC=$HOME/verae-src
|
||||
export VERAE_BOOTSTRAP=$HOME/verae-src/verae-bootstrap # or sibling clone
|
||||
export DEPLOY_TYPE=ns1-all-in-one
|
||||
bash scripts/deploy.sh main
|
||||
# then: systemctl --user restart verae-keep-guard verae-fleet
|
||||
```
|
||||
|
||||
Writes `$VERAE_SRC/<repo>/.deployed-ref` and `$VERAE_SRC/.deployed`. Does **not** force-push. Prefer tags (`v2026-09-12`) once you cut them.
|
||||
|
||||
Do **not** copy `node_modules` from macOS. Rebuild `better-sqlite3` on Linux.
|
||||
|
||||
Does not speak NATS.
|
||||
3
SUMMARY.md
Normal file
3
SUMMARY.md
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
# verae-deploy
|
||||
|
||||
Tagged/branch checkout of every cloned module plus npm ci/rebuild on the target OS.
|
||||
10
package.json
Normal file
10
package.json
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
{
|
||||
"name": "verae-deploy",
|
||||
"version": "0.1.0",
|
||||
"private": true,
|
||||
"description": "Tagged checkout + npm ci + rebuild on the target OS for Verae module repos",
|
||||
"scripts": {
|
||||
"deploy": "bash scripts/deploy.sh",
|
||||
"test": "bash scripts/test.sh"
|
||||
}
|
||||
}
|
||||
54
scripts/deploy.sh
Executable file
54
scripts/deploy.sh
Executable file
|
|
@ -0,0 +1,54 @@
|
|||
#!/usr/bin/env bash
|
||||
# host-deps → git fetch → checkout ref → npm ci → npm rebuild
|
||||
# Does not start processes; restart with fleet/keep after.
|
||||
set -euo pipefail
|
||||
ROOT="$(cd "$(dirname "$0")/.." && pwd)"
|
||||
BOOT="${VERAE_BOOTSTRAP:-$ROOT/../verae-bootstrap}"
|
||||
SRC="${VERAE_SRC:-$HOME/verae-src}"
|
||||
REF="${1:-}"
|
||||
TYPE="${DEPLOY_TYPE:-}"
|
||||
if [[ -z "$REF" ]]; then
|
||||
echo "usage: deploy.sh <tag-or-branch> # e.g. deploy.sh v2026-09-12 or main" >&2
|
||||
exit 1
|
||||
fi
|
||||
if [[ -x "$BOOT/scripts/host-deps.sh" ]]; then
|
||||
if [[ -n "$TYPE" ]]; then
|
||||
bash "$BOOT/scripts/host-deps.sh" --type "$TYPE"
|
||||
else
|
||||
bash "$BOOT/scripts/host-deps.sh"
|
||||
fi
|
||||
fi
|
||||
LIST="$BOOT/repos.txt"
|
||||
[[ -n "$TYPE" && -f "$BOOT/types/$TYPE/repos.txt" ]] && LIST="$BOOT/types/$TYPE/repos.txt"
|
||||
[[ -f "$LIST" ]] || { echo "no repo list $LIST" >&2; exit 1; }
|
||||
export GIT_SSH_COMMAND="${GIT_SSH_COMMAND:-ssh -o StrictHostKeyChecking=accept-new -p 2223}"
|
||||
failed=0
|
||||
while read -r name; do
|
||||
[[ -z "$name" || "$name" == \#* ]] && continue
|
||||
dir="$SRC/$name"
|
||||
if [[ ! -d "$dir/.git" ]]; then
|
||||
echo "skip not cloned $name"
|
||||
continue
|
||||
fi
|
||||
echo "deploy $name @ $REF"
|
||||
git -C "$dir" fetch --prune origin
|
||||
if ! git -C "$dir" checkout -q "$REF" 2>/dev/null; then
|
||||
echo " no ref $REF, staying on $(git -C "$dir" rev-parse --abbrev-ref HEAD)"
|
||||
fi
|
||||
if [[ -f "$dir/package.json" ]]; then
|
||||
(
|
||||
cd "$dir"
|
||||
if [[ -f package-lock.json ]]; then
|
||||
npm ci --no-audit --no-fund || npm install --no-audit --no-fund
|
||||
else
|
||||
npm install --no-audit --no-fund
|
||||
fi
|
||||
npm rebuild --no-audit --no-fund >/dev/null || true
|
||||
) || { echo " npm failed $name"; failed=1; }
|
||||
fi
|
||||
git -C "$dir" rev-parse --short HEAD >"$dir/.deployed-ref"
|
||||
echo " $(cat "$dir/.deployed-ref")"
|
||||
done < "$LIST"
|
||||
echo "$REF $(date -u +%Y-%m-%dT%H:%M:%SZ)" >"$SRC/.deployed"
|
||||
[[ $failed -eq 0 ]] || exit 1
|
||||
echo "deployed $REF under $SRC — restart keep/fleet yourself"
|
||||
6
scripts/test.sh
Executable file
6
scripts/test.sh
Executable file
|
|
@ -0,0 +1,6 @@
|
|||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
ROOT="$(cd "$(dirname "$0")/.." && pwd)"
|
||||
bash -n "$ROOT/scripts/deploy.sh"
|
||||
grep -q host-deps.sh "$ROOT/scripts/deploy.sh"
|
||||
echo OK
|
||||
Loading…
Add table
Add a link
Reference in a new issue