Commit Graph

  • f8f112b8ca feat(api): 访问日志与 HTTP/运行时指标、安全响应头与面板 CSP、跨站写拦截、请求体读截止、SSE 定期重鉴权与续传、404/405/413 信封、status 按所有权裁剪、停机并发排空 Lemon-miaow 2026-09-25 02:14:08 +08:00
  • cc85aac906 ci(e2e): 新增 Ubuntu 24.04 全新安装+重跑 e2e 与 release→当前 commit 升级 e2e Lemon-miaow 2026-09-25 01:51:53 +08:00
  • 3ed6603201 feat(store): api/reaper/offsite/migrate 按版本集合校验 schema,库比二进制新时拒绝启动;bootstrap 迁移前失败回滚宿主二进制 Lemon-miaow 2026-09-25 01:46:33 +08:00
  • b1678f78c8 feat(update): felis update 报告 JRE 与 PostgreSQL(含停更提示),bootstrap 支持 FELIS_UPGRADE_DEPS=1 升级 k3s/cloudflared Lemon-miaow 2026-09-25 01:35:52 +08:00
  • 6f7b8d7b30 feat(deploy): 新增 uninstall.sh(默认保留数据,--purge 全删)与 docs/operations.md 支持矩阵、容量与重装恢复手册 Lemon-miaow 2026-09-25 01:20:52 +08:00
  • 989be55b4a feat(bootstrap): Velocity 堆可由 FELIS_VELOCITY_XMX 配置,全新安装预建 k3s 存储根目录消除 reaper 警告 Lemon-miaow 2026-09-25 01:20:52 +08:00
  • a252f04b0f chore(deps): bump actions/setup-go from 5.6.0 to 7.0.0 dependabot/github_actions/actions/setup-go-7.0.0 dependabot[bot] 2026-09-24 16:45:30 +00:00
  • a18060e9c0 chore(deps): bump golang from 1.26 to 1.27 dependabot/docker/golang-1.27 dependabot[bot] 2026-09-24 16:44:10 +00:00
  • 3e61fde06d fix(bootstrap): 关闭 BuildKit 默认 attestation,无改动重跑不再重启 login/lobby;同版本重跑同时重启 registry gate Lemon-miaow 2026-09-25 00:43:02 +08:00
  • f0ac5b48ce fix(cfsetup): 隧道凭据文件校验 JSON 与 TunnelID,损坏或不匹配时移开并重新获取,失败页提示重试可收敛 Lemon-miaow 2026-09-25 00:37:07 +08:00
  • 1141ebcd49 ci: 加 -race、staticcheck、govulncheck、shellcheck 与真 PostgreSQL 集成测试门禁,release 复用 ci 门禁 Lemon-miaow 2026-09-25 00:35:09 +08:00
  • 82545548e7 feat(bootstrap): game stack 按 lock 文件固定构建并校验 sha256,基础镜像按 digest 固定,JRE 固定补丁版本 Lemon-miaow 2026-09-25 00:24:02 +08:00
  • aace66e8d3 fix(bootstrap): 重跑只重启有变化的 Velocity、系统服与 PostgreSQL,无 firewalld 时用 nftables 收口 5432,PG 大版本不符拒绝启动 Lemon-miaow 2026-09-25 00:06:47 +08:00
  • b1627e9ba0 style(pgint): gofmt Lemon-miaow 2026-09-24 23:52:30 +08:00
  • a4fa16ae69 feat(bootstrap): 控制面镜像按版本打 tag,升级后 rollout undo 可回到上一版本 Lemon-miaow 2026-09-24 23:52:30 +08:00
  • 80fbc779d9 feat(operator): 平台升级不再重启运行中的游戏服,registry 清理保留游戏 pod 在用的镜像 Lemon-miaow 2026-09-24 23:52:30 +08:00
  • 07eb682358 docs(upgrade): 列出安装器对下载物的校验与离线导入 registry 镜像的做法 Lemon-miaow 2026-09-24 23:39:39 +08:00
  • 3ad817eeff fix(update): 重跑命令从最新 release tag 读取安装脚本 Lemon-miaow 2026-09-24 23:39:39 +08:00
  • 26dc1722f4 feat(bootstrap): 先校验 SHA256SUMS 再运行下载的 felis,固定 k3s、cloudflared 与 registry 镜像版本 Lemon-miaow 2026-09-24 23:39:38 +08:00
  • c4a4f1f25c ci(release): 发布 SHA256SUMS、SBOM 与构建来源证明,action 固定到 commit,不再覆盖已发布资产 Lemon-miaow 2026-09-24 23:39:38 +08:00
  • 8296153a38 docs(build): 说明构建工具镜像、定时刷新与离线环境做法 Lemon-miaow 2026-09-24 23:25:21 +08:00
  • bf18712a6c feat(build): kaniko/trivy 与扫描库改用 registry 内的 mirror 副本,定时刷新并在过期时告警 Lemon-miaow 2026-09-24 23:25:21 +08:00
  • c0643af118 feat(imagepush): 从公共 registry 拷贝单平台镜像与 OCI 制品 Lemon-miaow 2026-09-24 23:25:04 +08:00
  • 80c4ea8966 docs(registry): 说明 manifest 清理、GC 窗口、PVC 容量与上传上限 Lemon-miaow 2026-09-24 23:10:40 +08:00
  • e75448a118 feat(platform): registry/uploads/backup PVC 容量可配置 Lemon-miaow 2026-09-24 23:10:40 +08:00
  • 720ab81bf8 feat(submit): 上传存储全局上限、磁盘余量检查,被拒上下文 7 天后回收 Lemon-miaow 2026-09-24 23:10:40 +08:00
  • 9baa0a10af fix(registrygate): 启动后先等写入静默再开放 GC 窗口 Lemon-miaow 2026-09-24 23:10:28 +08:00
  • 151c9d2e30 feat(registry): api 定期删除无引用 manifest,gate 提供 manifest 索引 Lemon-miaow 2026-09-24 22:58:07 +08:00
  • 05e8c64e47 fix(imagepin): 带 digest 的镜像引用也向 registry 确认仍存在 Lemon-miaow 2026-09-24 22:58:07 +08:00
  • 7f772bccbb feat(registry): 开启 manifest 删除,GC sidecar 在 gate 只读窗口内回收 blob Lemon-miaow 2026-09-24 22:46:37 +08:00
  • c49336ba21 fix(bootstrap): 元数据下载在 TLS 握手中断时整体重试 Lemon-miaow 2026-09-24 22:26:30 +08:00
  • 5cadbd40a9 fix(submit): 待审上限在事务内加咨询锁原子检查,跨副本不超额 Lemon-miaow 2026-09-24 22:26:30 +08:00
  • a27d76ae1d docs(build): 修正上下文存储与构建镜像拉取的过时描述 Lemon-miaow 2026-09-24 22:26:29 +08:00
  • e836a73a8a fix(build): 构建并发上限与排队,构建命名空间加 ResourceQuota,SyncAll 逐个容错 Lemon-miaow 2026-09-24 22:26:21 +08:00
  • e521cf5976 fix(submit): 审阅绑定上下文 sha256,批准须带摘要,构建只从内部 API 取上下文并校验字节 Lemon-miaow 2026-09-24 22:24:50 +08:00
  • 13b65e19ec fix(build): 构建 pod 等出口策略生效再运行,加 seccomp、可选 user namespace 与磁盘上限,上下文解包限总字节与条目数 Lemon-miaow 2026-09-24 20:42:14 +08:00
  • 9bda3a52fa fix(backup): 手动备份按服冷却、每服保留上限与独立保留期,容量驱逐不再删除回收世界的唯一副本 Lemon-miaow 2026-09-24 19:58:59 +08:00
  • f69cdec9d4 fix(reaper): 有服务器处理失败或过期备份删不掉时以非零码退出,让 Job 失败告警触达运维 Lemon-miaow 2026-09-24 19:34:09 +08:00
  • 22becd6859 fix(reaper): 认领时重置活跃时钟与预警,回收只复用本次认领后的 reaper 归档 Lemon-miaow 2026-09-24 19:31:23 +08:00
  • 47890ca913 feat(offsite): 世界归档与数据库备份加密同步到异地 S3,reaper 确认异地副本后才删除世界 Lemon-miaow 2026-09-24 19:25:16 +08:00
  • fa8db4c7e8 docs(audit): 告警条目补记 watchdog 邮件告警与真机演练 Lemon-miaow 2026-09-24 18:36:07 +08:00
  • d17524cd67 feat(watchdog): 主机侧巡检定时器按异常邮件通知平台所有者,operator 增加 phase 与 build_info 指标、卡死存活探针与告警规则 Lemon-miaow 2026-09-24 18:06:19 +08:00
  • d50492b86f chore(panel): mock 服务器带固定镜像与内存存储以演示编辑对话框 Lemon-miaow 2026-09-24 17:08:53 +08:00
  • 0c29ab3a96 fix(api): 未改动任何字段的 PATCH 返回空 patched 数组而非 null Lemon-miaow 2026-09-24 17:04:02 +08:00
  • 215bfd78d7 fix(images): 服务器镜像在创建时固定到仓库 digest,更换镜像需确认备份,安装器重建前先固定旧服并推送不可变版本标签 Lemon-miaow 2026-09-24 16:57:38 +08:00
  • 857b6da886 fix(operator): 删除依赖 rcon-cli 的 preStop 死代码,缩容前由 operator 经 RCON 执行 save-all flush Lemon-miaow 2026-09-24 16:39:22 +08:00
  • 5521e498a9 fix(platform): minecraft 命名空间强制 PodSecurity baseline,reaper 世界根目录改走静态 hostPath PV Lemon-miaow 2026-09-24 16:28:08 +08:00
  • 346a93921e fix(operator): 游戏 Pod 改以 UID 1000 运行并丢弃全部能力,prepare-data 初始化容器修正旧存档属主 Lemon-miaow 2026-09-24 16:23:49 +08:00
  • c1796bea17 feat(servers): 新建服务器默认空闲 10 分钟自动停服,面板可调,converge 回填旧服,系统服不休眠 Lemon-miaow 2026-09-24 16:12:53 +08:00
  • bd909d5858 fix(operator): 读不出玩家数时暂停空闲自动停服,支持 1.12/Bukkit/EssentialsX 与颜色码 Lemon-miaow 2026-09-24 16:06:55 +08:00
  • 857c73a66a fix(audit): 审计按账号 id 归属并记录来源 IP/UA,登录失败与限速入审计和指标,写入失败计数告警 Lemon-miaow 2026-09-24 16:02:44 +08:00
  • c4e4953f3d fix(auth): 公开登录门按来源限速并设全站发信上限,冷却表定期清理 Lemon-miaow 2026-09-24 15:51:42 +08:00
  • 15f729ffea fix(auth): 邮箱验证码按账号累计错误次数封顶并通知 Lemon-miaow 2026-09-24 15:37:01 +08:00
  • 18e2397272 fix(panel): 加错误边界与新版本 chunk 自动刷新,无 WebGL 时仪表盘降级为平面视图 Lemon-miaow 2026-09-24 15:27:29 +08:00
  • 248fa5d100 fix(panel): 服主在控制台看得到 LuckPerms 入口,归属判定统一走 /me/servers Lemon-miaow 2026-09-24 15:23:20 +08:00
  • c7db7d4126 feat(db): 控制面 PG 定时备份、迁移前快照与原子恢复 Lemon-miaow 2026-09-24 15:19:42 +08:00
  • abfe60d62d fix(api): wake 与回档/备份/改文件按服务器互斥 Lemon-miaow 2026-09-24 14:39:02 +08:00
  • 7819e5de50 feat(netpol): 锁定游戏服出站并为 registry 加入站围栏 Lemon-miaow 2026-09-24 14:25:17 +08:00
  • 3424852a39 feat(registry): 写入改走鉴权网关,构建先扫描再推送 Lemon-miaow 2026-09-24 14:25:17 +08:00
  • 8f684cedc0 feat(paper): 大厅菜单从代理动态拉取服务器列表并分页 Lemon-miaow 2026-09-24 13:39:38 +08:00
  • 955433ba81 fix(limbo): 经 felis:control 放行玩家并在 felis-api 故障时退避重试 Lemon-miaow 2026-09-24 13:39:38 +08:00
  • 4648175773 fix(velocity): felis:control 按来源服务器限权并关闭 bungeecord 通道 Lemon-miaow 2026-09-24 13:39:38 +08:00
  • 3247b9e61a docs(audit): batch-47 — v0.1.0 stable release fired end-to-end (release download → no-checkout full bootstrap → felis update) Lemon-miaow 2026-09-24 11:36:22 +08:00
  • b9c97ffac9 docs(audit): batch-46 — upload-lane quotas/lifecycle, tracker #8/#1, release-pipeline smoke v0.1.0 Lemon-miaow 2026-09-24 11:11:07 +08:00
  • b9ebc872ad docs(troubleshooting): the [INERT] legend points at a field that no longer exists v0.1.0-rc1 Lemon-miaow 2026-09-24 10:35:35 +08:00
  • c57daaf861 feat(cli): add felis converge for fields a newer desired spec never delivered (tracker #1) Lemon-miaow 2026-09-24 10:35:14 +08:00
  • 43699b46db fix(panel): route a setup-locked session to the wizard, not a permission error (tracker #8) Lemon-miaow 2026-09-24 10:32:38 +08:00
  • 854320ac3f feat(submit): give the upload lane a lifecycle — withdraw + admin delete (#76) Lemon-miaow 2026-09-24 10:24:23 +08:00
  • ad4d256d8f fix(submit): bound the untrusted upload lane — per-user caps + throttles (#75) Lemon-miaow 2026-09-24 10:14:42 +08:00
  • 3ed8bd7be9 docs(audit): batch-45 — modpack base-image chain (#70/#71/#72), submission-to-server capstone, tooling fixes (#69/#73/#74) Lemon-miaow 2026-09-24 03:19:21 +08:00
  • 96aa8176cd test(api): make the console-disconnect teardown case wait for the write, not just the read (#74) Lemon-miaow 2026-09-24 03:16:40 +08:00
  • 5cbfa893a5 docs: correct the modpack feature claim — approval auto-builds; deployment is an explicit server-image choice (#69) Lemon-miaow 2026-09-24 03:11:33 +08:00
  • 2961beb8fe test(bootstrap): keep the worlds-root warning case hermetic on hosts that already run k3s (#73) Lemon-miaow 2026-09-24 03:11:10 +08:00
  • b14bacbfc6 fix(build): mirror the Trivy Java DB — jar-bearing builds failed closed at the scan gate (#72) Lemon-miaow 2026-09-24 03:11:01 +08:00
  • 6e47730501 fix(build): allow kaniko to unpack base-image layers — drop-ALL removed the caps the tar apply needs (#71) Lemon-miaow 2026-09-24 03:05:07 +08:00
  • ac403b9cd3 fix(build): let kaniko pull base images from the plain-HTTP registry — push-only insecure flags broke every FROM registry.felis.svc build (#70) Lemon-miaow 2026-09-24 02:56:56 +08:00
  • 7791ed74f2 docs(audit): batch-44 — modpack-scale (200 MiB) context drill + concurrent builds, zero defects Lemon-miaow 2026-09-24 02:50:31 +08:00
  • 6abce99b49 docs(audit): batch-43 addendum — #68 context-fetch retry, live-verified; long-poll closure Lemon-miaow 2026-09-24 02:44:46 +08:00
  • b76d0acec7 fix(build): retry the context fetch through a control-plane restart (#68) Lemon-miaow 2026-09-24 02:27:45 +08:00
  • 580032056e docs(audit): forty-third batch — build-job reaping (#67) + lifecycle/fault-injection soak Lemon-miaow 2026-09-24 02:23:18 +08:00
  • 2755e41ff3 fix(build): reap finished build Jobs — they accumulated forever Lemon-miaow 2026-09-24 02:03:20 +08:00
  • d5e623c7ba docs(audit): batch-42 addendum — static review of the never-run release pipeline Lemon-miaow 2026-09-24 01:33:56 +08:00
  • aa82321907 docs(audit): forty-second batch — coverage sweep, README_EN (#66), §28 diagram alignment Lemon-miaow 2026-09-24 01:27:42 +08:00
  • 62e8c87d0e docs(diagrams): align §28 claim/link sequences with the audited implementations Lemon-miaow 2026-09-24 01:26:32 +08:00
  • 62c5a8a408 docs(readme): port the private-repo install path and upgrade notes to the English README (#66) Lemon-miaow 2026-09-24 01:24:27 +08:00
  • 5f9380dfca docs(audit): forty-first batch — loader mod layer closed Lemon-miaow 2026-09-24 01:14:49 +08:00
  • aa5abfa911 ci(plugins): gate the three loader mods (JDK 17 wrapper builds) in CI and release Lemon-miaow 2026-09-24 00:59:24 +08:00
  • c2fe6a6bf4 fix(plugins): loader mod metadata — AGPL-3.0-only license, real issue tracker Lemon-miaow 2026-09-24 00:59:19 +08:00
  • f6048f268b fix(plugins): commit the gradlew exec bit for the loader mods Lemon-miaow 2026-09-24 00:47:32 +08:00
  • 2d04c448c2 docs(audit): fortieth batch — java plugin layer into CI, demo-up single origin, #62 screened out Lemon-miaow 2026-09-24 00:25:43 +08:00
  • c59b38775b ci(plugins): run the plugin self-tests and build the shipped plugin jars Lemon-miaow 2026-09-24 00:19:56 +08:00
  • f5a76cf88a fix(deploy): make demo-up a thin wrapper — bootstrap is the one origin for the game stack (#63) Lemon-miaow 2026-09-24 00:19:49 +08:00
  • 1184d6b787 docs(audit): thirty-ninth batch — reaper multi-node drill on a cloned second node Lemon-miaow 2026-09-23 23:58:58 +08:00
  • 811f2b8898 docs(audit): thirty-eighth batch — #56–#59 evidence archived, server detail and ops sweep clean Lemon-miaow 2026-09-23 23:50:47 +08:00
  • 4c842f5d70 docs(audit): thirty-seventh batch — admin interaction sweep clean, #61 LuckPerms write promise scoped Lemon-miaow 2026-09-23 23:29:13 +08:00
  • b4ef42d947 fix(panel): scope the LuckPerms write promise to names the server can resolve (#61) Lemon-miaow 2026-09-23 23:28:28 +08:00
  • ecd42ed484 docs(audit): thirty-sixth batch — panel error localization (#60), Run4c admin write-path review clean Lemon-miaow 2026-09-23 23:12:14 +08:00
  • c9af5481e7 fix(panel): localize every user-reachable API error code (#60) Lemon-miaow 2026-09-23 23:09:28 +08:00
  • a2ff2a1102 fix(panel): make the LuckPerms page honest about what the server said (#59) Lemon-miaow 2026-09-23 22:43:29 +08:00
  • 4d4cdd6ea7 fix(api,panel): refuse file operations on a server without a world volume (#58) Lemon-miaow 2026-09-23 22:17:08 +08:00