Commit Graph
231 Commits
Author SHA1 Message Date
Lemon-miaow 2c98e8b2ab perf(panel): speed up file browsing and preserve loading forms 2026-10-04 20:18:11 +08:00
Lemon-miaow 4d8e9af240 feat(cli): apply coordinated updates during maintenance 2026-10-04 17:36:21 +08:00
Lemon-miaow cb3ed94026 fix(panel): streamline system settings and server creation
Use shared action buttons and default to the login space. Allow staff to save startup-only experience settings while running and request a durable restart through the existing operator flow.

Grant the API PVC list permission needed to detect retained worlds before server creation, and show internal failures with a request ID. Cover permission, maintenance, restart and UI behavior with regression checks.
2026-10-04 16:26:03 +08:00
Lemon-miaow e67896979e feat(cli): show download progress and copy setup links 2026-10-04 15:49:21 +08:00
Lemon-miaow 10bd2ddad0 feat: customize login and lobby spaces from the panel 2026-10-04 12:38:39 +08:00
Lemon-miaow efbbe27629 feat: initialize panel access before linking Minecraft accounts
Configure connection and storage before creating or resuming the one-time Owner login. Remove Minecraft prerequisites from setup and preserve established login credentials.

Let staff preview and confirm roles from configured authentication sources using the existing account-link storage and game UUID mapping. Retain in-game code proof for players, add client-version and lobby guidance, and support NodePort passkey origins.
2026-10-04 03:05:05 +08:00
Lemon-miaow 2e4f118939 feat(login): 未绑定 Owner 时说明原因和绑定方式 2026-10-02 19:38:36 +08:00
Lemon-miaow ce8c7893fe docs: 重写 README 2026-10-02 16:08:42 +08:00
Lemon-miaow b01aae77a2 fix(bootstrap): 在源码构建后安装分布式节点防火墙
首次源码安装或旧发布版升级时,等待新二进制构建完成后调用 node firewall;worker 的源码安装也按所请求的版本重新构建。补充安装顺序回归检查和 main 接入说明,更新单机默认与多节点运维边界。

验证:Linux VM 上 bootstrap shell 测试全量通过;go test ./cmd/felis;shell 语法和 git diff --check。
2026-10-01 19:57:17 +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
Lemon-miaow 26e817f2c9 perf(bootstrap): k3s 以 GOGC=50 运行,Velocity 1G 以内改用串行回收和 C1,基础设施空载压到约 1 GB 2026-09-29 19:06:37 +08:00
Lemon-miaow a25553413c perf(bootstrap): Velocity 堆从 64M 起步不再预占,Docker 及其 containerd 用完即停且不随开机启动 2026-09-29 19:06:37 +08: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 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 e8ff8f2fe5 feat(cli): 新增 felis status、doctor 和 support-bundle,一屏看全平台、按区域列出问题、打出脱敏诊断包 2026-09-27 21:11:35 +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 db7fbfec46 fix(preflight): 探测 k3s 安装器在 SELinux 主机上要用的 rpm.rancher.io,运维手册列出 FELIS_ARTIFACT_DIR 安装仍要放行的地址,README 不再说内网主机能装 2026-09-27 17:34:48 +08:00
Lemon-miaow 7718879bcd fix(bootstrap): 新生成的 offsite 密钥只写到终端,安装输出和日志里只给出读取命令 2026-09-27 17:14:03 +08:00
Lemon-miaow e97a73e539 test(e2e): 升级任务先往发布版库里写 12 张表的种子行,升级后逐行比对并检查序列位置 2026-09-27 16:59:18 +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 56a4bbcf4c refactor(api): 删掉没有调用方的 QuotaAvailable,修正 passkey last_used_at 的过时注释 2026-09-27 14:20:20 +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 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 67a7e27f8d fix(api): 服务器显示名称限 64 个可见字符,拒绝换行、控制符和不可见格式符 2026-09-27 13:30:28 +08:00
Lemon-miaow e91886822c fix(api): mc_uuid 统一校验为 UUID,非法值返回 400 bad_mc_uuid 并按规范形式存储 2026-09-27 12:57:40 +08:00
Lemon-miaow f692725bed fix(migrate): 兑换迁移码在双方认领锁下检查目标配额,超出返回 403 migrate_quota_exceeded 且码不消耗 2026-09-27 12:46:49 +08:00
Lemon-miaow 28fd20c791 feat(backup-now): 一次备份全部世界的命令,补扩盘/数据盘与计划内迁机指南 2026-09-27 12:08:03 +08:00
Lemon-miaow 403a751c96 docs(dr): 重建 runbook 补邮件自检、domain set、cloudflared 凭据恢复与邮件验收 2026-09-27 10:59:20 +08:00
Lemon-miaow 2d04e0e637 fix(rotate-token): 加确认步骤、velocity 热加载免踢人,补齐 registry/forwarding/db 轮换 2026-09-27 10:50:11 +08:00
Lemon-miaow d112a43c65 fix(watchdog): k3s 证书 30 天内到期告警、7 天内转严重,文档说明重启续期与 rotate 2026-09-27 10:09:20 +08:00
Lemon-miaow 9d0253a75b fix(bootstrap): release 附件下载重试三次并检测卡死,回退本机构建前检查磁盘,所有 curl 下载带重试 2026-09-27 09:58:25 +08:00
Lemon-miaow c1cdef0d6a fix(dbbackup): 缺 MinecraftServer 导出时重试、CLI 失败退出、面板与 watchdog 告警,异地快照要求完整 2026-09-27 09:38:08 +08:00
Lemon-miaow 983727d9c0 fix(offsite): 复制新归档后补打并上传 DB 包,桶内无记录的归档过最长保留期后清理 2026-09-27 09:16:00 +08:00
Lemon-miaow c146ce84e2 fix(setup): 安装摘要和 setup 结尾卡片显示告警发往哪里,没有邮件中继时大声提示 2026-09-27 08:53:27 +08:00
Lemon-miaow 82ffa55a8f fix(watchdog): 外部心跳、巡检失败兜底告警、状态文件损坏自动移开 2026-09-27 08:40:32 +08:00
Lemon-miaow 149ab0be66 fix(offsite): 桶内记录写入主机,演练机只读不写也不给生产 owner 发告警,take-over 显式接管 2026-09-27 07:55:40 +08:00
Lemon-miaow c9e5e2fe3e fix(offsite): 桶内记录密钥指纹,密钥不符时 sync 拒绝写入和清理,安装时大声提示 2026-09-27 07:21:25 +08:00
Lemon-miaow fa46733859 fix(offsite): fetch-db latest 跳过新装机器的空库包,取包后显示包内账号和服务器数 2026-09-27 06:52:09 +08:00
Lemon-miaow 6d5aca79fb fix(operator): 有玩家在线时停服先在游戏里预告 30 秒,期间改回运行会取消 2026-09-27 05:18:41 +08:00