feat(upgrade): add self-update command from Gitea Release
Some checks failed
Secrets CLI - Build & Release / Build (x86_64-unknown-linux-musl) (push) Has been cancelled
Secrets CLI - Build & Release / Build (aarch64-apple-darwin) (push) Has been cancelled
Secrets CLI - Build & Release / Build (x86_64-pc-windows-msvc) (push) Has been cancelled
Secrets CLI - Build & Release / 发布草稿 Release (push) Has been cancelled
Secrets CLI - Build & Release / 版本 & Release (push) Successful in 2s
Secrets CLI - Build & Release / 质量检查 (fmt / clippy / test) (push) Has been cancelled

- Add secrets upgrade command: --check to verify, default to download and replace binary
- No database or master key required
- Support tar.gz and zip artifacts from Gitea Release

Made-with: Cursor
This commit is contained in:
voson
2026-03-19 11:01:43 +08:00
parent fcac14a8c4
commit 2da7aab3e5
9 changed files with 827 additions and 4 deletions

View File

@@ -11,6 +11,8 @@ cargo build --release
# 或从 Release 页面下载预编译二进制
```
已有旧版本时,可执行 `secrets upgrade` 自动下载最新版并替换。
## 首次使用(每台设备各执行一次)
```bash
@@ -96,6 +98,7 @@ secrets add --help
secrets update --help
secrets delete --help
secrets config --help
secrets upgrade --help # 检查并更新 CLI 版本
# ── search ──────────────────────────────────────────────────────────────────
secrets search --summary --limit 20 # 发现概览
@@ -135,6 +138,10 @@ secrets config set-db "postgres://postgres:<password>@<host>:<port>/secrets" #
secrets config show # 密码脱敏展示
secrets config path # 打印配置文件路径
# ── upgrade ──────────────────────────────────────────────────────────────────
secrets upgrade --check # 仅检查是否有新版本
secrets upgrade # 下载并安装最新版(从 Gitea Release
# ── 调试 ──────────────────────────────────────────────────────────────────────
secrets --verbose search -q mqtt
RUST_LOG=secrets=trace secrets search
@@ -185,6 +192,7 @@ src/
search.rs # 多条件查询,支持 -f/-o/--summary/--limit/--offset/--sort
delete.rs # 删除
update.rs # 增量更新(合并 tags/metadata/encrypted
upgrade.rs # 从 Gitea Release 自更新
scripts/
setup-gitea-actions.sh # 配置 Gitea Actions 变量与 Secrets
```