Local Development and Debug Flow (libvirt)¶
Prerequisites¶
- libvirt + KVM installed and
qemu:///systemaccessible - Your user in the
libvirtgroup:sudo usermod -aG libvirt $USER - Nix devShell active:
nix develop - Age key generated and
.sops.yamlupdated
Iterative Debug Cycle¶
Edit module → plan → inspect diff → apply → SSH into VM → test → repeat
```bash
Enter shell¶
nix develop
Decrypt secrets¶
bash scripts/decrypt-secrets.sh local
Plan network¶
bash scripts/plan.sh local network bash scripts/apply.sh local network
Plan control plane¶
bash scripts/plan.sh local control-plane bash scripts/apply.sh local control-plane
Check VMs¶
virsh list --all virsh domifaddr plateforme-local-cp-0
Merge kubeconfig¶
bash scripts/kubeconfig.sh local kubectl get nodes -o wide
Apply K8s base layer¶
kubectl apply -k kubernetes/clusters/local
Run smoke tests¶
bash tests/integration/smoke-test.sh local
Tear down (safe — local state only)¶
terragrunt destroy --terragrunt-working-dir terragrunt/environments/local/control-plane terragrunt destroy --terragrunt-working-dir terragrunt/environments/local/network ```
VM Console Access¶
```bash virsh console plateforme-local-cp-0
Ctrl+] to exit¶
```
Debugging cloud-init¶
```bash virsh console plateforme-local-cp-0
Inside VM:¶
sudo cloud-init status --long sudo journalctl -u cloud-init ```
libvirt Network Inspection¶
bash
virsh net-list --all
virsh net-dhcp-leases plateforme-local