This website requires JavaScript.
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