Ana içeriğe geç

Automation Deployment Contract

Bu sayfa, Qapu'nun schedule/job orchestration katmani olan Automation servisinin Docker Swarm uzerindeki deployment contract'ini tanimlar.

Rol

Automation servisi:

  • planli ve periyodik isleri tetikler
  • automations ve automation_runs lifecycle'ini yonetir
  • Communication'a command request uretir
  • delivery truth degil, run lifecycle truth tasir

Benimsenen Model

  • stateless deployment
  • replica ile calisabilir ama scheduler coordination acik dusunulmelidir
  • internal-only service davranisi
  • qapu-app ve qapu-data network uyeligi

Placement

Automation worker node'larda kosar.

Kritik nokta:

  • replica sayisi artarken scheduler tick davranisi deterministic kalmalidir
  • ayni automation kaydinin cift tetiklenmesini onleyecek coordination mekanizmasi deployment contract ile uyumlu olmalidir

Network

Tipik network uyeligi:

  • qapu-app
  • qapu-data

Dis dunyaya dogrudan acilmaz.

Secrets ve Configs

Secrets

  • db credential'lari
  • redis credential'lari
  • kafka credential'lari

Configs

  • scheduler tick araligi
  • job timeout ayarlari
  • retry veya rerun policy tuning'i
  • coordination davranis ayarlari

Health ve Readiness

Automation icin process ayakta olmasi yeterli degildir.

Minimum readiness beklentisi:

  • scheduler config'i yuklenmis olmali
  • run persistence baglami hazir olmali
  • event publish/consume baglami hazir olmali

Update Stratejisi

Onerilen davranis:

  • kontrollu rolling update
  • scheduler coordination'i bozmayacak rollout
  • gerekiyorsa leader-election veya lock mantigi ile uyumlu update stratejisi

Operasyonel Not

Automation deployment contract'indaki temel kritik nokta sudur:

  • deployment topolojisi run lifecycle truth'unu bozup cift tetikleme veya kayip run uretmemelidir