Belajar Puppet - Fitur Stabil Terbaru (Puppet 8 & PE 2025)
Episode 20 of 23

Belajar Puppet - Fitur Stabil Terbaru (Puppet 8 & PE 2025)

Menjelajahi versi terkini ekosistem Puppet: apa yang baru di Puppet 8 open source dengan runtime Ruby 3.3 dan encoding UTF-8 bawaan, deprecation terbaru, serta fitur Puppet Enterprise 2025.1 seperti Security Compliance Management dan manajemen node berbasis peran.

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

Pendahuluan

Di episode 19 kalian sudah menguasai sisi operasional: menganalisis performa agent run, men-tuning Puppet Server dari sisi JVM, dan menangani berbagai error umum di lapangan. Keterampilan tersebut tetap relevan lintas versi, tetapi ekosistem Puppet terus bergerak maju — dan versi yang lebih baru membawa perubahan yang wajib kalian pahami.

Menjadi engineer Puppet yang matang bukan hanya soal menguasai versi lama, melainkan juga mengikuti arah perkembangan tooling. Episode ini membahas fitur stabil terbaru di dua jalur distribusi: Puppet 8 open source dengan runtime Ruby 3.3 dan encoding UTF-8 bawaan, serta Puppet Enterprise 2025.1 dengan Security Compliance Management, manajemen node berbasis peran, dan pendekatan compliance yang baru.

Dua Jalur Distribusi

Puppet tersedia dalam dua bentuk utama:

AspekPuppet OSSPuppet Enterprise
LisensiApache 2.0Komersial, gratis hingga 10 node
ManajemenCLI dan fileCLI plus console web
RBACManual melalui fileTerintegrasi, berbasis peran
Console dan reportingTerbatasLengkap, node dan impact analysis
ComplianceManualSCM dan SCE terintegrasi
RilisReguler 8.x2025.x reguler plus 2023.8 LTS

Keduanya berbagi bahasa DSL, agent, dan modul yang sama — kode yang kalian tulis di OSS bisa dipindahkan ke PE tanpa banyak perubahan.

Apa yang Baru di Puppet 8

Puppet 8 adalah rilis open source terbaru dari lini Puppet Platform 8, yang menggantikan Puppet 7. Beberapa perubahan mendasarnya adalah:

Runtime Ruby 3.3 Tanpa Ketergantungan Sistem

Mulai Puppet 8, paket agent dan server membundel Ruby mereka sendiri sehingga tidak lagi bergantung pada Ruby sistem. Versi runtime terus dinaikkan — rilis Puppet 8.8 ke atas sudah diuji terhadap Ruby 3.3. Konsekuensinya, custom facts, types, dan providers yang kalian tulis harus berjalan di runtime baru ini.

Memeriksa versi Ruby bawaan
/opt/puppetlabs/puppet/bin/ruby --version
puppet --version

Note

Karena Ruby kini dibundel, jangan pernah memanggil ruby dari PATH sistem untuk menjalankan kode Puppet. Gunakan selalu path /opt/puppetlabs/puppet/bin/ruby atau perintah yang disediakan Puppet, agar versi runtime sesuai dengan yang diharapkan agent.

Encoding UTF-8 Secara Bawaan

Sebelumnya, encoding default bisa berbeda-beda tergantung locale sistem, yang membuat custom facts atau template bermasalah saat berhadapan dengan karakter non-ASCII. Di Puppet 8, Ruby menggunakan UTF-8 sebagai default external encoding, sehingga pemrosesan string menjadi lebih konsisten di seluruh sistem operasi — termasuk pada Windows yang sebelumnya menggunakan code page tertentu.

Perubahan ini terutama berdampak pada facts dan provider yang melakukan parsing teks. Jika kalian punya custom fact yang memaksa encoding tertentu, sekarang umumnya tidak perlu — namun tetap validasi ulang di lingkungan kalian.

Tooling Modul Modern dan PDK

Pengembangan modul semakin mengarah ke PDK, Puppet Development Kit. Alur kerja modernnya: pdk new module, lalu kelola dependensi lewat Puppetfile dan install dengan r10k atau Code Manager:

Alur kerja modul modern
pdk new module nginx
cd nginx
pdk validate
pdk test unit

Perintah puppet module di Puppet 8 juga telah dirombak untuk memanfaatkan API Forge yang lebih modern, dengan resolusi dependensi yang lebih baik dibanding versi sebelumnya.

Deprecation dan Hal yang Dihapus

Beberapa hal yang perlu diperhatikan saat upgrade ke Puppet 8:

PerubahanDetail
Ruby 2.x tidak didukungWajib Ruby 3.x; runtime dibundel
Encoding WindowsDefault encoding kini UTF-8, bukan code page aktif
Utilitas ENV WindowsMetode Puppet::Util untuk environment variables dihapus
Fungsi dan setting lawasFungsi dan setting yang sudah ditandai deprecated dihapus

Warning

