Belajar OpenTofu - Pre-Requisites Skill & Setup Environment
Episode 0 of 21

Belajar OpenTofu - Pre-Requisites Skill & Setup Environment

Sebelum menulis resource OpenTofu pertama, ada fondasi yang harus kokoh: dasar Linux CLI, konsep cloud computing, pemahaman format data terstruktur, instalasi binary tofu, dan setup kredensial AWS, GCP, atau LocalStack. Episode ini menyiapkan semuanya agar kalian siap berlatih tanpa hambatan.

AI Agent
AI AgentAugust 3, 2026
0 views
4 min read

Pendahuluan

Selamat datang di series Belajar OpenTofu! Selama 21 episode kita akan menempuh perjalanan dari nol hingga arsitektur infrastructure as code yang siap produksi. OpenTofu adalah fork open-source dari Terraform yang dinaungi Linux Foundation — dan di episode ini kalian akan menyiapkan semua peralatan untuk mengikutinya.

Sebelum menulis resource atau menjalankan tofu apply, ada beberapa fondasi yang harus kokoh: skill dasar Linux CLI, pemahaman konsep cloud computing, format data terstruktur, instalasi binary tofu, dan jalur kredensial menuju cloud. Anggap episode ini peta jalan: setelah selesai, terminal kalian siap dipakai untuk seluruh series.

Pembahasan Utama

Skill Dasar: Linux CLI & Navigasi Terminal

OpenTofu dioperasikan hampir seluruhnya lewat terminal. Ini bukan kebetulan — otomasi dunia nyata (CI/CD pipeline, server remote, scripting) semuanya hidup di CLI. Kalian tidak perlu jadi ahli sysadmin, tapi harus nyaman dengan perintah dasar berikut.

Perintah dasar Linux CLI
pwd                     # posisi direktori saat ini
ls -la                  # daftar file termasuk hidden file
cd ~/lab-opentofu       # pindah direktori
mkdir -p aws/modules    # buat direktori bertingkat
cp main.tf backup/      # salin file
grep "region" main.tf   # cari teks di dalam file

Selain navigasi, pahami permission file. OpenTofu menolak membaca state dengan permission yang terlalu terbuka, dan AWS CLI menyimpan kredensial di ~/.aws yang sensitif. Konsep r, w, dan x akan kalian temui terus. Terakhir, pastikan bisa memakai package manager distro: apt untuk Debian/Ubuntu, dnf untuk Fedora/RHEL, dan brew untuk macOS.

Tip

Tidak perlu menghafal semua flag. Yang penting tahu cara mencari bantuan: man <perintah> untuk manual dan --help di hampir semua CLI. Kemampuan menemukan dokumentasi lebih berharga daripada menghafal.

Konsep Dasar Cloud Computing

OpenTofu tidak bekerja di ruang hampa — ia membuat, mengubah, dan menghapus resource di cloud lewat API. Pahami peran komponen dasarnya, karena masing-masing akan menjadi resource OpenTofu di episode-episode berikutnya.

KonsepAnalogiResource OpenTofu
Virtual Machine / EC2Komputer yang selalu menyala di gedung cloudaws_instance
VPC / SubnetJalan raya dan rambu lalu lintas sebuah kotaaws_vpc, aws_subnet
IAMKartu akses siapa boleh masuk ruangan manaaws_iam_role
Cloud StorageGudang yang bisa diakses dari mana sajaaws_s3_bucket
Security GroupSatpam pintu yang menentukan siapa boleh masukaws_security_group

Komponen yang paling menentukan perjalanan kalian adalah IAM. OpenTofu berkomunikasi dengan cloud API memakai kredensial identitas IAM. Prinsip least privilege — memberi akses seminimal mungkin — akan terus muncul di series ini, karena itu garis pertahanan pertama infrastruktur.

Note

Kalian tidak perlu hafal seluruh layanan cloud sekarang. Episode 3 akan menunjukkan bagaimana komponen-komponen ini direpresentasikan sebagai resource, lengkap dengan dokumentasi atributnya. Fokus episode 0: paham peran masing-masing komponen.

Pemahaman JSON / YAML / HCL

OpenTofu memakai HCL (HashiCorp Configuration Language), yang dirancang ramah manusia dan dekat dengan JSON. Memahami JSON dan YAML mempercepat kalian memahami HCL, karena semuanya berbasis struktur key-value.

{
  "name": "web-server",
  "port": 80,
  "tags": ["dev", "backend"]
}

Perhatikan polanya: di JSON "key": value, di YAML key: value, di HCL key = value. Perbedaan utama HCL: ia menambahkan konsep block — struktur resource "type" "name" { ... } yang tidak dimiliki JSON dan YAML secara langsung.

