Sebelum masuk ke OpenBao, ada beberapa skill dasar dan tools yang perlu kalian siapkan, mulai dari pemahaman kriptografi simetris dan asimetris, dasar REST API dan JSON, hingga instalasi OpenBao CLI dan menjalankan server dev mode untuk praktik seluruh series ini.

Selamat datang di series Belajar Secret Management dengan OpenBao! Series ini akan membawa kalian menguasai OpenBao — fork open-source dari HashiCorp Vault yang dikelola komunitas di bawah Linux Foundation — mulai dari konsep secret management dasar hingga arsitektur production-grade. Total ada 21 episode yang membangun pemahaman kalian lapis demi lapis: setup environment, arsitektur dan unsealing, KV secrets engine, dynamic database credentials, transit encryption, PKI, policies, authentication, hingga integrasi Kubernetes, CI/CD, dan high availability.
Tapi sebelum menulis secret pertama, ada beberapa skill dasar dan tools yang wajib kalian siapkan. Mengapa prasyarat ini penting? Karena OpenBao bukan sekadar perintah yang diketik — dia adalah service kriptografi yang berjalan di server, berbicara melalui REST API, dan bergantung pada pemahaman yang benar tentang kunci, enkripsi, dan token. Kalau fondasinya belum siap, error seperti permission denied atau token expired akan terasa seperti teka-teki tanpa ujung.
Episode 0 ini adalah peta jalannya: kita menyiapkan skill dasar, melengkapi tools, lalu menjalankan server OpenBao pertama yang akan kalian pakai sepanjang series.
Secret management adalah disiplin mengelola informasi sensitif — password, API keys, token, dan sertifikat — secara terpusat, aman, dan dengan kontrol akses yang ketat. Tanpa secret management, kredensial biasanya menumpuk di file konfigurasi, environment variables yang di-hardcode, atau chat grup tim — tiga tempat yang paling sering bocor.
OpenBao menjawab masalah ini dengan menyediakan satu titik pusat tempat secrets disimpan terenkripsi, diakses melalui API, dan dikontrol dengan policy. Sepanjang series ini kalian akan melihat bagaimana OpenBao mengelola secrets statis di KV engine, membuat dynamic credentials untuk database, mengenkripsi data dengan transit engine, hingga menerbitkan sertifikat TLS dengan PKI engine.
OpenBao dibangun di atas kriptografi, jadi minimal tiga konsep ini harus kalian pahami:
| Konsep | Cara Kerja | Peran di OpenBao |
|---|---|---|
| Enkripsi simetris | Satu kunci sama untuk enkripsi dan dekripsi | Melindungi data secrets di storage backend |
| Enkripsi asimetris | Sepasang kunci publik-privat | Kunci enkripsi data untuk auto-unseal di cloud KMS |
| Hash / digest | Fungsi satu arah, tidak bisa dibalik | Verifikasi integritas dan pembandingan nilai non-reversible |
Poin yang paling penting: data secret di OpenBao tidak pernah disimpan dalam bentuk plaintext. Sebelum ditulis ke storage, data selalu dibungkus oleh lapisan enkripsi dari barrier. Konsep inilah yang akan kalian dalami di episode 2.
Seluruh interaksi dengan OpenBao, termasuk perintah CLI bao, sebenarnya adalah panggilan HTTP ke REST API. Setiap perintah dipetakan ke endpoint seperti /v1/secret/data/app, dan data dikirim serta diterima dalam format JSON. Kalian tidak perlu menjadi master API untuk mengikuti series ini, tapi memahami bahwa:
X-Vault-Token untuk otorisasi.Hampir semua interaksi dengan OpenBao terjadi lewat terminal. Minimal kalian harus nyaman dengan navigasi direktori (pwd, ls, cd), membaca manual (man), dan menjalankan perintah dengan sudo. CLI bao adalah alat kerja utama series ini — tidak ada tombol klik untuk sebagian besar operasi.
Berikut daftar perangkat lunak yang akan kalian pakai sepanjang series:
| Tools | Fungsi | Keterangan |
|---|---|---|
| Linux server | Tempat menjalankan OpenBao | Rekomendasi: Ubuntu Server 24.04 LTS |
OpenBao CLI (bao) | Tools utama operasi harian | Install via apt, dnf, atau standalone binary |
| OpenBao Server | Service secret management | Dev mode untuk lab, Docker untuk simulasi produksi |
| PostgreSQL | Target dynamic credentials | Dipakai di episode 4 |
| Docker | Menjalankan server produksi | Image openbao/openbao:latest |
| Text editor | Menyunting file konfigurasi | vim atau nano |
curl / jq | Testing REST API | Sangat membantu untuk debugging |
bao)Distribusi berbasis Debian/Ubuntu dapat memakai package manager apt, dan distribusi berbasis Fedora/RHEL memakai dnf:
sudo apt update && sudo apt install openbao -y
sudo dnf install openbao -y
bao versionSetelah terinstall, jalankan bao version untuk memastikan binary sudah tersedia. Series ini memakai OpenBao 2.x, dan seluruh perintah yang dipakai kompatibel dengan versi tersebut.
Jika distribusi kalian belum memiliki package, unduh standalone binary dari halaman release resmi, lalu ekstrak dan pindahkan ke PATH:
wget https://github.com/openbao/openbao/releases/latest/download/openbao_2.x_linux_amd64.zip
unzip openbao_2.x_linux_amd64.zip
sudo mv bao /usr/local/bin/
bao versionUntuk pengguna macOS, Homebrew menyediakan formula resmi:
brew install openbao
bao versionApapun jalur instalasinya, tujuan akhirnya sama: perintah bao tersedia di terminal kalian.
Setelah CLI terinstall, kalian perlu server. Ada dua mode yang akan dipakai sepanjang series.
Dev mode adalah cara tercepat untuk memulai praktik. Server langsung berjalan dengan storage in-memory, sudah unsealed, dan langsung mengembalikan root token di output-nya:
bao server -devPerhatikan output terminal: kalian akan melihat Unseal Key dan Root Token yang dicetak ke layar. Token inilah yang akan dipakai sebagai BAO_TOKEN. Dev mode nyaman untuk belajar, tapi jangan pernah dipakai di produksi — semua data hilang saat proses berhenti.
Untuk mensimulasikan environment produksi, gunakan image resmi openbao/openbao:latest:
services:
openbao:
image: openbao/openbao:latest
command: ["server", "-dev"]
container_name: openbao
environment:
- BAO_DEV_ROOT_TOKEN_ID=root
- BAO_ADDR=http://127.0.0.1:8200
ports:
- "8200:8200"
cap_add:
- IPC_LOCKCLI bao membutuhkan dua variabel lingkungan utama agar bisa berbicara dengan server: alamat server dan token. Sediakan di setiap terminal sesi praktik:
export BAO_ADDR="http://127.0.0.1:8200"
export BAO_TOKEN="s.your-root-token-here"
bao statusBAO_ADDR memberi tahu CLI ke mana harus mengirim request; BAO_TOKEN adalah identitas kalian untuk otorisasi. Jika ingin lebih nyaman, tulis kedua variabel ini di file ~/.bashrc atau ~/.zshrc agar otomatis terisi setiap kali membuka terminal baru.
OpenBao menyediakan antarmuka web untuk melihat dan mengelola secrets secara visual. Setelah server berjalan, buka browser dan arahkan ke http://127.0.0.1:8200/ui:
BAO_TOKEN.Web UI bukan pengganti CLI — banyak operasi lanjutan tetap lebih mudah via terminal — tapi UI sangat membantu untuk memverifikasi hasil praktik dengan cepat.
Sebelum melanjutkan ke episode berikutnya, pastikan seluruh lingkungan sehat:
bao version
bao status
bao secrets list
echo $BAO_ADDRbao status akan menampilkan detail seperti Sealed, HA Enabled, dan versi server. Jika semua perintah di atas berjalan tanpa error, lingkungan kalian sudah siap untuk seluruh series.
Note
Dev mode mencetak root token ke output terminal setiap kali server dijalankan. Simpan token itu di tempat aman selama sesi praktik — tapi ingat, di produksi kita tidak akan pernah menggunakan root token, sebagaimana akan dibahas di episode 2.
Di episode 0 ini kalian sudah menyiapkan pijakan untuk seluruh series: memahami skill dasar kriptografi, REST API, JSON, dan CLI Linux yang menjadi fondasi OpenBao; melengkapi tools yang dibutuhkan seperti bao CLI dan server; serta mengkonfigurasi environment BAO_ADDR dan BAO_TOKEN dengan dev mode dan Docker.
Inti yang harus dibawa pulang:
bao adalah alat utama kalian — pastikan sudah terinstall dan bao status berjalan tanpa error.BAO_ADDR dan BAO_TOKEN — siapkan selalu sebelum memulai.Di episode 1 selanjutnya kita akan membahas sejarah fork OpenBao dari HashiCorp Vault dan manifesto Linux Foundation — mulai dari perubahan lisensi yang memicu perpecahan pada Desember 2023, komitmen 100 persen open source dengan lisensi MPL-2.0, hingga mengapa tim DevOps dunia berbondong-bondong memilih OpenBao sebagai secret management modern. Pastikan bao status sudah hijau, karena petualangan Secret Management baru saja dimulai!