# ============================================================================= # ci1 - Windows Server 2025 KubeVirt VM (GitHub Actions Self-Hosted Runner) # ============================================================================= # Boots from the sysprepped containerDisk template built by the Windows VM # sysprep pipeline. See docs/infrastructure/windows-vm-sysprep-pipeline.md. # Path A/B/C install history is preserved in git log only. # ============================================================================= apiVersion: v1 kind: Namespace metadata: name: kubevirt-vms labels: app.kubernetes.io/part-of: kubevirt-stack pod-security.kubernetes.io/enforce: privileged --- apiVersion: kubevirt.io/v1 kind: VirtualMachine metadata: name: ci1 namespace: kubevirt-vms labels: app: ci-runner role: github-actions-runner flowercore.io/managed-by: bluejay-infra spec: runStrategy: Halted template: metadata: labels: app: ci-runner role: github-actions-runner kubevirt.io/vm: ci1 spec: domain: cpu: cores: 8 sockets: 1 threads: 1 memory: guest: 16Gi resources: requests: memory: 16Gi limits: memory: 16Gi clock: utc: {} timer: hpet: present: false pit: tickPolicy: delay rtc: tickPolicy: catchup hyperv: {} features: acpi: {} apic: {} hyperv: relaxed: {} vapic: {} spinlocks: spinlocks: 8191 smm: {} firmware: bootloader: efi: secureBoot: false devices: tpm: {} disks: - name: rootdisk disk: bus: virtio interfaces: # Pod-network fallback for CI runner outbound traffic. Switch to # prod-vlan57 once the bridge/NAD lane is ready for L2 access. - name: default masquerade: {} model: virtio machine: type: q35 networks: - name: default pod: {} volumes: - name: rootdisk containerDisk: image: localhost/fc-win-server-2025:v1 imagePullPolicy: Never terminationGracePeriodSeconds: 3600