Skip to content

Latest commit

 

History

History
executable file
·
92 lines (66 loc) · 2.44 KB

File metadata and controls

executable file
·
92 lines (66 loc) · 2.44 KB

vmctl bootstrap files

This package contains bootstrap scripts for the Hermes VM + standalone ESXi side of vmctl.

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

Tip: use the latest release page above to avoid hardcoding a tag in docs. If you need a pinned/reproducible install, use a versioned vX.Y.Z archive URL.

Files

install.env.example
scripts/install-full-stack.sh
scripts/bootstrap-esxi-side.sh
scripts/lib/load-env.sh
docs/BUGFIX_LIST_TEST_PHASE.md

Install

# Option A: open latest release in browser and copy the current asset URL
# https://github.com/bashrusakh/vmctl/releases/latest

# Option B: pinned install (example)
curl -L https://github.com/bashrusakh/vmctl/releases/latest/download/hermes-vmctl-v0.1.4.tar.gz -o hermes-vmctl.tar.gz
tar -xzf hermes-vmctl.tar.gz
cd hermes-vmctl

cp install.env.example install.env
nano install.env
sudo scripts/install-full-stack.sh --env ./install.env

Dry run:

sudo scripts/install-full-stack.sh --env ./install.env --dry-run

Security model

The installer creates:

Hermes VM:

vmctl-runner
/opt/hermes-vmctl
sudoers rule for Hermes user
SSH key for ESXi helper
govc runtime env
vmctl.yaml

ESXi:

vmctl-api
vmctl-ssh
VMCTL_API role
restricted authorized_keys
forced-command helper

The SSH helper is multi-datastore aware and accepts datastore as an explicit checked argument.

Networking/MAC policy

  • MAC addresses are generated by ESXi (ethernet0.addressType = "generated").
  • Static MAC pool is deprecated and not used in v1 create/delete/purge flows.

Agent skill (post-install)

For Hermes Agent automation after install, use:

  • skills/devops/vmctl-ops/SKILL.md

It defines the exact post-install gate (mode/preflight/doctor), smoke create-test, cleanup, and recovery flow.

Known limitations

  • No vCenter support is required or used.
  • Standalone ESXi 7 Enterprise is the supported target for v0.1.0-rc1.
  • Create-flow supports powered-off VM templates already stored on datastore.
  • OVF/OVA import is not supported in create-flow.
  • Snapshot-chain templates are not supported.
  • Static IP provisioning is disabled/forbidden in v1.
  • MAC addresses are generated by ESXi.
  • Production backend is ESXi forced-command helper.
  • Direct ESXi backend is break-glass/legacy only and disabled by default.
  • Non-root SSH behavior on ESXi may require re-bootstrap after ESXi reboot depending on access.conf persistence.