1.0.0 Release IaaS

This commit is contained in:
2026-03-15 04:41:02 +09:00
commit a7365da431
292 changed files with 36059 additions and 0 deletions

View File

@@ -0,0 +1,125 @@
# cloud-init and seed.iso
## reference
- https://cloudinit.readthedocs.io/en/latest/reference/examples.html#yaml-examples
## packages
- cloud-image-utils
- genisoimage
## meta-data
- meta-data.yaml
```yaml
instance-id: test-vm-$DATE
local-hostname: test
```
## user-data
- user-data.yaml
```yaml
#cloud-config
# Command which is excuted when systemd boots
bootcmd:
- groupadd -g 2000 svadmins || true
hostname: test
# auto resize partition and filesystem depends on virtual disk image
growpart:
mode: auto
devices: ['/']
ignore_growroot_disabled: false
resize_rootfs: true
# prohibit root login
disable_root: true
users:
- name: test
gecos: test
primary_group: svadmins
groups: sudo
lock_passwd: false
passwd: $(openssl passwd -6 'password')
shell: /bin/bash
ssh_authorized_keys:
- 'ssh-ed25519 KEY_VALUE'
write_files:
# ip_forward option
- path: /etc/sysctl.d/ipforward.conf
content: |
net.ipv4.ip_forward=1
permissions: '0644'
# systemd-networkd files
- path: /etc/systemd/network/00-eth0.link
content: |
[Match]
MACAddress=0a:49:6e:4d:00:00
[Link]
Name=eth0
permissions: '0644'
# - path: /etc/systemd/network/files....
# ssh host files
- path: /etc/ssh/id_test_ssh_host
content: |
-----BEGIN OPENSSH PRIVATE KEY-----
-----END OPENSSH PRIVATE KEY-----
permissions: '0600'
- path: /etc/ssh/id_test_ssh_host.pub
content: |
ssh-ed25519 KEY_VALUE TEST_SSH_HOST
permissions: '0644'
- path: /etc/ssh/id_test_ssh_host-cert.pub
content: |
ssh-ed25519-cert-v01@openssh.com KEY_VALUE TEST_SSH_HOST
permissions: '0644'
# sshd_config
- path: /etc/ssh/sshd_config.d/cert.conf
content: |
HostKey /etc/ssh/id_test_ssh_host
HostCertificate /etc/ssh/id_test_ssh_host-cert.pub
permissions: '0644'
- path: /etc/ssh/sshd_config.d/permit_root_login.conf
content: |
PermitRootLogin no
permissions: '0644'
runcmd:
# systemd-networkd interface loading
- update-initramfs -u
- systemctl disable networking
- systemctl enable systemd-networkd
- systemctl enable getty@ttyS0
- sync
power_state:
delay: "now"
mode: reboot
message: "rebooting after cloud-init configuration"
timeout: 30
```
## network-config
- network-config.yaml
```yaml
version: 2
ethernets: {}
network:
config: disabled
```
## Create seed.iso
```bash
cloud-localds -N network-config test_seed.iso user-data.yaml meta-data
```

View File

@@ -0,0 +1,18 @@
# Undefine VM
Undefine VM is critical to whole systme.
## process
```bash
# Shutdown VM
systemctl --user stop "$VM_NAME".service
## virsh stop|destroy "$VM_NAME"
# Undefien VM
virsh undefine "$VM_NAME" --nvram # All vms use uefi, so the option, `--nvram` is needed to remove nvram file
# Delete VM files
sudo rm -r /var/lib/libvirt/images/"$VM_NAME".qcow2
sudo rm -r /var/lib/libvirt/seeds/"$VM_NAME"_seed.iso
```