140 Commits
Author SHA1 Message Date
Lemon-miaow 285c56955d fix: keep the Passkey hostname in local sign-in guidance 2026-10-07 13:53:21 +08:00
Lemon-miaow 3327c13429 fix: register canonical SELinux socket path and pass staticcheck 2026-10-07 03:07:35 +08:00
Lemon-miaow 296c7bb274 feat: manage distributed node operations from Owner panel 2026-10-07 00:46:17 +08:00
Lemon-miaow 862ff3929f fix(ci): preserve installer compatibility with older releases 2026-10-05 00:23:35 +08:00
Lemon-miaow 4d8e9af240 feat(cli): apply coordinated updates during maintenance 2026-10-04 17:36:21 +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 9139c5bd35 fix(bootstrap): 重跑时修复中断的安装 2026-10-02 18:49:29 +08:00
Lemon-miaow 80141deeb5 fix(bootstrap): 重跑时接管残留的源码目录 2026-10-02 18:12:20 +08:00
Lemon-miaow d2a6b6ec73 feat(bootstrap): 安装结束后引导进入设置向导 2026-10-02 17:07:52 +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 db7fbfec46 fix(preflight): 探测 k3s 安装器在 SELinux 主机上要用的 rpm.rancher.io,运维手册列出 FELIS_ARTIFACT_DIR 安装仍要放行的地址,README 不再说内网主机能装 2026-09-27 17:34:48 +08:00
Lemon-miaow cc0672557c fix(bootstrap): 下载发布版二进制改为普通语句调用,回退看 HAVE_PREBUILT_BINARY,errexit 覆盖替换 HOST_BIN 的步骤;旧二进制备份没拷完就删掉 2026-09-27 17:24:33 +08:00
Lemon-miaow 7718879bcd fix(bootstrap): 新生成的 offsite 密钥只写到终端,安装输出和日志里只给出读取命令 2026-09-27 17:14:03 +08:00
Lemon-miaow 95f4e79ff2 fix(bootstrap): 没有 IPv4 默认路由时从 hostname -I 取第一个 IPv4 地址,跳过 IPv6 2026-09-27 16:42:58 +08:00
Lemon-miaow 2d04e0e637 fix(rotate-token): 加确认步骤、velocity 热加载免踢人,补齐 registry/forwarding/db 轮换 2026-09-27 10:50:11 +08:00
Lemon-miaow 9d0253a75b fix(bootstrap): release 附件下载重试三次并检测卡死,回退本机构建前检查磁盘,所有 curl 下载带重试 2026-09-27 09:58:25 +08:00
Lemon-miaow 339224bdc2 fix(bootstrap): secrets.env、offsite.env、felis.toml 改为临时文件+fsync+rename 原子写入 2026-09-27 09:47:26 +08:00
Lemon-miaow c1cdef0d6a fix(dbbackup): 缺 MinecraftServer 导出时重试、CLI 失败退出、面板与 watchdog 告警,异地快照要求完整 2026-09-27 09:38:08 +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 7e6272997d fix(bootstrap): 开着 ufw 的主机按 k3s 要求放行 pod 与 service 网段、面板和游戏端口,卸载时按 felis- 注释收回 2026-09-27 01:30:01 +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 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 6f9f0c56ba fix(bootstrap): preflight 探测下载源重试三次并以 TLS 握手为准,一次网络抖动不再拒绝安装 2026-09-26 20:04:05 +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 54942f30f3 feat(bootstrap): 从发布产物安装二进制、镜像与插件,Docker 按需安装 2026-09-26 15:23:53 +08:00
Lemon-miaow 36b8a8b444 fix(updater): PostgreSQL 大版本提示改为导出再恢复并更正地址相关注释 2026-09-26 13:34:41 +08:00
Lemon-miaow 40d6e4d0ca feat(bootstrap): 在 k3s 内部署 felis-postgres 并从宿主 PostgreSQL 迁移 2026-09-26 13:17:05 +08:00
Lemon-miaow 1f2a6130ac feat(bootstrap): 装机前一次性预检平台/内存/磁盘/端口/网段/外网,问题全列出后再停 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 5099b2501f feat(velocity): legacy forwarding 列表跟随 CR 的 forwarding=legacy 标签实时更新 (#15) 2026-09-26 08:09:49 +08:00
Lemon-miaow 6a4c30b3f1 fix(bootstrap): kubeconfig 仅 root 可读、固定 k3s 节点名、开启 NTP 与持久日志,DHCP 地址告警并交给 watchdog 监测 2026-09-26 01:25:48 +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 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