Lemon-miaow
|
ee4065b986
|
fix(migrate): 迁移确认只对做确认的会话在 10 分钟内有效,签发和兑换迁移码都给源账户邮箱发通知
|
2026-09-27 02:14:22 +08:00 |
|
Lemon-miaow
|
9a89254146
|
test(db): 恢复链在真实 PostgreSQL 上跑往返与三种失败回滚,-yes 闸门测试真正走到闸门,e2e 按文档做一次同机恢复
|
2026-09-27 01:58:35 +08:00 |
|
Lemon-miaow
|
7e6272997d
|
fix(bootstrap): 开着 ufw 的主机按 k3s 要求放行 pod 与 service 网段、面板和游戏端口,卸载时按 felis- 注释收回
|
2026-09-27 01:30:01 +08:00 |
|
Lemon-miaow
|
4fe58ef6f5
|
ci(e2e): 按 README 原样安装的 readme 阶段走 release 附件下载,升级阶段的旧版安装器不再被 FELIS_REF 逼去源码构建
|
2026-09-27 01:13:29 +08:00 |
|
Lemon-miaow
|
aad72ddb2b
|
feat(bootstrap): FELIS_RELEASE 按指定 release 的附件安装,回滚文档不再把人带回最新版
|
2026-09-27 01:03:38 +08:00 |
|
Lemon-miaow
|
5c58104e09
|
fix(offsite): DB 包先同步,每个对象按大小单独限时,大归档传不完不再拖住整轮同步
|
2026-09-27 00:55:44 +08:00 |
|
Lemon-miaow
|
3f04171424
|
fix(panel): 撤销删除的权限节点时按原值恢复,原值没读到就不给撤销
|
2026-09-27 00:49:24 +08:00 |
|
Lemon-miaow
|
21dd4baed2
|
fix(panel): LuckPerms 页读不到时如实说读不到,用户组和权限节点可按名称移除
|
2026-09-27 00:44:01 +08:00 |
|
Lemon-miaow
|
d0ab983f0f
|
test(velocity): 测试桩按真实 wake 的顺序从服的状态推导回复,运行中的服对谁都 202 就绪,403 和 start_failed 不再由用例手配,停着的服一律报 fallback
|
2026-09-27 00:36:41 +08:00 |
|
Lemon-miaow
|
2d82e8cca7
|
fix(setup): SMTP 密码和上传桶密钥同时存进 /etc/felis,安装器每次从这里重建 Secret,看门狗和 breakGlass 在 k3s 宕机时也能读到
|
2026-09-27 00:22:22 +08:00 |
|
Lemon-miaow
|
8ef7112dab
|
feat(backup): 玩过的世界每天在停服后自动打一个定时恢复点,按服按 owner 保留 7 个、90 天过期
|
2026-09-27 00:02:49 +08:00 |
|
Lemon-miaow
|
d6e1a6464c
|
fix(quota): 回收的服务器保留资源规格,认领时按集群里的真实规格过配额并写回缓存
|
2026-09-26 23:28:18 +08:00 |
|
Lemon-miaow
|
a60ff31ef6
|
fix(submit): S3 后端按 8MiB 分片上传,大包不再撑爆 felis-api 内存,超出分片上限时报错并删掉截断的对象
|
2026-09-26 23:18:00 +08:00 |
|
Lemon-miaow
|
4425060d3e
|
fix(lobby): 大厅变成安全的中转大厅并提示 /menu,大厅上限 200、登录门不限人数
|
2026-09-26 23:11:30 +08:00 |
|
Lemon-miaow
|
fda14e9e45
|
fix(panel): 控制台、玩家页、权限页、文件页和仪表盘自动刷新状态,唤醒或停止后立即显示进行中
|
2026-09-26 22:42:33 +08:00 |
|
Lemon-miaow
|
d65cf3af30
|
fix(felis): 编辑服务器时内存和 CPU 可各自单改互不清除,显示名可清空,内存显示真实上限
|
2026-09-26 22:22:02 +08:00 |
|
Lemon-miaow
|
22d1e834ad
|
fix(felis): 启动失败的服可在面板重试或停止,玩家入服时直接告知启动失败
|
2026-09-26 22:08:29 +08:00 |
|
Lemon-miaow
|
c1025274e1
|
fix(velocity): 等待队列跟随服的启动进度,自动重试期间一直等并每分钟报进度,放弃或被停止时说明原因
|
2026-09-26 21:41:01 +08:00 |
|
Lemon-miaow
|
df8b09788c
|
fix(velocity): 目标服拒绝玩家时带原因提示并直接放行到大厅,不再在 login 里循环
|
2026-09-26 21:28:19 +08:00 |
|
Lemon-miaow
|
4afabc390d
|
fix(velocity): 菜单加入和 /felis go 先查实时状态,运行中的服直接进入,内部 wake 对已运行服不再做启动权限校验
|
2026-09-26 21:21:59 +08:00 |
|
Lemon-miaow
|
3843082153
|
fix(velocity): 停服的 fallback 名不再注册成后端,唤醒就绪时按轮询到的地址立即注册再传送
|
2026-09-26 21:18:08 +08:00 |
|
Lemon-miaow
|
4b386c5c2e
|
docs: 产物安装、v0.1.0 升级与宿主机库迁入 felis-postgres 标为 VM 已验证
|
2026-09-26 20:05:45 +08:00 |
|
Lemon-miaow
|
6f9f0c56ba
|
fix(bootstrap): preflight 探测下载源重试三次并以 TLS 握手为准,一次网络抖动不再拒绝安装
|
2026-09-26 20:04:05 +08:00 |
|
Lemon-miaow
|
9a853098af
|
fix(e2e): release 阶段只在存在 felis-postgres 时检查它,数据库仍在宿主机的旧版本不再误报
|
2026-09-26 19:48:52 +08:00 |
|
Lemon-miaow
|
3b58b39763
|
fix(bootstrap): 迁库比对行数的 SQL 不再对常量排序报错,宿主机库能真正迁入 felis-postgres
|
2026-09-26 19:48:52 +08:00 |
|
Lemon-miaow
|
760966660e
|
fix(bootstrap): 全新主机没有 PostgreSQL 集群时不再因 pipefail 中止安装
|
2026-09-26 19:17:49 +08:00 |
|
Lemon-miaow
|
2ca2f5ca86
|
docs: 发布产物安装、FELIS_ARTIFACT_DIR 与回退提示
|
2026-09-26 15:23:54 +08:00 |
|
Lemon-miaow
|
d34a118723
|
ci(e2e): 从本次提交构建的发布产物安装并断言不碰 Docker,源码构建改为每周
|
2026-09-26 15:23:53 +08:00 |
|
Lemon-miaow
|
537639072a
|
fix(uninstall): 卸载时清理发布产物下载缓存
|
2026-09-26 15:23:53 +08:00 |
|
Lemon-miaow
|
56344f313b
|
test(bootstrap): 重复写入 [auth] 键的检查改用 $nl,dash 下不再恒过
|
2026-09-26 15:23:53 +08:00 |
|
Lemon-miaow
|
54942f30f3
|
feat(bootstrap): 从发布产物安装二进制、镜像与插件,Docker 按需安装
|
2026-09-26 15:23:53 +08:00 |
|
Lemon-miaow
|
9931f64fff
|
feat(release): CI 一次构建各架构二进制、镜像包与 velocity 插件
|
2026-09-26 14:22:46 +08:00 |
|
Lemon-miaow
|
7beb43195b
|
feat(imagepush): 写出按架构的发布镜像包并支持按名推送
|
2026-09-26 14:12:26 +08:00 |
|
Lemon-miaow
|
c24396d50a
|
docs: PostgreSQL 在 k3s 内运行后的升级、回退、卸载与排障
|
2026-09-26 13:40:47 +08:00 |
|
Lemon-miaow
|
36b8a8b444
|
fix(updater): PostgreSQL 大版本提示改为导出再恢复并更正地址相关注释
|
2026-09-26 13:34:41 +08:00 |
|
Lemon-miaow
|
5d6b36d190
|
test(e2e): 检查 k3s 内的 felis-postgres 并经 kubectl exec 做一次数据库备份
|
2026-09-26 13:25:22 +08:00 |
|
Lemon-miaow
|
96b4f31bf9
|
feat(uninstall): 按 k3s 内的 felis-postgres 保留或清除数据库并清理迁移留下的宿主副本
|
2026-09-26 13:22:09 +08:00 |
|
Lemon-miaow
|
40d6e4d0ca
|
feat(bootstrap): 在 k3s 内部署 felis-postgres 并从宿主 PostgreSQL 迁移
|
2026-09-26 13:17:05 +08:00 |
|
Lemon-miaow
|
fe9f49987b
|
fix(felis): PATH 缺 /usr/local/bin 时补上以找到 k3s
|
2026-09-26 13:17:04 +08:00 |
|
Lemon-miaow
|
912d129f14
|
feat(updater): 从 felis-postgres 容器读取 PostgreSQL 版本并改为随发布更新镜像
|
2026-09-26 12:17:00 +08:00 |
|
Lemon-miaow
|
34a4dffc50
|
feat(watchdog): 监控 felis-postgres 部署并更新数据库排障提示
|
2026-09-26 12:14:24 +08:00 |
|
Lemon-miaow
|
b496e59b99
|
feat(db): felis db 与迁移前快照在 felis-postgres 容器内运行客户端工具
|
2026-09-26 12:10:32 +08:00 |
|
Lemon-miaow
|
659127b271
|
feat(platform): 渲染 k3s 内的 felis-postgres 及其入站隔离
|
2026-09-26 12:03:23 +08:00 |
|
Lemon-miaow
|
a20840e7d8
|
feat(config): [database] deployment 指向集群内的数据库
|
2026-09-26 12:03:23 +08:00 |
|
Lemon-miaow
|
b4737f4682
|
feat(dbbackup): 客户端工具可经 kubectl exec 在数据库容器内运行
|
2026-09-26 12:03:23 +08:00 |
|
Lemon-miaow
|
12d2697801
|
docs(uninstall): 更正 felis_pgint 的来历说明
|
2026-09-26 11:38:34 +08:00 |
|
Lemon-miaow
|
1f2a6130ac
|
feat(bootstrap): 装机前一次性预检平台/内存/磁盘/端口/网段/外网,问题全列出后再停
|
2026-09-26 11:30:31 +08:00 |
|
Lemon-miaow
|
1944a44f94
|
fix(uninstall): purge 前预检 felis 角色在其他库的依赖,DROP ROLE 不再半途失败
|
2026-09-26 11:30:31 +08:00 |
|
Lemon-miaow
|
54a533103a
|
fix(bootstrap): felis-link.properties 内容不变就不重写,domain check 不再误报代理落后
|
2026-09-26 10:24:14 +08:00 |
|
Lemon-miaow
|
eaef592014
|
fix(bootstrap): offsite_enabled 改为先取变量再匹配,重跑不再因 SIGPIPE 竞态误删 off-site timer
|
2026-09-26 10:24:14 +08:00 |
|
Lemon-miaow
|
23b7c14b00
|
fix(bootstrap): 重跑安装器保留 [auth],换域改为拒绝并指向 felis domain set
|
2026-09-26 10:24:04 +08:00 |
|
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 |
|