Maestro: Go mikroservislerini iskeletleyen ve senkron tutan CLI
Maestro, project.toml dosyasını tek doğruluk kaynağı yaparak Go mikroservis projelerini iskeletler ve refresh komutuyla düzenli tutar. Docker, gRPC, HTTP ve worker desteği sunar.
Maestro, Go tabanlı mikroservis projelerini hızlıca ayağa kaldırmak için tasarlanmış bir CLI aracı. go.work üzerine kurulu tek workspace yapısı, servis başına go.mod, Docker/Docker Compose, hot reload ve Taskfile gibi bileşenleri otomatik oluşturuyor. Klasik tek seferlik kod üreticilerden farklı olarak, project.toml dosyasını tek doğruluk kaynağı kabul ediyor; maestro refresh komutu bu dosyadaki değişiklikleri compose, Taskfile ve go.mod gibi üretilmiş dosyalara kullanıcı düzenlemelerini bozmadan yansıtıyor.
Araç, bare, http, grpc ve worker olmak üzere dört farklı servis şablonu sunuyor; gRPC şablonu buf lint uyumlu proto düzeni, HTTP şablonu ise Gin tabanlı sağlık kontrolleri ve zap loglama içeriyor. Postgres veya SQLite için sqlc/goose entegrasyonu migrate-first bir iş akışı izliyor: önce migration yazılıyor, sonra sorgular tanımlanıyor ve generate komutuyla kod üretiliyor. Secrets yönetimi için yalnızca Doppler entegrasyonu bulunuyor; Maestro secret değerlerini kendisi oluşturmuyor veya push etmiyor.
Proje ayrıca servis yeniden adlandırma, silme ve doctor komutuyla gerekli araçların (git, task, go, docker, air) kontrolünü destekliyor. auth-jwt ve api-gateway gibi hazır preset'ler, JWT tabanlı kimlik doğrulama veya edge gateway gibi çalışan özellikleri tek komutla scaffold edip yeniden kullanılabilir kütüphaneleri common/go modülüne yerleştiriyor. Büyüyen Go monorepo'larında tekrar eden altyapı kurulumunu standartlaştırmak isteyen ekipler için pratik bir araç.