ไฟล์ Cloud-init เป็นรหัสบูตสแตรปซึ่งทำงานก่อนการเริ่มต้นแต่ละครั้งและสามารถแก้ไขไฟล์ตั้งค่าบริการสร้างผู้ใช้เป็นต้น
หยดบางประเภทไม่สนับสนุนฟังก์ชันการทำงานทั้งหมดของ cloud-init ตัวอย่างเช่น CoreOS ใช้การใช้งานของตัวเองโดยมีค่าที่ถูกต้องบางส่วน
หากต้องการใช้สิ่งนี้ใน terraform เพียงระบุไฟล์ cloud-init ระหว่างการสร้าง droplet:
main.tf:
resource "digitalocean_droplet" "web" {
  image              = "coreos-stable"
  name               = "web"
  region             = "lon1"
  size               = "2gb"
  private_networking = true
  ssh_keys           = ["${digitalocean_ssh_key.dodemo.id}"]
  user_data          = "${file("web.conf")}"
}
web.conf:
#cloud-config
coreos:
  units:
    - name: "etcd2.service"
      command: "start"
    - name: "fleet.service"
      command: "start"
ตัวอย่างนี้จะสร้าง droplet โดยที่ CoreOS จะรัน etcd2 และกลุ่มยานพาหนะในระหว่างการเริ่มต้น
คุณสามารถหาตัวอย่างเพิ่มเติมได้ในที่เก็บนี้ซึ่งฉันแสดงวิธีใช้ตัวเลือกการกำหนดค่าเหล่านี้เพื่อตั้งค่าบริการพื้นฐานนักเทียบท่าอย่างง่าย ๆ บน CoreOS