← 返回
未分类

VMware ESXI-standalone automation skill

Use when vmctl is already installed and the agent must immediately run safe post-install checks and first lifecycle actions without guessing.
适用于 vmctl 已安装时,代理必须立即执行安全的安装后检查和首次生命周期操作,无需猜测。
bashrusakh bashrusakh 来源
未分类 clawhub v1.0.2 1 版本 99655.2 Key: 无需
★ 0
Stars
📥 289
下载
💾 0
安装
1
版本
#latest

概述

vmctl Post-Install Operations

Overview

This skill defines what the agent should do right after vmctl installation on the Hermes host.

Goal: quickly verify that vmctl is operational, run a safe smoke cycle, clean artifacts, and report status in operator-friendly form.

Installation source (performed by operator):

  • Repository: https://github.com/bashrusakh/vmctl
  • Latest release page: https://github.com/bashrusakh/vmctl/releases/latest

Important:

  • This is a post-install skill.
  • If vmctl is not installed, the agent must stop and ask operator to install from the repo/release link above.
  • Do not attempt bootstrap installation. If vmctl is missing, stop and redirect operator to repo/release install docs.

When to Use

  • vmctl was just installed or reinstalled.
  • ESXi/helper credentials are already configured.
  • Operator asks: "run a test", "check after install", "why is it not working".

Do not use for:

  • bootstrap installation itself;
  • modifying ESXi host accounts/roles;
  • production VM provisioning with non-test names.

Default Execution Mode

  • Run as plain vmctl CLI (no privilege escalation or forced user switching in this skill).
  • Workdir: /opt/hermes-vmctl
  • Do not guess values; use config/secrets already deployed by installer.

Runtime Requirements

  • Required binary: vmctl must be available in PATH.
  • Required config path: /opt/hermes-vmctl/config/vmctl.yaml.
  • Required state paths: /opt/hermes-vmctl/state and /opt/hermes-vmctl/state/deleted.
  • Required credential context: ESXi/helper credentials are already configured by installer.

Minimum Permissions and Credential Scope

  • Minimum needed operations: mode, preflight, doctor, list, create, status, delete, purge, recover.
  • This skill must not be used for account/role management or bootstrap installation.
  • Expected credential scope should be limited to vmctl helper workflow and test VM lifecycle operations.
  • Prefer test-only VM names (vmctl-test-*) and avoid touching non-test resources unless operator explicitly asks for it.

Quick Reference

# baseline checks
vmctl mode
vmctl preflight
vmctl doctor
vmctl list --all

# recover state drift
vmctl recover --dry-run
vmctl recover --apply

Procedure

Phase 1 — Mandatory health gate

Run in order:

vmctl mode
vmctl preflight
vmctl doctor
vmctl list --all

Rules:

  1. If preflight or doctor is red -> stop and report blocker.
  2. If list --all shows pending/failed from old runs, recover/cleanup before new create-tests.

Phase 2 — Safe smoke create test

Use a test name only:

  • vmctl-test--

Minimal smoke command:

vmctl create \
  --name vmctl-test-smoke-<timestamp> \
  --template alma10 \
  --cpu 2 \
  --ram-mb 4096 \
  --disk-gb 40 \
  --user hermes \
  --ssh-key-file /tmp/vmctl_test_key.pub

Then:

vmctl status <name>

Success criteria:

  • state is ready
  • IPv4 exists
  • no exception from create/status

Phase 3 — Cleanup policy

Delete+purge test VM after smoke run unless operator asked to keep it.

vmctl delete <name> --force

Important: purge uses deleted tombstone name, not original VM name.

# discover tombstone
python3 - <<'PY'
import glob, os
vm='<name>'
paths=glob.glob('/opt/hermes-vmctl/state/deleted/*.json')
c=[p for p in paths if vm in os.path.basename(p)]
if c:
    c.sort(key=os.path.getmtime, reverse=True)
    print(os.path.basename(c[0])[:-5])
PY

vmctl purge <deleted_name>

Recovery flow (if state drift exists)

If ESXi has managed VM but state is missing:

vmctl recover --dry-run
vmctl recover --apply

Then run delete/purge again.

Operator Output Format

Report concise facts:

  • preflight: pass/fail
  • doctor: pass/fail
  • create: pass/fail + vm name
  • cleanup: deleted + purged / blocked
  • residual check: recover --dry-run actions count

Common Pitfalls

  1. Running commands with hardcoded elevated wrappers from old docs.
  2. Purging by original VM name -> deleted tombstone not found.
  3. Reusing stale test names -> clone/file already exists errors.
  4. Treating orphan datastore folders as vmctl-managed state.

Verification Checklist

  • [ ] mode confirms helper-only effective mode.
  • [ ] preflight is green.
  • [ ] doctor is green.
  • [ ] smoke create reaches ready.
  • [ ] test VM removed by delete --force.
  • [ ] tombstone purged by deleted-name.
  • [ ] recover --dry-run has no unexpected actions.

版本历史

共 1 个版本

  • v1.0.2 当前
    2026-05-09 17:03 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

ai-agent

Skill Vetter

spclaudehome
AI智能体技能安全预审工具。安装ClawdHub、GitHub等来源技能前,检查风险信号、权限范围及可疑模式。
★ 1,226 📥 267,784
ai-agent

Self-Improving + Proactive Agent

ivangdavila
自我反思+自我批评+自我学习+自组织记忆。智能体评估自身工作、发现错误并持续改进。
★ 1,378 📥 320,391
ai-agent

self-improving agent

pskoett
捕获经验教训、错误及修正内容,以实现持续改进。适用于以下场景:(1)命令或操作意外失败;(2)用户纠正Claude(如“不,那不对……”“实际上……”);(3)用户请求的功能不存在;(4)外部API或工具出现故障;(5)Claude发现自身
★ 4,081 📥 809,796