Skip to content

add: domain command & shrink release artifacts#7

Merged
lollipopkit merged 3 commits into
mainfrom
add-domain-command-and-smaller-release
May 20, 2026
Merged

add: domain command & shrink release artifacts#7
lollipopkit merged 3 commits into
mainfrom
add-domain-command-and-smaller-release

Conversation

@lollipopkit

@lollipopkit lollipopkit commented May 20, 2026

Copy link
Copy Markdown
Owner

Summary

  • add a typed exedev-ctl domain command with add, ls, and rm subcommands
  • validate domain ls arguments locally before invoking ssh exe.dev
  • switch reqwest to native TLS and optimize release artifact packaging

Verification

  • cargo fmt --check
  • cargo test -p exedev-ctl
  • cargo build --profile dist --locked -p exedev-ctl -p exedev-k8s

Summary by CodeRabbit

  • New Features

    • exedev-ctl 新增自定义域名管理:支持为 VM 添加、列出、移除域名。
  • Documentation

    • 多处文档更新:CLI 示例、README(含 exeuntu 基础镜像说明与 Release Compatibility)、技能与参考文档均补充自定义域名用法与示例。
  • Chores

    • CI 与发布流程优化:新增 musl 构建目标、调整打包与构建配置及运行时 TLS 构建选项。

Review Change Stack

@coderabbitai

coderabbitai Bot commented May 20, 2026

Copy link
Copy Markdown

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 557c210e-400e-40f7-a267-6dfa6718ded0

📥 Commits

Reviewing files that changed from the base of the PR and between 3ff0923 and 88b7992.

⛔ Files ignored due to path filters (1)
  • Cargo.lock is excluded by !**/*.lock
📒 Files selected for processing (5)
  • .github/workflows/check.yml
  • .github/workflows/release.yml
  • Cargo.toml
  • README.md
  • README.zh-CN.md
✅ Files skipped from review due to trivial changes (2)
  • README.zh-CN.md
  • README.md
📜 Recent review details
⏰ Context from checks skipped due to timeout of 180000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
  • GitHub Check: fmt, check, test
  • GitHub Check: fmt, check, test
🔇 Additional comments (3)
Cargo.toml (1)

19-19: LGTM!

.github/workflows/check.yml (1)

41-52: LGTM!

.github/workflows/release.yml (1)

31-34: LGTM!

Also applies to: 58-74


📝 Walkthrough

Walkthrough

该 PR 为 exedev-ctl 增加 domain 子命令(add/ls/rm)并补充相关文档与测试;同时将 workspace reqwest TLS 特性改为 native-tls-vendored,设置 [profile.dist],并在 GitHub Actions 中新增 musl 构建步骤与调整 release 打包脚本。

变更

Domain 命令实现与支持

Layer / File(s) 总结
Domain 命令参数类型定义
cli/src/cli.rs
Commands 枚举中添加 Domain(DomainCmd) 变体,定义 DomainCmdDomainSubcommandDomainVmDomainCmdDomainLsCmd 结构以承载 vm、domain 和 --all 参数。
Domain 命令实现与参数校验
cli/src/cli_command.rs
在命令分发中处理 Domain 命令,实现 build_domain_command 函数支持 add/ls/rm 子命令,ls 包含参数组合校验(vm 与 -a 二选一),并新增对应的单元测试。
CLI 文档与用户指南更新
README.md, README.zh-CN.md, cli/README.md, cli/README.zh-CN.md, skills/exedev-ctl/SKILL.md, skills/exedev-ctl/references/exedev-ctl.md
在主 README、CLI 文档中补充 domain 命令的使用示例和覆盖范围说明;在技能文档与引用文档中更新命令列表及 token 权限配置(将 domain add,domain ls,domain rm 加入 --cmds)。
依赖和构建配置调整
Cargo.toml
将 workspace 依赖 reqwest 的 TLS 特性从 ["rustls"] 切换为 ["native-tls-vendored"];在 [profile.dist] 中添加 debug = 0incremental = false
Check 工作流新增 musl 构建
.github/workflows/check.yml
在 check 任务中新增对 x86_64-unknown-linux-musl 目标的安装(musl-tools)与带静态 OpenSSL 的 release 构建步骤。
CI 发布流程优化
.github/workflows/release.yml
在 release 工作流中将 arm64 musl 目标加入矩阵,新增 “Configure Linux musl build” 步骤(在 ubuntu-* 上安装 musl-tools 并设置对应 CC_* 为 musl-gcc),并修改打包脚本:先复制 target/${matrix.target}/dist/package/,基于 ubuntu-* 使用不同 strip 参数,然后改用 `tar -cf - -C package .

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@Cargo.toml`:
- Line 19: The reqwest dependency change to native-tls in Cargo.toml introduces
a system OpenSSL runtime dependency (via openssl-sys) which can break the
stripped Linux CLI on systems without compatible libssl; either revert the
reqwest feature back to a rustls-based TLS backend in Cargo.toml to eliminate
system TLS dependencies, or update the build/CI to produce statically-linked
musl binaries (or otherwise statically link TLS) for x86_64/aarch64 targets, or
explicitly document the required libssl.so version and add compatibility tests;
implement the chosen option and update the Cargo.toml reqwest feature, the
build/packaging workflows (and CI), and the README/compatibility test matrix
accordingly.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: b0a75b6f-50bf-49e5-84e3-f450cebcef73

📥 Commits

Reviewing files that changed from the base of the PR and between 1b19dad and baa1f85.

⛔ Files ignored due to path filters (1)
  • Cargo.lock is excluded by !**/*.lock
