|
| 1 | +# rcloud user/client configuration |
| 2 | +# |
| 3 | +# PURPOSE: Provision VMs through rcloud REST API using Terraform |
| 4 | +# |
| 5 | +# This defconfig is for USERS who want to provision VMs through an existing |
| 6 | +# rcloud server. The admin must have already set up the rcloud server using |
| 7 | +# defconfig-rcloud. |
| 8 | +# |
| 9 | +# Typical workflow: |
| 10 | +# # Admin setup (one time): |
| 11 | +# make defconfig-rcloud |
| 12 | +# make |
| 13 | +# make rcloud # Sets up rcloud server and base images |
| 14 | +# |
| 15 | +# # User workflow (on same system or remotely): |
| 16 | +# make defconfig-rcloud-guest-test |
| 17 | +# make |
| 18 | +# make bringup # Provisions VMs through rcloud API using Terraform |
| 19 | +# |
| 20 | +# This treats rcloud as a local cloud provider, just like AWS or Azure. |
| 21 | +# Users provision VMs through the standard Terraform workflow. |
| 22 | + |
| 23 | +# Basic system configuration |
| 24 | +CONFIG_KDEVOPS_HOSTS_PREFIX="rcloud-test" |
| 25 | + |
| 26 | +# Number of VMs to create |
| 27 | +CONFIG_KDEVOPS_NODES=1 |
| 28 | + |
| 29 | +# VM resources (requested from rcloud) |
| 30 | +CONFIG_LIBVIRT_MACHINE_TYPE_Q35=y |
| 31 | +CONFIG_LIBVIRT_HOST_PASSTHROUGH=y |
| 32 | +CONFIG_LIBVIRT_MEMORY_MB=4096 |
| 33 | +CONFIG_LIBVIRT_VCPUS=2 |
| 34 | + |
| 35 | +# Disk configuration |
| 36 | +CONFIG_LIBVIRT_EXTRA_STORAGE_DRIVE_NVME=y |
| 37 | +CONFIG_LIBVIRT_NVME_DISK_SIZE_GIB=50 |
| 38 | + |
| 39 | +# Disable test workflows (rcloud provides the infrastructure) |
| 40 | +CONFIG_WORKFLOWS=n |
| 41 | + |
| 42 | +# Use Terraform to provision VMs through rcloud API |
| 43 | +# This treats rcloud as a local cloud provider, similar to AWS/Azure |
| 44 | +CONFIG_TERRAFORM=y |
| 45 | +CONFIG_TERRAFORM_RCLOUD=y |
| 46 | +CONFIG_TERRAFORM_RCLOUD_API_URL="http://localhost:8765" |
| 47 | +# Use nocloud variant to match the base image created by defconfig-rcloud |
| 48 | +# The nocloud variant doesn't have cloud-init and works better for local testing |
| 49 | +CONFIG_TERRAFORM_RCLOUD_BASE_IMAGE="debian-13-nocloud-amd64-daily.raw" |
| 50 | + |
| 51 | +# IMPORTANT: SSH key configuration for rcloud service |
| 52 | +# The rcloud service cannot access files in ~/.ssh/ due to directory permissions. |
| 53 | +# You MUST configure the SSH key path to a location accessible by the rcloud service. |
| 54 | +# Recommended: Store keys in your kdevops directory, for example: |
| 55 | +# CONFIG_TERRAFORM_SSH_CONFIG_PUBKEY_FILE="/path/to/kdevops/kdevops_terraform.pub" |
| 56 | +# The private key path will automatically derive from the public key path (removes .pub suffix). |
| 57 | +# After loading this defconfig, run 'make menuconfig' and update the SSH paths under: |
| 58 | +# "Bring up methods" -> "Terraform ssh configuration" -> "SSH public key file" |
0 commit comments