Membuat Droplet pada DigitalOcean menggunakan Terraform

Nov 14, 2022 min read

terraform

Yaaa memang bukan suatu hal yang wah, sekali lagi diriku mengingatkan bahwa web ini hanya sekedar catatan biasa oleh Yudi.

Intro

Sebenarnya membuat droplet pada DigitalOcean bisa sekali menggunakan Web UI melalui browser, akan tetapi jika suatu saat kita akan membuat droplet dengan jumlah yang banyak atau bisa dibilang repetitif dan dengan spesifikasi droplet yang sama. Maka butuh banyak klak klik klak klik oleh jari kita untuk bisa mencapai tujuan tersebut.

Oleh karena itu, berbekal ilmu saya yang masih sedikit di catatan saya menambah untuk bagaimana cara membuat droplet menggunakan terraform.

Main

Untuk sekarang saya belum menuliskan cara menggunakan terraform ya. Jadi saya berharap yang membaca tahu dasarnya terlebih dahulu soal terraform, mungkin next catatan boleh lah dibuat basic tentang terraform.

Terraform sendiri membutuhkan file main.tf yang mendefinisikan resources dan hal lain sesuai kebutuhan, dan berikut conton main.tf untuk membuat droplet pada DigitalOcean.

terraform {
  required_version = ">= 1.0.0"

  required_providers {
    digitalocean = {
      source  = "digitalocean/digitalocean"
      version = "~> 2.0"
    }
  }
}

provider "digitalocean" {}

resource "digitalocean_droplet" "terramino" {
  image     = "ubuntu-22-10-x64"
  name      = "Your-Hostname-Droplet"
  region    = "sgp1"
  size      = "s-2vcpu-4gb"
  user_data = file("terramino_app.yaml")
}

nah dari file diatas ada satu file bernama terramino_app.yaml di file tersebut kita bisa mendefinisikan apa yang akan dilakukan setelah droplet dibuat. Contoh.

#cloud-config
groups:
  - ubuntu: [root,sys]
  - your_username

# Add users to the system. Users are added after groups are added.
users:
  - default
  - name: your_username
    gecos: your_username
    shell: /bin/bash
    primary_group: your_username
    sudo: ALL=(ALL:ALL) ALL
    groups: users, admin
    lock_passwd: false
    ssh_authorized_keys:
      - ssh pub key

2 File tersebut adalah basic dari pembuatan droplet, jalankan terraform init untuk inisiasi dan terraform apply untuk membuat droplet pada digitialocean.

Oh iya pada terraform ini kita membutuhkan API_TOKEN dari DigitalOcean untuk bisa berkomunikasi. Genarate token terlebih dahulu pada web DigitalOcean pada menu API dan jalankan perintah export DIGITALOCEAN_ACCESS_TOKEN=your_token. Sebenarnya untuk API_TOKEN bisa ditambahkan pada credentials di file, namun untuk kali ini kita menggunakan cara mendefinisikan pada environment variable.