Operate EVE-NG¶
Run this procedure from a workstation where hyops --help succeeds. Complete
the Quickstart first when
Core is not installed.
Use one blueprint reference throughout the lifecycle:
gcp/eve-ng@v1for private GCP compute reached through IAPonprem/eve-ng@v1for Proxmox capacity
Both paths provide EVE-NG, declared images, health checks, private access, device automation and protected lab continuity.
1. Prepare the environment¶
Set an environment name and blueprint reference:
ENV=demo-lab
REF=gcp/eve-ng@v1
Prepare the selected target:
hyops setup gcp
hyops init gcp --env "$ENV" --with-cli-login
For Proxmox, use:
hyops setup proxmox
hyops init proxmox --env "$ENV"
Create the EVE-NG credentials before preflight:
hyops secrets ensure \
--env "$ENV" \
EVENG_ROOT_PASSWORD \
EVENG_ADMIN_PASSWORD
2. Initialise and edit the blueprint¶
On the first run:
hyops blueprint init \
--env "$ENV" \
--ref "$REF" \
--edit
For an existing environment blueprint:
hyops blueprint edit --env "$ENV" --ref "$REF"
Enable only the image entries required by the lab. Each declaration identifies the source URL, destination name, image type and optional display label. Keep proprietary image sources private and use only images you are authorised to run.
For an authorised IOL image, import its licence file into the environment vault:
hyops secrets set \
--env "$ENV" \
--from-file EVENG_IOL_LICENSE=/path/to/iourc
Then enable the commented IOL licence and image entries in the environment
blueprint. Do not place licence content in YAML. The vault reapplies it when the
host is reconstructed. The local filename is not retained: the target path is
/opt/unetlab/addons/iol/bin/iourc, and its licence entry must match the EVE-NG
hostname.
3. Validate and deploy¶
hyops blueprint validate --env "$ENV" --ref "$REF"
hyops blueprint plan --env "$ENV" --ref "$REF"
hyops blueprint preflight --env "$ENV" --ref "$REF"
hyops blueprint deploy --env "$ENV" --ref "$REF" --execute
Deployment completes only after the execution host, guest networking, declared images and EVE-NG health checks are ready.
4. Access the lab¶
Open the private web interface:
hyops blueprint access --env "$ENV" --ref "$REF"
Keep the command running while using the printed loopback URL. On macOS, copy the admin password with:
hyops secrets show --env "$ENV" --raw EVENG_ADMIN_PASSWORD |
tr -d '\n' |
pbcopy
Clear the clipboard after use:
pbcopy </dev/null
For native QEMU VNC consoles:
hyops blueprint access \
--env "$ENV" \
--ref "$REF" \
--native-consoles
Keep the session running. HybridOps follows QEMU nodes started during the session and reports each loopback-only forward:
native console available: vnc://127.0.0.1:<port>
The workstation must have a handler registered for vnc:// links. Use the
EVE-NG client pack on Windows, a registered VNC client on macOS or Linux, or
select the HTML5 console in EVE-NG. Click the node after its forwarded port is
reported.
Close an access session with Ctrl-C. Keep the environment running when more
access or automation tests remain.
5. Connect lab networks¶
- Connect a node interface to
Cloud9for DHCP and outbound access. - Connect a separate management interface to
Cloud8for private workstation automation.
Cloud9 uses gateway and DNS 172.29.129.1. Cloud8 uses management subnet
172.29.128.0/24 and gateway 172.29.128.1.
6. Test device automation¶
Keep the automation access session running in the first terminal:
hyops blueprint access \
--env "$ENV" \
--ref "$REF" \
--automation
Use a second terminal:
ENV=demo-lab
REF=gcp/eve-ng@v1
hyops blueprint device list --env "$ENV" --ref "$REF"
hyops blueprint device edit --env "$ENV" --ref "$REF"
hyops blueprint device ping --env "$ENV" --ref "$REF" <device-name-or-address>
hyops blueprint device ssh --env "$ENV" --ref "$REF" <device-name>
hyops blueprint device web --env "$ENV" --ref "$REF" <device-name-or-address> --scheme http --port 80
hyops blueprint device shell --env "$ENV" --ref "$REF"
device ssh uses a target name from device list. The list also shows the
detected address and configured SSH user. DHCP discovery uses the blueprint
default user. Use device edit to set the user, port, identity file or platform.
Do not store passwords in the target file. Restart automation access after an
edit before using generated Ansible or Nornir files.
device web maps private interfaces to temporary loopback URLs. Use device
edit to declare each target's web service; the generated file documents the
available fields. Open named targets together, or every declared service:
hyops blueprint device web --env "$ENV" --ref "$REF" <device-1> <device-2>
hyops blueprint device web --env "$ENV" --ref "$REF" --all
One Ctrl-C closes every tunnel. Add --open-all to open every URL in the
workstation browser. Appliance certificates may produce the expected local
browser warning.
The device shell exports the generated SSH, Ansible, Nornir and proxy settings. Run one command without entering the shell with:
hyops blueprint device run \
--env "$ENV" \
--ref "$REF" \
-- ansible-playbook site.yml
On macOS, use the managed device commands, generated SSH configuration or SOCKS proxy. Direct workstation ICMP to the private management subnet is not the default access model.
7. Preserve or release the environment¶
Interactive teardown offers keep, archive and destroy, or destroy without an archive:
hyops blueprint destroy --env "$ENV" --ref "$REF" --execute
For a protected non-interactive teardown:
hyops blueprint destroy \
--env "$ENV" \
--ref "$REF" \
--execute \
--yes \
--archive-before-destroy
The archive contains lab definitions and selected stopped-QEMU overlay state. Verification must pass before managed compute is released.
Restore the latest verified archive with:
hyops blueprint deploy \
--env "$ENV" \
--ref "$REF" \
--execute \
--restore-labs
For a disposable test with no state to retain:
hyops blueprint destroy \
--env "$ENV" \
--ref "$REF" \
--execute \
--yes \
--skip-archive
References¶
License: MIT-0 for code, CC-BY-4.0 for documentation