This website requires JavaScript.
70c988e702
fix(panel): render the console command's reply (#57 )
Lemon-miaow
2026-09-23 22:08:19 +08:00
0790f8dfd3
fix(panel): surface the RCON reply for player-access mutations (#56 )
Lemon-miaow
2026-09-23 22:08:19 +08:00
9c3a1c5be1
docs(audit): thirty-fifth batch — NetworkPolicy live enforcement matrix green (whitelist closed loop), velocity refresh loop verified
Lemon-miaow
2026-09-23 21:43:23 +08:00
cbb0f11288
docs(audit): thirty-fourth batch — felis nano sweep (red 13 -> green 60/60), #55 bad-source ladder stall
Lemon-miaow
2026-09-23 21:30:53 +08:00
9dad61f508
fix(nano): screen unusable profiles per source instead of stopping the ladder (#55 )
Lemon-miaow
2026-09-23 21:21:21 +08:00
971ae01caf
docs(audit): thirty-third batch — /updates window API+UI sweep green, #53 repo move, #54 update guidance red/green
Lemon-miaow
2026-09-23 21:04:02 +08:00
397a400d57
fix(update): point the apply guidance at the installer, not felis setup (#54 )
Lemon-miaow
2026-09-23 21:01:32 +08:00
2c6739ad76
fix(updater,install,docs): follow the move to FelisMC/Felis (#53 )
Lemon-miaow
2026-09-23 20:58:34 +08:00
cec9a98305
docs(audit): thirty-second batch — S3 storage wizard sweep, #52 mirror lag red/green, cleanup
Lemon-miaow
2026-09-23 20:39:09 +08:00
de7fb2c936
fix(setup): converge the workload felis-config mirror on every apply path (#52 )
Lemon-miaow
2026-09-23 20:31:48 +08:00
01988305a8
docs(audit): thirty-first batch — first-install walkthrough, #51 replica refresh red/green
Lemon-miaow
2026-09-23 20:15:46 +08:00
328e570309
fix(setup,install): refresh the workload namespace's felis-config mirror (#51 )
Lemon-miaow
2026-09-23 20:07:20 +08:00
cf5a790ea8
docs(audit): thirtieth batch — #50 smtp carry hoard, healed by two live re-runs
Lemon-miaow
2026-09-23 19:57:00 +08:00
4d3c85fd06
fix(bootstrap): [smtp] carry stops hoarding the auth_source comment block (#50 )
Lemon-miaow
2026-09-23 19:45:26 +08:00
28fe7c43a9
docs(audit): twenty-ninth batch — image durability live drills; #46–#49
Lemon-miaow
2026-09-23 19:35:13 +08:00
72553cb414
docs(troubleshooting): the installer leaves docker stopped — start it before manual pushes
Lemon-miaow
2026-09-23 19:35:13 +08:00
20a95da487
docs(update): the plugins note is a rebuild + registry re-mirror now, not a node re-import
Lemon-miaow
2026-09-23 19:33:04 +08:00
c7e585e21d
fix(bootstrap): mirror the image batch under ONE docker start/stop
Lemon-miaow
2026-09-23 19:23:44 +08:00
5fa8b7412e
fix(build): keep macOS ._*/.DS_Store junk out of the image
Lemon-miaow
2026-09-23 19:19:04 +08:00
b8e554dac7
fix(bootstrap): carry the operator's [archive] keys across re-runs too
Lemon-miaow
2026-09-23 19:09:57 +08:00
765a8923a4
fix(bootstrap): re-runs keep the operator's [registry] overrides
Lemon-miaow
2026-09-23 19:05:54 +08:00
fa0e8d7d97
docs(troubleshooting): 8e/9/13b/15 — registry-hosted images and the loopback pull path
Lemon-miaow
2026-09-23 19:03:11 +08:00
13d64e0000
feat(bootstrap): host every built image in the internal registry — GC-durable pulls
Lemon-miaow
2026-09-23 19:02:58 +08:00
a9b275abbb
fix(platform): registry OOM (audit #46 ) + loopback hostPort — the node-side pull path
Lemon-miaow
2026-09-23 18:55:23 +08:00
92c06ac8dc
docs(audit): twenty-eighth batch — #45 blind-review fix live-verified (context download, byte-exact); reachability 1-45
Lemon-miaow
2026-09-23 17:01:19 +08:00
168a37542b
feat(api,panel): reviewer context download for submissions; dockerfile field documented as audit-only (audit #45 )
Lemon-miaow
2026-09-23 16:41:55 +08:00
edd9d63f5e
docs(audit): twenty-seventh batch — alert module live drill (real build failure -> pending -> firing), cleanup, #44 reachability
Lemon-miaow
2026-09-23 16:35:23 +08:00
43df08b52a
feat(alerts): ship Felis alert rules with promtool unit tests; document scraping & rules (troubleshooting §14)
Lemon-miaow
2026-09-23 16:17:51 +08:00
94f71eea19
feat(api): serve felis_* metrics on the internal face (build-failure counter's only scrape path)
Lemon-miaow
2026-09-23 16:17:50 +08:00
17ede3c6aa
docs(audit): twenty-sixth batch ledger — setup wizard re-run screens, #44 , build-pin drift incident & re-verify
Lemon-miaow
2026-09-23 16:04:20 +08:00
ae6e9256c6
docs(troubleshooting): 8e — apply build-image overrides through the config Secret (restart alone does not)
Lemon-miaow
2026-09-23 15:56:44 +08:00
abb5910d2f
fix(cli): setup re-run keeps its already-set-up framing after connect/storage reconfigure
Lemon-miaow
2026-09-23 15:56:44 +08:00
5450ec786f
docs(audit): reachability grading for findings #1-#43 (who actually hits each one)
Lemon-miaow
2026-09-23 15:45:19 +08:00
24a6ab3d1e
docs(audit): twenty-fifth batch ledger — breakGlass console screens & backup/restore gates (#39–#43, live-verified)
Lemon-miaow
2026-09-23 07:50:27 +08:00
ac3a557566
fix(cli): Sync picker hides system servers; keep the two 409 refusals apart
Lemon-miaow
2026-09-23 07:49:07 +08:00
508a1c02da
fix(api): refuse backup/restore before a missing world volume
Lemon-miaow
2026-09-23 07:49:00 +08:00
55d515d41f
fix(provisioning): keep the Owner seat single; clash on the operator name stays retryable
Lemon-miaow
2026-09-23 07:48:54 +08:00
f6dbfd3625
docs(audit): twenty-fourth batch ledger — live S3 upload-channel drill (0 defects, reverted clean)
Lemon-miaow
2026-09-23 07:05:42 +08:00
f378953982
docs(audit): twenty-third batch ledger — reaper node pin (#38 + multi-node gap)
Lemon-miaow
2026-09-23 07:00:33 +08:00
daf760220b
fix(cli): pin the reaper to its storage node; drop the stale uid-1000 note
Lemon-miaow
2026-09-23 06:58:29 +08:00
a31eca65c3
docs(audit): twentieth–twenty-second batch ledger — build outcome visibility, files page, fleet system services
Lemon-miaow
2026-09-23 06:53:40 +08:00
2f90851c03
fix(panel): mark platform system services read-only in the fleet table
Lemon-miaow
2026-09-23 06:51:45 +08:00
0a36b3fda9
feat(panel): add the server files page for the world-volume repair lever
Lemon-miaow
2026-09-23 06:42:45 +08:00
72c4aa3895
fix(submissions): surface each linked build's outcome to the submitter
Lemon-miaow
2026-09-23 06:31:13 +08:00
4933c075b0
docs(audit): nineteenth-batch ledger — passkey unbind panel entry
Lemon-miaow
2026-09-23 06:25:01 +08:00
11ac4f50e6
feat(panel): expose owner passkey unbind in the user danger zone
Lemon-miaow
2026-09-23 06:24:45 +08:00
35d93d7612
docs(audit): eighteenth-batch ledger — #35 world-executor identity defect and the backups-page completion
Lemon-miaow
2026-09-23 06:20:44 +08:00
97a64c8a33
feat(panel): add back up now and recent operations to the backups page
Lemon-miaow
2026-09-23 06:20:16 +08:00
2010961d32
fix(workloads): world executors run as root so game-image worlds are readable
Lemon-miaow
2026-09-23 06:20:07 +08:00
f21aef3cfa
docs(audit): seventeenth-batch ledger — hasJoined multiplexer drill (fake Yggdrasil)
Lemon-miaow
2026-09-23 05:58:26 +08:00
4298cd5de1
docs(audit): sixteenth-batch ledger — internal-face residual endpoints swept clean
Lemon-miaow
2026-09-23 05:54:32 +08:00
2bd25be712
docs(audit): fifteenth-batch ledger — #34 live closure and executor image refresh
Lemon-miaow
2026-09-23 05:52:12 +08:00
bb9798e32c
fix(api): in-game identity resolution and link takeover ignore dead accounts
Lemon-miaow
2026-09-23 05:40:29 +08:00
3ffa3f5318
docs(audit): fourteenth-batch ledger — dead-account resurrection (#33 ) and its live closure
Lemon-miaow
2026-09-23 05:33:54 +08:00
58535890c4
fix(api): dead accounts cannot log in, hold sessions, or keep identity assets
Lemon-miaow
2026-09-23 05:28:32 +08:00
ba9d98f7ce
docs(audit): thirteenth-batch ledger — CLI, direct build, panel CDP sweep, #31/#32
Lemon-miaow
2026-09-23 05:15:51 +08:00
6907961ce0
fix(panel): the build page trusts the server-side owner tier and drops its mock build seeds
Lemon-miaow
2026-09-23 05:11:49 +08:00
d0b1f9694e
docs(audit): twelfth-batch ledger — users admin matrix, defect #30 fix on live
Lemon-miaow
2026-09-23 04:57:36 +08:00
1918da29be
fix(api): the quota/link admin sub-resources require a live user (404, not FK 500)
Lemon-miaow
2026-09-23 04:56:06 +08:00
fbb6b0c180
docs(audit): eleventh-batch ledger — submission negative matrix, internal context fetch, op-login remint
Lemon-miaow
2026-09-23 04:50:11 +08:00
ffe5dc14a8
docs(seams): close the deferred entries that are now live-verified
Lemon-miaow
2026-09-23 04:46:02 +08:00
d4bb8d344b
docs(audit): tenth-batch ledger — configure-email mirror fix (#29 ) and auditfix25 deployment
Lemon-miaow
2026-09-23 04:44:12 +08:00
ed722d55f8
fix(setup): the workload-ns SMTP mirror must carry the target namespace
Lemon-miaow
2026-09-23 04:42:59 +08:00
311b1a7ec4
docs(audit): ninth-batch ledger — cfsetup #28 and the unused-endpoint sweep
Lemon-miaow
2026-09-23 04:41:01 +08:00
36b954d347
docs(backupjob): the backup Job name is not deterministic anymore
Lemon-miaow
2026-09-23 04:41:01 +08:00
30857df5b2
fix(cfsetup): upsert the Access policy — never swallow already-exists over a broader rule set
Lemon-miaow
2026-09-23 04:30:53 +08:00
faa508e87a
docs(audit): operator self-healing postmortem — ledger #26/#27 with live drills
Lemon-miaow
2026-09-23 04:29:02 +08:00
82b5a606f7
fix(operator): end the start attempt on success — stale anchor caused false StartupTimeout
Lemon-miaow
2026-09-23 04:23:59 +08:00
56f3abdb36
fix(operator): heal a deleted RCON Secret instead of locking the server out
Lemon-miaow
2026-09-23 04:20:49 +08:00
089d4f3a80
docs(audit): idle auto-stop postmortem — ledger #25 and self-checks in §11
Lemon-miaow
2026-09-23 04:14:11 +08:00
f650bf892a
fix(operator): idle auto-stop couldn't write — patch the spec, and grant the patch
Lemon-miaow
2026-09-23 04:08:58 +08:00
1c89a5eeeb
fix(operator): wake up for idle auto-stop — the timer had no driver
Lemon-miaow
2026-09-23 04:05:31 +08:00
c04a3f083e
fix(crd): persist status.emptySince — the field was pruned away by the schema
Lemon-miaow
2026-09-23 04:05:22 +08:00
72f0b4a258
docs(audit): sixth-batch ledger — reaper warning path drilled end-to-end on the live cluster
Lemon-miaow
2026-09-23 03:56:07 +08:00
8e7c7bbf24
fix(reaper): deliver pre-reap warnings for real — and never fake a delivery
Lemon-miaow
2026-09-23 03:47:19 +08:00
1d0ec61c9d
docs(audit): fifth-batch ledger — quota atomic gate closed (audit #4 )
Lemon-miaow
2026-09-23 03:39:25 +08:00
bb68fefe04
fix(quota): make the claim gate atomic, and stop zeroing the storage cache
Lemon-miaow
2026-09-23 03:37:59 +08:00
d829267f1c
docs(audit): fourth-batch ledger — PG contract tests land, verified-email and owner-role defects reconciled
Lemon-miaow
2026-09-23 03:32:48 +08:00
e0d23780d8
fix(auth): make the owner role real — provisioning, staff doors, panel guards
Lemon-miaow
2026-09-23 03:30:29 +08:00
d1ec40f738
fix(users): an admin email edit must clear the stale verification
Lemon-miaow
2026-09-23 03:19:55 +08:00
b6ef27cd2d
fix(auth): enforce the verified-email uniqueness that email login assumes
Lemon-miaow
2026-09-23 03:19:35 +08:00
2a55a0d265
test(pgint): verify the business stores against a real Postgres
Lemon-miaow
2026-09-23 03:18:56 +08:00
d2c656533e
docs(audit): third-batch ledger — probes verified, build lane proven end to end, #7/#11-#15 reconciled
Lemon-miaow
2026-09-22 23:05:13 +08:00
02fd2de502
fix(build): three drill-driven fixes so the lane actually completes on a starter node
Lemon-miaow
2026-09-22 23:01:25 +08:00
f79e5ebb5e
feat(build): make the user-modpack build lane read its context (closes the last functional gap)
Lemon-miaow
2026-09-22 22:45:09 +08:00
0c8e29b05a
fix(platform): give every control-plane Deployment real probes (#8 follow-up)
Lemon-miaow
2026-09-22 22:22:37 +08:00
edefc34a5b
docs(audit): night-2 ledger — default-install backup/reaper verified live, eviction shield re-drilled, OOM + k3s SIGKILL chaos, and the prioritized remaining-work list
Lemon-miaow
2026-09-22 22:15:38 +08:00
87a9f4eb25
feat(build)/docs: make executor images configurable; document the build lane's real seams (#9 , #10 )
Lemon-miaow
2026-09-22 22:03:48 +08:00
0a2d654e68
fix(platform): control plane runs system-cluster-critical, so eviction refuses it (#8 )
Lemon-miaow
2026-09-22 21:55:54 +08:00
fe310743a2
fix(platform): give the control plane a PriorityClass eviction shield (#8 )
Lemon-miaow
2026-09-22 21:08:56 +08:00
2b87a5a13b
fix(install): grant the reaper traverse on the worlds root (#6 )
Lemon-miaow
2026-09-22 21:03:17 +08:00
fd33fd05e1
fix(install): backups exist on a default install; retention resolves real world dirs (#6 )
Lemon-miaow
2026-09-22 20:48:07 +08:00
ff7c57cf9c
feat(api): expose async backup/restore job status (fixes #7 )
Lemon-miaow
2026-09-22 20:36:36 +08:00
a2df2f242b
fix(operator): re-probe RCON every 2s while Starting
Lemon-miaow
2026-09-22 20:31:53 +08:00
2a8f897e61
fix(api): a session-store outage answers 503, not 401
Lemon-miaow
2026-09-22 20:30:43 +08:00
abce381faa
fix(tui): wrap the one-time setup URL so narrow terminals can't truncate it
Lemon-miaow
2026-09-22 20:28:01 +08:00
a415246adc
fix(operator): give controller-runtime a logger instead of a goroutine stack
Lemon-miaow
2026-09-22 20:25:39 +08:00
1efa8a4b08
docs(audit): batch 2026-09-22 evening — auth E2E, concurrency, reaper drill, fixes #16-#19
audit-fixes-20260922
Lemon-miaow
2026-09-22 20:19:35 +08:00
c839454a1f
fix(manifests): reaper ServiceAccount lives in (and binds from) the Minecraft namespace
Lemon-miaow
2026-09-22 20:18:36 +08:00
e4f2cff532
fix(manifests): render the retention reaper CronJob into the Minecraft namespace
Lemon-miaow
2026-09-22 20:14:19 +08:00