Murat ÖZDEMİR 3641f1a87e feat(infra): Improve StorageBox mounting reliability and directory management
Refactor StorageBox mount logic for greater stability and consistent remounts by utilizing shell commands. Enable `user_allow_other` for davfs2 mounts in `/etc/fuse.conf` and `fstab`, ensuring non-root container access to mounted files.

Standardize SWAG configuration directory provisioning to include specific subdirectories for DNS, proxy, and Certbot files. Streamline local `/opt/iklimco` directory creation on app and db nodes, removing obsolete paths and consolidating relevant service directories.
2026-05-24 16:27:00 +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%