Lemon-miaow
|
47a2dec4bc
|
fix(setup): 绑定码可重试并说明连接方式
|
2026-10-02 17:07:53 +08:00 |
|
Lemon-miaow
|
ce8c7893fe
|
docs: 重写 README
|
2026-10-02 16:08:42 +08:00 |
|
Lemon-miaow
|
109701a276
|
fix(ci): 修正分布式实现的 staticcheck 错误
迁移 CLI 不再遮蔽 BeginMigration 的错误,拒绝启动时正确返回失败。规范节点批准错误文案和归档 HTTP 状态常量;tar.Reader 已将旧普通文件类型归一化,无需引用已弃用常量。
验证:CI 固定版本 staticcheck 全量通过;cmd/felis、archivetransfer、backup、distributed 的 go test -race 通过。
|
2026-10-01 20:06:08 +08:00 |
|
Lemon-miaow
|
adf563ffe3
|
feat(distributed): 支持单主控多节点部署和停服迁移
复用现有 k3s 调度和 Job 生命周期,增加 worker 接入与批准、受保护节点身份、归档传输、持久迁移锁及活动 PVC 切换;同步管理员 API、CLI、面板和隔离规则。分布式模式默认关闭,保持单机兼容。
验证:Go 全量测试与 vet;面板 874 个测试、lint/build;Linux VM 安装器测试、清单服务端 dry-run、网络命名空间防火墙实测。A/B/C 三机 WireGuard、Velocity 和迁移验收仍待完成。
|
2026-10-01 19:48:37 +08:00 |
|
flyemoji
|
c0ee75efe4
|
fix(panel): mark the webview acknowledgement cookie secure
|
2026-09-29 14:08:23 +09:00 |
|
flyemoji
|
118e3bc0c4
|
fix(rcon): refuse an oversize command before its length wraps
|
2026-09-29 14:08:04 +09:00 |
|
flyemoji
|
3922aae9a7
|
fix(api): require reauthentication for changes to own email and passkeys; update OpenAPI descriptions
|
2026-09-29 13:39:35 +09:00 |
|
Lemon-miaow
|
ab4d8c2bf7
|
test(staticcheck): 删掉没人调用的 mustRead 和一次没被读的赋值
|
2026-09-29 03:25:26 +08:00 |
|
Lemon-miaow
|
3c0322a5c6
|
test(pgint): 只读绑定账号的测试角色带密码登录,CI 的 PG 要求密码验证
|
2026-09-29 02:28:50 +08:00 |
|
Lemon-miaow
|
01cd69692f
|
test(watchdog): 状态文件先拨回上一轮的时间,Linux 粗粒度 mtime 下备用文件不再和它同刻
|
2026-09-29 02:28:50 +08:00 |
|
Lemon-miaow
|
20c4ae5567
|
test(exports): 等待浏览器的导出上传在子测试内取走并等它返回,-race 下不再和下一个子测试改领取时限撞车
|
2026-09-29 02:28:50 +08:00 |
|
Lemon-miaow
|
94864473ce
|
fix(files): 服务器运行时下载文件的拒绝说明改为先停服再操作文件
|
2026-09-29 01:45:43 +08:00 |
|
Lemon-miaow
|
2b9cd1869c
|
fix(files): 编辑器保存和打开也逐跳核对 SHA-256,途中变了的内容不写盘也不打开
|
2026-09-29 01:43:37 +08:00 |
|
Lemon-miaow
|
cb3065da1d
|
fix(files): 模组包上传也逐段核对 SHA-256、长文件名能写、卡住的导出按时停掉、世界被占用时文件页说明原因并等它结束
|
2026-09-29 01:26:24 +08:00 |
|
Lemon-miaow
|
1d1549cea2
|
feat(files): 大文件分片上传、停服解压 zip 先列冲突再覆盖、文件和文件夹可下载;导出和下载不再带出 RCON 密码与转发密钥
|
2026-09-28 22:44:03 +08:00 |
|
Lemon-miaow
|
5dffadb40d
|
feat(backups): 主人和管理员可下载单个备份、导出停服世界,字节经一次性票据从导出 Job 流式转给浏览器,备份按 sha256 核对
|
2026-09-28 00:58:42 +08:00 |
|
Lemon-miaow
|
34b81ee8fe
|
feat(schedules): 每台服务器可设计划任务,按星期和时区定时发命令、重启、停服、开服或备份,重启和备份前可在游戏内提醒
|
2026-09-27 22:48:49 +08:00 |
|
Lemon-miaow
|
ab9a6f0bdb
|
fix(operator): 服务器 pod 先等出站围栏生效再启动镜像,新 pod 第一个请求不再能连到内网
|
2026-09-27 20:10:41 +08:00 |
|
Lemon-miaow
|
051cc1c9f5
|
feat(files): 文件管理可新建、建目录、删除、重命名和上传,写入内容拆成多个环境变量不再超内核单变量上限
|
2026-09-27 19:58:28 +08:00 |
|
Lemon-miaow
|
b6751eac0f
|
feat(backups): 主人和管理员可删除单个备份,归档由 reaper 下一轮删除、异地副本随下次同步删除,恢复可能在读时拒绝
|
2026-09-27 18:09:49 +08:00 |
|
Lemon-miaow
|
840d339760
|
fix(dbbackup): 备份新鲜度按最新的 daily 包算,手动或异地包不再掩盖停掉的定时任务
|
2026-09-27 16:40:50 +08:00 |
|
Lemon-miaow
|
46f99a7104
|
fix(watchdog): 状态文件写不进时把状态留在 /run 下的后备文件,下一轮读较新的一份,同一封告警不再每 2 分钟重发
|
2026-09-27 16:23:33 +08:00 |
|
Lemon-miaow
|
a32e8c19f7
|
fix(api): 契约检查对请求体按字段严格比对且不看 Content-Type,补上 approve 的 expected_digest 请求体
|
2026-09-27 16:14:52 +08:00 |
|
Lemon-miaow
|
1e42e9a87b
|
fix(velocity): 休眠服 MOTD 按唤醒策略说明谁能唤醒,闲置回收期间加入给出回收提示
|
2026-09-27 15:02:16 +08:00 |
|
Lemon-miaow
|
249d675bd7
|
fix(operator): 每次运行首次就绪后留 3 分钟到达窗口再开始空服计时,停服或重启时清掉旧计时
|
2026-09-27 14:53:40 +08:00 |
|
Lemon-miaow
|
56a4bbcf4c
|
refactor(api): 删掉没有调用方的 QuotaAvailable,修正 passkey last_used_at 的过时注释
|
2026-09-27 14:20:20 +08:00 |
|
Lemon-miaow
|
e9e9a7a622
|
fix(api): 收到 API 时钟的 repo 写操作一律用它打时间戳,不再和 PG now() 混用
|
2026-09-27 14:15:03 +08:00 |
|
Lemon-miaow
|
e491e063cf
|
fix(api): 消费 op-login 请求时要求已审批,fake 同步
|
2026-09-27 14:04:34 +08:00 |
|
Lemon-miaow
|
009e81b4cf
|
fix(api): op-login finish 拒绝审批后被停用或删除的账号
|
2026-09-27 14:00:33 +08:00 |
|
Lemon-miaow
|
1124413876
|
fix(api): setup 链接在同一事务里消费并建会话,存储故障回 500 且链接仍可重试
|
2026-09-27 13:55:56 +08:00 |
|
Lemon-miaow
|
26d997cb40
|
fix(submit): 本地上传存储在 rename 前 fsync 文件、rename 后 fsync 目录
|
2026-09-27 13:46:51 +08:00 |
|
Lemon-miaow
|
c54bd2d9eb
|
fix(submit): 上传途中投稿被撤回或删除时,由上传自己删掉刚落地的 blob
|
2026-09-27 13:43:41 +08:00 |
|
Lemon-miaow
|
372c8972f9
|
fix(submit): 已批准的投稿不再占上传者的存储额度,只计入存储总量
|
2026-09-27 13:38:34 +08:00 |
|
Lemon-miaow
|
0d485992c6
|
fix(operator): 服务器停服或删除时丢掉内存里的 RCON 失败计数
|
2026-09-27 13:34:42 +08:00 |
|
Lemon-miaow
|
c272e2ea24
|
fix(operator): 回到 Starting 时清掉 readySignalAt,每次启动都记入启动时长指标
|
2026-09-27 13:32:25 +08:00 |
|
Lemon-miaow
|
67a7e27f8d
|
fix(api): 服务器显示名称限 64 个可见字符,拒绝换行、控制符和不可见格式符
|
2026-09-27 13:30:28 +08:00 |
|
Lemon-miaow
|
b8da4e2318
|
fix(api): ownerOnly/adminOnly 包在已有的包装外层,路由的每层门禁都生效
|
2026-09-27 13:22:18 +08:00 |
|
Lemon-miaow
|
fef8d962c9
|
fix(api): UserDetail 读不到绑定账号时返回错误,不再显示为未绑定
|
2026-09-27 13:18:37 +08:00 |
|
Lemon-miaow
|
01408014b2
|
fix(api): quantityToMB 按 MiB 向上取整,配额不再少算零头
|
2026-09-27 13:16:49 +08:00 |
|
Lemon-miaow
|
2c5a85a033
|
fix(api): 调整资源先在 owner 的认领锁内核配额并写缓存再 patch 集群,集群拒绝时缓存回到集群的大小
|
2026-09-27 13:15:18 +08:00 |
|
Lemon-miaow
|
7f203b9245
|
fix(api): ListUsers 的 total 按同一组过滤条件计数,面板不再翻出空页
|
2026-09-27 13:01:12 +08:00 |
|
Lemon-miaow
|
e91886822c
|
fix(api): mc_uuid 统一校验为 UUID,非法值返回 400 bad_mc_uuid 并按规范形式存储
|
2026-09-27 12:57:40 +08:00 |
|
Lemon-miaow
|
5b0686dc06
|
fix(api): 停服时 CR 已不存在返回 404 not_found,与唤醒一致
|
2026-09-27 12:49:46 +08:00 |
|
Lemon-miaow
|
f692725bed
|
fix(migrate): 兑换迁移码在双方认领锁下检查目标配额,超出返回 403 migrate_quota_exceeded 且码不消耗
|
2026-09-27 12:46:49 +08:00 |
|
Lemon-miaow
|
fe48319866
|
test(watchdog): 整轮巡检测试覆盖集群告警保持、dry-run、主机 relay 密码、按配置检查与状态存不下,收件人查询移入 watchdog 并加 pgint 契约
|
2026-09-27 12:33:11 +08:00 |
|
Lemon-miaow
|
d7afdb4124
|
test(platform): NetworkPolicy 求值器按规范处理 ipBlock、空 From、表达式选择器与端口范围
|
2026-09-27 12:14:37 +08:00 |
|
Lemon-miaow
|
64476b0171
|
fix(store): 新 pod 首次连库在网络策略放行前重试
|
2026-09-27 12:08:03 +08:00 |
|
Lemon-miaow
|
7b91f7c6c3
|
fix(reaper): 只清理备份库的 CronJob 用命名空间默认 SA,e2e 实跑一次 reaper
|
2026-09-27 12:08:03 +08:00 |
|
Lemon-miaow
|
d112a43c65
|
fix(watchdog): k3s 证书 30 天内到期告警、7 天内转严重,文档说明重启续期与 rotate
|
2026-09-27 10:09:20 +08:00 |
|
Lemon-miaow
|
c1cdef0d6a
|
fix(dbbackup): 缺 MinecraftServer 导出时重试、CLI 失败退出、面板与 watchdog 告警,异地快照要求完整
|
2026-09-27 09:38:08 +08:00 |
|