Murat ÖZDEMİR c568e31515 Finalize production database bootstrap automation
Add DB-specific StorageBox ownership variables and make the davfs mount role honor configurable uid and gid values so database containers can access mounted files.

Extend the prod DB node role to sync StorageBox writes, generate and distribute the MongoDB replica set keyfile, wait for the keyfile on each node, and enforce keyfile permissions.

Tune MongoDB and Patroni templates for quieter logging, correct secret variable names, local bootstrap trust, and production network pg_hba coverage.

Refresh the production setup history with the current bootstrap sequence, DB stack deployment workflow, MongoDB replica set initialization, Patroni validation, and completed DB cluster status.
2026-05-21 21:48:11 +03:00

🌍 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.


🧱 Kurulum Akışı (Kanonik Sıra)

Bir ortamı sıfırdan kurarken veya majör bir güncelleme yaparken şu sırayı takip edin:

  1. Analiz: hetzner-sizing-report.md ile kaynak ihtiyacını belirleyin.
  2. Planlama: roadmap/ altındaki ilgili ortam dökümanlarını inceleyerek yapılacak değişiklikleri anlayın.
  3. Hizalama: setup-vs-roadmap-map.md ile hangi setup dökümanlarını kullanacağınızı netleştirin.
  4. Uygulama: setup/ dökümanlarını (00'dan 09'a kadar) sırasıyla takip ederek Terraform ve Ansible süreçlerini işletin.
  5. 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

Description
No description provided
Readme 2.6 MiB
Languages
HCL 83.6%
Jinja 16.4%