Skip to content

Releases: LiuTianjie/luma

v0.1.360: restore comfortable sidebar spacing

Choose a tag to compare

@LiuTianjie LiuTianjie released this 12 Sep 14:24

Restore comfortable Dashboard sidebar spacing while retaining shadcn components. Main navigation rows are 40px, submenu rows are 36px, and group/header/footer padding is restored. Collapsed icon navigation remains compact.

Remove internal audit, investigation, and handoff reports from the current source tree and published documentation. Future records remain in a Git-ignored local directory.

Includes the Dashboard component standardization introduced in v0.1.359. Upgrade Control to use the updated Dashboard.

v0.1.358: simplify Registry image cleanup

Choose a tag to compare

@LiuTianjie LiuTianjie released this 12 Sep 13:02

Manual image cleanup now returns to the image list as soon as deletion, space reclamation, and Registry recovery finish. It no longer redirects to the legacy cleanup queue or waits for a second full inventory scan.

  • Replace the queue and manual GC controls with one delete action and a compact confirmation page using existing Dashboard components.
  • Verify that each deleted manifest digest is absent, preserve shared layers, and report measured reclaimed space rather than logical image size.
  • Update the saved inventory from verified deletion results and reject stale scan or HTTP responses that could restore deleted rows.
  • Aggregate repetitive Registry marking logs so progress delivery does not continue flooding Control after cleanup.

Validation: 1,430 Python tests, 104 Dashboard tests, TypeScript, and production build passed. Browser checks covered desktop and narrow layouts, light and dark themes, keyboard scrolling, duplicate submission prevention, and delayed inventory responses.

Upgrade Control to use the new Dashboard and inventory behavior. Upgrade the Registry host node agent to receive the GC progress improvement.

v0.1.357

Choose a tag to compare

@LiuTianjie LiuTianjie released this 12 Sep 12:16

本版修复 Dashboard 切换页面、等待内容过久的三处代码问题。

  • 路由变化时立即下载当前页面代码,与 Dashboard 数据请求并行,补齐节点、LAE、可观测、存储及 Registry 的预加载入口,减少首次进入页面的串行等待。
  • 保存最近 60 秒内、最多 8 个页面查询快照。返回已访问页面时先显示已有内容,同时刷新;按查询和凭据隔离,退出或认证失败时清空。
  • 终端连接认证只读取配置和当前节点,将数据库读取及应用终端的 Nomad 查询移入线程池,避免节点重连时展开全部历史状态并阻塞其他 HTTP 请求。保留现有凭据、节点身份和应用终端限制。

验证:1,427 项 Python 测试、104 项前端测试、Dashboard 类型检查、生产构建及发布源代码检查通过。新增三个终端并发回归场景在旧实现上失败、修复后通过。

浏览器使用相同页面数据、固定 800 ms API 和 600 ms 节点脚本延迟对照:节点页首次内容从 1,839 ms 降至 1,349 ms;返回应用页时,修复版在 100 ms 检查点已有列表,旧版约 937 ms 后才显示。这是受控测试结果,不代表线上整体提速比例。

现场还确认网页经过新加坡代理和 Cloudflare,内嵌 Grafana 的冷启动资源也较大;本次发布未改动这些网络和 Grafana 配置。完整排查记录见 Dashboard 性能记录

发布产物:luma-infra==0.1.357ghcr.io/liutianjie/luma-control:v0.1.357。软件发布不会自动升级现有 Manager,需升级后才能在线上使用本次修复。

v0.1.356

Choose a tag to compare

@LiuTianjie LiuTianjie released this 12 Sep 10:49

Dashboard 页面按所需数据加载,减少控制面重复查询与后台刷新开销。

  • 控制面 Dashboard 接口新增页面范围;应用列表支持服务端分页和筛选,应用详情按单个应用读取,保留原完整接口兼容性。
  • Nomad 静态配置按版本缓存,并发读取设定超时;Registry 列表避免加载无关状态,分页仅复制当前页数据。
  • 页面请求增加去重、取消和过期结果保护,页面隐藏时暂停自动刷新;告警和 LAE 页面按当前标签加载。
  • 新增指标历史批量接口,刷新时保留已有图表;拓扑仅在结构变化时重新布局。

完整发布检查通过:1,422 项 Python 测试、102 项前端测试、Dashboard 类型检查与构建,以及版本一致性和 CLI 文档检查。性能基线和验证边界见 性能验证记录

安装包:luma-infra==0.1.356。Control 镜像:ghcr.io/liutianjie/luma-control:v0.1.356

本次发布交付配套前后端产物。现有 Manager 需升级后才会生效;本次未升级运行中的 Manager,线上改善幅度仍需升级后复测。

v0.1.355

Choose a tag to compare

