Lemon-miaow
|
6a061859dc
|
feat(domain): felis domain set/check 把根域名换到所有面并逐面核对 (#12)
|
2026-09-26 10:23:55 +08:00 |
|
Lemon-miaow
|
d601abb09b
|
docs(operations): felis-api 长时间停摆时日志与告警的实测时间线
|
2026-09-26 09:41:38 +08:00 |
|
Lemon-miaow
|
8bc3997a8b
|
feat(breakglass): 恢复模式用邮件验证码证明管理员身份,发不出或验不过走带原因审计的 OVERRIDE (#13)
|
2026-09-26 08:27:00 +08:00 |
|
Lemon-miaow
|
5099b2501f
|
feat(velocity): legacy forwarding 列表跟随 CR 的 forwarding=legacy 标签实时更新 (#15)
|
2026-09-26 08:09:49 +08:00 |
|
Lemon-miaow
|
7c2fa08e85
|
docs(operations): 老安装升级的收敛步骤与核对命令
|
2026-09-26 07:42:45 +08:00 |
|
Lemon-miaow
|
201cfc864e
|
feat(access): 服务器没装 LuckPerms 时权限与用户组操作返回 409 luckperms_missing,面板说明原因
|
2026-09-26 07:35:20 +08:00 |
|
Lemon-miaow
|
aa6e487ff9
|
feat(converge): 报告缺 RCON 的老用户服务器,-user-rcon 按新建时的配置补上
|
2026-09-26 07:26:48 +08:00 |
|
Lemon-miaow
|
cde6502ab7
|
fix(registry): prune 连同被保留 index 的子 manifest 一起保留,钉住多平台镜像的服务器不再拉取失败
|
2026-09-26 07:26:48 +08:00 |
|
Lemon-miaow
|
9ab7b27a30
|
fix(passkey): 断言时按凭据校验 UV,并把存储的 BE/BS 标志交给校验器,云同步 passkey 可以登录 (#9)
|
2026-09-26 07:12:20 +08:00 |
|
Lemon-miaow
|
6a4c30b3f1
|
fix(bootstrap): kubeconfig 仅 root 可读、固定 k3s 节点名、开启 NTP 与持久日志,DHCP 地址告警并交给 watchdog 监测
|
2026-09-26 01:25:48 +08:00 |
|
Lemon-miaow
|
298a1e635d
|
feat(watchdog): 检测主机丢失安装时的地址与时钟未经 NTP 同步
|
2026-09-26 01:25:48 +08:00 |
|
Lemon-miaow
|
c15eec6c2d
|
test(velocity): 路由核心类接真 velocity-api 自测,修正子域名改名后旧域名仍路由
|
2026-09-26 00:42:05 +08:00 |
|
Lemon-miaow
|
b65c2c00b3
|
feat(plugins): 插件侧计数器与周期健康日志,Limbo/刷新失败按故障周期升级日志
|
2026-09-26 00:33:04 +08:00 |
|
Lemon-miaow
|
fcf5c305ea
|
feat(velocity): felis-api 调用改走有界线程池、定时任务防重叠,超时可配置,幂等 GET 带抖动重试一次
|
2026-09-26 00:03:19 +08:00 |
|
Lemon-miaow
|
001f060027
|
docs(plugins): README 同步版本表与 MC 支持矩阵,防伪造描述限定到 Velocity 路径
|
2026-09-25 23:45:33 +08:00 |
|
Lemon-miaow
|
d9453a6488
|
build(plugins): 插件构建统一钉到 gradle 9.8 镜像与带 sha256 的 wrapper,paper-api/Limbo 对齐锁文件并启用依赖校验
|
2026-09-25 23:45:33 +08:00 |
|
Lemon-miaow
|
2d1592bf01
|
fix(mods): 加载器 mod 仅在正版验证的独立服务器上签发绑定码,README 标明只用 limbo token 及其风险
|
2026-09-25 23:06:35 +08:00 |
|
Lemon-miaow
|
f1414b5cc8
|
docs(link): 写明内部面明文 HTTP 的单节点前提与放行范围,修正配置模板里的内部面地址
|
2026-09-25 23:03:02 +08:00 |
|
Lemon-miaow
|
0fb43232b5
|
fix(velocity): 保存最近一次服务器列表,控制面不可用时重启代理仍能路由登录
|
2026-09-25 22:58:53 +08:00 |
|
Lemon-miaow
|
7bf81a0921
|
feat(submit): 模组上传改为分片续传并显示进度,经 Cloudflare 边缘也能传满 1GiB
|
2026-09-25 22:39:43 +08:00 |
|
Lemon-miaow
|
7f160e2feb
|
feat(update): 主机每日记录组件版本比对,面板更新页展示可用更新与应用命令
|
2026-09-25 21:50:49 +08:00 |
|
Lemon-miaow
|
24373823cc
|
feat(build): 扫描门按可配严重度拦截并可接受已知风险,留存 Trivy 报告与 CycloneDX SBOM,面板构建页展示扫描结果
|
2026-09-25 21:28:57 +08:00 |
|
Lemon-miaow
|
d76683f5cb
|
fix(setup): 系统服与副本 Secret 改用带乐观锁的 merge-patch 并冲突重试,安装器在构建变化时把登录与大厅固定到 digest
|
2026-09-25 20:04:06 +08:00 |
|
Lemon-miaow
|
b384f6281f
|
feat(crd): 数值字段加上下限校验,rcon.port 用 CEL 限定默认端口,文档写明 v1beta1 演进与多节点前提
|
2026-09-25 19:49:09 +08:00 |
|
Lemon-miaow
|
925cfcf8f8
|
fix(operator): StatefulSet 显式保留世界卷,同名旧世界卷仍在时建服回 409 world_volume_exists,文档写明孤儿卷查找与单节点约束
|
2026-09-25 19:38:13 +08:00 |
|
Lemon-miaow
|
b7d4275ca9
|
feat(operator): 状态迁移、超时、自动重建、空闲停机与 RCON Secret 创建写 Event 和结构化日志,RBAC 增加 events create/patch
|
2026-09-25 19:32:25 +08:00 |
|
Lemon-miaow
|
a977e229ca
|
fix(operator): RCON Secret 改走无缓存按名读取,去掉 Secret watch,RBAC 收窄为 secrets get/create,不再缓存全命名空间 Secret
|
2026-09-25 19:25:24 +08:00 |
|
Lemon-miaow
|
6ec1b2726c
|
feat(operator): 游戏容器加 startup/liveness 探针,超时启动按 1/2/4 分钟退避重建 Pod 至多 3 次,Running 每 60s 重探且连续 3 次失败才降级,Failed 放缓重排
|
2026-09-25 19:19:57 +08:00 |
|
Lemon-miaow
|
234498b85a
|
fix(rcon): 多包回复在首包到达后发结束标记重组,单包上限放宽到 4106,命令带 ctx 与默认 10s 超时,console 走 ExecuteContext
|
2026-09-25 18:50:01 +08:00 |
|
Lemon-miaow
|
b7fdef7522
|
feat(update): felis update 读取维护窗口并报告当前是否在窗口内,窗口外应用前警告,面板与文档写明窗口为提示性
|
2026-09-25 18:42:51 +08:00 |
|
Lemon-miaow
|
516c58b543
|
feat(panel): 我的提交页上传前按服务端单次上限预检,超限提示显示文件大小与上限
|
2026-09-25 18:37:02 +08:00 |
|
Lemon-miaow
|
87dee3e5a5
|
feat(api): 单次上传上限改为 context_max_bytes 可配,Cloudflare 边缘后默认 95Mi,新增 GET /me/submissions/limits 供面板预检
|
2026-09-25 18:31:10 +08:00 |
|
Lemon-miaow
|
e7326e6315
|
test(api): 处理器测试的每次请求在包结束后对照 openapi 校验状态码、响应与 2xx 请求体,SetupAllowed 纳入一致性比对,补齐漏记的状态码并修正空列表回 null
|
2026-09-25 18:24:47 +08:00 |
|
Lemon-miaow
|
1054e62fa9
|
feat(api): 集群列表读改走 informer 缓存,审核队列、我的提交与备份列表改为服务端分页筛选并一次批量查构建,面板三页跟进
|
2026-09-25 18:13:21 +08:00 |
|
Lemon-miaow
|
0a66385d9f
|
fix(store): passkey 挑战与账号迁移的并发开始改由 advisory 锁串行,登录挑战按来源上限在并发下精确,迁移重启不再给已退役账号留活动记录,补 pgint 契约测试
|
2026-09-25 17:36:44 +08:00 |
|
Lemon-miaow
|
7d82402c18
|
fix(api): 未配置 SMTP 时发码门统一 503 mail_unavailable 且不再把验证码写日志,非本机中继默认强制 STARTTLS(require_tls)
|
2026-09-25 17:25:05 +08:00 |
|
Lemon-miaow
|
d93c1b6913
|
feat(api): op-login 游戏内审批先展示目标账号、邮箱与发起来源,须输入账户名确认,velocity 显示审批卡片
|
2026-09-25 17:02:43 +08:00 |
|
Lemon-miaow
|
4757353324
|
fix(api): 登录验证码与 passkey 挑战不再被他人的 start 作废,冷却内重复 start 照常 202,登录挑战按来源限量
|
2026-09-25 16:37:03 +08:00 |
|
Lemon-miaow
|
084ba1ed9e
|
feat(retention): felis-api 定时清理过期会话、验证码、挑战、绑定码等表,审计按 [audit] retention 保留,新增 felis db audit-export 导出归档
|
2026-09-25 15:53:34 +08:00 |
|
Lemon-miaow
|
38288e1c60
|
fix(api): 删除未接通的 Access JWT 委托,外部面只认会话 cookie,admin 主机的 IP 判定只认安装指定的地址,文档与 OpenAPI 同步
|
2026-09-25 15:35:26 +08:00 |
|
Lemon-miaow
|
a883c1fe07
|
feat(api): 内部面 token 按调用方拆分为 velocity/limbo/build/ops 并按路由限定调用方,审计来源区分调用方,安装器生成并下发各自 Secret,新增 felis rotate-token 轮换命令
|
2026-09-25 15:21:41 +08:00 |
|
Lemon-miaow
|
d3769b5c31
|
feat(api): 添加或删除 passkey、修改邮箱前须 5 分钟内用已有因子重新验证,变更后邮件通知账户,面板加确认对话框与修改邮箱入口
|
2026-09-25 14:47:54 +08:00 |
|
Lemon-miaow
|
9e7f23ca13
|
feat(api): 会话记录设备与最近活动,账户页可查看并退出任一设备,删除 passkey 或更换邮箱时退出其它设备,staff 会话空闲 30 分钟失效,吊销会话校验所属用户
|
2026-09-25 14:06:02 +08:00 |
|
Lemon-miaow
|
98295e630e
|
fix(api): 禁用用户与吊销会话合为一个事务,passkey 签名计数只增不减,引导检查遇到数据库故障返回 503
|
2026-09-25 13:29:52 +08:00 |
|
Lemon-miaow
|
88d3dd7121
|
fix(store): 数据库连接池限 25 条并设语句与空闲事务超时,迁移锁固定在取锁的连接上释放,API 导出连接池指标
|
2026-09-25 13:25:45 +08:00 |
|
Lemon-miaow
|
fde677c07e
|
fix(panel): 本人与所有者账户的禁用和删除按钮提前锁定并说明原因,角色改为只读,后端拒绝改用专用错误码 self_protected 与 owner_protected
|
2026-09-25 13:20:01 +08:00 |
|
Lemon-miaow
|
dee4d87fd1
|
chore(panel): 删除未使用的 ServerCard 与恢复控件的卡片布局分支,恢复注释改为按行可选任一未过期备份,mock 补上备份任务与立即备份路由
|
2026-09-25 13:09:44 +08:00 |
|
Lemon-miaow
|
9f60178ba8
|
perf(panel): 除登录与首页外的页面按路由懒加载,框架依赖单独成块长期缓存,玩家首屏不再下载管理页代码
|
2026-09-25 13:04:22 +08:00 |
|
Lemon-miaow
|
73f4c858bf
|
fix(panel): 切换服务器或用户时不再先显示上一个对象的数据,详情页随路由参数重新挂载,列表翻页与筛选保留旧行直到新结果到达
|
2026-09-25 12:55:58 +08:00 |
|
Lemon-miaow
|
f156e385f0
|
fix(panel): 服务器地址改为一键复制并带上非默认游戏端口,玩家列表去掉无意义的连接地址列,管理员列改称内部地址
|
2026-09-25 12:51:16 +08:00 |
|
Lemon-miaow
|
bb9c2168df
|
fix(panel): 服务器列表的归属与可认领改由后端按账号判定,无邮箱管理员也能认出自己的服务器,所有者查询失败时显示未知且不给认领
|
2026-09-25 12:36:38 +08:00 |
|
Lemon-miaow
|
06d5e652c6
|
fix(panel): 构建记录改由服务端分页列表提供,任何浏览器与管理员都能看到并取消进行中的构建,列表刷新失败保留原行并提示
|
2026-09-25 12:28:22 +08:00 |
|
Lemon-miaow
|
9d03386c83
|
fix(panel): 删除镜像与取消构建改用面板确认对话框,失败原因显示在对话框内,镜像来源徽标跟随界面语言
|
2026-09-25 12:08:29 +08:00 |
|
Lemon-miaow
|
a5307d44d4
|
fix(panel): op-login 轮询按请求截止时间停止并显示倒计时,过期可一键重新发起,失败指数退避,服务端拒绝即停并提示
|
2026-09-25 11:58:13 +08:00 |
|
Lemon-miaow
|
367ef2678a
|
fix(deploy): 安装脚本的 apt 调用抑制 needrestart 以免重跑时重启代理,服务单元与镜像列表先读完再匹配避免 pipefail 下的 SIGPIPE 误判
|
2026-09-25 11:49:39 +08:00 |
|
Lemon-miaow
|
9a5225f77e
|
fix(panel): passkey 无凭据与用户不存在改用错误码的本地化文案,补齐通用错误码映射,认证来源与日期跟随界面语言
|
2026-09-25 11:44:47 +08:00 |
|
Lemon-miaow
|
6c3421fe8c
|
fix(panel): 错误提示改为读屏即时播报,图标按钮、筛选下拉与表单字段补齐可读名称,上传区可用键盘选择文件,并加全页面无障碍巡检
|
2026-09-25 11:35:14 +08:00 |
|
Lemon-miaow
|
1a8cccf245
|
fix(panel): 版本徽标读取服务端构建信息并标出开发版,配置加载失败时显示提示条
|
2026-09-25 11:14:21 +08:00 |
|
Lemon-miaow
|
34ea733775
|
perf(panel): 日志控制台按帧批量提交、分块渲染只重绘变动块,§ 与 ANSI 颜色码解析为样式文本
|
2026-09-25 11:07:11 +08:00 |
|
Lemon-miaow
|
175c9721d4
|
style(offsite): 清单描述符直接转换成 ImageBlob,消除 staticcheck S1016
|
2026-09-25 10:57:21 +08:00 |
|
Lemon-miaow
|
2151e0cf92
|
fix(panel): 首页绑定状态查询失败只降级绑定卡片并可单独重试,身份改用 useTier,镜像数读不到显示横杠
|
2026-09-25 10:56:13 +08:00 |
|
Lemon-miaow
|
3d79293218
|
test(imagepush): 开只读窗口遇 409 时像 GC Job 一样重试,消除 -race 下的偶发失败
|
2026-09-25 10:48:51 +08:00 |
|
Lemon-miaow
|
2f99874d5e
|
test(panel): 加组件测试与浏览器冒烟、hooks lint、OpenAPI 双向类型对齐,修复 CI 类型检查空转、列表不显示服务器名称与玩家停服不确认
|
2026-09-25 10:47:19 +08:00 |
|
Lemon-miaow
|
ea425cffa4
|
fix(passkey): 删除 passkey 先确认并显示名称与注册时间,邮箱未验证时后端拒删最后一把,错误内联显示
|
2026-09-25 10:04:31 +08:00 |
|
Lemon-miaow
|
90c39afb0c
|
fix(panel): 手机端加导航抽屉和登出入口,服务器与备份列表在窄屏改为卡片,桌面服务器表不再挤成竖排
|
2026-09-25 09:50:12 +08:00 |
|
Lemon-miaow
|
3a2166ca87
|
fix(panel): 启停按钮统一为带忙碌态和失败原因的组件,有玩家在线或人数未知时停服先确认
|
2026-09-25 09:38:11 +08:00 |
|
Lemon-miaow
|
bcf245410a
|
fix(panel): 文件编辑器关闭或离开页面前确认放弃未保存修改,状态轮询失败只提示不再卸载编辑器
|
2026-09-25 09:38:11 +08:00 |
|
Lemon-miaow
|
6595a2c581
|
fix(panel): 路径参数逐段编码并拒绝点段,非 JSON 响应保留状态码,会话过期带回跳送回登录页,连不上时显示横幅
|
2026-09-25 09:34:15 +08:00 |
|
Lemon-miaow
|
e0fa0268e0
|
docs(troubleshooting): 新增整机灾难恢复清单、各类数据的恢复点、恢复顺序与重建后核验步骤
|
2026-09-25 09:24:54 +08:00 |
|
Lemon-miaow
|
2779d8f5cf
|
fix(offsite): 服务器或白名单按摘要钉住的 felis/ 与 mirror/ 版本也进异地副本,恢复只按摘要推回不动安装器的 tag
|
2026-09-25 05:00:02 +08:00 |
|
Lemon-miaow
|
8fb3d298ae
|
feat(offsite): 异地副本加入提交上传的整合包,按内容去重加密,索引按版本保留 14 天,新增 fetch-uploads 恢复
|
2026-09-25 04:48:34 +08:00 |
|
Lemon-miaow
|
e3ac9cd545
|
feat(offsite): 异地副本加入 registry 用户镜像,按摘要加密去重,索引按版本保留 14 天,新增 fetch-images 回推恢复
|
2026-09-25 04:33:23 +08:00 |
|
Lemon-miaow
|
0e93e961ed
|
fix(imagepush): 推送与拉取共用一个 HTTP 客户端复用连接,出错时先读响应体再关闭,错误信息不再为空
|
2026-09-25 04:33:17 +08:00 |
|
Lemon-miaow
|
5d1da31a48
|
fix(offsite): 数据库包与桶内已有份数合并排名,只传会留下的,不再每小时重传再剪掉
|
2026-09-25 04:32:42 +08:00 |
|
Lemon-miaow
|
e1c325d594
|
fix(files): 配置文件改为同目录临时文件 fsync 后原子改名写入,读取返回内容哈希、保存带期望哈希冲突返回 409,磁盘满返回 507,面板提示载入最新或仍然覆盖
|
2026-09-25 03:56:30 +08:00 |
|
Lemon-miaow
|
074bd1783c
|
fix(install): 重跑安装时撤销旧版本为世界根目录授予 uid 1000 的 ACL 与 o+x 遍历权限
|
2026-09-25 03:46:53 +08:00 |
|
Lemon-miaow
|
0770a4d676
|
feat(reaper): 未配置世界目录时渲染只清理备份库存的 CronJob,默认安装也每日删除过期备份,安装器与清单生成器说明回收开关状态
|
2026-09-25 03:42:55 +08:00 |
|
Lemon-miaow
|
fe15b56074
|
docs(reaper): 说明回收前停服持锁、归档回读校验与存储清扫、无世界卷时的处理及运行汇总各计数
|
2026-09-25 03:34:54 +08:00 |
|
Lemon-miaow
|
7766e8efa4
|
fix(reaper): 回收前先停服并持有世界维护锁再归档,锁丢失不删卷;无世界卷的无主服务器只重置时钟不再重复回收
|
2026-09-25 03:31:50 +08:00 |
|
Lemon-miaow
|
89a0134707
|
feat(backup): 归档先写 .partial 再 fsync 改名并记录 sha256,删除原件前回读校验,reaper 抽样巡检与清扫半截归档,保留权限与 mtime,面板标出损坏与已校验
|
2026-09-25 03:16:06 +08:00 |
|
Lemon-miaow
|
489eff4494
|
feat(restore): 恢复前默认为当前世界做安全快照并串接恢复 Job,快照失败则不恢复;并发恢复另一备份返回 409
|
2026-09-25 02:52:18 +08:00 |
|
Lemon-miaow
|
d44243c0ac
|
docs(ops): 支持矩阵标注 Ubuntu 24.04 x86_64 由 CI 跑全新安装、重跑与升级,README 链接已验证发行版
|
2026-09-25 02:52:17 +08:00 |
|
Lemon-miaow
|
a660b01efa
|
ci(e2e): 代理状态 ping 等待 Velocity 绑定端口,旧 release 安装检查跳过其后才有的 timer
|
2026-09-25 02:15:11 +08:00 |
|
Lemon-miaow
|
f8f112b8ca
|
feat(api): 访问日志与 HTTP/运行时指标、安全响应头与面板 CSP、跨站写拦截、请求体读截止、SSE 定期重鉴权与续传、404/405/413 信封、status 按所有权裁剪、停机并发排空
|
2026-09-25 02:14:08 +08:00 |
|
Lemon-miaow
|
cc85aac906
|
ci(e2e): 新增 Ubuntu 24.04 全新安装+重跑 e2e 与 release→当前 commit 升级 e2e
|
2026-09-25 01:51:53 +08:00 |
|
Lemon-miaow
|
3ed6603201
|
feat(store): api/reaper/offsite/migrate 按版本集合校验 schema,库比二进制新时拒绝启动;bootstrap 迁移前失败回滚宿主二进制
|
2026-09-25 01:46:33 +08:00 |
|
Lemon-miaow
|
b1678f78c8
|
feat(update): felis update 报告 JRE 与 PostgreSQL(含停更提示),bootstrap 支持 FELIS_UPGRADE_DEPS=1 升级 k3s/cloudflared
|
2026-09-25 01:35:52 +08:00 |
|
Lemon-miaow
|
6f7b8d7b30
|
feat(deploy): 新增 uninstall.sh(默认保留数据,--purge 全删)与 docs/operations.md 支持矩阵、容量与重装恢复手册
|
2026-09-25 01:20:52 +08:00 |
|
Lemon-miaow
|
989be55b4a
|
feat(bootstrap): Velocity 堆可由 FELIS_VELOCITY_XMX 配置,全新安装预建 k3s 存储根目录消除 reaper 警告
|
2026-09-25 01:20:52 +08:00 |
|
Lemon-miaow
|
3e61fde06d
|
fix(bootstrap): 关闭 BuildKit 默认 attestation,无改动重跑不再重启 login/lobby;同版本重跑同时重启 registry gate
|
2026-09-25 00:43:02 +08:00 |
|
Lemon-miaow
|
f0ac5b48ce
|
fix(cfsetup): 隧道凭据文件校验 JSON 与 TunnelID,损坏或不匹配时移开并重新获取,失败页提示重试可收敛
|
2026-09-25 00:37:07 +08:00 |
|
Lemon-miaow
|
1141ebcd49
|
ci: 加 -race、staticcheck、govulncheck、shellcheck 与真 PostgreSQL 集成测试门禁,release 复用 ci 门禁
|
2026-09-25 00:35:09 +08:00 |
|
Lemon-miaow
|
82545548e7
|
feat(bootstrap): game stack 按 lock 文件固定构建并校验 sha256,基础镜像按 digest 固定,JRE 固定补丁版本
|
2026-09-25 00:24:02 +08:00 |
|
Lemon-miaow
|
aace66e8d3
|
fix(bootstrap): 重跑只重启有变化的 Velocity、系统服与 PostgreSQL,无 firewalld 时用 nftables 收口 5432,PG 大版本不符拒绝启动
|
2026-09-25 00:06:47 +08:00 |
|
Lemon-miaow
|
b1627e9ba0
|
style(pgint): gofmt
|
2026-09-24 23:52:30 +08:00 |
|
Lemon-miaow
|
a4fa16ae69
|
feat(bootstrap): 控制面镜像按版本打 tag,升级后 rollout undo 可回到上一版本
|
2026-09-24 23:52:30 +08:00 |
|
Lemon-miaow
|
80fbc779d9
|
feat(operator): 平台升级不再重启运行中的游戏服,registry 清理保留游戏 pod 在用的镜像
|
2026-09-24 23:52:30 +08:00 |
|
Lemon-miaow
|
07eb682358
|
docs(upgrade): 列出安装器对下载物的校验与离线导入 registry 镜像的做法
|
2026-09-24 23:39:39 +08:00 |
|
Lemon-miaow
|
3ad817eeff
|
fix(update): 重跑命令从最新 release tag 读取安装脚本
|
2026-09-24 23:39:39 +08:00 |
|
Lemon-miaow
|
26dc1722f4
|
feat(bootstrap): 先校验 SHA256SUMS 再运行下载的 felis,固定 k3s、cloudflared 与 registry 镜像版本
|
2026-09-24 23:39:38 +08:00 |
|