1
0
Fork 0
mirror of https://github.com/retspen/webvirtcloud synced 2026-11-08 19:26:48 +00:00
webvirtcloud/instances/templates
catborise f004552148 feat(instances): a new VM can get a cloud-init seed with its hostname and SSH keys
Cloud images read their first-boot settings with cloud-init. The panel
served them only over HTTP, which a VM reaches only with the network
and a reverse DNS name for its address. A new VM can now carry them
itself: Cloud-init seed (Advanced) on the create form, or cloud_init in
the API.

The job writes a NoCloud seed, an ISO labelled cidata, into the disk's
directory pool as cidata-<uuid>.iso and puts it in the VM's CD-ROM
drive. Its meta-data holds the VM's UUID as instance-id and its name as
hostname, written as JSON so a VM named 123 or yes keeps a string
hostname; its user-data is what the HTTP datasource serves, with the
creating user's SSH keys. The ISO is built with pycdlib and written
through a libvirt stream, as the NVRAM copy is, now one helper for both.

A seed needs a CD-ROM bus and a directory pool, else the create is
refused. A failed create deletes the seed with the new disk, recovery
names one left behind, and deleting the VM with its disks deletes its
seed, found in the pools by name even when ejected. A clone's drive is
left empty: the seed is the source VM's identity.
2026-10-25 19:57:15 +03:00
..
instances feat(instances): a running VM gets its root password and SSH key through its guest agent 2026-10-25 15:37:37 +03:00
add_instance_network_block.html fix(templates): pages parse without markup errors, element IDs are unique 2026-10-19 07:49:25 +03:00
add_instance_owner_block.html logger updates (#31) 2023-08-09 09:20:18 +03:00
add_instance_volume.html fix(templates): pages parse without markup errors, element IDs are unique 2026-10-19 07:49:25 +03:00
allinstances.html feat(instances): the new-VM dialog shows what each host has given its VMs 2026-10-25 13:13:40 +03:00
allinstances_index_grouped.html feat(tables): tables sort with tablesort, the grouped VM list within each host 2026-10-24 19:02:51 +03:00
allinstances_index_nongrouped.html feat(tables): tables sort with tablesort, the grouped VM list within each host 2026-10-24 19:02:51 +03:00
bottom_bar.html fix(instances): the VM page opens the tab a redirect points to, and host links are for administrators 2026-10-08 08:50:21 +03:00
create_flavors.html fix(instances): adding or deleting a flavor keeps the unfinished VM form 2026-10-24 11:12:07 +03:00
create_flavors_reply.html fix(instances): adding or deleting a flavor keeps the unfinished VM form 2026-10-24 11:12:07 +03:00
create_inst_block.html feat(instances): the new-VM dialog shows what each host has given its VMs 2026-10-25 13:13:40 +03:00
create_instance_w1.html fix(instances): a dependent list on the create pages shows only the latest choice 2026-10-24 12:22:46 +03:00
create_instance_w2.html feat(instances): a new VM can get a cloud-init seed with its hostname and SSH keys 2026-10-25 19:57:15 +03:00
create_presets.html fix(instances): adding or deleting a flavor keeps the unfinished VM form 2026-10-24 11:12:07 +03:00
create_steps.html feat(instances): a new VM is made on one form in three steps 2026-10-23 23:26:28 +03:00
instance.html feat(instances): the XML editor shows a change before saving it 2026-10-24 19:40:46 +03:00
instance_actions.html fix(instances): the VM lists ask before a forced power off or power cycle 2026-10-21 21:01:25 +03:00
instance_state.html feat(instances): the VM list filters by state, and a host's name finds its VMs 2026-10-24 18:51:47 +03:00