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 jobGizli 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.
