Railshot
AI deployment & operations platform
Yerelde geliştirilen bir web uygulamasını hazır bulut ve şirket içi ortamlara dağıtmak, sonra işletmek.
Yerelde geliştirilen bir web uygulamasını hazır bulut ya da şirket içi ortamlara taşıyan ve işletmeyi sürdüren bir yapay zekâ dağıtım ve operasyon platformu.
Railshot vocabulary
- intake
- checks
- repair
- publish
- rollout
- route
- probe
- source commit
- digest
- binding
- unknown
- resume
- observation
Intake: deploy_repository · deploy_local_project · OAUTH MCP · Idempotency-Key · IDEMPOTENCY_CONFLICT · 202 ACCEPTED · EXECUTOR_BUSY · CAPACITY_EXCEEDED · maxConcurrentDeployments · workflow_dispatch · TARGET ALLOWLIST · reconciliation_required · CI_DISPATCH_UNCONFIRMEDChecks: package.policy · package.spec · source.quality · image.build · image.runtime · image.scan · GATE_ORDER · verdict.json · release_eligible · GATE VERDICT · SECRET SCAN · --cap-drop=ALL · source_change_allowed · verify_imagesAI Repair: GATE VERDICT · FIXABLE · give_up · PROMPT INJECTION · FAILURE SIGNATURE · REPAIR_SCOPE · MAX_REPAIR_ATTEMPTS · claude-agent-sdk · openai-codex · fixer · lessons.md · source_change_allowed · SDK_OUTCOME_UNKNOWNPublish: release_eligible · GHCR · images.json · EXACT TESTED BUNDLE · GITHUB-HOSTED RELEASE · published · publication_unverified · MANIFEST INSPECT · REGISTRY_VISIBILITY · publish-journal · railshot-release · containerd-snapshotter · images.tar · handoff.jsonRollout: bridge.py · workload.json · CONFIG GIT · pushing · REMOTE READBACK · ARGO CD · Synced · Healthy · targetRevision · sync_requested · NO PRUNE, NO FORCE · NetworkPolicy · readinessProbe · observed_images · NEVER BLINDLY RETRYPublic Route: routing · SHARED ALB · aws_lb_listener_rule · aws_lb_target_group · aws_route53_record · NodePort · LISTENER OWNERSHIP · GCP_ROUTE_APPLY_TIMEOUT · GCP_CERTIFICATE_DNS_FAILED · WireGuardHealth Probe: public_probe · site_probe · railshot-health/1 · NO PROXY, NO REDIRECT · expected_json · HTTPS 200 · verified_at · public_http · health_path · readinessProbe · probe_successSource Commit: workflow_dispatch · targetRevision · Railshot-Request · Railshot-Target · source_commit · source_parent · force: false · source_digest · snapshot.json · GITHUB_SHA · PLATFORM_REF · harness_sha256 · SUBMITTED SOURCE CHANGED · source_preparedImage Digest: GHCR · images.json · MANIFEST INSPECT · source_digest · IMMUTABLE GHCR DIGEST · images_sha256 · observed_images · PULL BY DIGEST · imagePullSecrets · containerd-snapshotter · RESUME_PUBLICATION_CHANGED · verify_images · images.tarRun Binding: Idempotency-Key · published · Railshot-Request · Railshot-Target · handoff.json · producer_attempt · bundle_artifact_id · run_id · state.bindings · CI_BINDING_MISMATCH · DEPLOYMENT BINDING CONFLICT · config_sha256 · TARGET ALLOWLIST · registered_applicationUnknown Outcome: publication_unverified · pushing · GCP_ROUTE_APPLY_TIMEOUT · outcome_unknown · CD_RECONCILE_REQUIRED · reconciliation_required · CD_OUTCOME_UNKNOWN · SDK_OUTCOME_UNKNOWN · unknown_timeout · CI_DISPATCH_UNCONFIRMED · NEVER BLINDLY RETRY · after_reconcile · reconcile_remote · CI_DISPATCH_NOT_IDENTIFIED · READ-ONLY OBSERVEResume: publish-journal · source_parent · RESUME_PUBLICATION_CHANGED · --resume · state.sqlite3 · resumePrepared · findDeployment · recoverDispatch · source_prepared · CI_DISPATCH_NOT_IDENTIFIED · resume_count · SAME WORKFLOW RUN · INTERRUPTEDObservation: observationRetry · next_retry_at · consecutive_failures · no_data · stale · collection_failed · NOT A SUCCESS GATE · probe_success · PROMETHEUS · BLACKBOX EXPORTER · READ-ONLY OBSERVE
Web ekranı ve kişisel ajan, dağıtımı aynı ürün API'si üzerinden ister.
Kabul edilen bir dağıtım isteğinden CI kontrolleri ve image yayımına, oradan kayıtlı bir hedefte Git yapılandırması ve Argo CD yayılımına ve herkese açık HTTPS doğrulamasına uzanan ürün. Başarı yalnızca hem uygulanmış bir revision hem de herkese açık bir kontrol varsa kaydedilir; bilinemeyen bir sonuç unknown olarak kalır.
Bir proje web ekranından ya da MCP ile bağlanan kişisel bir yapay zekâ ajanından gönderilir; platform dağıtım dosyalarının hazırlanmasından hata onarımına, image yayımlamaya, ortama yayılıma ve herkese açık URL doğrulamasına kadar ilerler. Dağıtımdan sonra aynı ekran geçmişi ve günlükleri gösterir; güncelleme, durdurma, sürdürme ve silmeyi yönetir. Bir ekip projesi.
Etkinlik geliştirme dönemi September 28, 2026 to October 4, 2026
Hackathon sırasında yapılan web ekranı ve MCP sunucusu. Uzak MCP göndermek için OAuth ile oturum açar; yerel klasörler yerel MCP üzerinden gönderilir.
Gönder → kabul
Web ekranı, uzak MCP ve yerel MCP aynı ürün API'sini çağırır; API kontrol edilmiş bir isteği queued olarak kaydeder ve 202 yanıtı verir.
Tarayıcı kullanıcısıveri: klasör · ZIP · GitHub URLweb ekranı · geçmiş · Insights
apps/dashboardKaynak ve kayıtlı bir ortam web ekranında seçilir.
web ekranı · geçmiş · Insights
apps/dashboardveri: aynı ürün API'si · /api/v1doğrulama · hedef · 202 kabulapps/apiWeb ekranı ürün API'sini aynı kökenden çağırır.
MCP istemcisiveri: OAuth · deploy_repositoryOAuth MCP · deploy_repository
agent/remote-mcp.jsUzak MCP OAuth ile bağlanır ve girdi olarak herkese açık bir GitHub deposu alır.
OAuth MCP · deploy_repository
agent/remote-mcp.jsveri: aynı ürün API'sidoğrulama · hedef · 202 kabulapps/apiUzak MCP sunucusu aynı dağıtım API'sini kendi iç API istemcisiyle çağırır.
railshot-local MCPveri: ZIP yükleme · deploy_local_projectdoğrulama · hedef · 202 kabul
apps/apiKullanıcının bilgisayarındaki stdio MCP bir klasörü ZIP'leyip yükler. Oturumu uzak OAuth oturumuyla paylaşılmaz.
doğrulama · hedef · 202 kabul
apps/apiveri: queued kaydedildi · 202operation durumu · run bağlamaapi/product-store.jsGirdi, kayıtlı hedef, kapasite ve idempotency anahtarı kontrol edilir; operation queued olarak kaydedilir ve 202 ile yanıtlanır. 202 kabul anlamına gelir, dağıtıldı anlamına gelmez.
operation durumu · run bağlama
api/product-store.jsveri: kuyruk sırasıdağıtım kuyruğu · aynı anda 3apps/apiEşzamanlı dağıtım sınırı (varsayılan 3) içinde kabul sırasına göre alınır.
operation durumu · run bağlama
api/product-store.jsgözlem: dağıtım durumu · geçmişweb ekranı · geçmiş · Insightsapps/dashboardWeb ekranı ve MCP araçları aynı operation kayıtlarını okur. Son deneme ile güncel doğrulanmış dağıtım ayrı gösterilir; tamamlanmış bir yapay zekâ görevi dağıtım başarısı değildir.
CI kontrolleri → image yayını
Sabitlenmiş platform kodu gönderilen commit'i kontrol eder, yalnızca düzeltilebilir hataları yapay zekâya devreder ve yalnızca aynı kontrollerden yeniden geçen image'ları yayımlar.
dağıtım kuyruğu · aynı anda 3
apps/apiveri: source commitkaynak commit · trailer'larapps/<tenant>/<app>Gönderilen kaynak, özel apps deposunda bir commit'e dönüşür (Railshot-Request ve Railshot-Target trailer'larıyla) ve dal force olmadan güncellenir.
dağıtım kuyruğu · aynı anda 3
apps/apiçalıştırma · uygulama: workflow_dispatchloop · temel kontroller L0–L3railshot-deploy.ymltenant, app, source_commit ve target_id ile bir çalıştırma ister. Yanıt kaybolursa yeniden gönderilmez; bunun yerine aynı commit'in çalıştırmaları aranır.
kaynak commit · trailer'lar
apps/<tenant>/<app>veri: gönderilen commitloop · temel kontroller L0–L3railshot-deploy.ymlYalnızca gönderilen commit ve sabitlenmiş platform kodu (PLATFORM_REF) checkout edilir.
SDK onarımı · yalnızca düzeltilebilir hatalar
railshot-deploy.ymlveri: onarım isteği · koşulluAI SDK providerYalnızca düzeltilebilir hata sınıflarında çağrılır; aynı hata tekrarlandığında ya da deneme sınırına ulaşıldığında durdurulur. Geçti ya da kaldı kararını LLM değil, kontroller verir.
release · GHCR yayını · bağlama
railshot-deploy.ymlveri: kontrol edilmiş image'ları yayımlaGHCRKontrollerden geçen bundle doğrulandıktan sonra aynı image'lar GHCR'a yayımlanır. Hiçbir şey yeniden derlenmez.
CI çalıştırması bağlama · gözlem
apps/apigözlem: çalıştırma · yayın okumarailshot-deploy.ymlBir yayın, ancak run id, source commit, target ve app kabul edilen kayıtla eşleştiğinde sayılır.
CI çalıştırması bağlama · gözlem
apps/apihata · bilinmeyen sonuç: failed · publication_unverifiedoperation durumu · run bağlamaapi/product-store.jsBir CI hatası ya da doğrulanmamış bir yayın tanılamalarla kaydedilir ve CD'ye aktarılmaz.
Uygula → herkese açık kontrol
Yalnızca yayın kayıtlı hedefle eşleştiğinde config Git ve Argo CD üzerinden uygular; başarıyı ancak kayıtlı herkese açık HTTPS adresi kontrolden geçtikten sonra kaydeder.
release · GHCR yayını · bağlama
railshot-deploy.ymlveri: images.json · spec · verdict · manifestcd.js · deployPublishedapps/apiCD, yayın kaydının dosyalarını güvenilir bir loader ile okur. CI'ın kendisi hiçbir küme kaynağı, URL ya da dağıtım başarısı oluşturmaz.
cd.js · deployPublished
apps/apiçalıştırma · uygulama: apply · kayıtlı hedefgüvenilir config · kayıtlı hedefgitops/bridge.pygitops/bridge.py'ı güvenilir config ile yalnızca kayıtlı app ve tenant yayın kaydıyla eşleştiğinde çalıştırır.
commit · push · uzaktan geri okuma
gitops/bridge.pyveri: workload commit · pushConfig Git deposuAyrılmış bir dalın kayıtlı yoluna yalnızca workload.json'u commit'ler, önce push niyetini kaydeder, push eder ve uzak revision'ı geri okur. Belirsiz bir push tekrarlanmaz.
Config Git deposuveri: revisionApplication · AppProject kontrolü
Argo CDArgo CD Application'ın işaret ettiği config deposu revision'ı.
Argo sync · gözlem
gitops/bridge.pyçalıştırma · uygulama: sync · gözlemApplication · AppProject kontrolüArgo CDAppProject'i kontrol ettikten sonra sync ister; gözlem sync olmadan yalnızca okur.
Application · AppProject kontrolü
Argo CDçalıştırma · uygulama: uygulaworkload · ServiceK3s uygulama kümesiWorkload'u kayıtlı hedef kümeye uygular.
workload · Service
K3s uygulama kümesiveri: image pull · digestGHCRYayımlanan digest'i çeker. Özel bir GHCR için ayrılmış bir pull kimlik bilgisi gerekir.
herkese açık HTTPS probe'u
gitops/bridge.pygözlem: HTTPS healthHerkese açık HTTPS URL'siYalnızca operatörün kaydettiği HTTPS health adresini, yönlendirme olmadan, 200 (ve ayarlanmışsa beklenen JSON) için kontrol eder.
Herkese açık HTTPS URL'siveri: herkese açık yolworkload · Service
K3s uygulama kümesiHerkese açık yol (LB, NodePort, sertifika) sağlayıcıya ve kayıtlı hedefe göre değişir.
cd.js · deployPublished
apps/apiveri: succeeded · revision · URLoperation durumu · run bağlamaapi/product-store.jsYalnızca cd.deployed, bir revision, başarılı bir herkese açık HTTPS kontrolü, zamanı ve geçerli bir URL varsa succeeded olarak kaydedilir.
cd.js · deployPublished
apps/apihata · bilinmeyen sonuç: unknown · mutabakat gereklioperation durumu · run bağlamaapi/product-store.jsBilinemeyen bir sonuç unknown olarak kalır; aynı apply ne yeniden gönderilir ne de geri alınır.
Gözlem · hüküm değil
Metrikler ve probe'lar dağıtım başarısına karar vermez. Eksik, eski ve başarısız değerler olduğu gibi gösterilir.
metrics observer
apps/apigözlem: PromQL sorgusuPrometheusup, probe_success ve Pod serilerini okur. Eksik, eski ya da başarısız değerler o durumlarıyla gösterilir ve asla 0'a çevrilmez.
Prometheusgözlem: scrape · probeworkload · Service
K3s uygulama kümesiExporter scrape'i ve HTTP probe'u. Bu metrikler dağıtım başarısına karar vermek için kullanılmaz.
operation durumu · run bağlama
api/product-store.jsgözlem: dağıtım durumu · geçmişweb ekranı · geçmiş · Insightsapps/dashboardWeb ekranı ve MCP araçları aynı operation kayıtlarını okur. Son deneme ile güncel doğrulanmış dağıtım ayrı gösterilir; tamamlanmış bir yapay zekâ görevi dağıtım başarısı değildir.
herkese açık HTTPS probe'u
gitops/bridge.pygözlem: HTTPS healthHerkese açık HTTPS URL'siYalnızca operatörün kaydettiği HTTPS health adresini, yönlendirme olmadan, 200 (ve ayarlanmışsa beklenen JSON) için kontrol eder.
Her bağlantı aynı kalınlıkta. Yalnızca yolunu numaralı adımlarla vurgulamak için bir akış seçin.
- Düz çizgi · kaynağın, image'ların ve isteklerin akış yönü
- Kesikli · çalıştırma isteği, uygulama ya da sync
- Uzun çizgi-nokta · durum okumaları, probe'lar ve metrikler, hükümden ayrı
- Kısa kesik · kaydedilmiş bir hata ya da unknown sonuç
- Kalın siyah çizgi · seçilen akış; numaralar sırayı verir
- Kutu · sahip olan bir sınır, başlığında kaynak yolu
- İç çip · o sınırın içindeki bir bileşen
- Kesikli kutu · platformun dışı
- Turuncu çerçeve · bir modelin karar verdiği yer
- Ürün API'si
- Dağıtım kayıtları
- CD yürütme sınırı
- Giriş · CI · hedef
docs/architecture/README.md'deki October 2 (bc61a5a) çizimi uygulama geçmişidir; bu mimari 645e28a kodunu izler. Sağlayıcılar ve ağ yolları kayıtlı hedefe göre değişir; bu, her sağlayıcının her zaman açık olduğu anlamına gelmez.