{"id":37802,"date":"2026-01-15T19:31:31","date_gmt":"2026-01-15T16:31:31","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/rhel-10-windows-11-uzerinde-bolt-calistirma-ve-bolt-5-0-1deki-yeni-plan_context-fonksiyonu\/"},"modified":"2026-01-15T19:31:31","modified_gmt":"2026-01-15T16:31:31","slug":"rhel-10-windows-11-uzerinde-bolt-calistirma-ve-bolt-5-0-1deki-yeni-plan_context-fonksiyonu","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/rhel-10-windows-11-uzerinde-bolt-calistirma-ve-bolt-5-0-1deki-yeni-plan_context-fonksiyonu\/","title":{"rendered":"RHEL 10\/Windows 11 \u00dczerinde Bolt \u00c7al\u0131\u015ft\u0131rma ve Bolt 5.0.1&#8217;deki Yeni `plan_context` Fonksiyonu"},"content":{"rendered":"<h2>RHEL 10\/Windows 11 \u00dczerinde Bolt \u00c7al\u0131\u015ft\u0131rma ve Bolt 5.0.1&#8217;deki Yeni <code>plan_context<\/code> Fonksiyonu<\/h2>\n<p>G\u00fcn\u00fcm\u00fcz\u00fcn h\u0131zla de\u011fi\u015fen IT altyap\u0131lar\u0131nda, otomasyon ara\u00e7lar\u0131 operasyonel verimlili\u011fin ve tutarl\u0131l\u0131\u011f\u0131n anahtar\u0131 haline gelmi\u015ftir. Puppet taraf\u0131ndan geli\u015ftirilen g\u00fc\u00e7l\u00fc orkestrasyon ve otomasyon arac\u0131 Bolt, sunucu y\u00f6netiminden uygulama da\u011f\u0131t\u0131m\u0131na kadar geni\u015f bir yelpazede g\u00f6revleri kolayla\u015ft\u0131rmaktad\u0131r. Bu makalede, en g\u00fcncel i\u015fletim sistemleri olan RHEL 10 ve Windows 11 \u00fczerinde Bolt&#8217;u nas\u0131l kurup yap\u0131land\u0131raca\u011f\u0131m\u0131z\u0131 ad\u0131m ad\u0131m inceleyecek, ayr\u0131ca Bolt 5.0.1 s\u00fcr\u00fcm\u00fcyle gelen ve plan geli\u015ftiricilere b\u00fcy\u00fck esneklik sa\u011flayan yenilik\u00e7i <code>plan_context<\/code> fonksiyonuna derinlemesine bir bak\u0131\u015f ataca\u011f\u0131z. Bu yeni \u00f6zellik sayesinde otomasyon s\u00fcre\u00e7lerinizi bir \u00fcst seviyeye ta\u015f\u0131yabileceksiniz.<\/p>\n<h3>Bolt Nedir ve Neden \u00d6nemlidir?<\/h3>\n<p>Bolt, Puppet&#8217;in agent&#8217;s\u0131z orkestrasyon arac\u0131d\u0131r. Karma\u015f\u0131k altyap\u0131 g\u00f6revlerini, yaz\u0131l\u0131m da\u011f\u0131t\u0131mlar\u0131n\u0131, sistem yap\u0131land\u0131rmalar\u0131n\u0131 ve hata giderme i\u015flemlerini otomatikle\u015ftirmek i\u00e7in tasarlanm\u0131\u015ft\u0131r. Puppet&#8217;in g\u00fc\u00e7l\u00fc kaynak modelini ve DSL&#8217;ini kullanarak, hedeflere SSH veya WinRM \u00fczerinden ba\u011flan\u0131r ve komutlar\u0131, betikleri veya Puppet g\u00f6revlerini \u00e7al\u0131\u015ft\u0131r\u0131r. Bolt&#8217;un en b\u00fcy\u00fck avantajlar\u0131ndan biri, bir Puppet Master&#8217;a ihtiya\u00e7 duymadan \u00e7al\u0131\u015fabilmesidir, bu da onu h\u0131zl\u0131 ve ge\u00e7ici otomasyon ihtiya\u00e7lar\u0131 i\u00e7in ideal k\u0131lar.<\/p>\n<h4>RHEL 10 ve Windows 11&#8217;in Otomasyon \u0130htiya\u00e7lar\u0131<\/h4>\n<p>Red Hat Enterprise Linux 10 ve Windows 11 gibi modern i\u015fletim sistemleri, g\u00fcncel g\u00fcvenlik standartlar\u0131, performans iyile\u015ftirmeleri ve yeni \u00f6zelliklerle birlikte gelir. Bu platformlarda tutarl\u0131 ve g\u00fcvenilir bir \u015fekilde otomasyon sa\u011flamak, sistem y\u00f6neticileri i\u00e7in kritik \u00f6neme sahiptir. Bolt, hem Linux hem de Windows ortamlar\u0131nda sorunsuz \u00e7al\u0131\u015fabilme yetene\u011fi sayesinde, heterojen altyap\u0131larda merkezi bir otomasyon \u00e7\u00f6z\u00fcm\u00fc sunar.<\/p>\n<h4>Bolt 5.0.1&#8217;in Yenilikleri<\/h4>\n<p>Bolt 5.0.1 s\u00fcr\u00fcm\u00fc, performans iyile\u015ftirmeleri ve hata d\u00fczeltmelerinin yan\u0131 s\u0131ra, \u00f6zellikle plan geli\u015ftiricilerin i\u015fini kolayla\u015ft\u0131racak \u00f6nemli bir yenilik olan <code>plan_context<\/code> fonksiyonunu tan\u0131tt\u0131. Bu fonksiyon, planlar\u0131n y\u00fcr\u00fctme ortam\u0131 hakk\u0131nda daha fazla bilgiye eri\u015fmesini sa\u011flayarak, daha dinamik ve ba\u011flama duyarl\u0131 otomasyon senaryolar\u0131n\u0131n kap\u0131s\u0131n\u0131 aralamaktad\u0131r.<\/p>\n<h3>RHEL 10 \u00dczerinde Bolt Kurulumu ve Yap\u0131land\u0131rmas\u0131<\/h3>\n<p>RHEL 10, kararl\u0131 ve g\u00fcvenli bir Linux da\u011f\u0131t\u0131m\u0131 olarak Bolt i\u00e7in m\u00fckemmel bir platform sunar. Kurulum s\u00fcreci olduk\u00e7a basittir ve birka\u00e7 ad\u0131mla tamamlanabilir.<\/p>\n<h4>\u00d6n Gereksinimler ve Sistem Haz\u0131rl\u0131\u011f\u0131<\/h4>\n<p>Bolt&#8217;u RHEL 10 \u00fczerine kurmadan \u00f6nce, sisteminizin baz\u0131 temel gereksinimleri kar\u015f\u0131lad\u0131\u011f\u0131ndan emin olun:<\/p>\n<ul>\n<li>Minimum 2 GB RAM<\/li>\n<li>Minimum 20 GB disk alan\u0131<\/li>\n<li><code>sudo<\/code> yetkilerine sahip bir kullan\u0131c\u0131<\/li>\n<li>\u0130nternet eri\u015fimi (paket indirmeleri i\u00e7in)<\/li>\n<\/ul>\n<p>Sisteminizi g\u00fcncelleyerek ba\u015flay\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo dnf update -y<\/pre>\n<p><\/code><\/p>\n<h4>Bolt Kurulum Ad\u0131mlar\u0131<\/h4>\n<p>Bolt'u RHEL 10'a kurman\u0131n en kolay yolu, Puppet'in resmi depolar\u0131n\u0131 kullanmakt\u0131r. \u0130lk olarak, Puppet deposunu ekleyin:<\/p>\n<pre><code class=\"language-bash\">sudo dnf install -y https:\/\/yum.puppet.com\/puppet7-release-el-10.noarch.rpm<\/pre>\n<p><\/code><\/p>\n<p>Depo eklendikten sonra Bolt'u kurabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">sudo dnf install -y puppet-bolt<\/pre>\n<p><\/code><\/p>\n<p>Kurulumun ba\u015far\u0131l\u0131 oldu\u011funu do\u011frulamak i\u00e7in Bolt s\u00fcr\u00fcm\u00fcn\u00fc kontrol edin:<\/p>\n<pre><code class=\"language-bash\">bolt --version<\/pre>\n<p><\/code><\/p>\n<h4>\u0130lk Bolt Plan\u0131n\u0131 \u00c7al\u0131\u015ft\u0131rma<\/h4>\n<p>Basit bir plan olu\u015fturarak Bolt'un \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 test edelim. Bir <code>my_plan.pp<\/code> dosyas\u0131 olu\u015fturun:<\/p>\n<pre><code class=\"language-puppet\">plan my_module::my_plan(\n  String $message = 'Merhaba RHEL 10!'\n) {\n  run_task('my_module::echo', $message => $message, _description => 'Echo mesaj\u0131')\n}\n\ntask my_module::echo(String $message) {\n  run_command(\"echo \\\"$message\\\"\")\n}<\/pre>\n<p><\/code><\/p>\n<p>Bu plan\u0131 \u00e7al\u0131\u015ft\u0131rmak i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">bolt plan run my_module::my_plan --targets localhost<\/pre>\n<p><\/code><\/p>\n<h4>SSH Yap\u0131land\u0131rmas\u0131 ve Ba\u011flant\u0131<\/h4>\n<p>Bolt, Linux hedeflerine SSH \u00fczerinden ba\u011flan\u0131r. Hedef makinelerde SSH sunucusunun \u00e7al\u0131\u015ft\u0131\u011f\u0131ndan ve Bolt kullan\u0131c\u0131s\u0131n\u0131n parola veya SSH anahtar\u0131 ile eri\u015fim sa\u011flayabildi\u011finden emin olun. Bolt'un varsay\u0131lan olarak SSH anahtarlar\u0131n\u0131 kullanmas\u0131 \u00f6nerilir. Anahtarlar\u0131n\u0131z\u0131 <code>~\/.ssh\/id_rsa<\/code> konumuna yerle\u015ftirebilir veya <code>bolt.yaml<\/code> dosyas\u0131nda yap\u0131land\u0131rabilirsiniz.<\/p>\n<pre><code class=\"language-yaml\"># bolt.yaml\nssh:\n  host-key-check: false # G\u00fcvenli ortamlar i\u00e7in true olmal\u0131\n  private-key: ~\/.ssh\/id_rsa<\/pre>\n<p><\/code><\/p>\n<h3>Windows 11 \u00dczerinde Bolt Kurulumu ve Yap\u0131land\u0131rmas\u0131<\/h3>\n<p>Windows 11, modern bir masa\u00fcst\u00fc i\u015fletim sistemi olmas\u0131na ra\u011fmen, Bolt ile sunucu otomasyonu g\u00f6revlerini yerine getirmek i\u00e7in g\u00fc\u00e7l\u00fc bir platform olarak kullan\u0131labilir. \u00d6zellikle geli\u015ftirme ve test ortamlar\u0131nda bu kurulum olduk\u00e7a faydal\u0131d\u0131r.<\/p>\n<h4>\u00d6n Gereksinimler ve PowerShell Yap\u0131land\u0131rmas\u0131<\/h4>\n<p>Windows 11 \u00fczerinde Bolt kullanmadan \u00f6nce baz\u0131 \u00f6n gereksinimleri kar\u015f\u0131laman\u0131z gerekir:<\/p>\n<ul>\n<li>PowerShell 5.1 veya daha yeni bir s\u00fcr\u00fcm (Windows 11'de varsay\u0131lan olarak mevcuttur).<\/li>\n<li>WinRM servisi etkinle\u015ftirilmi\u015f olmal\u0131.<\/li>\n<li>Y\u00f6netici yetkilerine sahip bir kullan\u0131c\u0131.<\/li>\n<\/ul>\n<p>WinRM'i yap\u0131land\u0131rmak i\u00e7in y\u00f6netici olarak bir PowerShell penceresi a\u00e7\u0131n ve a\u015fa\u011f\u0131daki komutlar\u0131 \u00e7al\u0131\u015ft\u0131r\u0131n:<\/p>\n<pre><code class=\"language-powershell\">Set-ExecutionPolicy RemoteSigned -Force\nwinrm quickconfig -q\nwinrm set winrm\/config\/client @{AllowUnencrypted=\"true\"} # Test ortamlar\u0131 i\u00e7in, \u00fcretimde HTTPS kullan\u0131n\nwinrm set winrm\/config\/service @{AllowUnencrypted=\"true\"} # Test ortamlar\u0131 i\u00e7in, \u00fcretimde HTTPS kullan\u0131n\nwinrm set winrm\/config\/service\/Auth @{Basic=\"true\"}<\/pre>\n<p><\/code><\/p>\n<p>G\u00fcvenlik nedeniyle \u00fcretim ortamlar\u0131nda HTTPS ve Kerberos kimlik do\u011frulamas\u0131 kullan\u0131lmas\u0131 \u015fiddetle tavsiye edilir.<\/p>\n<h4>Bolt Kurulum Ad\u0131mlar\u0131 (MSI veya Gem)<\/h4>\n<p>Windows 11 \u00fczerinde Bolt kurman\u0131n iki ana yolu vard\u0131r:<\/p>\n<ol>\n<li><strong>MSI Y\u00fckleyici:<\/strong> Puppet'in resmi web sitesinden en son Bolt MSI y\u00fckleyicisini indirin ve standart bir Windows uygulamas\u0131 gibi kurun. Bu, \u00e7o\u011fu kullan\u0131c\u0131 i\u00e7in en kolay y\u00f6ntemdir.<\/li>\n<li><strong>RubyGems ile:<\/strong> E\u011fer Ruby geli\u015ftirme ortam\u0131n\u0131z kuruluysa, RubyGems \u00fczerinden Bolt'u kurabilirsiniz:<\/li>\n<\/ol>\n<pre><code class=\"language-powershell\">gem install puppet-bolt<\/pre>\n<p><\/code><\/p>\n<p>Kurulum sonras\u0131 Bolt'un PATH'e eklendi\u011finden emin olun ve s\u00fcr\u00fcm\u00fcn\u00fc kontrol edin:<\/p>\n<pre><code class=\"language-powershell\">bolt --version<\/pre>\n<p><\/code><\/p>\n<h4>WinRM Yap\u0131land\u0131rmas\u0131 ve G\u00fcvenlik<\/h4>\n<p>Bolt, Windows hedeflerine WinRM \u00fczerinden ba\u011flan\u0131r. <code>bolt.yaml<\/code> dosyas\u0131nda WinRM ba\u011flant\u0131 ayarlar\u0131n\u0131 yap\u0131land\u0131rman\u0131z gerekebilir:<\/p>\n<pre><code class=\"language-yaml\"># bolt.yaml\nwinrm:\n  host-key-check: false # WinRM i\u00e7in genellikle false b\u0131rak\u0131l\u0131r\n  user: Administrator\n  password: 'YourSecurePassword' # \u00dcretimde parola yerine Kerberos veya sertifika kullan\u0131n\n  ssl: false # \u00dcretimde true olmal\u0131 ve sertifika yap\u0131land\u0131r\u0131lmal\u0131<\/pre>\n<p><\/code><\/p>\n<h4>Windows Hedeflere Ba\u011flanma<\/h4>\n<p>Bir Windows hedefe ba\u011flanmak i\u00e7in, envanter dosyan\u0131zda (<code>inventory.yaml<\/code>) hedefi tan\u0131mlay\u0131n:<\/p>\n<pre><code class=\"language-yaml\"># inventory.yaml\ntargets:\n  - name: my_windows_server\n    uri: winrm:\/\/my_windows_server_ip\n    config:\n      winrm:\n        user: Administrator\n        password: 'YourSecurePassword'\n        ssl: false<\/pre>\n<p><\/code><\/p>\n<p>Ard\u0131ndan basit bir komut \u00e7al\u0131\u015ft\u0131rarak ba\u011flant\u0131y\u0131 test edin:<\/p>\n<pre><code class=\"language-bash\">bolt command run 'hostname' --targets my_windows_server<\/pre>\n<p><\/code><\/p>\n<h3>Bolt 5.0.1'deki <code>plan_context<\/code> Fonksiyonuna Derinlemesine Bak\u0131\u015f<\/h3>\n<p>Bolt 5.0.1 ile tan\u0131t\u0131lan <code>plan_context<\/code> fonksiyonu, Bolt planlar\u0131n\u0131n y\u00fcr\u00fct\u00fcld\u00fc\u011f\u00fc ortam hakk\u0131nda daha fazla bilgiye programatik olarak eri\u015fmesini sa\u011flayan g\u00fc\u00e7l\u00fc bir \u00f6zelliktir. Bu, planlar\u0131n\u0131z\u0131 daha dinamik, esnek ve ba\u011flama duyarl\u0131 hale getirmenize olanak tan\u0131r.<\/p>\n<h4><code>plan_context<\/code> Nedir ve Ne \u0130\u015fe Yarar?<\/h4>\n<p><code>plan_context<\/code>, Bolt plan\u0131n\u0131n y\u00fcr\u00fct\u00fcld\u00fc\u011f\u00fc mevcut durumu ve \u00e7evresel bilgileri i\u00e7eren bir hash (anahtar-de\u011fer \u00e7iftleri) d\u00f6nd\u00fcr\u00fcr. Bu bilgiler \u015funlar\u0131 i\u00e7erebilir:<\/p>\n<ul>\n<li>Bolt'un \u00e7al\u0131\u015ft\u0131\u011f\u0131 dizin.<\/li>\n<li>Plan\u0131n \u00e7a\u011fr\u0131ld\u0131\u011f\u0131 komut sat\u0131r\u0131 arg\u00fcmanlar\u0131.<\/li>\n<li>Kullan\u0131lan envanter dosyas\u0131 yolu.<\/li>\n<li>Y\u00fcr\u00fct\u00fclen plan\u0131n ad\u0131.<\/li>\n<li>Bolt yap\u0131land\u0131rma ayarlar\u0131.<\/li>\n<\/ul>\n<p>Bu sayede planlar, harici dosyalara veya komut sat\u0131r\u0131 arg\u00fcmanlar\u0131na daha ak\u0131ll\u0131ca tepki verebilir.<\/p>\n<h4>Geleneksel Plan Geli\u015ftirmedeki S\u0131n\u0131rlamalar<\/h4>\n<p>\u00d6nceki Bolt s\u00fcr\u00fcmlerinde, planlar genellikle sabit parametreler veya basit komut sat\u0131r\u0131 arg\u00fcmanlar\u0131 ile \u00e7al\u0131\u015f\u0131rd\u0131. Bir plan\u0131n, y\u00fcr\u00fct\u00fcld\u00fc\u011f\u00fc dizini bilmesi veya belirli bir envanter dosyas\u0131n\u0131n kullan\u0131l\u0131p kullan\u0131lmad\u0131\u011f\u0131n\u0131 anlamas\u0131 gerekti\u011finde, bu bilgiye do\u011frudan eri\u015fmek zordu veya harici betikler arac\u0131l\u0131\u011f\u0131yla dolayl\u0131 yollardan elde edilmesi gerekiyordu. Bu durum, planlar\u0131n esnekli\u011fini ve yeniden kullan\u0131labilirli\u011fini s\u0131n\u0131rl\u0131yordu.<\/p>\n<h4><code>plan_context<\/code> ile Gelen Esneklik<\/h4>\n<p><code>plan_context<\/code>, bu s\u0131n\u0131rlamalar\u0131 ortadan kald\u0131r\u0131r. Art\u0131k bir plan, \u00f6rne\u011fin, mevcut \u00e7al\u0131\u015fma dizinini \u00f6\u011frenerek bu dizinde bulunan yap\u0131land\u0131rma dosyalar\u0131n\u0131 otomatik olarak okuyabilir veya hangi envanter dosyas\u0131n\u0131n kullan\u0131ld\u0131\u011f\u0131n\u0131 kontrol ederek farkl\u0131 hedeflere g\u00f6re davran\u0131\u015f\u0131n\u0131 de\u011fi\u015ftirebilir. Bu, \u00f6zellikle karma\u015f\u0131k ve \u00e7ok ortaml\u0131 da\u011f\u0131t\u0131mlar i\u00e7in son derece de\u011ferlidir.<\/p>\n<h4><code>plan_context<\/code> Parametreleri ve Kullan\u0131m\u0131<\/h4>\n<p><code>plan_context<\/code> fonksiyonu herhangi bir parametre almaz ve bir hash d\u00f6nd\u00fcr\u00fcr. \u0130\u015fte baz\u0131 \u00f6rnek \u00e7\u0131kt\u0131lar ve nas\u0131l eri\u015filece\u011fi:<\/p>\n<pre><code class=\"language-puppet\">plan my_module::show_context() {\n  $context = plan_context()\n  out::message(\"Plan ba\u011flam\u0131: ${context}\")\n  out::message(\"Mevcut \u00e7al\u0131\u015fma dizini: ${context['cwd']}\")\n  out::message(\"Kullan\u0131lan envanter dosyas\u0131: ${context['inventory_file']}\")\n}<\/pre>\n<p><\/code><\/p>\n<p>Bu plan\u0131 \u00e7al\u0131\u015ft\u0131rd\u0131\u011f\u0131n\u0131zda, Bolt'un \u00e7al\u0131\u015ft\u0131\u011f\u0131 dizin ve kullan\u0131lan envanter dosyas\u0131n\u0131n yolu gibi bilgilere eri\u015febilirsiniz.<\/p>\n<h3><code>plan_context<\/code> Kullan\u0131m Senaryolar\u0131 ve Pratik \u00d6rnekler<\/h3>\n<p><code>plan_context<\/code> fonksiyonu, Bolt planlar\u0131n\u0131 daha ak\u0131ll\u0131 ve adaptif hale getirmek i\u00e7in \u00e7e\u015fitli pratik senaryolarda kullan\u0131labilir.<\/p>\n<h4>Dinamik Envanter Y\u00f6netimi<\/h4>\n<p>Bir plan, <code>plan_context['inventory_file']<\/code> bilgisini kullanarak, belirli bir envanter dosyas\u0131n\u0131n varl\u0131\u011f\u0131na veya i\u00e7eri\u011fine g\u00f6re farkl\u0131 hedeflere y\u00f6nelik i\u015flemler yapabilir. \u00d6rne\u011fin, bir \"geli\u015ftirme\" envanteri kullan\u0131l\u0131yorsa test sunucular\u0131na, \"\u00fcretim\" envanteri kullan\u0131l\u0131yorsa canl\u0131 sunuculara da\u011f\u0131t\u0131m yapabilir.<\/p>\n<pre><code class=\"language-puppet\">plan my_module::dynamic_deploy() {\n  $context = plan_context()\n  $inventory_file = $context['inventory_file']\n\n  if $inventory_file =~ \/dev_inventory.yaml\/ {\n    out::message(\"Geli\u015ftirme ortam\u0131na da\u011f\u0131t\u0131m yap\u0131l\u0131yor...\")\n    run_task('my_module::deploy_dev', targets => get_targets('dev_servers'))\n  } elsif $inventory_file =~ \/prod_inventory.yaml\/ {\n    out::message(\"\u00dcretim ortam\u0131na da\u011f\u0131t\u0131m yap\u0131l\u0131yor... D\u0130KKAT!\")\n    run_task('my_module::deploy_prod', targets => get_targets('prod_servers'))\n  } else {\n    fail(\"Bilinmeyen envanter dosyas\u0131: ${inventory_file}\")\n  }\n}<\/pre>\n<p><\/code><\/p>\n<h4>Ko\u015fullu Plan Y\u00fcr\u00fctme<\/h4>\n<p>Planlar, <code>plan_context['cli_args']<\/code> i\u00e7indeki komut sat\u0131r\u0131 arg\u00fcmanlar\u0131n\u0131 kontrol ederek ko\u015fullu mant\u0131k uygulayabilir. \u00d6rne\u011fin, belirli bir bayrak (flag) ile \u00e7a\u011fr\u0131ld\u0131\u011f\u0131nda farkl\u0131 bir i\u015flem yapabilir.<\/p>\n<pre><code class=\"language-puppet\">plan my_module::conditional_action() {\n  $context = plan_context()\n  $force_flag_present = $context['cli_args'].keys.any |$arg| { $arg == '--force' }\n\n  if $force_flag_present {\n    out::message(\"Zorla i\u015flem yap\u0131l\u0131yor!\")\n    run_task('my_module::force_cleanup', targets => 'all')\n  } else {\n    out::message(\"Normal i\u015flem yap\u0131l\u0131yor.\")\n    run_task('my_module::safe_cleanup', targets => 'all')\n  }\n}<\/pre>\n<p><\/code><\/p>\n<p>Bu plan\u0131 <code>bolt plan run my_module::conditional_action --force<\/code> \u015feklinde \u00e7al\u0131\u015ft\u0131rarak fark\u0131 g\u00f6rebilirsiniz.<\/p>\n<h4>Harici Veri Kaynaklar\u0131 ile Entegrasyon<\/h4>\n<p><code>plan_context['cwd']<\/code> veya <code>plan_context['project_dir']<\/code> gibi bilgilerle, planlar mevcut \u00e7al\u0131\u015fma dizinlerindeki \u00f6zel yap\u0131land\u0131rma dosyalar\u0131n\u0131 (\u00f6rne\u011fin, JSON, YAML) okuyarak davran\u0131\u015flar\u0131n\u0131 dinamik olarak belirleyebilir. Bu, planlar\u0131n\u0131z\u0131 daha mod\u00fcler ve projenize \u00f6zg\u00fc hale getirir.<\/p>\n<h4>\u00d6rnek Kod: Basit Bir <code>plan_context<\/code> Kullan\u0131m\u0131<\/h4>\n<p>A\u015fa\u011f\u0131daki \u00f6rnek, <code>plan_context<\/code> kullanarak Bolt projesinin k\u00f6k dizinini bulur ve bu dizindeki bir yap\u0131land\u0131rma dosyas\u0131n\u0131 okur.<\/p>\n<pre><code class=\"language-puppet\">plan my_module::read_project_config() {\n  $context = plan_context()\n  $project_dir = $context['project_dir']\n  $config_file = \"${project_dir}\/project_config.yaml\"\n\n  if file_exists($config_file) {\n    $config_data = load_yaml_file($config_file)\n    out::message(\"Proje yap\u0131land\u0131rmas\u0131 ba\u015far\u0131yla okundu: ${config_data}\")\n    # Yap\u0131land\u0131rma verilerini kullanarak bir i\u015flem yapabilirsiniz\n  } else {\n    out::message(\"Proje yap\u0131land\u0131rma dosyas\u0131 bulunamad\u0131: ${config_file}\")\n  }\n}<\/pre>\n<p><\/code><\/p>\n<p>Bu plan\u0131 \u00e7al\u0131\u015ft\u0131rmadan \u00f6nce, Bolt projenizin k\u00f6k dizininde (<code>bolt.yaml<\/code>'\u0131n oldu\u011fu yer) <code>project_config.yaml<\/code> ad\u0131nda bir dosya olu\u015fturman\u0131z ve i\u00e7ine \u00f6rnek YAML verileri koyman\u0131z gerekir.<\/p>\n<pre><code class=\"language-yaml\"># project_config.yaml\nenvironment: development\ndatabase:\n  host: localhost\n  port: 5432<\/pre>\n<p><\/code><\/p>\n<h3>Bolt ile Otomasyon \u0130pu\u00e7lar\u0131 ve En \u0130yi Uygulamalar<\/h3>\n<p>Bolt ile verimli ve g\u00fcvenilir otomasyon sa\u011flamak i\u00e7in baz\u0131 en iyi uygulamalar\u0131 takip etmek \u00f6nemlidir.<\/p>\n<h4>Mod\u00fcler Plan Tasar\u0131m\u0131<\/h4>\n<p>Planlar\u0131n\u0131z\u0131 k\u00fc\u00e7\u00fck, yeniden kullan\u0131labilir g\u00f6revlere ve alt planlara b\u00f6l\u00fcn. Bu, kod tekrar\u0131n\u0131 azalt\u0131r, okunabilirli\u011fi art\u0131r\u0131r ve bak\u0131m\u0131 kolayla\u015ft\u0131r\u0131r. Her plan\u0131n veya g\u00f6revin tek bir sorumlulu\u011fu olmal\u0131d\u0131r.<\/p>\n<h4>Hata Y\u00f6netimi ve G\u00fcnl\u00fckleme<\/h4>\n<p>Planlar\u0131n\u0131zda hata yakalama mekanizmalar\u0131n\u0131 (\u00f6rne\u011fin, <code>try\/catch<\/code> bloklar\u0131) kullanarak beklenmedik durumlar\u0131 ele al\u0131n. Ayr\u0131nt\u0131l\u0131 g\u00fcnl\u00fckleme, sorun giderme s\u00fcre\u00e7lerini h\u0131zland\u0131r\u0131r. Bolt'un <code>out::message<\/code>, <code>out::warning<\/code> ve <code>out::error<\/code> fonksiyonlar\u0131n\u0131 etkin bir \u015fekilde kullan\u0131n.<\/p>\n<h4>S\u00fcr\u00fcm Kontrol\u00fc ve \u0130\u015fbirli\u011fi<\/h4>\n<p>T\u00fcm Bolt projelerinizi ve planlar\u0131n\u0131z\u0131 Git gibi bir s\u00fcr\u00fcm kontrol sisteminde saklay\u0131n. Bu, de\u011fi\u015fiklikleri izlemenizi, i\u015fbirli\u011fi yapman\u0131z\u0131 ve gerekti\u011finde \u00f6nceki s\u00fcr\u00fcmlere geri d\u00f6nmenizi sa\u011flar.<\/p>\n<h4>G\u00fcvenlik Hususlar\u0131<\/h4>\n<p>Hassas bilgileri (parolalar, API anahtarlar\u0131) do\u011frudan plan dosyalar\u0131na g\u00f6mmeyin. Bolt'un eyaml veya Hiera gibi g\u00fcvenli veri y\u00f6netim mekanizmalar\u0131n\u0131 kullan\u0131n. WinRM ve SSH ba\u011flant\u0131lar\u0131n\u0131zda m\u00fcmk\u00fcn oldu\u011funca sertifikalar veya anahtar tabanl\u0131 kimlik do\u011frulama kullan\u0131n ve \u015fifrelemeyi etkinle\u015ftirin.<\/p>\n<h3>Sonu\u00e7<\/h3>\n<p>Bu makalede, RHEL 10 ve Windows 11 gibi modern i\u015fletim sistemleri \u00fczerinde Bolt'u nas\u0131l kuraca\u011f\u0131m\u0131z\u0131 ve yap\u0131land\u0131raca\u011f\u0131m\u0131z\u0131 detayl\u0131ca ele ald\u0131k. Ayr\u0131ca, Bolt 5.0.1 ile gelen ve plan geli\u015ftiricilere b\u00fcy\u00fck esneklik sunan <code>plan_context<\/code> fonksiyonunu derinlemesine inceledik. Bu yeni \u00f6zellik sayesinde planlar\u0131n\u0131z\u0131 daha dinamik, ba\u011flama duyarl\u0131 ve ak\u0131ll\u0131 hale getirebilir, otomasyon s\u00fcre\u00e7lerinizi bir \u00fcst seviyeye ta\u015f\u0131yabilirsiniz. Bolt, karma\u015f\u0131k altyap\u0131 y\u00f6netimini basitle\u015ftirme ve operasyonel verimlili\u011fi art\u0131rma potansiyeliyle, g\u00fcn\u00fcm\u00fcz IT profesyonelleri i\u00e7in vazge\u00e7ilmez bir ara\u00e7 olmaya devam edecektir.<\/p>\n<h3>S\u0131k\u00e7a Sorulan Sorular (SSS)<\/h3>\n<h4>Bolt RHEL 10'da tamamen destekleniyor mu?<\/h4>\n<p>Evet, Puppet genellikle yeni RHEL s\u00fcr\u00fcmleri i\u00e7in h\u0131zla destek sunar. RHEL 10 hen\u00fcz genel kullan\u0131ma sunulmam\u0131\u015f olsa da, Puppet'in paket depolar\u0131 ve Bolt'un mimarisi, RHEL'in gelecekteki s\u00fcr\u00fcmleriyle uyumlu olacak \u015fekilde tasarlanm\u0131\u015ft\u0131r. Resmi destek belgelerini kontrol etmek her zaman en iyisidir.<\/p>\n<h4>Windows 11'de Bolt i\u00e7in hangi ba\u011flant\u0131 protokol\u00fc \u00f6nerilir?<\/h4>\n<p>Windows hedefleri i\u00e7in WinRM (Windows Remote Management) \u00f6nerilen ba\u011flant\u0131 protokol\u00fcd\u00fcr. G\u00fcvenlik nedeniyle, WinRM'i HTTPS \u00fczerinden sertifikalarla veya Kerberos kimlik do\u011frulamas\u0131yla yap\u0131land\u0131rmak en iyi uygulamad\u0131r.<\/p>\n<h4><code>plan_context<\/code> fonksiyonu Bolt'un \u00f6nceki s\u00fcr\u00fcmlerinde var m\u0131yd\u0131?<\/h4>\n<p>Hay\u0131r, <code>plan_context<\/code> fonksiyonu Bolt 5.0.1 s\u00fcr\u00fcm\u00fcyle birlikte tan\u0131t\u0131lan yeni bir \u00f6zelliktir. \u00d6nceki s\u00fcr\u00fcmlerde bu fonksiyona eri\u015filemez.<\/p>\n<h4><code>plan_context<\/code> ile envanter dosyas\u0131n\u0131 dinamik olarak de\u011fi\u015ftirebilir miyim?<\/h4>\n<p><code>plan_context<\/code>, mevcut envanter dosyas\u0131n\u0131n yolunu size verir, ancak do\u011frudan plan i\u00e7inden envanter dosyas\u0131n\u0131 de\u011fi\u015ftirmek veya farkl\u0131 bir envanter dosyas\u0131 y\u00fcklemek i\u00e7in tasarlanmam\u0131\u015ft\u0131r. Bunun yerine, mevcut envanter bilgilerine dayanarak plan\u0131n davran\u0131\u015f\u0131n\u0131 ko\u015fullu olarak de\u011fi\u015ftirebilirsiniz.<\/p>\n<h4>Bolt ile Puppet Enterprise aras\u0131ndaki fark nedir?<\/h4>\n<p>Bolt, Puppet'in agent's\u0131z orkestrasyon arac\u0131d\u0131r ve komutlar\u0131, betikleri veya Puppet g\u00f6revlerini do\u011frudan hedeflere \u00e7al\u0131\u015ft\u0131r\u0131r. Puppet Enterprise (PE) ise bir Puppet Master\/Agent mimarisine sahiptir ve s\u00fcrekli yap\u0131land\u0131rma y\u00f6netimi, raporlama, RBAC ve g\u00f6rsel bir UI sunar. Bolt, PE'ye entegre edilebilir ve PE'nin yeteneklerini tamamlay\u0131c\u0131 bir ara\u00e7 olarak kullan\u0131labilir.<\/p>\n","protected":false},"excerpt":{"rendered":"G\u00fcn\u00fcm\u00fcz\u00fcn h\u0131zla de\u011fi\u015fen IT altyap\u0131lar\u0131nda, otomasyon ara\u00e7lar\u0131 operasyonel verimlili\u011fin ve tutarl\u0131l\u0131\u011f\u0131n anahtar\u0131 haline gelmi\u015ftir. Puppet ta&#8230;","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[1],"tags":[],"class_list":{"0":"post-37802","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-genel","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>RHEL 10\/Windows 11 \u00dczerinde Bolt \u00c7al\u0131\u015ft\u0131rma ve Bolt 5.0.1&#039;deki Yeni `plan_context` Fonksiyonu - Kodlar\u0131n Gizemli D\u00fcnyas\u0131<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/rhel-10-windows-11-uzerinde-bolt-calistirma-ve-bolt-5-0-1deki-yeni-plan_context-fonksiyonu\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"RHEL 10\/Windows 11 \u00dczerinde Bolt \u00c7al\u0131\u015ft\u0131rma ve Bolt 5.0.1&#039;deki Yeni `plan_context` Fonksiyonu\" \/>\n<meta property=\"og:description\" content=\"G\u00fcn\u00fcm\u00fcz\u00fcn h\u0131zla de\u011fi\u015fen IT altyap\u0131lar\u0131nda, otomasyon ara\u00e7lar\u0131 operasyonel verimlili\u011fin ve tutarl\u0131l\u0131\u011f\u0131n anahtar\u0131 haline gelmi\u015ftir. Puppet ta...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/rhel-10-windows-11-uzerinde-bolt-calistirma-ve-bolt-5-0-1deki-yeni-plan_context-fonksiyonu\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2026-01-15T16:31:31+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"13 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/rhel-10-windows-11-uzerinde-bolt-calistirma-ve-bolt-5-0-1deki-yeni-plan_context-fonksiyonu\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/rhel-10-windows-11-uzerinde-bolt-calistirma-ve-bolt-5-0-1deki-yeni-plan_context-fonksiyonu\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"RHEL 10\/Windows 11 \u00dczerinde Bolt \u00c7al\u0131\u015ft\u0131rma ve Bolt 5.0.1&#8217;deki Yeni `plan_context` Fonksiyonu\",\"datePublished\":\"2026-01-15T16:31:31+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/rhel-10-windows-11-uzerinde-bolt-calistirma-ve-bolt-5-0-1deki-yeni-plan_context-fonksiyonu\/\"},\"wordCount\":2068,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/rhel-10-windows-11-uzerinde-bolt-calistirma-ve-bolt-5-0-1deki-yeni-plan_context-fonksiyonu\/#respond\"]}],\"copyrightYear\":\"2026\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/rhel-10-windows-11-uzerinde-bolt-calistirma-ve-bolt-5-0-1deki-yeni-plan_context-fonksiyonu\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/rhel-10-windows-11-uzerinde-bolt-calistirma-ve-bolt-5-0-1deki-yeni-plan_context-fonksiyonu\/\",\"name\":\"RHEL 10\/Windows 11 \u00dczerinde Bolt \u00c7al\u0131\u015ft\u0131rma ve Bolt 5.0.1'deki Yeni `plan_context` Fonksiyonu - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2026-01-15T16:31:31+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/rhel-10-windows-11-uzerinde-bolt-calistirma-ve-bolt-5-0-1deki-yeni-plan_context-fonksiyonu\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/rhel-10-windows-11-uzerinde-bolt-calistirma-ve-bolt-5-0-1deki-yeni-plan_context-fonksiyonu\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/rhel-10-windows-11-uzerinde-bolt-calistirma-ve-bolt-5-0-1deki-yeni-plan_context-fonksiyonu\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"RHEL 10\/Windows 11 \u00dczerinde Bolt \u00c7al\u0131\u015ft\u0131rma ve Bolt 5.0.1&#8217;deki Yeni `plan_context` Fonksiyonu\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"RHEL 10\/Windows 11 \u00dczerinde Bolt \u00c7al\u0131\u015ft\u0131rma ve Bolt 5.0.1'deki Yeni `plan_context` Fonksiyonu - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/rhel-10-windows-11-uzerinde-bolt-calistirma-ve-bolt-5-0-1deki-yeni-plan_context-fonksiyonu\/","og_locale":"tr_TR","og_type":"article","og_title":"RHEL 10\/Windows 11 \u00dczerinde Bolt \u00c7al\u0131\u015ft\u0131rma ve Bolt 5.0.1'deki Yeni `plan_context` Fonksiyonu","og_description":"G\u00fcn\u00fcm\u00fcz\u00fcn h\u0131zla de\u011fi\u015fen IT altyap\u0131lar\u0131nda, otomasyon ara\u00e7lar\u0131 operasyonel verimlili\u011fin ve tutarl\u0131l\u0131\u011f\u0131n anahtar\u0131 haline gelmi\u015ftir. Puppet ta...","og_url":"https:\/\/fatihsoysal.com\/blog\/rhel-10-windows-11-uzerinde-bolt-calistirma-ve-bolt-5-0-1deki-yeni-plan_context-fonksiyonu\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2026-01-15T16:31:31+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"13 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/rhel-10-windows-11-uzerinde-bolt-calistirma-ve-bolt-5-0-1deki-yeni-plan_context-fonksiyonu\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/rhel-10-windows-11-uzerinde-bolt-calistirma-ve-bolt-5-0-1deki-yeni-plan_context-fonksiyonu\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"RHEL 10\/Windows 11 \u00dczerinde Bolt \u00c7al\u0131\u015ft\u0131rma ve Bolt 5.0.1&#8217;deki Yeni `plan_context` Fonksiyonu","datePublished":"2026-01-15T16:31:31+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/rhel-10-windows-11-uzerinde-bolt-calistirma-ve-bolt-5-0-1deki-yeni-plan_context-fonksiyonu\/"},"wordCount":2068,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/rhel-10-windows-11-uzerinde-bolt-calistirma-ve-bolt-5-0-1deki-yeni-plan_context-fonksiyonu\/#respond"]}],"copyrightYear":"2026","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/rhel-10-windows-11-uzerinde-bolt-calistirma-ve-bolt-5-0-1deki-yeni-plan_context-fonksiyonu\/","url":"https:\/\/fatihsoysal.com\/blog\/rhel-10-windows-11-uzerinde-bolt-calistirma-ve-bolt-5-0-1deki-yeni-plan_context-fonksiyonu\/","name":"RHEL 10\/Windows 11 \u00dczerinde Bolt \u00c7al\u0131\u015ft\u0131rma ve Bolt 5.0.1'deki Yeni `plan_context` Fonksiyonu - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2026-01-15T16:31:31+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/rhel-10-windows-11-uzerinde-bolt-calistirma-ve-bolt-5-0-1deki-yeni-plan_context-fonksiyonu\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/rhel-10-windows-11-uzerinde-bolt-calistirma-ve-bolt-5-0-1deki-yeni-plan_context-fonksiyonu\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/rhel-10-windows-11-uzerinde-bolt-calistirma-ve-bolt-5-0-1deki-yeni-plan_context-fonksiyonu\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"RHEL 10\/Windows 11 \u00dczerinde Bolt \u00c7al\u0131\u015ft\u0131rma ve Bolt 5.0.1&#8217;deki Yeni `plan_context` Fonksiyonu"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/37802","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=37802"}],"version-history":[{"count":0,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/37802\/revisions"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=37802"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=37802"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=37802"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}