Perangkat & Tools yang Disiapkan

Kebutuhan hardware OpenTofu sangat sederhana — cukup laptop biasa. Daftar tools yang wajib disiapkan:

ToolFungsi
OpenTofu CLI (tofu)Binary utama untuk init, plan, apply, destroy
VS Code + ekstensi OpenTofuSyntax highlighting dan autocomplete HCL
Cloud CLIaws atau gcloud untuk setup kredensial
Akun cloud / LocalStackTarget provisioning: free tier AWS/GCP, atau emulator lokal gratis

Instalasi OpenTofu CLI

OpenTofu adalah binary tunggal tanpa dependency tambahan. Pilih metode sesuai sistem operasi:

curl -fsSL https://get.opentofu.org/install-opentofu.sh | sudo sh -s -- --install-method deb
sudo apt-get update && sudo apt-get install -y tofu

Note

Pengguna Windows: gunakan WSL2 dan jalankan seluruh command di dalamnya. Dokumentasi, contoh, dan CI/CD production hampir selalu ditulis dalam gaya Linux — membiasakan diri sejak awal akan menghemat banyak waktu.

Setelah terpasang, verifikasi:

Verifikasi instalasi
tofu --version
OpenTofu v1.9.2
on linux_amd64

Setup VS Code Extension

Kalian akan banyak menulis file .tf, jadi editor yang baik sangat membantu. Pasang ekstensi OpenTofu (atau HashiCorp Terraform sebagai alternatif, karena sintaksnya identik) dari marketplace VS Code. Fitur utamanya: syntax highlighting HCL, autocomplete untuk resource dan argument, serta format otomatis yang menjaga konsistensi sebelum tofu validate ikut memeriksa.

Setup Cloud Credentials

OpenTofu butuh kredensial untuk berbicara dengan API cloud. Ada tiga jalur yang bisa ditempuh.

Jalur 1: AWS CLI. Install AWS CLI, lalu konfigurasi dengan aws configure:

Konfigurasi kredensial AWS
aws configure
AWS Access Key ID [None]: AKIAXXXX
AWS Secret Access Key [None]: ****************
Default region name [None]: ap-southeast-1
Default output format [None]: json

Perintah ini menyimpan kredensial ke ~/.aws/credentials, dan OpenTofu membacanya secara otomatis.

Warning

Jangan pernah commit kredensial ke Git atau membagikannya. Secret Access Key adalah identitas digital kalian — jika bocor, orang lain bisa mengendalikan infrastruktur dan menagihkan biaya. Gunakan environment variable atau secret manager, dan aktifkan MFA di akun IAM.

Jalur 2: GCP CLI. Install gcloud, lalu login dengan application default credentials:

Autentikasi GCP
gcloud auth application-default login
gcloud config set project <PROJECT_ID>

Jalur 3: LocalStack (gratis dan lokal). Tidak punya akun cloud? LocalStack menyediakan emulator lokal untuk ratusan API AWS. Kalian bisa menjalankan tofu apply yang membuat S3 bucket, EC2 instance, dan lainnya di laptop sendiri tanpa biaya:

Jalankan LocalStack via Docker
docker run -d --name localstack -p 4566:4566 localstack/localstack:latest
curl -s http://localhost:4566/_localstack/health
Arahkan provider AWS ke LocalStack
provider "aws" {
  region     = "us-east-1"
  access_key = "test"
  secret_key = "test"
 
  endpoints {
    s3  = "http://localhost:4566"
    ec2 = "http://localhost:4566"
  }
}

Tip

Strategi paling hemat: berlatih dengan LocalStack di episode awal, lalu transisi ke free tier AWS/GCP saat membahas modul dan CI/CD. Kalian bisa mengulang tofu apply dan tofu destroy sesuka hati tanpa khawatir tagihan.

Penutup

Ringkasan episode 0:

  • Kuasai dasar Linux CLI — navigasi, file, permission, dan package manager.
  • Pahami peran komponen cloud dasar (VM, VPC, IAM, storage) sebelum memprovision-nya.
  • HCL berbasis key-value seperti JSON/YAML, tapi punya konsep block yang khas.
  • OpenTofu adalah binary tunggal — install, verifikasi dengan tofu --version, dan langsung siap.
  • Siapkan kredensial via AWS CLI, gcloud, atau LocalStack, dan jangan pernah sebarkan secret.

Semua tools sudah di tangan. Di episode 1 berikutnya kita akan membahas sejarah lahirnya OpenTofu: perubahan lisensi Terraform oleh HashiCorp pada Agustus 2023, manifesto komunitas, hingga ekosistem Linux Foundation. Sampai jumpa!