openclaw fleet
openclaw fleet, hücreler olarak adlandırılan eksiksiz OpenClaw örneklerini yönetir. Her hücrenin kendi Gateway’i, durumu, kimlik bilgileri, kanal hesapları, konteyneri ve yalnızca geri döngüye açık ana makine bağlantı noktası vardır. Her kiracı güven sınırı için bir hücre kullanın; düşmanca birden çok kiracılı ortam sınırı olarak tek bir paylaşılan Gateway kullanmayın.
Fleet deneyseldir. Komut adları, bayraklar, çıktı biçimleri ve konteyner profili, kullanımdan kaldırma süresi olmadan sürümler arasında değişebilir.
Fleet, Docker ve Podman’ı destekler. Varsayılan imaj ghcr.io/openclaw/openclaw:latest’dir.
Fleet, Linux ve macOS ana makinelerinde test edilmiştir. Windows ana makineleri şu anda test edilmemiştir.
Hızlı başlangıç
fleet create, oluşturulan Gateway tokenını hücre URL’siyle birlikte bir kez yazdırır. Tokenı hemen saklayın, ardından her kiracının kanal hesaplarını o kiracının hücresinde yapılandırın.
Kiracı kimlikleri
Kiracı kimlikleri şununla eşleşmelidir:../acme gibi dizin geçişi dizeleri reddedilir.
Kimlik, konteyner adının bir parçası olur: openclaw-cell-<tenant>.
fleet create
Bir hücre oluşturup başlatın:
--env öğesini yineleyerek kiracıya özgü ortam değişkenlerini geçirin:
Oluşturma seçenekleri
Otomatik ayırma,
19100 veya üzerindeki ilk kullanılmayan kayıt defteri bağlantı noktasını seçer. Fleet, yinelenen kiracı kimliklerini ve başka bir hücreye zaten atanmış açık bağlantı noktalarını reddeder.
İmaj başvuruları, tek bir konteyner çalışma zamanı bağımsız değişkeni olarak geçirilir. Bir imajın Docker veya Podman seçeneği olarak yorumlanamaması için boş başvurular ve - ile başlayan değerler reddedilir.
Seçilen Docker veya Podman uç noktası yerel olmalıdır. Fleet, bir bağlantı noktası ayırmadan veya yerel durum oluşturmadan önce uzak Docker bağlamlarını, DOCKER_HOST uç noktalarını ve uzak Podman hizmetlerini reddeder. Uzak hücre ana makineleri desteklenmez.
Fleet yeni bir hücre başlattığında, oluşturma işlemi Gateway’in /healthz isteğine yanıt vermesi için yaklaşık bir dakika bekler. Hücre sağlıklı duruma gelmezse Fleet, fleet status, fleet logs veya açıkça kaldırma işlemi için konteynerini ve kayıt defteri satırını olduğu gibi bırakır. --no-start bu sağlık geçidini atlar. Sağlıksız yeni bir hücrenin oluşturulan Gateway tokenı kaybolmaz; konteyner ortamında (docker|podman inspect) kalır ve hücre henüz hiç trafik sunmadığından, fleet rm --force işleminin ardından yeniden oluşturmak her zaman güvenli bir alternatiftir.
Özetle sabitleme
Oluşturma ve yükseltme işlemleri,--image ghcr.io/openclaw/openclaw@sha256:<digest> gibi özetle sabitlenmiş imaj başvurularını kabul eder. Fleet, imaj başvurusunu Docker veya Podman’a olduğu gibi geçirir; bu, operatörün bir hücreyi değişken bir etiket yerine değişmez imaj baytlarında tutmasını sağlar.
Oluşturma sonucu kiracı kimliğini, konteyner adını, ana makine bağlantı noktasını, Gateway tokenını ve yerel URL’yi içerir. JSON çıktısında bile token içerdiği için sonucu gizli bilgi taşıyan veri olarak değerlendirin.
Disk sınırları
--disk yalnızca konteynerin yazılabilir katmanını sınırlar. Bağlama yoluyla bağlanan kiracı başına durum ve kimlik doğrulama dizinleri ana makine depolaması olarak kalır; bu dizinlerin de katı bir sınıra ihtiyacı olduğunda ana makine dosya sistemi proje kotalarını kullanın.
Çıkış politikası
Docker için köprü modunu koruyun ve giden trafik politikasını
DOCKER-USER zinciri gibi ana makine güvenlik duvarı kurallarıyla uygulayın.
fleet list
Hücreleri kiracı kimliği sırasıyla listeleyin:
Docker veya Podman kullanılamadığında kayıt defteri satırları görünür kalır; yalnızca canlı durum
unknown olur.
fleet status
Bir hücreyi inceleyin:
ok, failed veya skipped olur. /healthz, her yapılandırılmış kanalın veya Plugin’in tam hazır olduğunu değil, Gateway’in çalışır durumda olduğunu kanıtlar. Kontrol edilecek kullanılabilir bir yerel uç nokta olmadığında yoklama atlanır.
fleet logs
Bir hücrenin konteyner günlüklerini doğrudan terminale aktarın:
--follow işlemini sonlandırmak için Ctrl-C tuşlarına basın. Günlük çıktısı, terminale herhangi bir şey ulaşmadan önce hücrenin geçerli Gateway tokenını <redacted> ile değiştiren bir gizleme filtresinden geçirilir.
Konteyner günlükleri ham bir stdout/stderr akışı olduğundan fleet logs için --json modu yoktur. Betikler için çıktıyı --tail ile sınırlayın ve normal kabuk yönlendirmesi veya ardışık düzenleri kullanın.
fleet start, fleet stop ve fleet restart
Kayıtlı çalışma zamanı aracılığıyla mevcut bir hücreyi denetleyin:
fleet upgrade
Kayıtlı imajı yeniden çekin ve hücre kapsayıcısını değiştirin:
--env ile sağlanan değerleri korur. Bağlanan durum, kapsayıcı değişiminden etkilenmez; imajın varsayılan ortamı hedef imajla birlikte değişebilir.
Değişiklik yalnızca Gateway, hücrenin geri döngü bağlantı noktasında /healthz isteğine yanıt verdikten sonra kesinleştirilir; bu, resmî compose dosyasının kullandığı sistem durumu sözleşmesiyle aynıdır. Çıkan, çökme döngüsüne giren veya yaklaşık bir dakika içinde sağlıklı duruma gelemeyen yeni kapsayıcı kaldırılır ve önceki kapsayıcı geri yüklenir; böylece bozuk bir imaj çalışan hücreyi devre dışı bırakmaz.
Gateway belirteci kasıtlı olarak fleet kayıt defterinde saklanmaz. Fleet, eski kapsayıcıyı kaldırmadan önce ortamını okur ve OPENCLAW_GATEWAY_TOKEN değerini yeni kapsayıcıya aktarır. Belirteç denetiminizdeki başka hiçbir yerde bulunmuyorsa yükseltmeden önce eski kapsayıcıyı elle kaldırmayın.
fleet backup ve fleet restore
Durdurulmuş tek bir hücreyi yedekleyin:
0600 kipinde oluşturulur ve kimlik bilgileri gibi saklanmalıdır. SQLite durumunun tutarlı biçimde yakalanabilmesi için yedekleme, çalışan bir hücreyi kabul etmez. Geri yükleme, --force sağlanmadığı sürece çalışan bir hücreyi kabul etmez; yalnızca ilgili kiracının durumunu değiştirir, Gateway belirtecini yeniler ve yeni belirteci bir kez yazdırır. Fleet aynı anda tek bir kiracıyı yedekler; tüm kiracıları yedeklemek ayrı bir operatör işlemidir.
Geri yükleme için durdurulmuş mevcut bir kapsayıcı gerekir; çünkü incelenen çalışma zamanı profili, yeni kapsayıcının sınırlarını, kullanıcı eşlemesini, ortam kaynağını ve imajını sağlar. Kayıtlı kapsayıcı harici yollarla kaldırıldıysa önce fleet rm <tenant> --force komutunu --purge-data olmadan çalıştırın, hücreyi amaçlanan imaj ve --no-start ile yeniden oluşturun, ardından geri yüklemeyi tekrar deneyin. İlk kaldırma işlemi her iki kiracı veri dizinini de olduğu gibi tutar.
Her iki komut da arşivlenen veya çıkarılan dosya verilerini sınırlamak için --max-bytes <bytes> kabul eder ve yalnızca meta veri içeren arşiv bombalarının ana makine inode’larını tüketememesi ve kabul edilen her yedeğin geri yüklenebilir kalması için arşiv yol kesitlerine aynı sabit bir milyonluk bütçeyi uygular. Yedekleme --out <path> kabul eder ve her iki komut da --json destekler.
Arşivler yalnızca normal dosyalar ve dizinler içerir. Yedekleme; sembolik bağlantıları, sabit bağlantıları, yuvaları veya aygıt düğümlerini hiçbir zaman izlemez ya da saklamaz; atlananların sayısı sonuçta bildirilir. Geri yükleme, başka herhangi bir girdi türü içeren arşivleri reddeder. Çalışma alanındaki node_modules gibi yeniden oluşturulabilir sembolik bağlantı ağaçları, geri yüklemeden sonra hücrenin içinde yeniden kurulmalıdır.
fleet doctor
Çalışma zamanı veya dosya sistemi durumunu değiştirmeden tüm hücreleri ya da tek bir kiracıyı denetleyin:
fleet rm
Kiracı verilerini koruyarak durdurulmuş bir hücreyi çalışma zamanından ve kayıt defterinden kaldırın:
--force gerekir:
--purge-data, --force gerektirir. Fleet, özyinelemeli silmeden önce Fleet’e ait iki kökü ve kiracıya özel iki dizini de çözümler. Her hedef, kendi kökünün kesinlikle içinde bulunan, beklenen kiracı yaprağıyla tam olarak eşleşmeli ve sembolik bağlantı olmamalıdır. Bu kapsama denetimleri, bozulmuş bir kayıt defteri yolunun veya kiracılar arası sembolik bağlantının silme işlemini başka bir konuma yönlendirmesini önler.
Beklenen kiracı dizininin zaten bulunmadığı durumlarda temizleme yeniden denenebilir. Bu, kısmi bir dosya sistemi hatasından sonra sonraki bir çağrının, hâlâ var olan dizinlere yönelik yol denetimlerini gevşetmeden temizliği tamamlamasını sağlar.
Depolama ve kapsayıcı düzeni
Hücre durumu ve kimlik doğrulama profili şifreleme anahtarları, etkin OpenClaw durum dizini altında kiracı başına ayrı ana makine yollarını kullanır:/home/node/.openclaw konumuna bağlanır. İkinci dizin, resmî Docker kurulumunun şifreleme anahtarı bağlamasıyla eşleşecek biçimde /home/node/.config/openclaw konumuna bağlanır. Bu nedenle şifreleme anahtarı, sıradan durum bağlaması altında açığa çıkmaz ve yalnızca hücre durumu dizini yedeklendiğinde veya paylaşıldığında yedeğe dâhil edilmez. Her iki dizin de normal kaldırma ve yükseltme işlemlerinden etkilenmez; fleet rm --purge-data --force, ayrı kapsama denetimlerinden sonra ikisini de siler.
Fleet, ilk başlatmadan önce hücre yapılandırmasını gateway.mode=local, belirteç kimlik doğrulaması, LAN kapsayıcı bağlaması ve tahsis edilen ana makine bağlantı noktası için Control UI kaynaklarıyla başlatır. Belirteç değeri bu yapılandırmaya yazılmaz; kapsayıcı ortamında kalır.
Fleet, resmî imajın kapsayıcı yollarını şu ortam değerleriyle sabitler:
Resmî imaj varsayılan olarak UID 1000 değerine sahip, root olmayan
node kullanıcısını kullanır. Fleet, özel 0700 bağlama bağlantılarını herkes tarafından erişilebilir hâle getirmeden yazılabilir tutar. Root ayrıcalıklı Docker, hücreyi çağrıyı yapan root olmayan UID ve GID ile çalıştırır; root ayrıcalıksız Docker ise kapsayıcı UID 0 değerini kullanır ve bu değer daemon’ın kullanıcı ad alanı içinde çağrıyı yapan ayrıcalıksız ana makine kullanıcısına eşlenir. Podman, çağrıyı yapan UID ve GID ile keep-id kullanır. Fleet’in kendisi root ayrıcalıklı bir çalışma zamanına karşı root olarak çalıştığında imaj kullanıcısını korur ve ilk bağlama dosyalarını UID/GID 1000 değerine atar.
SELinux ana makinelerinde Docker ve Podman bağlamaları özel bir :Z yeniden etiketlemesi alır. Hücre verilerini geri yükler veya başka bir konuma taşırsanız bağlama bağlantılı yolların etkin kapsayıcı kullanıcısı tarafından yazılabilir kalmasını sağlayın. Profil root ayrıcalıksız kullanıma uygundur ancak Docker veya Podman, ana makinede root ayrıcalıksız çalışma için önceden yapılandırılmış olmalıdır; Fleet, root ayrıcalıklı bir daemon’ı root ayrıcalıksız hâle dönüştürmez.
Güvenlik profili
Fleet, her hücreye aşağıdaki profili uygular:
Fleet hiçbir zaman
/var/run/docker.sock bağlamaz, --privileged veya ana makine ağını kullanmaz ya da yetenek eklemez. Hücreye özel köprü, hücreler arası bir ayırma sınırıdır; giden trafik güvenlik duvarı değildir: hücreler, sağlayıcılar ve kanallar için gereken ağ çıkışını korur. Geri döngü bağlantı noktasını dağıtımınıza uygun bir proxy, SSH tüneli veya tailnet yapılandırmasıyla öne çıkarın. http://127.0.0.1:<port> yalnızca Fleet ana makinesinden doğrudan erişilebilir.
Bu profil kiracı kapsayıcılarını birbirinden ayırır ancak kiracıları Fleet operatöründen, kapsayıcı çalışma zamanı yöneticisinden veya güvenliği ihlal edilmiş bir ana makineden korumaz. Eksiksiz güven modeli ve daha güçlü yalıtım seçenekleri için Çok kiracılı barındırma bölümüne bakın.
Belirteç işleme
Varsayılan olarakfleet create, kriptografik olarak rastgele, 32 karakterli onaltılık bir Gateway belirteci oluşturur ve oluşturma sonucunda bir kez yazdırır. Bunu onaylı sır yöneticinizde saklayın ve oluşturma çıktısının günlüklere kaydedilmesini önleyin.
--gateway-token, özel bir belirteci yerel işlem bağımsız değişkenlerine yerleştirir; bu belirteç kabuk geçmişinde tutulabilir veya işlem listelerinde görülebilir. Mevcut bir sır yönetimi iş akışı sağlanan bir değer gerektirmiyorsa oluşturulan belirteci tercih edin.
Belirteç ve --env ile aktarılan her değer kapsayıcı ortamında bulunur. Fleet bunları kısa ömürlü, 0600 kipindeki bir ortam dosyasına yazar, Docker veya Podman’a yalnızca bu dosyanın yolunu iletir ve çalışma zamanı komutu tamamlandıktan sonra dosyayı kaldırır. openclaw fleet create --gateway-token ... veya --env KEY=VALUE içine açıkça yazılan değerler, dış openclaw işleminin bağımsız değişkenlerinde ve kabuk geçmişinde yine de görülebilir.
Konteyner ortamı değerleri güvenilir ana makine operatöründen gizlenmez: Docker veya Podman yöneticileri bunları konteyner incelemesiyle okuyabilir. Fleet’in “bir kez gösterilir” notu, ana makine yöneticisine karşı korumayı değil, normal CLI çıktısını açıklar.