İçeriğe geç

Mimari

podmaker, bir control plane artı deklaratif bir planı çalışan altyapıya çeviren ve onu reconcile eden bir dizi odaklı servistir.

Büyük resim

podmakerctl (CLI) Tarayıcı (panel)
│ │
▼ ▼
┌───────────────────────── Control plane ─────────────────────────┐
│ workspace · IAM · plan · release · audit · vault connection │
└───────┬───────────────────────┬───────────────────────┬─────────┘
│ │ │
▼ ▼ ▼
topology-planner vault-broker event-bridge (NATS↔SSE)
│ │ │
▼ ▼ ▼
cloud-broker vault-bridge-agent metrics-consumer
(her bulut) (senin secret manager) (ClickHouse)

Control plane

Control plane kayıt sistemidir: workspace’ler, kimlik, planlar, release’ler, audit log ve vault-connection referansları. Panel UI’ı ve podmakerctl’in konuştuğu Bearer-authed API’ı sunar; gerçek işi yapan workflow’ları tetikler.

Planlama ve provisioning

  • topology-planner ayrıştırılmış bir planı deterministik bir aksiyon listesine çevirir ve her aksiyonu doğru controller’a dağıtır.
  • cloud-broker, control-plane isteklerini provider adaptörlerine çeviren stateless bir çeviricidir (Hetzner, DigitalOcean, AWS, Azure, GCP — ve mevcut sunucular için BYO-SSH). Keşif ve provisioning’i halleder.
  • Controller’lar her biri bir node tipini reconcile eder:
    • db-controller — veritabanları (primary/replica replikasyon)
    • lb-controller — topoloji edge’lerinden render edilen nginx load balancer
    • cache-controller — Redis (replica’lar için Sentinel ile)
    • mesh-controller — node’lar arası WireGuard özel mesh

Agent fabric

Her sunucu, ilk açılışta dahili bir CA (step-ca) ile enroll olan ve bölgesel bir agent-gateway’e mTLS üzerinden bağlanan bir agent çalıştırır. Agent, heartbeat’lerle sağlık ve metrik raporlar ve aynı kanaldan geri gönderilen komutları çalıştırır. Install, deploy ve config değişiklikleri her makineye böyle ulaşır.

Secret’lar

  • vault-broker meta-cluster vault’una karşı kapsamlı, tam-zamanında lease’ler üretir ve cubbyhole içine sarar.
  • vault-bridge-agent kendi ağında çalışır ve kendi secret manager’ına workspace başına izole proxy yapar.

Tam akış için Vault & Secrets.

Event ve metrik

  • event-bridge NATS’i SSE’ye köprüler — panel canlı release ve log stream’i gösterir.
  • metrics-consumer metrik stream’ini dayanıklı okur ve örnekleri ClickHouse’a batch’ler.

Köken

podmaker, tüm site-barındırma deneyimini — siteler, veritabanları, deploy’lar, pipeline’lar, backup’lar — tek bir Go binary’sinden, tek bir Postgres veritabanıyla çalıştıran tek-binary bir panel (cmd/podmaker) olarak başladı. Yukarıdaki çok-servisli control plane, bu çekirdeğin çok-kiracılı, multi-cloud evrimidir.