# Post-Processors

<figure><img src="/files/w8Z3Xqc7VcKio8T3ipOY" alt=""><figcaption></figcaption></figure>

#### 1. Post-Processor Nedir?&#x20;

Hatırlarsan; Builder keki pişirdi (makineyi açtı), Provisioner keki süsledi (yazılımları kurdu). Artık elimizde bir Artifact (Ürün) var. Ama bu ürün fırının tezgahında duruyor. Post-Processor devreye girer ve şunları yapar:

* "Bu ürünü kutulayalım mı?" (Sıkıştırma)
* "Müşteriye kargolayalım mı?" (Upload)
* "Üzerine barkod yapıştıralım mı?" (Manifest)

Yani, oluşan Image'ı Deploy edilmeye (dağıtılmaya) hazır hale getirir.

#### 2. Manifest: "Elimizde Ne Var?" Fişi

* Sorun: Packer AWS'de bir Image oluşturdu ve AWS buna rastgele bir isim verdi (örn: `ami-0abcdef12345`). Peki, senin altyapını kuran diğer araç (örneğin Terraform) bu ID'yi nereden bilecek?
* Çözüm: Post-Processor, işlem bitince bir `manifest.json` dosyası oluşturur. İçine "Ben AWS'de şu ID ile, şu tarihte bir Image oluşturdum" diye yazar.
* Otomasyon (CI/CD): Sonraki adımlarda (Pipeline), Terraform gelir bu dosyayı okur ve "Ha, tamam, kullanmam gereken yeni Image buymuş" der. Bu, tam otomasyonun kilit noktasıdır.

#### 3. Dönüştürme ve Arşivleme

Bazen ürettiğin Image ham haldedir ve onu işlemen gerekir:

* Format Değiştirme: Örneğin VMware için bir Image yaptın ama bunu geliştiricilerin kendi bilgisayarlarında (Vagrant ile) kullanmasını istiyorsun. Post-Processor bunu alır, bir "Vagrant Box" formatına çevirir.
* Sıkıştırma (Compress): Dosya çok büyükse zipler/sıkıştırır.
* Upload: Dosyayı senin bilgisayarından veya Build sunucusundan alır; şirketin ortak deposuna (Artifactory) veya Bulut depolama alanına (S3, Azure Blob) yükler.

#### 4. İş Akışındaki Yeri

Packer konfigürasyon dosyasında (HCL2) sıra her zaman şöyledir:

1. Build: (İnşaat)
2. Provision: (İç Dekorasyon)
3. Post-Process: (Paketleme ve Sevkiyat)

Dosya tanımlayıcı (File descriptor) sınırı uyarısı ise şudur: Eğer aynı anda yüzlerce kutuyu paketlemeye çalışırsan (çok fazla Post-Processor çalıştırırsan), işletim sistemi "Yeter artık, elim kalmadı" diyebilir. Ancak başlangıç seviyesinde buna takılman çok düşük ihtimaldir.

***

Özetle: Post-Processor, oluşan teknik çıktıyı (Image/Artifact), diğer insanların veya diğer yazılımların kullanabileceği, düzenli ve erişilebilir bir hale getiren "Teslimat" sürecidir. Ürünü raftaki yerine koyan son adımdır.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://note.onurbolatoglu.com/packer/post-processors.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