Sebelum upgrade, jalankan puppet apply --noop di lingkungan staging dan baca release notes di puppet.com/docs untuk daftar deprecation yang lengkap. Pastikan juga modul dari Forge mendukung Puppet 8 — cek metadata modul di Forge sebelum menginstal.

Puppet Enterprise 2025.1

Puppet Enterprise 2025.1 adalah contoh rilisan reguler terbaru dari jalur PE 2025.x. Untuk tim yang membutuhkan stabilitas jangka panjang, Puppet juga mempertahankan jalur LTS 2023.8 dengan dukungan lebih lama — dan keduanya tetap dapat dijalankan gratis hingga 10 node.

Security Compliance Management

Salah satu fitur yang paling banyak dibicarakan pada PE 2025.1 adalah Security Compliance Management. Di dalam PE, singkatan SCM mengacu pada kemampuan compliance yang sebelumnya dikenal sebagai Puppet Comply. SCM memindai node yang dikelola PE terhadap CIS Benchmarks, menampilkan status kepatuhan di dashboard, dan menyarankan perbaikan.

SCM tidak hanya menampilkan laporan; ia terintegrasi dengan manajemen peran sehingga tim yang berbeda — misalnya tim platform, tim security, dan tim operasional — mendapatkan visibilitas dan kendali yang sesuai dengan tanggung jawab masing-masing.

Important

Dalam konteks Puppet Enterprise, SCM adalah Security Compliance Management. Untuk menerapkan konfigurasi agar sesuai benchmark secara otomatis, gunakan Security Compliance Enforcement (SCE) — modul premium sce_linux dan sce_windows yang menjalankan Puppet sebagai policy-as-code.

Manajemen Node Berbasis Peran

PE 2025.1 memperkuat cara node dikelompokkan dan diklasifikasikan. Alih-alih menempelkan class satu per satu ke node individual, kalian bisa mendefinisikan peran — kombinasi dari node group, class, dan variabel — lalu menetapkan node ke peran tersebut. Model ini sangat selaras dengan pola Roles/Profiles yang sudah kita pelajari di episode 5:

Contoh peran dengan pola Roles/Profiles
class role::web_server {
  include profile::base
  include profile::nginx
  include profile::app
}

Dengan RBAC yang sudah terintegrasi, pemberian hak akses juga berbasis peran: seorang engineer bisa diberi hak untuk menjalankan orchestration di node group tertentu tanpa diberi akses ke seluruh console.

Compliance dan Patching yang Lebih Modern

PE 2025.1 juga menyatukan beberapa layanan operasional di bawah satu payung yang lebih kohesif:

FiturFungsi
Security Compliance ManagementPemindaian CIS dan dashboard kepatuhan
Security Compliance EnforcementMenerapkan kebijakan CIS/STIG sebagai kode
Continuous DeliveryPipeline deploy kode Puppet dengan impact analysis
Advanced PatchingManajemen patch terotomatisasi untuk node

Bagi tim yang ingin beralih ke model policy-as-code, kombinasi SCM dan SCE memungkinkan kepatuhan diukur dan ditegakkan secara terus-menerus — bukan sekadar checklist audit tahunan.

Langkah Upgrade yang Aman

Baik berpindah dari Puppet 7 ke Puppet 8, maupun dari PE versi lama ke PE 2025.1, ikuti prinsip berikut:

Cek versi sebelum upgrade
puppet --version
puppetserver --version
puppet config print server

Uji secara bertahap: upgrade satu server staging, jalankan agent di beberapa node, lalu amati report dan log. Simpan data hiera dan modul di bawah manajemen versi agar rollback selalu memungkinkan.

Penutup

Pada episode ini kita meninjau perkembangan terkini ekosistem Puppet: Puppet 8 open source dengan runtime Ruby 3.3, encoding UTF-8 bawaan, tooling puppet module dan PDK yang modern, serta daftar deprecation yang perlu diperhatikan saat upgrade. Di sisi enterprise, kita membahas Puppet Enterprise 2025.1 dengan Security Compliance Management, manajemen node berbasis peran, dan model compliance yang lebih modern.

Inti yang harus dibawa pulang:

  • Ketahui jalur distribusi kalian — OSS untuk fleksibilitas, PE untuk kenyamanan operasional dan compliance.
  • Pahami runtime baru — Ruby dibundel dan UTF-8 bawaan memengaruhi custom facts, types, dan providers.
  • Ikuti deprecation — baca release notes sebelum upgrade dan uji modul Forge terhadap versi baru.
  • Adopsi peran, bukan node — model role-based node management selaras dengan pola Roles/Profiles.
  • Jadikan compliance sebagai kode — SCM untuk mengukur, SCE untuk menegakkan.

Di episode 21 selanjutnya, kita akan membahas Production-Ready Architecture — arsitektur Puppet di skala ribuan node: high availability, PuppetDB di atas PostgreSQL, Code Manager, canary environment, hingga monitoring dan backup. Sampai jumpa di episode berikutnya!

Belajar Puppet - Fitur Stabil Terbaru (Puppet 8 & PE 2025) | Belajar Puppet