diff --git a/config/manager/kustomization.yaml b/config/manager/kustomization.yaml index 08f98ea..e268bef 100644 --- a/config/manager/kustomization.yaml +++ b/config/manager/kustomization.yaml @@ -5,5 +5,5 @@ apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization images: - name: controller - newName: example.com/egress-proxies-operator - newTag: v0.0.1 + newName: egress-proxies-operator + newTag: kvm-dev diff --git a/config/manager/providers_config.yaml b/config/manager/providers_config.yaml index 916ac14..311a96d 100644 --- a/config/manager/providers_config.yaml +++ b/config/manager/providers_config.yaml @@ -16,3 +16,39 @@ data: providers: - name: kubernetes type: kubernetes + - name: kvm-home + type: kvm + kvm: + # SSH to each host with the libvirt unix socket forwarded through the + # connection; nothing to open on the hypervisors beyond sshd. Both + # files come from the optional kvm-ssh Secret mounted by + # config/manager/manager.yaml — see docs/kvm-provider.md. + sshKeyFile: /etc/proxy-operator/kvm/id_ed25519 + knownHostsFile: /etc/proxy-operator/kvm/known_hosts + # insecureIgnoreHostKey: true # skip host-key checks (not recommended) + # diskSizeGb: 10 # per-VM overlay; cloud-init grows the root fs into it + # vendorData: | # extra vendor-data; the qemu-guest-agent bootstrap is merged + # #cloud-config # into each Proxy's cloud-config, not configured here + # ... + images: + # placement.image names a key here (or is an https:// URL directly). + # Fetched into each host's pool on first use and cached there as + # base-.qcow2; do not change an entry while Proxies use it. + debian-13: + url: https://cloud.debian.org/images/cloud/trixie/latest/debian-13-generic-amd64.qcow2 + # sha256: "<64 hex>" # optional; verified after download + # firmware: uefi # default; "bios" only for images with no EFI partition + # # (Debian 13 hangs in GRUB under BIOS headless: Debian bug #1111240) + ubuntu-24.04: + url: https://cloud-images.ubuntu.com/noble/current/noble-server-cloudimg-amd64.img + machineTypes: # placement.machineType names a key here + small: {vcpus: 1, memoryMiB: 1024} + medium: {vcpus: 2, memoryMiB: 2048} + hosts: # placement.zone names a host; optional with one host + - name: beelink + address: beelink.tail8c69c.ts.net:22 + user: novakj # must be in the libvirt group + bridge: br0 # to a LAN with DHCP; the VM's IP comes from there + # socket: /var/run/libvirt/libvirt-sock + # pool: default + diff --git a/config/samples/providers-config.yaml b/config/samples/providers-config.yaml index b32cc5a..e7d57b9 100644 --- a/config/samples/providers-config.yaml +++ b/config/samples/providers-config.yaml @@ -49,9 +49,9 @@ providers: small: {vcpus: 1, memoryMiB: 1024} medium: {vcpus: 2, memoryMiB: 2048} hosts: # placement.zone names a host; optional with one host - - name: nas1 - address: nas1.home.lan:22 - user: virt # must be in the libvirt group + - name: beelink + address: beelink:22 + user: novakj # must be in the libvirt group bridge: br0 # to a LAN with DHCP; the VM's IP comes from there # socket: /var/run/libvirt/libvirt-sock # pool: default