Belajar Chef - Fitur Stabil Terbaru (19.x & Server 15)
Series/Belajar Chef/Episode 20
Episode 20 of 23

Belajar Chef - Fitur Stabil Terbaru (19.x & Server 15)

Episode ini membahas rilis stabil terkini ekosistem Chef: Infra Client 19 yang dibangun di atas Habitat dengan standard licensing dan Ruby 3.4, helper cloud oci, migrasi dari rilis legacy, serta pembaruan Infra Server 15.10 dengan Valkey, Rack, Erlang/OTP, PostgreSQL 14, dan OpenSearch.

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

Pendahuluan

Di episode 19 kalian belajar menganalisis run dan memecahkan masalah operasional. Sekarang mari berhenti sejenak dari praktik harian dan melihat arah perjalanan produknya sendiri. Ekosistem Chef bergerak cepat: Infra Client 19 dirilis sebagai rilis LTS pada 2026 dengan fondasi yang dirombak, dan Infra Server 15.10 hadir dengan pembaruan keamanan serta komponen baru. Episode 20 memetakan perubahan ini — apa yang baru, mengapa penting, dan bagaimana cara beralih tanpa rasa sakit.

Chef Infra Client 19: Fondasi Habitat

Perubahan paling fundamental di Infra Client 19 adalah cara ia dibangun. Rilis-rilis legacy memakai Omnibus — bundel seluruh runtime (Ruby, librari, ekstensi) dalam satu installer besar. Mulai 19.x, Chef beralih ke Chef Habitat: paket aplikasi yang lebih modular, dengan manifest dependensi yang jelas dan jejak yang bisa diaudit. Konsekuensi praktisnya:

  • Instalasi memakai sistem paket Habitat, bukan omnibus installer tunggal.
  • Setiap dependensi dikelola secara eksplisit, memudahkan verifikasi dan update.
  • Upgrade antar versi menjadi lebih deterministik.

Bagi kalian yang mengelola banyak node, perubahan ini terasa saat upgrade dan rollback: versi yang lebih tua bisa dipertahankan lebih bersih, dan perilaku runtime jauh lebih transparan. Tidak ada lagi misteri "apa isi paket ini" — semuanya termanifestasi.

Important

Sebelum upgrade ke 19.x di produksi, baca release notes di docs.chef.io untuk daftar fitur yang di-deprecate. Beberapa cookbook lama memakai API yang sudah dihapus — jalankan satu node uji lebih dulu dan amati lognya sebelum menyebar ke seluruh node.

Standard Licensing dan Ruby 3.4

Infra Client 19 mengadopsi standard licensing — paket menyertakan file lisensi eksplisit untuk setiap komponen, memudahkan kepatuhan dan audit. Bagi organisasi yang harus mempertanggungjawabkan lisensi dependency, ini adalah peningkatan yang nyata: tidak perlu lagi menebak lisensi librari transitif.

Di sisi runtime, Chef Infra Client 19 berjalan di atas Ruby 3.4. Dampaknya terasa pada keamanan (perbaikan yang sudah lama ditunggu) dan pada sintaks yang bisa dipakai cookbook kalian. Karena cookbook ditulis dalam DSL Ruby, versi Ruby yang lebih baru berarti akses ke fitur bahasa yang lebih modern — sekaligus kewajiban untuk memastikan librari yang dipakai cookbook kompatibel. Periksa hasil uji Test Kitchen (episode 18) di atas client baru ini sebelum menyebar.

Helper Cloud Baru: oci

Chef menyediakan helper untuk mendeteksi lingkungan cloud, seperti ec2? untuk AWS. Di 19.x, helper baru oci? menambahkan dukungan untuk Oracle Cloud Infrastructure. Di dalam cookbook, helper ini bisa dipakai untuk mengambil keputusan berbasis cloud provider:

oci-helper.rb
if oci?
  package 'oci-utils' do
    action :install
  end
end

Pola ini serupa dengan yang sudah kalian kenal di episode 14: cookbook yang sama bisa beradaptasi dengan provider berbeda hanya dengan mengecek helper cloud-nya. oci? membuat dukungan OCI setara dengan AWS, GCP, dan Azure.

Migrasi dari Rilis Legacy

Migrasi dari Infra Client lama (Omnibus) ke 19.x (Habitat) mengikuti lintasan yang bisa diprediksi:

migrate-check.sh
chef-client --version
chef-apply --version
  1. Verifikasi versi yang terpasang dan catat cookbook yang dipakai.
  2. Jalankan chef-client -W (why-run) pada satu node uji di lingkungan staging.
  3. Amati log untuk deprecation warning yang muncul di versi baru.
  4. Perbarui cookbook yang terpengaruh, lalu rambat ke node lainnya.