📒 Files selected for processing (10)
  • .github/workflows/release.yml
  • Cargo.toml
  • README.md
  • README.zh-CN.md
  • cli/README.md
  • cli/README.zh-CN.md
  • cli/src/cli.rs
  • cli/src/cli_command.rs
  • skills/exedev-ctl/SKILL.md
  • skills/exedev-ctl/references/exedev-ctl.md
📜 Review details
🔇 Additional comments (10)
.github/workflows/release.yml (1)

74-81: LGTM!

Also applies to: 84-84

cli/src/cli.rs (1)

58-59: LGTM!

Also applies to: 256-283

cli/src/cli_command.rs (1)

88-88: LGTM!

Also applies to: 174-197, 377-404

README.md (1)

43-43: LGTM!

README.zh-CN.md (1)

42-42: LGTM!

cli/README.md (1)

116-122: LGTM!

Also applies to: 162-162

cli/README.zh-CN.md (1)

114-120: LGTM!

Also applies to: 160-160

skills/exedev-ctl/SKILL.md (1)

41-41: LGTM!

skills/exedev-ctl/references/exedev-ctl.md (1)

174-181: LGTM!

Also applies to: 201-201

Cargo.toml (1)

28-29: LGTM!

Comment thread Cargo.toml Outdated
@lollipopkit lollipopkit changed the title Add domain command and shrink release artifacts add: domain command & shrink release artifacts May 20, 2026

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🧹 Nitpick comments (1)
README.zh-CN.md (1)

58-63: 💤 Low value

考虑在英文版本中也提及 AI agent 使用场景。

中文版本描述"面向 developer/agent 使用场景",而英文版本仅称"developer-oriented"。如果 agent(AI 代理)确实是重要的目标用户,建议在英文版本中保持一致性,明确提及 agent 使用场景。

GitHub 仓库链接已验证有效。

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@README.zh-CN.md` around lines 58 - 63, Update the English README entry for
"exeuntu" to match the Chinese version by mentioning that the base image targets
both developers and agents (AI agents), i.e., change the existing
"developer-oriented" phrasing to "developer/agent-oriented" or similar; locate
the README section describing `exeuntu` (the heading "exeuntu" and its
description text) and add explicit mention of agent usage so both language
versions are consistent.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Nitpick comments:
In `@README.zh-CN.md`:
- Around line 58-63: Update the English README entry for "exeuntu" to match the
Chinese version by mentioning that the base image targets both developers and
agents (AI agents), i.e., change the existing "developer-oriented" phrasing to
"developer/agent-oriented" or similar; locate the README section describing
`exeuntu` (the heading "exeuntu" and its description text) and add explicit
mention of agent usage so both language versions are consistent.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 4232abbd-fea2-49e7-9509-d8760b038e7c

📥 Commits

Reviewing files that changed from the base of the PR and between baa1f85 and 3ff0923.

📒 Files selected for processing (2)
  • README.md
  • README.zh-CN.md
📜 Review details
🧰 Additional context used
🪛 LanguageTool
README.md

[grammar] ~59-~59: Ensure spelling is correct
Context: ...eration, and automation boundaries. ## exeuntu exeuntu is the default exe.dev base image. It i...

(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)

🔇 Additional comments (3)
README.md (2)

43-43: LGTM!


59-64: ⚡ Quick win

验证 GitHub 仓库链接。

GitHub 仓库 https://github.com/lollipopkit/exeuntu 可访问(HTTP 200)。

容器镜像 ghcr.io/lollipopkit/exeuntu 无法访问或需要认证。建议确认镜像是否已发布到容器注册表,或在文档中说明访问要求。

README.zh-CN.md (1)

42-42: LGTM!

@lollipopkit lollipopkit merged commit 3b5ee9a into main May 20, 2026
2 checks passed
@lollipopkit lollipopkit deleted the add-domain-command-and-smaller-release branch May 20, 2026 11:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant