main.tf 845 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. terraform {
  2. required_providers {
  3. crusoe = {
  4. source = "registry.terraform.io/crusoecloud/crusoe"
  5. }
  6. }
  7. }
  8. locals {
  9. my_ssh_key = file("~/.ssh/id_ed25519.pub")
  10. }
  11. // new VM
  12. resource "crusoe_compute_instance" "vllm_vm" {
  13. name = "vllm-example"
  14. type = "l40s-48gb.8x"
  15. location = "us-southcentral1-a"
  16. # specify the base image
  17. image = "ubuntu22.04-nvidia-slurm:12.4"
  18. disks = [
  19. {
  20. id = crusoe_storage_disk.vllm_data_disk.id
  21. mode = "read-write"
  22. attachment_type = "data"
  23. }
  24. ]
  25. ssh_key = local.my_ssh_key
  26. }
  27. resource "crusoe_storage_disk" "vllm_data_disk" {
  28. name = "vllm-example-disk"
  29. size = "256GiB"
  30. location = "us-southcentral1-a"
  31. }
  32. output "instance_public_ip" {
  33. value = crusoe_compute_instance.vllm_vm.network_interfaces[0].public_ipv4.address
  34. }