Mulai ulang selalu lebih aman daripada mempertahankan artefak lama. Jika kalian menjalankan banyak node, dorong bootstrap baru (episode 14) ke image yang sudah memuat 19.x, sehingga node baru lahir dengan fondasi baru sejak awal.

Infra Server 15.10: Pembaruan Komponen

Di sisi server, rilis 15.10.x adalah pembaruan yang berfokus pada keamanan dan modernisasi komponen. Ada beberapa perubahan komponen yang perlu kalian ketahui:

  • Valkey menggantikan KeyDB sebagai datastore in-memory — kelanjutan perjalanan dari Redis ke fork yang lebih transparan.
  • Rack diperbarui untuk menutup celah keamanan pada lapisan aplikasi web.
  • Erlang/OTP ditingkatkan sebagai fondasi runtime server.
  • PostgreSQL 14 menjadi versi database yang didukung.
  • OpenSearch menggantikan Elasticsearch untuk pencarian dan penyimpanan data node.

Perubahan ini sebagian besar bersifat internal, tetapi dampaknya terasa pada stabilitas dan keamanan jangka panjang. Untuk menempatkannya dalam satu gambar, berikut ringkasan perpindahan komponen:

KomponenSebelumnyaPada Server 15.10
Datastore in-memoryKeyDBValkey
Web application layerRack versi lamaRack terbaru
Runtime serverErlang/OTP lamaErlang/OTP baru
DatabasePostgreSQL versi lamaPostgreSQL 14
Pencarian data nodeElasticsearchOpenSearch

Upgrade server harus direncanakan seperti upgrade database — dengan backup penuh dan jendela maintenance.

Proses Upgrade Infra Server

Upgrade Infra Server 15.10 dilakukan lewat chef-server-ctl dengan alur yang sudah distandarkan:

server-upgrade.sh
chef-server-ctl upgrade
chef-server-ctl status
chef-server-ctl test

Jalankan sebelum upgrade: chef-server-ctl backup untuk snapshot penuh, dan pastikan ada ruang disk yang cukup untuk migrasi data (PostgreSQL dan OpenSearch butuh ruang ekstra). chef-server-ctl test setelah upgrade memvalidasi fungsionalitas dasar — panggilannya menelusuri API, autentikasi, dan query data node. Jika organisasi kalian memakai HA (dibahas di episode 9), perbarui node sekunder dalam urutan yang disarankan dan verifikasi replikasi sebelum memutuskan primary.

Warning

Infra Server adalah sumber kebenaran bagi ratusan node. Jangan pernah meng-upgrade tanpa backup yang bisa dipulihkan, dan jangan pernah memulai upgrade di puncak jam kerja — kegagalan setengah jalan pada komponen seperti OpenSearch membutuhkan waktu untuk pulih.

Memverifikasi Versi dan Lingkungan

Sebelum dan sesudah setiap perpindahan versi, biasakan memverifikasi apa yang benar-benar terpasang. Jangan percaya ingatan — perintah verifikasi lebih jujur:

chef-client --version
knife --version

Bandingkan hasilnya dengan release notes terbaru di docs.chef.io. Pada fleck yang besar, lakukan verifikasi secara bertahap: satu node uji, lalu sekelompok kecil, lalu seluruh node. Konsistensi versi di seluruh node adalah prasyarat untuk mendiagnosis masalah — jika versi berbeda-beda, error yang sama bisa tampil berbeda di tiap node dan menyulitkan perbaikan.

Penutup

Episode 20 memetakan arah ekosistem Chef di tahun 2026: Infra Client 19 yang dibangun di atas Habitat dengan standard licensing, Ruby 3.4, helper oci?, dan lintasan migrasi yang jelas; serta Infra Server 15.10 dengan Valkey, Rack, Erlang/OTP, PostgreSQL 14, dan OpenSearch sebagai fondasi yang lebih modern.

Inti yang harus dibawa pulang:

  • Fondasi Habitat mengubah cara Infra Client dibangun dan di-upgrade — manfaatkan determinisme yang dihadirkannya.
  • Migrasi butuh staging — uji 19.x pada satu node dengan why-run sebelum menyebar ke seluruh node.
  • Licensing dan runtime — standard licensing dan Ruby 3.4 memperkuat kepatuhan dan keamanan, tetapi menuntut kompatibilitas cookbook.
  • Upgrade server adalah operasi besar — backup penuh, jendela maintenance, dan verifikasi dengan chef-server-ctl test adalah harga wajib.

Di episode 21 kita akan menyusun semuanya menjadi arsitektur production-ready: Workstation bersama Infra Server high-availability, Policyfile, Automate untuk compliance, alur bootstrap, serta pipeline CI/CD dari Test Kitchen ke InSpec dan Automate. Sampai jumpa!

Belajar Chef - Fitur Stabil Terbaru (19.x & Server 15) | Belajar Chef