youmd 0.6.27 → 0.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/commands/env.d.ts +9 -0
- package/dist/commands/env.d.ts.map +1 -0
- package/dist/commands/env.js +105 -0
- package/dist/commands/env.js.map +1 -0
- package/dist/commands/machine.d.ts +2 -0
- package/dist/commands/machine.d.ts.map +1 -0
- package/dist/commands/machine.js +71 -0
- package/dist/commands/machine.js.map +1 -0
- package/dist/commands/stack.d.ts.map +1 -1
- package/dist/commands/stack.js +98 -0
- package/dist/commands/stack.js.map +1 -1
- package/dist/index.js +53 -0
- package/dist/index.js.map +1 -1
- package/package.json +3 -2
- package/scripts/check-version-exists.mjs +40 -0
- package/scripts/env-vault/README.md +123 -0
- package/scripts/env-vault/backup.sh +167 -0
- package/scripts/env-vault/restore.sh +149 -0
- package/scripts/skillstack-sync/README.md +166 -0
- package/scripts/skillstack-sync/bootstrap-new-mac.sh +141 -0
- package/scripts/skillstack-sync/com.youmd.identity-sync.plist +36 -0
- package/scripts/skillstack-sync/com.youmd.skillstack-sync.plist +38 -0
- package/scripts/skillstack-sync/install-daemons.sh +75 -0
- package/scripts/skillstack-sync/sync.sh +320 -0
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "youmd",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.7.1",
|
|
4
4
|
"description": "Identity context protocol for the agent internet — an MCP where the context is you. CLI for the You.md platform.",
|
|
5
5
|
"bin": {
|
|
6
6
|
"you": "dist/you.js",
|
|
@@ -11,7 +11,8 @@
|
|
|
11
11
|
"files": [
|
|
12
12
|
"dist/**/*",
|
|
13
13
|
"skills/**/*",
|
|
14
|
-
"examples/**/*"
|
|
14
|
+
"examples/**/*",
|
|
15
|
+
"scripts/**/*"
|
|
15
16
|
],
|
|
16
17
|
"scripts": {
|
|
17
18
|
"build": "tsc",
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
// T29: pre-publish guard — refuse to attempt `npm publish` if the version in
|
|
3
|
+
// package.json already exists on the npm registry. npm itself errors out with
|
|
4
|
+
// E_PUBLISH_CONFLICT, but only after build + tarball + 2FA dance — surfacing
|
|
5
|
+
// the conflict up-front saves the OTP round-trip every time someone forgets
|
|
6
|
+
// `npm version patch`.
|
|
7
|
+
|
|
8
|
+
import { readFileSync } from "node:fs";
|
|
9
|
+
import { fileURLToPath } from "node:url";
|
|
10
|
+
import { dirname, join } from "node:path";
|
|
11
|
+
|
|
12
|
+
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
13
|
+
const pkgPath = join(__dirname, "..", "package.json");
|
|
14
|
+
const pkg = JSON.parse(readFileSync(pkgPath, "utf8"));
|
|
15
|
+
const name = pkg.name;
|
|
16
|
+
const version = pkg.version;
|
|
17
|
+
|
|
18
|
+
const url = `https://registry.npmjs.org/${encodeURIComponent(name)}/${encodeURIComponent(version)}`;
|
|
19
|
+
|
|
20
|
+
try {
|
|
21
|
+
const res = await fetch(url, { signal: AbortSignal.timeout(10_000) });
|
|
22
|
+
if (res.status === 404) {
|
|
23
|
+
// unknown version — safe to publish
|
|
24
|
+
process.exit(0);
|
|
25
|
+
}
|
|
26
|
+
if (res.ok) {
|
|
27
|
+
console.error(
|
|
28
|
+
`\n ✗ ${name}@${version} is already published on npm.\n` +
|
|
29
|
+
` bump the version before publishing:\n\n` +
|
|
30
|
+
` cd cli && npm version patch --no-git-tag-version\n\n`
|
|
31
|
+
);
|
|
32
|
+
process.exit(1);
|
|
33
|
+
}
|
|
34
|
+
// 5xx or transient — don't block the publish on registry flakiness; warn and continue
|
|
35
|
+
console.error(` ! could not reach npm registry (HTTP ${res.status}) — proceeding without version check`);
|
|
36
|
+
process.exit(0);
|
|
37
|
+
} catch (err) {
|
|
38
|
+
console.error(` ! could not reach npm registry (${err?.message ?? err}) — proceeding without version check`);
|
|
39
|
+
process.exit(0);
|
|
40
|
+
}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
# env-vault — Secure .env.local Backup & Restore
|
|
2
|
+
|
|
3
|
+
Backs up all `.env.local` files across your CODE_2025 projects into a single
|
|
4
|
+
encrypted archive, and restores them on a new Mac. No secret values ever appear
|
|
5
|
+
in plaintext outside the encrypted blob.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## New-Machine Flow
|
|
10
|
+
|
|
11
|
+
### On the old Mac (backup)
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
# via CLI (preferred — ships in the npm package)
|
|
15
|
+
youmd env backup
|
|
16
|
+
|
|
17
|
+
# or directly via bash (from the youmd repo root)
|
|
18
|
+
cd /Users/houstongolden/Desktop/CODE_2025/youmd
|
|
19
|
+
bash cli/scripts/env-vault/backup.sh
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
This writes two files to `.env-vault/`:
|
|
23
|
+
- `env-vault-<date>.tar.<ext>` — encrypted archive (safe to transport)
|
|
24
|
+
- `manifest-<date>.txt` — variable names + counts only (safe to read, no values)
|
|
25
|
+
|
|
26
|
+
You will be prompted for a passphrase. Store it in **1Password** immediately.
|
|
27
|
+
|
|
28
|
+
### Transfer to new Mac
|
|
29
|
+
|
|
30
|
+
Options (all safe — the file is encrypted):
|
|
31
|
+
1. **AirDrop** the `.tar.<ext>` file directly
|
|
32
|
+
2. **USB drive** — copy to a thumb drive, plug into new Mac
|
|
33
|
+
3. **iCloud Drive** — upload briefly, download on new Mac, then delete from cloud
|
|
34
|
+
|
|
35
|
+
Do NOT transfer via unencrypted email or public Slack.
|
|
36
|
+
|
|
37
|
+
### On the new Mac (restore)
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
# Install dependencies first (e.g. Node, pnpm, etc.), then:
|
|
41
|
+
youmd env restore /path/to/env-vault-<date>.tar.<ext>
|
|
42
|
+
|
|
43
|
+
# If project dirs already exist with .env.local files:
|
|
44
|
+
youmd env restore --force /path/to/env-vault-<date>.tar.<ext>
|
|
45
|
+
|
|
46
|
+
# or directly via bash:
|
|
47
|
+
bash cli/scripts/env-vault/restore.sh /path/to/env-vault-<date>.tar.<ext>
|
|
48
|
+
bash cli/scripts/env-vault/restore.sh --force /path/to/env-vault-<date>.tar.<ext>
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
The script creates `<CODE_2025>/<project>/.env.local` for each project.
|
|
52
|
+
Existing files are backed up to `.env.local.bak.<timestamp>` (or overwritten with `--force`).
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
## 3-Location Backup Rule
|
|
57
|
+
|
|
58
|
+
Your encrypted vault should live in **at least 3 locations**:
|
|
59
|
+
|
|
60
|
+
| Location | Example |
|
|
61
|
+
|----------|---------|
|
|
62
|
+
| Local machine | `.env-vault/` (already done by backup.sh) |
|
|
63
|
+
| Secure cloud | 1Password attachment, private iCloud folder |
|
|
64
|
+
| Physical backup | USB drive stored separately from your Mac |
|
|
65
|
+
|
|
66
|
+
The encrypted file itself is safe to store anywhere. The passphrase is the secret.
|
|
67
|
+
|
|
68
|
+
---
|
|
69
|
+
|
|
70
|
+
## Security Model
|
|
71
|
+
|
|
72
|
+
- **Encryption:** `age` (preferred) → `gpg AES-256` → `openssl AES-256-CBC PBKDF2`
|
|
73
|
+
- **What's in the encrypted archive:** full `.env.local` file contents
|
|
74
|
+
- **What's in plaintext:** only the project name + variable NAMES + count (the manifest)
|
|
75
|
+
- **Values:** never printed, echoed, logged, or written anywhere outside the encrypted blob
|
|
76
|
+
- **Passphrase:** stored nowhere by these scripts — you must store it in 1Password
|
|
77
|
+
|
|
78
|
+
---
|
|
79
|
+
|
|
80
|
+
## CLI Integration
|
|
81
|
+
|
|
82
|
+
These scripts ship inside the `youmd` npm package (`cli/scripts/env-vault/`)
|
|
83
|
+
and are exposed as first-class CLI commands:
|
|
84
|
+
|
|
85
|
+
```bash
|
|
86
|
+
youmd env backup # back up all .env.local files
|
|
87
|
+
youmd env backup --root <dir> # custom search root
|
|
88
|
+
youmd env backup --out <dir> # custom output dir
|
|
89
|
+
|
|
90
|
+
youmd env restore <vault> # restore from an encrypted vault
|
|
91
|
+
youmd env restore --force # overwrite existing .env.local files
|
|
92
|
+
youmd env restore --root <dir> # restore into a custom root
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
The CLI wrapper delegates directly to these bash scripts via `spawnSync` with
|
|
96
|
+
`stdio: "inherit"` so the passphrase prompt and all output pass through to
|
|
97
|
+
your terminal unchanged.
|
|
98
|
+
|
|
99
|
+
---
|
|
100
|
+
|
|
101
|
+
## Flags
|
|
102
|
+
|
|
103
|
+
### backup.sh
|
|
104
|
+
|
|
105
|
+
| Flag | Default | Description |
|
|
106
|
+
|------|---------|-------------|
|
|
107
|
+
| `--root <dir>` | `~/Desktop/CODE_2025` | Where to discover `.env.local` files |
|
|
108
|
+
| `--out <dir>` | `youmd/.env-vault/` | Where to write encrypted vault + manifest |
|
|
109
|
+
|
|
110
|
+
### restore.sh
|
|
111
|
+
|
|
112
|
+
| Flag | Default | Description |
|
|
113
|
+
|------|---------|-------------|
|
|
114
|
+
| `--root <dir>` | `~/Desktop/CODE_2025` | Where to restore project `.env.local` files |
|
|
115
|
+
| `--force` | off | Overwrite existing `.env.local` instead of skipping |
|
|
116
|
+
|
|
117
|
+
---
|
|
118
|
+
|
|
119
|
+
## .gitignore Note
|
|
120
|
+
|
|
121
|
+
The `.env-vault/` output directory is listed in `youmd/.gitignore`. Encrypted
|
|
122
|
+
vault files are **never committed to git**. Only the scripts and this README
|
|
123
|
+
are tracked.
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
# env-vault/backup.sh — backs up all .env.local files under CODE_2025 into an
|
|
3
|
+
# encrypted vault. NEVER prints, echoes, logs, or writes any secret VALUE.
|
|
4
|
+
# Only variable NAMES and counts appear in plaintext output.
|
|
5
|
+
#
|
|
6
|
+
# Usage: bash backup.sh [--root <search-root>] [--out <output-dir>]
|
|
7
|
+
# Defaults:
|
|
8
|
+
# search-root: /Users/houstongolden/Desktop/CODE_2025
|
|
9
|
+
# output-dir: /Users/houstongolden/Desktop/CODE_2025/youmd/.env-vault
|
|
10
|
+
|
|
11
|
+
set -euo pipefail
|
|
12
|
+
|
|
13
|
+
# ── configurable defaults ──────────────────────────────────────────────────────
|
|
14
|
+
SEARCH_ROOT="${ENV_VAULT_ROOT:-/Users/houstongolden/Desktop/CODE_2025}"
|
|
15
|
+
OUTPUT_DIR="${ENV_VAULT_OUT:-/Users/houstongolden/Desktop/CODE_2025/youmd/.env-vault}"
|
|
16
|
+
|
|
17
|
+
# ── parse flags ────────────────────────────────────────────────────────────────
|
|
18
|
+
while [[ $# -gt 0 ]]; do
|
|
19
|
+
case $1 in
|
|
20
|
+
--root) SEARCH_ROOT="$2"; shift 2 ;;
|
|
21
|
+
--out) OUTPUT_DIR="$2"; shift 2 ;;
|
|
22
|
+
*) echo "Unknown flag: $1" >&2; exit 1 ;;
|
|
23
|
+
esac
|
|
24
|
+
done
|
|
25
|
+
|
|
26
|
+
# ── detect encryption tool ────────────────────────────────────────────────────
|
|
27
|
+
# Prefer openssl: it ships on every macOS install, so a vault encrypted with it
|
|
28
|
+
# can ALWAYS be restored on a brand-new Mac (which may not have age or gpg). The
|
|
29
|
+
# others are used only if openssl is somehow unavailable. Set ENV_VAULT_PASS to
|
|
30
|
+
# run non-interactively (e.g. from automation); otherwise you'll be prompted.
|
|
31
|
+
ENC_TOOL=""
|
|
32
|
+
ENC_EXT=""
|
|
33
|
+
if command -v openssl &>/dev/null; then
|
|
34
|
+
ENC_TOOL="openssl"
|
|
35
|
+
ENC_EXT="enc"
|
|
36
|
+
elif command -v age &>/dev/null; then
|
|
37
|
+
ENC_TOOL="age"
|
|
38
|
+
ENC_EXT="age"
|
|
39
|
+
elif command -v gpg &>/dev/null; then
|
|
40
|
+
ENC_TOOL="gpg"
|
|
41
|
+
ENC_EXT="gpg"
|
|
42
|
+
else
|
|
43
|
+
echo "ERROR: No encryption tool found. Install age, gpg, or openssl." >&2
|
|
44
|
+
exit 1
|
|
45
|
+
fi
|
|
46
|
+
|
|
47
|
+
echo "Encryption tool: ${ENC_TOOL}"
|
|
48
|
+
|
|
49
|
+
# ── discover .env.local files (handles spaces in dir names) ───────────────────
|
|
50
|
+
# bash 3.2 (macOS default) has no `mapfile`, so build the array with read -d ''.
|
|
51
|
+
ENV_FILES=()
|
|
52
|
+
while IFS= read -r -d '' _envf; do
|
|
53
|
+
ENV_FILES+=("${_envf}")
|
|
54
|
+
done < <(find "${SEARCH_ROOT}" -maxdepth 2 -name ".env.local" -print0 2>/dev/null)
|
|
55
|
+
|
|
56
|
+
if [[ ${#ENV_FILES[@]} -eq 0 ]]; then
|
|
57
|
+
echo "No .env.local files found under ${SEARCH_ROOT}" >&2
|
|
58
|
+
exit 1
|
|
59
|
+
fi
|
|
60
|
+
|
|
61
|
+
echo "Found ${#ENV_FILES[@]} .env.local file(s)."
|
|
62
|
+
|
|
63
|
+
# ── build plaintext manifest (names + counts, NO values) ─────────────────────
|
|
64
|
+
mkdir -p "${OUTPUT_DIR}"
|
|
65
|
+
UTC_DATE="$(date -u +%Y-%m-%dT%H%MZ)"
|
|
66
|
+
MANIFEST_PATH="${OUTPUT_DIR}/manifest-${UTC_DATE}.txt"
|
|
67
|
+
|
|
68
|
+
{
|
|
69
|
+
echo "env-vault manifest — ${UTC_DATE}"
|
|
70
|
+
echo "Encryption: ${ENC_TOOL}"
|
|
71
|
+
echo "Search root: ${SEARCH_ROOT}"
|
|
72
|
+
echo "---"
|
|
73
|
+
} > "${MANIFEST_PATH}"
|
|
74
|
+
|
|
75
|
+
# ── stage files into a temp dir preserving project-relative paths ─────────────
|
|
76
|
+
STAGING_DIR="$(mktemp -d)"
|
|
77
|
+
trap 'rm -rf "${STAGING_DIR}"' EXIT
|
|
78
|
+
|
|
79
|
+
for ENV_FILE in "${ENV_FILES[@]}"; do
|
|
80
|
+
PROJECT_DIR="$(dirname "${ENV_FILE}")"
|
|
81
|
+
PROJECT_NAME="$(basename "${PROJECT_DIR}")"
|
|
82
|
+
|
|
83
|
+
# Store as <project-name>/.env.local inside the archive
|
|
84
|
+
DEST="${STAGING_DIR}/${PROJECT_NAME}"
|
|
85
|
+
mkdir -p "${DEST}"
|
|
86
|
+
cp "${ENV_FILE}" "${DEST}/.env.local"
|
|
87
|
+
|
|
88
|
+
# Count variable names only — never read values
|
|
89
|
+
VAR_COUNT=$(grep -cE '^[A-Za-z_][A-Za-z0-9_]*=' "${ENV_FILE}" 2>/dev/null || true)
|
|
90
|
+
VAR_NAMES=$(grep -oE '^[A-Za-z_][A-Za-z0-9_]*' "${ENV_FILE}" 2>/dev/null \
|
|
91
|
+
| grep -v '^$' | sort | paste -sd ',' - || true)
|
|
92
|
+
|
|
93
|
+
echo "${PROJECT_NAME}/.env.local: ${VAR_COUNT} variable(s) [${VAR_NAMES}]" \
|
|
94
|
+
>> "${MANIFEST_PATH}"
|
|
95
|
+
done
|
|
96
|
+
|
|
97
|
+
echo "" >> "${MANIFEST_PATH}"
|
|
98
|
+
echo "SECURITY: The encrypted archive is safe to transport. Keep the passphrase private." \
|
|
99
|
+
>> "${MANIFEST_PATH}"
|
|
100
|
+
|
|
101
|
+
# ── create tar from staging dir ───────────────────────────────────────────────
|
|
102
|
+
# BSD mktemp (macOS) has no --suffix; the tar path is temporary and deleted
|
|
103
|
+
# after encryption, so a plain mktemp is fine.
|
|
104
|
+
TAR_PATH="$(mktemp)"
|
|
105
|
+
tar -cf "${TAR_PATH}" -C "${STAGING_DIR}" .
|
|
106
|
+
|
|
107
|
+
VAULT_PATH="${OUTPUT_DIR}/env-vault-${UTC_DATE}.tar.${ENC_EXT}"
|
|
108
|
+
|
|
109
|
+
# ── encrypt ───────────────────────────────────────────────────────────────────
|
|
110
|
+
echo ""
|
|
111
|
+
echo "Enter a strong passphrase to encrypt the vault."
|
|
112
|
+
echo "(You will need this passphrase to restore on a new machine — store it safely.)"
|
|
113
|
+
echo ""
|
|
114
|
+
|
|
115
|
+
case "${ENC_TOOL}" in
|
|
116
|
+
openssl)
|
|
117
|
+
if [[ -n "${ENV_VAULT_PASS:-}" ]]; then
|
|
118
|
+
openssl enc -aes-256-cbc -pbkdf2 -salt -pass env:ENV_VAULT_PASS \
|
|
119
|
+
-in "${TAR_PATH}" -out "${VAULT_PATH}"
|
|
120
|
+
else
|
|
121
|
+
openssl enc -aes-256-cbc -pbkdf2 -salt \
|
|
122
|
+
-in "${TAR_PATH}" -out "${VAULT_PATH}"
|
|
123
|
+
fi
|
|
124
|
+
;;
|
|
125
|
+
age)
|
|
126
|
+
age -p -o "${VAULT_PATH}" "${TAR_PATH}"
|
|
127
|
+
;;
|
|
128
|
+
gpg)
|
|
129
|
+
if [[ -n "${ENV_VAULT_PASS:-}" ]]; then
|
|
130
|
+
printf '%s' "${ENV_VAULT_PASS}" | gpg --batch --yes --symmetric \
|
|
131
|
+
--cipher-algo AES256 --passphrase-fd 0 --pinentry-mode loopback \
|
|
132
|
+
--output "${VAULT_PATH}" "${TAR_PATH}"
|
|
133
|
+
else
|
|
134
|
+
gpg --symmetric --cipher-algo AES256 --output "${VAULT_PATH}" "${TAR_PATH}"
|
|
135
|
+
fi
|
|
136
|
+
;;
|
|
137
|
+
esac
|
|
138
|
+
|
|
139
|
+
# Securely remove the unencrypted tar
|
|
140
|
+
rm -f "${TAR_PATH}"
|
|
141
|
+
|
|
142
|
+
# ── final output ──────────────────────────────────────────────────────────────
|
|
143
|
+
VAULT_SIZE=$(du -sh "${VAULT_PATH}" | cut -f1)
|
|
144
|
+
|
|
145
|
+
echo ""
|
|
146
|
+
echo "Vault written: ${VAULT_PATH} (${VAULT_SIZE})"
|
|
147
|
+
echo "Manifest: ${MANIFEST_PATH}"
|
|
148
|
+
echo ""
|
|
149
|
+
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
|
150
|
+
echo " NEXT STEPS — 3-LOCATION BACKUP RULE"
|
|
151
|
+
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
|
152
|
+
echo " The encrypted vault is safe to move (secrets are encrypted)."
|
|
153
|
+
echo " Store it in at least 3 locations:"
|
|
154
|
+
echo " 1. ✓ Already here: ${OUTPUT_DIR}"
|
|
155
|
+
echo " 2. Copy to iCloud Drive / 1Password attachment / USB drive"
|
|
156
|
+
echo " 3. Copy to a second USB or private cloud vault"
|
|
157
|
+
echo ""
|
|
158
|
+
echo " Transfer to new Macs:"
|
|
159
|
+
echo " • AirDrop the .${ENC_EXT} file directly"
|
|
160
|
+
echo " • OR copy via USB drive"
|
|
161
|
+
echo " • OR store in private (non-public) cloud storage"
|
|
162
|
+
echo ""
|
|
163
|
+
echo " On the new Mac, run:"
|
|
164
|
+
echo " bash restore.sh <path-to-vault.tar.${ENC_EXT}>"
|
|
165
|
+
echo ""
|
|
166
|
+
echo " The passphrase is NOT stored anywhere — keep it in 1Password."
|
|
167
|
+
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
# env-vault/restore.sh — restores .env.local files from an encrypted vault
|
|
3
|
+
# created by backup.sh. NEVER prints, echoes, or logs any secret VALUES.
|
|
4
|
+
# Only prints which file paths were restored or skipped.
|
|
5
|
+
#
|
|
6
|
+
# Usage: bash restore.sh [--force] [--root <target-root>] <vault-file>
|
|
7
|
+
# vault-file: path to env-vault-*.tar.age / .tar.gpg / .tar.enc
|
|
8
|
+
# --force: overwrite existing .env.local files without backing them up
|
|
9
|
+
# --root: destination root (default: /Users/houstongolden/Desktop/CODE_2025)
|
|
10
|
+
|
|
11
|
+
set -euo pipefail
|
|
12
|
+
|
|
13
|
+
# ── defaults ──────────────────────────────────────────────────────────────────
|
|
14
|
+
TARGET_ROOT="${ENV_VAULT_RESTORE_ROOT:-/Users/houstongolden/Desktop/CODE_2025}"
|
|
15
|
+
FORCE=false
|
|
16
|
+
VAULT_FILE=""
|
|
17
|
+
|
|
18
|
+
# ── parse args ─────────────────────────────────────────────────────────────────
|
|
19
|
+
while [[ $# -gt 0 ]]; do
|
|
20
|
+
case $1 in
|
|
21
|
+
--force) FORCE=true; shift ;;
|
|
22
|
+
--root) TARGET_ROOT="$2"; shift 2 ;;
|
|
23
|
+
-*) echo "Unknown flag: $1" >&2; exit 1 ;;
|
|
24
|
+
*)
|
|
25
|
+
if [[ -z "${VAULT_FILE}" ]]; then
|
|
26
|
+
VAULT_FILE="$1"
|
|
27
|
+
else
|
|
28
|
+
echo "Unexpected argument: $1" >&2
|
|
29
|
+
exit 1
|
|
30
|
+
fi
|
|
31
|
+
shift ;;
|
|
32
|
+
esac
|
|
33
|
+
done
|
|
34
|
+
|
|
35
|
+
if [[ -z "${VAULT_FILE}" ]]; then
|
|
36
|
+
echo "Usage: bash restore.sh [--force] [--root <path>] <vault-file>" >&2
|
|
37
|
+
echo " vault-file: env-vault-*.tar.age | .tar.gpg | .tar.enc" >&2
|
|
38
|
+
exit 1
|
|
39
|
+
fi
|
|
40
|
+
|
|
41
|
+
if [[ ! -f "${VAULT_FILE}" ]]; then
|
|
42
|
+
echo "ERROR: Vault file not found: ${VAULT_FILE}" >&2
|
|
43
|
+
exit 1
|
|
44
|
+
fi
|
|
45
|
+
|
|
46
|
+
# ── detect encryption tool from extension ─────────────────────────────────────
|
|
47
|
+
case "${VAULT_FILE}" in
|
|
48
|
+
*.tar.age) ENC_TOOL="age" ;;
|
|
49
|
+
*.tar.gpg) ENC_TOOL="gpg" ;;
|
|
50
|
+
*.tar.enc) ENC_TOOL="openssl" ;;
|
|
51
|
+
*)
|
|
52
|
+
echo "ERROR: Unrecognised vault extension. Expected .tar.age / .tar.gpg / .tar.enc" >&2
|
|
53
|
+
exit 1 ;;
|
|
54
|
+
esac
|
|
55
|
+
|
|
56
|
+
if ! command -v "${ENC_TOOL}" &>/dev/null && [[ "${ENC_TOOL}" != "openssl" ]]; then
|
|
57
|
+
echo "ERROR: ${ENC_TOOL} is not installed." >&2
|
|
58
|
+
exit 1
|
|
59
|
+
fi
|
|
60
|
+
|
|
61
|
+
echo "Encryption tool: ${ENC_TOOL}"
|
|
62
|
+
echo "Vault file: ${VAULT_FILE}"
|
|
63
|
+
echo "Target root: ${TARGET_ROOT}"
|
|
64
|
+
echo ""
|
|
65
|
+
|
|
66
|
+
# ── decrypt into a temp dir ────────────────────────────────────────────────────
|
|
67
|
+
WORK_DIR="$(mktemp -d)"
|
|
68
|
+
TAR_PATH="${WORK_DIR}/vault.tar"
|
|
69
|
+
|
|
70
|
+
trap 'rm -rf "${WORK_DIR}"' EXIT
|
|
71
|
+
|
|
72
|
+
echo "Decrypting vault…"
|
|
73
|
+
|
|
74
|
+
case "${ENC_TOOL}" in
|
|
75
|
+
openssl)
|
|
76
|
+
if [[ -n "${ENV_VAULT_PASS:-}" ]]; then
|
|
77
|
+
openssl enc -d -aes-256-cbc -pbkdf2 -pass env:ENV_VAULT_PASS \
|
|
78
|
+
-in "${VAULT_FILE}" -out "${TAR_PATH}"
|
|
79
|
+
else
|
|
80
|
+
openssl enc -d -aes-256-cbc -pbkdf2 \
|
|
81
|
+
-in "${VAULT_FILE}" -out "${TAR_PATH}"
|
|
82
|
+
fi
|
|
83
|
+
;;
|
|
84
|
+
age)
|
|
85
|
+
age -d -o "${TAR_PATH}" "${VAULT_FILE}"
|
|
86
|
+
;;
|
|
87
|
+
gpg)
|
|
88
|
+
if [[ -n "${ENV_VAULT_PASS:-}" ]]; then
|
|
89
|
+
printf '%s' "${ENV_VAULT_PASS}" | gpg --batch --yes --decrypt \
|
|
90
|
+
--passphrase-fd 0 --pinentry-mode loopback \
|
|
91
|
+
--output "${TAR_PATH}" "${VAULT_FILE}"
|
|
92
|
+
else
|
|
93
|
+
gpg --output "${TAR_PATH}" --decrypt "${VAULT_FILE}"
|
|
94
|
+
fi
|
|
95
|
+
;;
|
|
96
|
+
esac
|
|
97
|
+
|
|
98
|
+
echo "Decryption complete."
|
|
99
|
+
echo ""
|
|
100
|
+
|
|
101
|
+
# ── extract into work dir ─────────────────────────────────────────────────────
|
|
102
|
+
EXTRACT_DIR="${WORK_DIR}/extracted"
|
|
103
|
+
mkdir -p "${EXTRACT_DIR}"
|
|
104
|
+
tar -xf "${TAR_PATH}" -C "${EXTRACT_DIR}"
|
|
105
|
+
|
|
106
|
+
# ── restore each .env.local ───────────────────────────────────────────────────
|
|
107
|
+
RESTORED=0
|
|
108
|
+
SKIPPED=0
|
|
109
|
+
BACKED_UP=0
|
|
110
|
+
|
|
111
|
+
while IFS= read -r -d '' ENV_FILE; do
|
|
112
|
+
# ENV_FILE is relative to EXTRACT_DIR, e.g. ./project-name/.env.local
|
|
113
|
+
REL_PATH="${ENV_FILE#${EXTRACT_DIR}/}" # project-name/.env.local
|
|
114
|
+
PROJECT_NAME="$(dirname "${REL_PATH}")" # project-name
|
|
115
|
+
DEST="${TARGET_ROOT}/${PROJECT_NAME}/.env.local"
|
|
116
|
+
DEST_DIR="$(dirname "${DEST}")"
|
|
117
|
+
|
|
118
|
+
if [[ -f "${DEST}" ]]; then
|
|
119
|
+
if [[ "${FORCE}" == "true" ]]; then
|
|
120
|
+
mkdir -p "${DEST_DIR}"
|
|
121
|
+
cp "${ENV_FILE}" "${DEST}"
|
|
122
|
+
echo " RESTORED (overwrite): ${DEST}"
|
|
123
|
+
(( RESTORED++ )) || true
|
|
124
|
+
else
|
|
125
|
+
TS="$(date -u +%Y%m%dT%H%M%SZ)"
|
|
126
|
+
BAK="${DEST}.bak.${TS}"
|
|
127
|
+
cp "${DEST}" "${BAK}"
|
|
128
|
+
cp "${ENV_FILE}" "${DEST}"
|
|
129
|
+
echo " RESTORED (backed up old → $(basename "${BAK}")): ${DEST}"
|
|
130
|
+
(( RESTORED++ )) || true
|
|
131
|
+
(( BACKED_UP++ )) || true
|
|
132
|
+
fi
|
|
133
|
+
else
|
|
134
|
+
# Target project dir may not exist yet on a fresh machine — create it
|
|
135
|
+
mkdir -p "${DEST_DIR}"
|
|
136
|
+
cp "${ENV_FILE}" "${DEST}"
|
|
137
|
+
echo " RESTORED (new): ${DEST}"
|
|
138
|
+
(( RESTORED++ )) || true
|
|
139
|
+
fi
|
|
140
|
+
done < <(find "${EXTRACT_DIR}" -name ".env.local" -print0)
|
|
141
|
+
|
|
142
|
+
echo ""
|
|
143
|
+
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
|
144
|
+
echo " Restore summary"
|
|
145
|
+
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
|
146
|
+
echo " Restored: ${RESTORED} | Skipped: ${SKIPPED} | Old files backed up: ${BACKED_UP}"
|
|
147
|
+
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
|
148
|
+
echo ""
|
|
149
|
+
echo "Secrets are now in place. Do not print or share .env.local files."
|