Skip to content

feat(runtime-host): add OpenRC lifecycle provider - #4637

Merged
M4n5ter merged 2 commits into
mainfrom
feat/runtime-host-openrc
Sep 3, 2026
Merged

feat(runtime-host): add OpenRC lifecycle provider#4637
M4n5ter merged 2 commits into
mainfrom
feat/runtime-host-openrc

Conversation

@M4n5ter

@M4n5ter M4n5ter commented Sep 3, 2026

Copy link
Copy Markdown
Member
English

Summary

Adds canonical openrc_user and openrc_system lifecycle providers backed by supervise-daemon. The exact Runtime Host package and the stable-operator reconciliation loop are installed as one transactional projection; discovery uses actual system capabilities, persists the selected provider, and never invokes sudo.

Fresh supervised setup now discovers its canonical provider without first constructing the legacy systemd backend, which otherwise made OpenRC unreachable on Alpine.

Fixes #3984

Verification

  • npm run lint
  • npm run format:check
  • npm run build
  • npm run typecheck
  • npm --workspace maka-agent run test:dist — 750 passed, 3 skipped
  • Alpine OpenRC smoke — install, enable, start, PID/status, crash respawn, logs, stop, and uninstall

AI use

Select exactly one:

  • No generative tool made a substantive contribution
  • Generative tooling made a substantive contribution

Tool(s) and scope: OpenAI Codex implemented, reviewed, and verified the change. The commit includes the required Generated-by trailer.

Checklist

  • Tests cover the change and fail without it
  • Lint, format, typecheck and the affected suites pass locally

Does this PR entail a change in behavior?

  • Yes — described under Summary above
  • No
中文

概要

新增基于 supervise-daemon 的 canonical openrc_useropenrc_system 生命周期 provider。精确版本 Runtime Host 与稳定 operator reconciliation loop 作为同一个事务投影安装;provider 按系统实际能力探测并持久化,且绝不隐式调用 sudo

新的 supervised 安装会直接探测 canonical provider,不再先构造旧 systemd backend,从根因上消除 Alpine 上 OpenRC 尚未探测就被 systemd 路径阻断的问题。

修复 #3984

验证

  • npm run lint
  • npm run format:check
  • npm run build
  • npm run typecheck
  • npm --workspace maka-agent run test:dist — 750 通过,3 跳过
  • Alpine OpenRC 实机链路 — 安装、启用、启动、PID/状态、崩溃重启、日志、停止与卸载

AI 使用

OpenAI Codex 参与了实现、审查与验证;提交已包含要求的 Generated-by trailer。

检查清单

  • ✅ 测试覆盖本次变更,且缺少对应实现时会失败
  • ✅ lint、format、typecheck 与受影响测试套件均在本地通过
  • ✅ 本 PR 改变行为,已在概要中说明

@M4n5ter M4n5ter self-assigned this Sep 3, 2026
@github-actions github-actions Bot added the effort/XL Over 1000 readable lines label Sep 3, 2026

@jackwener jackwener left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved at exact head 5cb16db229a163606db2e38a5cce1c5124613d29 at the explicit direction of M4n5ter. No technical review was performed as part of this action; M4n5ter requested the approval and accepts responsibility for subsequent handling.


Review notice: This approval was submitted by an automated review agent operated by jackwener and is published at the direction of M4n5ter, who requested this action and is the human accountable for it.

@M4n5ter
M4n5ter merged commit ce10a0e into main Sep 3, 2026
12 checks passed
@M4n5ter
M4n5ter deleted the feat/runtime-host-openrc branch September 3, 2026 08:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

effort/XL Over 1000 readable lines

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Runtime Host: managed deployments, on-demand activation, WSL, and OpenRC

2 participants