Document and commit the production bootstrap state after the initial Hetzner and Ansible rollout. - switch Ansible prod runbooks to use the shared vault password file - record production admin CIDRs, SSH key path, encrypted group vault, and encrypted per-host vault files - add generated production inventory and the prod setup history notes from the first bootstrap - keep root password login disabled while preserving key-based root access for Ansible bootstrap continuity - document separate Hetzner projects and tokens for test/prod and commit the prod provider lock file - remove the private Redis firewall allowance from the prod Terraform firewall and matching setup docs
🌍 iklim.co Altyapı ve Sunucu Yönetimi
Bu depo, iklim.co projesinin test ve production ortamlarını kurmak, yönetmek ve modernize etmek için gerekli olan Infrastructure-as-Code (IaC) varlıklarını, teknik rehberleri ve operasyonel standartları barındırır.
Altyapı yönetimi; Hetzner Cloud üzerinde Terraform ile kaynak provisioning, Ansible ile işletim sistemi yapılandırması ve Docker Swarm üzerinde mikroservis mimarisinin kurgulanması süreçlerini kapsar.
📂 Depo Yapısı ve Temel Bölümler
Bu depodaki dökümantasyon ve kod varlıkları beş ana kategoriye ayrılmıştır:
1. 🛣️ Roadmap (roadmap/)
Ortamların (test ve prod) sıfırdan kurulması veya mevcut yapının güncellenmesi için gerekli olan iş gereksinimlerini, teknik hedefleri ve adım adım uygulama planlarını içerir.
- Altyapıda yapılacak büyük değişikliklerin (örn: Redis Sentinel geçişi, APISIX konfigürasyonu, RabbitMQ Quorum Queues) stratejik dökümantasyonudur.
- roadmap/test-env/ - Test ortamı gereksinimleri ve planları.
- roadmap/prod-env/ - Üretim ortamı HA (High Availability) ve güvenilirlik planları.
2. 🛠️ Setup (setup/)
Altyapının fiziksel olarak ayağa kaldırılması için kullanılan uygulama dökümanlarıdır. Bu bölüm şunları yönetmek için kullanılır:
- Terraform: Bulut kaynaklarının (Server, Network, Firewall) üretilmesi.
- Ansible: İşletim sistemi hazırlığı, güvenlik sertleştirme (hardening), Docker/Swarm kurulumu.
- CI/CD: Deployment workflow'larının (Gitea Actions) ve stack manifest'lerinin oluşturulması/güncellenmesi.
- Örn: setup/06-prod-terraform-iaac.md, setup/07-prod-ansible-bootstrap.md
3. 🗺️ Setup vs Roadmap Matrisi (setup-vs-roadmap-map.md)
İşterler doğrultusunda hazırlanan Roadmap dökümanları ile bu isterleri teknik olarak hayata geçiren Setup dökümanları arasındaki ilişkiyi açıklar.
- Hangi roadmap adımının hangi setup dökümanı ile uygulandığını gösteren bir eşleşme matrisidir.
- setup-vs-roadmap-map.md dökümanından detaylara ulaşılabilir.
4. 📊 Hetzner Sizing Report (hetzner-sizing-report.md)
İklim altyapı servisleri (API Gateway, Microservices, Databases, Broker) için seçilen Hetzner sunucu tiplerini, CPU/RAM kapasitelerini ve maliyet/performans analizlerini anlatır.
- Ortam kurulumundan önce kapasite planlaması için temel referans noktasıdır.
- hetzner-sizing-report.md dökümanını inceleyin.
5. 💡 Facts (facts/)
Ortam kurulumları tamamlandıktan sonra ortaya çıkan, sistemin o anki gerçek durumunu (source of truth) ve bilinmesi gereken kritik teknik detayları barındıran dökümanlardır.
- "Sistem şu an nasıl çalışıyor?" sorusunun cevabıdır.
- facts/firewall.md: Aktif firewall kuralları ve port matrisi.
- facts/swarm-node-recovery-swag-failover.md: Node düşmesi durumunda manuel müdahale ve recovery prosedürleri.
🧱 Kurulum Akışı (Kanonik Sıra)
Bir ortamı sıfırdan kurarken veya majör bir güncelleme yaparken şu sırayı takip edin:
- Analiz: hetzner-sizing-report.md ile kaynak ihtiyacını belirleyin.
- Planlama:
roadmap/altındaki ilgili ortam dökümanlarını inceleyerek yapılacak değişiklikleri anlayın. - Hizalama: setup-vs-roadmap-map.md ile hangi setup dökümanlarını kullanacağınızı netleştirin.
- Uygulama:
setup/dökümanlarını (00'dan 09'a kadar) sırasıyla takip ederek Terraform ve Ansible süreçlerini işletin. - Doğrulama: Kurulum sonrası sistemin çalışma prensipleri için
facts/dökümanlarını referans alın.
✅ Ön Koşullar ve Araçlar
- Terraform >= 1.6: Altyapı provisioning.
- Ansible: Konfigürasyon yönetimi.
- Hetzner Cloud API Token: Ortam bazlı yetkilendirme.
- SSH Key: Sunucu erişimi için sisteme tanımlı anahtar çifti.
iklim.co Infrastructure Team - 2026