İş akışları
Birbirine bağlanmış ürünler
İnsanların zaten elle yaptığını otomatikleştir.
Okumalardan, kontrollerden, onaylardan ve eylemlerden bir grafik çiz; sonra onu bir zamanlamayla, bir olayla, bir webhook’la ya da bir düğmeyle çalıştır. Her iş akışı kendi kimlik bilgisiyle çalışır; bu yüzden onu yazan kişiden daha öteye asla uzanamaz.
- Düğüm türleri
- 40+
- Şablonlar
- 109
- Tetikleyiciler
- zamanlama · olay · webhook
- Çökmeden sonra
- devam eder
Nasıl çalışır
Bir cümleden ya da bir şablondan, okuyabildiğin bir çalıştırmaya.
Bir şablondan ya da bir cümleden başla
İzleme, olaylar, veritabanları, Kubernetes, depolama, CI/CD ve güvenlik alanlarındaki 109 şablondan birini seç — ya da anlat, Runa grafiği tuvale çizsin; grafik, kaydederken kullanılan doğrulayıcının aynısıyla denetlenir.
Adımları birbirine bağla
Okumalar, koşullar, onaylar, eylemler ve bildirimler; her birinin kendi yeniden denemeleri ve kesin bir süre sınırı var. Gizli anahtarlara adlarıyla başvurulur ve her izde maskelenir.
Disk on {{ nodes.disk.host }} is at {{ nodes.disk.percent }}%. Token: {{ secret "pagerduty" }}
Onu neyin başlatacağını seç
Bir düğme, gerçek bir saat dilimindeki bir zamanlama, bir webhook URL’si ya da bir olay — tetiklenen ya da çözülen bir alarm, ilan edilen bir olay, oluşan bir tespit, başarısız olan bir görev ya da bir bucket’a düşen bir nesne.
Çalışır halde bırakmayı güvenli kılan şey
İnsanlarla aynı kurallara tabi otomasyon.
Kendi kimlik bilgisi
Her iş akışı bir ajan erişimine bağlıdır. Yapabilecekleri, o erişim ile yazarının şu anki izinlerinin kesişimidir.
İnsan onayı
Bir manual.approval adımı, biri onaylayana ya da reddedene kadar çalıştırmayı duraklatır. Planın tamamına verilen onay grafiğin bir hash’ine bağlıdır; bu yüzden her düzenleme onayı yeniden ister.
Baştan değil, kaldığı yerden
Çalıştırmalar kiralanır ve işçisi ölen bir çalıştırma yeniden devralınır. Başarılı adımlar yeniden yüklenir; zaten gönderilmiş bir komut yeniden gönderilmez, sahiplenilir.
Komutlarda korkuluklar
Sunuculardaki kabuk adımları korkuluklardan geçer; onay gerektiren bir sunucu da etkin bir anlık (JIT) erişim izni ister.
Yıkıcı adımlar beyan edilir
Yıkıcı olarak işaretlenen bir adımın yeniden denemesi olmamalı, bir etki alanı notu ve öncesinde bir onay olmalıdır — yoksa iş akışı kaydedilmez.
Yapıştırılan anahtarlar değil, bağlantılar
PagerDuty, Jira ve GitHub eylemleri, kendi sağlayıcın üzerinden e-posta ve Slack, Teams, Discord, Mattermost ya da imzalı bir webhook.
Alt iş akışları ve döngüler
Başka bir iş akışını beş seviye derinliğe kadar çağır ya da bir eşzamanlılık sınırıyla, en fazla elli öğe için öğe başına bir tane çalıştır.
Okuyabildiğin çalıştırmalar
Her çalıştırma; tetikleyicisini, her adımın girdi ve çıktılarını ve bağlı her görevi, daha çalışırken canlı olarak tutar. 30 gün saklanır.
Yaz saatine dayanıklı zamanlamalar
Gerçek IANA saat dilimleri, bir sonraki çalıştırmanın önizlemesi ve kesintiden sonra birikmiş bir kuyruk yerine tek bir telafi çalıştırması.
Düğümler
Tuvale koyabileceğin her şey.
Paletteki gruplar, düzenleyicide göründükleri gibi. Tuvalde renk aileyi belirtir; bir düğümün kenarındaki şerit, onun bir şeyi değiştirdiğini ya da bir kişiyi beklediğini söyler.
| Başlat | trigger — manual, schedule, once, event; ayrıca herhangi birine bir webhook |
| Oku | db.query · kube.get · kube.logs · app.get · docker.logs · host.metrics · host.file_read · rollout.status |
| Çalışma alanı | incident.list · alert.list · detection.list · task.list · activity.search · incident.declare · incident.update · incident.note · alert.resolve |
| Karar ver | condition · switch · transform · assert |
| Uygula | task · server.exec · schedule.create · host.file_write · cloud.provision |
| Depolama | objects.buckets · objects.list · objects.stat · objects.read · objects.write · objects.delete · objects.share · objects.presign_upload |
| Düşün | ai.agent — araç kullanan yapay zekâ adımı; iş akışının kimlik bilgisinin izin verdiğiyle sınırlı |
| Bildir | notify · email.send · http.request · connector.call (PagerDuty, Jira, GitHub) |
| Akış | manual.approval · delay · sub.workflow · foreach |
Sınırlar
Her planın içerdikleri.
| Plan | Ücretsiz | Pro | Team | Enterprise |
|---|---|---|---|---|
| İş akışları | 1 | 20 | 200 | 2.000 |
| Zamanlanmış görevler | 1 | 20 | 200 | 2.000 |
| Ajan erişimleri | — | 2 | 10 | 100 |
Plan, çalıştırmaları değil kaydedilmiş iş akışlarını sayar — çalıştırmalar ölçülmez. Bir grafik en fazla 200 düğüm tutabilir. Fiyat listesinin tamamı.
Sorular
Geceleri çalışmasına izin vermeden önce.
Bir iş akışı, yazarının yapamadığı bir şeyi yapabilir mi?
Hayır. Yazarın şu anki izinleriyle kesiştirilmiş bir ajan erişimi olarak çalışır — yazarın yetkisini düşürürsen iş akışı da o erişimi onunla birlikte kaybeder.
Bir işçi çalıştırmanın ortasında ölürse ne olur?
Çalıştırmayı başka bir işçi devralır. Zaten başarılı olmuş adımlar yeniden çalıştırılmaz; zaten gönderilmiş bir sunucu komutu ya da görev de iki kez gönderilmek yerine sahiplenilir.
Bir webhook nasıl doğrulanır?
URL’sindeki rastgele token ile — URL’ye sahip olan herkes bir çalıştırma başlatabilir, bu yüzden onu bir sır gibi sakla. İstediğin zaman yenilenebilir ya da kaldırılabilir.
Bir şablon etkin olarak mı gelir?
Bir şablon, grafiği doldurulmuş olarak düzenleyicide açılır ve sen kaydedene kadar hiçbir şey kaydedilmez. İhtiyaç duyduğu hedefler, seçmen için işaretlenir.
Çalışma alanının geri kalanı
Aynı fatura, aynı kimlik bilgileri, aynı denetim kaydı.
Elle yapıp durduğun runbook’u otomatikleştir.
Bir şablondan başla ya da anlat, Runa çizsin. Sen kaydedene kadar hiçbir şey çalışmaz.