Registers "kvm" in the provider builtins, mounts an optional kvm-ssh Secret at /etc/proxy-operator/kvm, adds a kvm-home providers-config sample and a proxy_kvm.yaml Proxy sample, documents the provider in docs/kvm-provider.md (prerequisites, config reference, image cache and its do-not-replace-in-use rule, known gaps), and updates the README and architecture provider sections and decision log. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
44 lines
1.4 KiB
YAML
44 lines
1.4 KiB
YAML
# A Managed proxy backed by a libvirt/KVM hypervisor on the home network:
|
|
# the operator boots a stock Debian cloud image as a VM on the named host,
|
|
# with a NIC on the host's bridge (IP from the LAN's DHCP), and installs
|
|
# Squid via cloud-init. Requires a providers-config entry named "kvm-home"
|
|
# (see providers-config.yaml) and the kvm-ssh Secret (docs/kvm-provider.md).
|
|
#
|
|
# placement.zone is the host name from kvm.hosts (optional when only one
|
|
# host is configured); machineType and image are keys in the provider's
|
|
# machineTypes and images maps. The first Proxy for an image on a host
|
|
# waits for the image download; later ones reuse the cached copy.
|
|
apiVersion: crawl.example.com/v1alpha1
|
|
kind: Proxy
|
|
metadata:
|
|
name: proxy-kvm-sample
|
|
spec:
|
|
mode: Managed
|
|
provider: kvm-home
|
|
placement:
|
|
zone: nas1
|
|
machineType: small
|
|
image: debian-13
|
|
port: 3128
|
|
cloudInit:
|
|
inline: |
|
|
#cloud-config
|
|
packages:
|
|
- squid
|
|
write_files:
|
|
- path: /etc/squid/conf.d/proxy-operator.conf
|
|
content: |
|
|
http_port 3128
|
|
http_access allow all
|
|
via off
|
|
forwarded_for off
|
|
runcmd:
|
|
- systemctl restart squid
|
|
# Optional: log in with `ssh debian@<ip>` (the Debian image's default
|
|
# user) to look around; `virsh console <name>` on the host works too.
|
|
# ssh_authorized_keys:
|
|
# - ssh-ed25519 AAAA... you@laptop
|
|
attributes:
|
|
geo: home
|
|
purpose: crawl
|