@LiuTianjie LiuTianjie released this 12 Sep 09:48

控制台改进

  • 应用详情新增密钥管理与轮转入口,保留全局密钥管理;保存后明确提示重新部署生效。
  • 应用日志新增按当前应用筛选的 VictoriaLogs 日志检索与 Tempo 链路追踪,保留原有实时日志。
  • 可观测面板支持放大与还原;统一中文名称为“可观测”。
  • Registry 镜像页恢复存储用量与月度 Blob 分布,容量采集失败可重试;摘要更紧凑,筛选使用统一 Tabs 组件。
  • 资源指标摘要统一对齐,顶部导航固定,页面内容独立滚动。
  • 包含 v0.1.354 的大型拓扑自适应缩放与全屏修复。

验证

通过完整 scripts/check-luma.sh 检查,包括控制台类型检查与构建、Python 测试、前端测试;双语网站构建及 71 页链接检查通过。

升级

此版本仅发布制品,不会自动升级现有集群。请按现有升级流程手动升级到 v0.1.355。

Luma v0.1.353

Choose a tag to compare

@LiuTianjie LiuTianjie released this 12 Sep 08:16

控制台与官网体验更新:统一控制台导航、页面层级、表单和状态样式,改善创建应用、日志、配置、版本及可观测性页面的布局。

  • 重构 GitHub Pages,中英文首页提供可交互的控制台预览,菜单切换与示例内容联动。
  • 补齐公开文档中文版本、语言切换、章节导航与链接检查,更新本地存储说明。
  • 新增 AI Agent Skills 介绍及中英文安装指南。
  • 同步中文版文档中的发布版本示例。

验证:1390 项 Python 测试、72 项前端测试、控制台类型检查与构建通过;71 个官网及文档页面通过链接检查。

手动升级使用:

  • 发布引用:v0.1.353
  • Control 镜像:ghcr.io/liutianjie/luma-control:v0.1.353
  • Python 包:luma-infra==0.1.353

本次发布不执行集群升级。

v0.1.319

Choose a tag to compare

@LiuTianjie LiuTianjie released this 09 Sep 14:42

Fix canceled build queue ownership recovery; retain completion receipts until execution ownership is released; safely supersede queued builds for the same known deployment target. Includes queue regression tests.

Luma v0.1.318

Choose a tag to compare

@LiuTianjie LiuTianjie released this 09 Sep 13:43

Installer reliability

  • Normalize candidate runtime permissions before activation so installs under umask 0002 do not publish an identity the node agent rejects.
  • Validate the newly written installation identity using the runtime reader before publishing the command shim.
  • Keep existing runtime diagnosis read-only and fail closed on unsafe permissions.

Validation

  • 1,302 Python tests and 67 JavaScript tests passed.
  • Dashboard typecheck/build and version/CLI documentation checks passed.
  • A real isolated installation under umask 0002 passed local doctor and dependency checks.

This is a focused installer correction; the broader lifecycle remediation plan is not yet complete.

Luma v0.1.317

Choose a tag to compare

@LiuTianjie LiuTianjie released this 09 Sep 12:32

Managed installation and node-join hardening

  • Preserve the running installation identity across CLI and node-agent updates, including legacy venv layouts and directory aliases.
  • Prepare source and runtime in isolated candidate directories; serialize installation and atomically publish a validated command shim.
  • Isolate managed pip configuration from host settings; support explicit HTTPS index, wheelhouse and CA policies.
  • Re-execute updates through the stable command shim instead of the preserved old interpreter.
  • Add luma doctor --local and require new-credential heartbeat verification before reporting node join complete.

Validation

  • Full source gate: 1299 Python tests and 67 JavaScript tests; Dashboard typecheck/build and generated CLI reference checks.
  • A real fresh-venv installation succeeds despite injected bad host pip settings; local runtime diagnostics pass.

Rollout / scope

Deploy Control before new joining clients so the node-readiness endpoint is available. This is the first lifecycle-hardening batch, not a complete supervisor/automatic-rollback implementation. Existing application jobs are not part of this release's manager rollout. See the installation lifecycle and remediation plan documents for remaining work.

v0.1.309

Choose a tag to compare

@LiuTianjie LiuTianjie released this 08 Sep 14:08

Includes the v0.1.308 resource policy: elastic CPU scheduling using reservations (100 MHz default), limits.cpus warnings rather than a misleading hard cap, and memory reservation/ceiling separation (256 MiB default reservation for limits-only configurations). Explicit reservations are preserved. Control upgrade applies to subsequent deployments; existing workloads require redeployment. Fixes pre-existing intermittent artifact downloads when generated URL-safe lease IDs begin with - or _. Full local source gate passed: 1,245 Python tests and 67 dashboard tests, dashboard typecheck/build, version/reference consistency.