← Tüm yazılar

Rehber5 dk okuma

onscalable.yaml ile altyapıyı kod olarak yönet

Servisleri, veritabanlarını ve ortam değişkenlerini depondaki tek bir dosyada tanımla; her push’ta senkronize olsun.

Panelden tıklayarak kurduğun bir yapıyı başka bir ortamda tekrar kurmak zordur. Blueprint ile tüm yapıyı depo kökündeki onscalable.yaml dosyasında tanımlarsın; OnScalable dosyayı okuyup çalışma alanında kaynakları oluşturur ya da günceller.

Örnek

version: 1

databases:
  - name: main-db
    plan: starter
    version: "17"

keyValues:
  - name: cache
    plan: starter
    maxmemoryPolicy: allkeys-lru

services:
  - type: web
    name: api
    runtime: native
    buildCommand: npm ci && npm run build
    startCommand: npm start
    healthCheckPath: /healthz
    plan: starter
    numInstances: 2
    envVars:
      - key: DATABASE_URL
        fromDatabase:
          name: main-db
          property: connectionString
      - key: REDIS_URL
        fromKeyValue:
          name: cache
          property: connectionString
      - key: SESSION_SECRET
        generateValue: true
      - key: STRIPE_KEY
        sync: false

  - type: cron
    name: nightly
    schedule: "0 3 * * *"
    buildCommand: npm ci
    startCommand: npm run job

Gizli değerler dosyaya girmez

  • generateValue: true ilk oluşturmada rastgele bir değer üretir; sonraki senkronizasyonlar onu korur.
  • sync: false değeri dosyaya yazmadan anahtarı tanımlar; değeri panelden girersin.

Nasıl davranır

  • Kaynaklar adlarıyla eşleşir. Blueprint’e ait olmayan aynı adlı bir kaynak sahiplenilmez; senkronizasyon o kaynak için hata verir.
  • Dosyadan çıkardığın bir kaynak silinmez, yalnızca Blueprint yönetiminden çıkar.
  • Yalnızca dosyada tanımlı ortam değişkenleri yönetilir; panelden eklediklerine dokunulmaz.
  • autoSync açıkken push geldiğinde önce yapılandırma uygulanır, sonra servisler aynı commit’ten tek bir deploy alır. Yeni ortam değişkenleri bu deploy’da görülür.

Blueprint’i panelde Blueprint sekmesinden oluşturabilirsin. Kaydetmeden önce önizleme, hangi kaynakların oluşturulacağını ve değişeceğini gösterir.