Appliance Komutları
ironflock appliance komutları IronFlock Appliance’ı kendi işlettiğiniz bir Linux sunucusuna kurar ve o andan itibaren onunla ilgilenir. Bu komutlarla Appliance’ı kurar, ayarlarını değiştirir, günceller, başlatır, durdurur ve yeniden başlatır, günlüklerini okur, yönetici parolasını sıfırlar, gizli bilgilerini yedekler, geri yükler ve rotasyonunu yapar ve Appliance’ı yeniden kaldırırsınız.
Appliance, sahadaki tek bir makinede çalışan eksiksiz IronFlock sistemidir. Ne olduğu, HTTPS modları, ağı ve işletimi IronFlock Appliance bölümünde açıklanır. Makinenin gereksinimleri (CPU, bellek, depolama, saat senkronizasyonu) Kurulum sayfasındadır.
Not: Bu komutlar
ironflockaracının 2.1.0 sürümünde yenidir. Yeni kurulmuş bir Ubuntu 24.04 sanal makinesinde (amd64),appliance installkomutundanappliance remove --purgekomutuna kadar bir test çalıştırmasından geçtiler. Başarısız olan bir güncelleme ve onun önceki sürüme geri alınması henüz kanıtlanmadı.
Appliance
| Komut | Ne yapar |
|---|---|
appliance install | Appliance’ı bu makineye kurar ve başlatır ya da kurulu bir Appliance’ı bir sürüme getirir |
appliance configure | ayarları değiştirir: lisans, TLS modu, proxy, ana bilgisayar adları, tünel, ikinci faktör politikası |
appliance update | Appliance’ı bir sürüme günceller ve güncelleme başarısız olursa önceki sürüme döner |
appliance start | Appliance’ı başlatır |
appliance stop | Appliance’ı tekrar başlatılana kadar durdurur |
appliance restart | Appliance’ı yeniden başlatır |
appliance logs | Appliance hizmetlerinin günlüklerini gösterir |
appliance reset-admin-password | arayüz kullanıcısı admin için yeni bir parola belirler |
appliance backup | Appliance’ın gizli bilgilerini bir tar.gz arşivine yazar |
appliance restore | gizli bilgilerin bir yedeğini geri yükler |
appliance rotate | Appliance’ın bir gizli bilgisine yeni bir değer verir |
appliance revoke-direct-access | önceki bir FILE_CRED_KEY ile oluşturulan doğrudan erişim anahtarlarını kaldırır |
appliance remove | Appliance’ı bu makineden kaldırır |
Appliance komutları Linux’ta çalışır. appliance install, systemd kullanan Debian veya Ubuntu tabanlı bir sistem gerektirir. macOS’ta komutlar hiçbir şeye bakmadan çıkış kodu 3 ile sona erer; bunları Appliance’ın makinesinde ya da Mac’ten --host ile çalıştırın.
Komutları root olarak, sudo ile çalıştırın. Sistemi değiştiren bir komut root olmadan çıkış kodu 3 ile sona erer ve sudo komutunu kendisi çağırmaz (Root Yetkileri).
Her komut ayrıca --yes, --json, --download-base, --host, --hosts ve --parallel genel bayraklarını kabul eder (Genel Bayraklar). Bir soru terminal gerektirir; terminal yoksa --yes verin (Sorular ve Onay).
ironflock status kurulu Appliance’ı gösterir: sürümünü ve kanalını, arayüzünün adresini, lisansının olup olmadığını, hizmetini, hizmetlerinin sağlığını ve bekleyen bir güncellemeyi (ironflock status).
Kurulu Bir Appliance’ın Görünümü
| Yol veya birim | Nedir |
|---|---|
/opt/ironflock | kurulum dizini (--install-dir başka bir dizin belirtir). Root’a aittir |
/opt/ironflock/.env | Appliance’ın yapılandırması ve tüm gizli bilgileri |
/opt/ironflock/license.env | lisans anahtarı |
/opt/ironflock/install.json | kurulumun seçimlerinin kaydı; yalnızca root okuyabilir (aşağıda) |
/opt/ironflock/.update-previous | bir güncellemenin çalışırken sakladığı önceki sürümün kopyası (aşağıda) |
/opt/ironflock/triggers/apply-update.status, apply-update.log | arayüzün okuduğu, son güncellemenin ilerlemesi ve çıktısı |
ironflock.service | Appliance’ın konteynerlerini Docker Compose ile çalıştıran systemd hizmeti. Her açılışta başlar |
/usr/local/bin/ironflock | Appliance birimlerinin her başlangıçta, açılışta da çalıştırdığı ironflock |
/etc/ironflock/appliance.json | kurulumun ana makinede yaptığı değişikliklerin kaydı; appliance remove bunları geri alır |
Kurulum ironflock.service hizmetinin yanı sıra iki şey daha kurar: yönlendiriciyi (router) ve arka ucu (backend) beş dakikada bir denetleyen ve bunlar iyi durumda değilse ironflock.service hizmetini en fazla beş dakikada bir yeniden başlatan bir watchdog ve arayüzden başlatılıp başarısız olan bir güncellemeyi saatte bir yeniden deneyen bir zamanlayıcı.
/usr/local/bin/ironflock dosyasını yerinde tutun: Appliance birimleri onu her başlangıçta çalıştırır. appliance install başka bir konumdan çalışmayı reddeder ve aracı oraya nasıl kuracağınızı söyler. Root olarak çalıştırılan ironflock status, bu ikili dosya eksikse ya da Appliance’ı en son kuran veya güncelleyen ikili dosyadan daha eskiyse uyarır. sudo ironflock self-update onu en yeni sürümle değiştirir (ironflock self-update).
Appliance ayrıca ana makinenin kendi cihaz ajanını çalıştırır; --no-agent vermediğiniz sürece appliance install bu ajanı kurar. Bu ajanla agent komutları ilgilenir.
Bir Seferde Tek Değişiklik
Appliance’ın kurulumu, güncellemesi veya başka bir değişikliği bir seferde yalnızca bir tane çalışır. İkincisi ilkini bekler ve bunu söyler:
Another IronFlock install, update or other change of the appliance is running on this host (process <pid>); waiting up to <time> for it to finishinstall, update, configure, rotate, revoke-direct-access, reset-admin-password ve restore bir saate kadar bekler. start, stop, restart ve remove 30 saniyeye kadar bekler. Diğer çalıştırma o zaman hâlâ sürüyorsa komut hiçbir şeyi değiştirmez ve çıkış kodu 3 ile sona erer.
ironflock appliance install
IronFlock Appliance’ı /opt/ironflock dizinine kurar ve başlatır. Her hizmet sağlıklı olana ve IronFlock bulutu Appliance’a ulaşana kadar bekler, ardından web arayüzünün yönetici girişini bir terminalde bir kez gösterir.
ironflock appliance install --license-file <file> [flags]Çalıştığı sistemler: systemd kullanan, Debian veya Ubuntu tabanlı Linux. Root: gerekir.
Kurulum şunları kurar:
- kanalın sürümünü ya da
--versionile belirtilen sürümü, Appliance’ın sürüm anahtarına göre denetlenmiş olarak; - Appliance’ın yapılandırmasını ve gizli bilgilerini;
- ana makinenin kendi cihaz ajanını ve eksikse Docker’ı;
- ana makinenin ayarlarını;
- Docker’ın lisans anahtarıyla kayıt defterinde oturum açmasını;
- sürümün görüntülerini;
ironflock.servicehizmetini.
Docker eksikse kurulum, Docker’ın get.docker.com adresindeki kurulum betiğini root olarak çalıştırır. Bu indirme yalnızca TLS ile korunur.
| Bayrak | Anlamı |
|---|---|
--license-file <file> | lisans anahtarını ya da LICENSE_KEY=<key> satırını içeren bir dosya; - standart girdiyi okur |
--license <key> | lisans anahtarının kendisi. ps çıktısında görünür: --license-file tercih edin |
--version <x.y.z> | kurulacak Appliance sürümü. Varsayılan: kanalın en yenisi |
--channel <channel> | sürüm kanalı: production, test veya all. Varsayılan: kurulu Appliance’ınki, yoksa production |
--tls | web arayüzünü Appliance’ın kendi CA’sından bir sertifikayla HTTPS üzerinden sunar. Cihazlar yine şifresiz bağlanır. Sonraki çalıştırmalarda açık kalır |
--tls-cert <file> | Appliance’ın alan adı için kurumunuzun sertifika dosyası, --tls-key ile birlikte. Cihazlar o zaman alan adını kullanır |
--tls-key <file> | --tls-cert sertifikasının parolasız anahtar dosyası |
--no-tls | web arayüzünü düz HTTP üzerinden sunar: hiçbir şey şifrelenmez, yalnızca güvenilir bir ağ için. Varsayılandır; sonraki çalıştırmalarda kapalı kalır |
--tunnel | cihazların web arayüzlerine giden tüneli açar. Varsayılandır; açık kalır |
--no-tunnel | bu tüneli kapatır. Kapalı kalır |
--extra-host <name> | web arayüzünün başka bir adı; birden fazla kez ya da virgülle ayrılmış olarak |
--2fa <policy> | ikinci faktör politikası: available, effective veya required. Varsayılan: effective |
--interactive | Appliance’ın adresini ve alan adını sorar ve ajan kurulumunun sorularını sormasına izin verir |
--no-agent | ana makinenin kendi cihaz ajanını kurmaz. Docker o zaman kurulu olmalıdır |
--http-proxy <url> | Docker’ın, ajanın ve Appliance’ın HTTP proxy’si; örneğin http://proxy:3128 ya da parola olmadan http://user@proxy:3128. "" onu kaldırır |
--https-proxy <url> | Docker’ın, ajanın ve Appliance’ın HTTPS proxy’si; "" onu kaldırır |
--no-proxy <hosts> | proxy’yi atlayan, virgülle ayrılmış ana bilgisayarlar |
--proxy-password-file <file> | tek satırı proxy URL’lerindeki kullanıcının parolası olan bir dosya veya pipe (/dev/stdin) |
--no-start | her şeyi yazar ve etkinleştirir, hiçbir şeyi başlatmaz. Sağlık denetimi ve bulut denetimi yapılmaz |
--skip-cloud-gate | IronFlock bulutunun Appliance’a ulaşmasını beklemez |
--skip-login | kayıt defterinde oturum açılmaz: görüntüler Docker’ın kendi kimlik bilgileriyle gelir ya da elle yüklenir. Lisans anahtarı o zaman isteğe bağlıdır |
--registry <host> | Appliance görüntülerinin kayıt defteri. Varsayılan: instance-registry.ironflock.com |
--registry-user <user> | kayıt defteri oturumunun kullanıcısı. Varsayılan: ironflock-appliance |
--bucket-url <url> | Appliance sürümlerinin yayımlandığı yer. Varsayılan: https://instance-registry.ironflock.com/dl/appliance |
--install-dir <directory> | kurulum dizini. Varsayılan: /opt/ironflock |
HTTPS modları ve her birinin neyi şifrelediği HTTPS ve Sertifikalar ile Güvenlik sayfalarında açıklanır. Proxy parolası Gizli Bilgiler bölümündeki kurallara uyar: içinde parola bulunan bir proxy URL’si hatalı bir komut satırıdır.
Lisans Anahtarı
Lisans anahtarı, ironflock.com üzerinde Profil → Örnekler bölümünde oluşturduğunuz Instance Key’dir (Kurulum). --license-file veya --license bayrağından gelir. Zaten kurulu olan bir Appliance, ikisi de verilmeden anahtarını korur. license.env içindeki geçerli bir lisans anahtarı olmayan bir anahtar (lisans anahtarı bir UUID’dir) her Appliance komutu tarafından bir uyarıyla yok sayılır; çalıştırma o zaman bir anahtar ya da --skip-login gerektirir.
Ortam Değişkenleri
Bazı bayraklar varsayılan değerlerini bir ortam değişkeninden alır:
| Değişken | Ayarladığı |
|---|---|
IRONFLOCK_VERSION, IRONFLOCK_CHANNEL | --version, --channel |
IRONFLOCK_INSTALL_DIR | --install-dir |
IRONFLOCK_REGISTRY, IRONFLOCK_REGISTRY_USER | --registry, --registry-user |
IRONFLOCK_BUCKET_URL | --bucket-url |
IRONFLOCK_2FA | --2fa |
IRONFLOCK_EXTRA_HOSTS | --extra-host |
IRONFLOCK_SKIP_CLOUD_GATE | --skip-cloud-gate |
IRONFLOCK_APPLIANCE_HOST, IRONFLOCK_APPLIANCE_DOMAIN | --interactive bayrağının sorduğu, Appliance’ın adresi ve alan adı |
IRONFLOCK_CLOUD_TUNNEL_TCP | 0, false, off veya no dışındaki her değer, proxy yokken tünelin bulut bağlantısının TCP port 7000’i kullanmasına izin verir |
sudo, kabuğunuzun değişkenlerinin çoğunu atar. Bunları sudo env NAME=value ironflock appliance install ... ile verin.
Kurulumun Seçimlerinin Kaydı
Yalnızca root’un okuyabildiği <install-dir>/install.json, ne .env dosyasının ne de birimlerin tuttuğu seçimleri saklar: kayıt defteri ve kullanıcısı, Appliance’ın ana bilgisayarı (IRONFLOCK_APPLIANCE_HOST), --no-agent, --bucket-url ile verilen indirme tabanı ve Appliance’ı en son kuran ya da güncelleyen ironflock aracının sürümü. Hiçbir parola, token veya anahtar içermez.
Sonraki bir appliance install, bir appliance update ve appliance configure, bir bayrak (veya değişkeni) aksini söylemedikçe bu seçimleri korur. Verilen bir bayrak önceliklidir ve kaydedilir. Bir varsayılana dönmek için --registry "", --no-agent=false ya da boş bir IRONFLOCK_APPLIANCE_HOST verin.
Okunamayan ya da daha yeni bir biçimdeki bir kayıt, install, update ve configure komutlarını herhangi bir şeyi değiştirmeden önce çıkış kodu 3 ile durdurur. Mesaj ne yapılacağını söyler: kaydı kenara taşıyıp bayraklarla yeniden kurmak ya da daha yeni ironflock aracını kullanmak.
Yeniden Çalıştırma
Kurulu bir Appliance üzerinde çalıştırılan komut, Appliance’ı verilen sürüme ve seçeneklere getirir; gizli bilgilerini ve ayarlarını korur. Sürümü bilerek değiştirmek için bunu kullanın: ironflock appliance install --version <version>, o sürüm zaten çalışıyor olsa bile sürümü yeniden çeker, yeniden başlatır ve denetler.
Durmuş bir çalıştırma, aynı komut yeniden çalıştırıldığında kaldığı yerden devam eder.
Sağlık denetimleri geçtikten sonra kurulum, bir güncellemenin sakladığı önceki sürümün kopyasını (/opt/ironflock/.update-previous) siler: çalışacak sürüm, kurulumun kurduğu sürümdür.
İlk değişikliğinden itibaren, kaybolan bir terminal veya SSH oturumu (SIGHUP) ya da artık kimsenin okumadığı bir çıktı (kapanmış bir pipe) kurulumu durdurmaz. Ctrl-C ve SIGTERM durdurur. Yönetici parolası kaybolmasın diye kurulum, kaybolan bir SSH oturumundan sonra da terminale yazmaya devam eder. Bu nedenle sudo’nun use_pty ayarıyla, açık kalan ama artık okunmayan bir terminal, kurulum kilidini tutarken kurulumu bekletebilir.
Örnekler
# Appliance'ı kurun; lisans anahtarı bir dosyadan gelir
sudo ironflock appliance install --license-file license.txt
# Appliance'ın kendi CA'sıyla HTTPS kullanarak kurun; anahtar standart girdiden gelir
sudo ironflock appliance install --license-file - --tls < license.txt
# Bir proxy arkasında kurun; .corp.example.com altındaki ana bilgisayarlar proxy'yi atlar
sudo ironflock appliance install --https-proxy http://proxy.example.com:3128 --no-proxy .corp.example.com
# Appliance'ın adresini ve alan adını sorun ve HTTPS ile kurun
sudo ironflock appliance install --license-file license.txt --interactive --tlsReddettiği ve Başarısız Olduğu Durumlar
- Birimlerin olduğu gibi belirtemeyeceği bir
--bucket-urlindirme tabanı (içinde oturum bilgisi,%, boşluk,$,\, tırnak, kontrol karakteri ya da UTF-8 olmayan baytlar) herhangi bir şey yazılmadan önce çıkış kodu 2 ile reddedilir. - Komut root olarak çalışmıyorsa, kurulumun seçimlerinin kaydı okunamıyorsa ve başka bir çalıştırma kurulum kilidini bir saatlik beklemenin ötesinde tutuyorsa çıkış kodu 3 ile reddeder. Çalışan
ironflock,/usr/local/bin/ironflockdeğilse de reddeder ve aracı oraya nasıl kuracağınızı söyler. - Başarısız olan bir adım komutu çıkış kodu 1 ile sonlandırır. Devam etmek için aynı komutu yeniden çalıştırın.
ironflock appliance configure
Kurulu bir Appliance’ın ayarlarını değiştirir: lisansını, TLS modunu (kendi sertifikanızla da), proxy’yi, arayüz için ek ana bilgisayar adlarını, tüneli ve ikinci faktör politikasını.
ironflock appliance configure [flags]Çalıştığı sistemler: kurulu bir Appliance’ı olan Linux. Root: gerekir.
Ayarlar Appliance’ın .env dosyasında ve dosyalarında kalır; bu yüzden bir güncelleme onları korur. Verilmeyen bir ayar Appliance’taki değerini korur. Appliance’ı yalnızca bir şeyi değiştiren çalıştırma yeniden başlatır; bu yüzden aynı komut ikinci kez çalıştırıldığında hiçbir şeyi değiştirmez.
| Bayrak | Anlamı |
|---|---|
--license <key> | Appliance’ın yeni bir lisans anahtarı |
--license-file <file> | yeni lisans anahtarını bu dosyadan okur; - standart girdiyi okur |
--skip-login | yeni lisans anahtarıyla kayıt defterinde oturum açmaz |
--registry <host> | oturum açılacak kayıt defteri. Varsayılan: Appliance yansısının eşitlendiği kayıt defteri |
--registry-user <user> | kayıt defteri oturumunun kullanıcısı. Varsayılan: ironflock-appliance |
--tls | arayüzü Appliance’ın kendi CA’sından bir sertifikayla HTTPS üzerinden sunar |
--tls-cert <file> | TLS sertifika dosyanız, --tls-key ile birlikte |
--tls-key <file> | --tls-cert sertifikasının anahtar dosyası |
--no-tls | arayüzü düz HTTP üzerinden sunar: hiçbir şey şifrelenmez, yalnızca güvenilir bir ağ için |
--http-proxy <url> | HTTP proxy URL’si; boş değer proxy’yi temizler |
--https-proxy <url> | HTTPS proxy URL’si; boş değer proxy’yi temizler |
--no-proxy <list> | proxy’yi atlayanlar: virgülle ayrılmış bir liste |
--extra-host <name> | arayüzün başka bir adı; tekrarlayın ya da virgülle ayrılmış bir liste verin |
--tunnel | uygulamaların web arayüzlerine giden tüneli açar |
--no-tunnel | tüneli kapatır |
--2fa <policy> | ikinci faktör politikası: available, effective veya required |
--bucket-url <url> | TLS’nin gerektirdiği Caddyfile için Appliance sürümlerinin yayımlandığı yer. Varsayılan: https://instance-registry.ironflock.com/dl/appliance |
--install-dir <directory> | kurulum dizini. Varsayılan: /opt/ironflock |
- Yeni bir lisans (
--license,--license-fileya da standart girdi için--license-file -), yazılmadan önce kayıt defterini açabilmelidir. Kayıt defteri oturumu--registrykayıt defterine--registry-userolarak, yoksa kurulumun seçtiklerine (kayıt), o da yoksa Appliance yansısının eşitlendiği kayıt defterine açılır.--registryveya--registry-userile açılan bir oturum bunları güncellemeler için kayıtta tutar. --tls-certve--tls-keysertifikanızı kurar ve TLS’yi açar; cihazlar Appliance’ın alan adına geçer.--http-proxy ""veya--https-proxy ""tek başına verildiğinde proxy’yi temizler.- Kurulumun
--no-agentseçimi olduğu gibi kalır. - TLS’nin gerektirdiği Caddyfile
--bucket-urladresinden, yoksa kurulumun sürümleri aldığı yerden gelir.
Örnekler
# Appliance'a bir dosyadan yeni bir lisans anahtarı verin
sudo ironflock appliance configure --license-file license.txt
# Arayüzü kurumunuzun sertifikasıyla sunun
sudo ironflock appliance configure --tls-cert wildcard.crt --tls-key wildcard.key
# Bir proxy ayarlayın ve yeniden temizleyin
sudo ironflock appliance configure --https-proxy http://proxy.example.com:3128 --no-proxy .corp.example.com
sudo ironflock appliance configure --https-proxy ""
# Her kullanıcıdan ikinci bir faktör isteyin
sudo ironflock appliance configure --2fa required--2fa required ayarlamadan önce her hesapta ikinci bir faktör olduğundan emin olun: ikinci faktörü olmayan bir kullanıcı artık oturum açamaz (Hesaplar ve Erişim).
Reddettiği Durumlar
Komut root olarak çalışmıyorsa, kurulumun seçimlerinin kaydı okunamıyorsa, başka bir çalıştırma kurulum kilidini bir saatlik beklemenin ötesinde tutuyorsa ve bir güncelleme yarıda kesilmişken (Bir Güncelleme Yarıda Kesildiğinde) çıkış kodu 3 ile reddeder ve hiçbir şeyi değiştirmez.
ironflock appliance update
Bu makinedeki Appliance’ı kanalının en yeni sürümüne ya da --version ile belirtilen sürüme günceller. Sürüm Appliance’ın sürüm anahtarına göre denetlenir, görüntüleri çekilir ve Appliance bu sürümle yeniden başlar. Komut her hizmet sağlıklı olana ve IronFlock bulutu Appliance’a ulaşana kadar bekler. Appliance gizli bilgilerini ve ayarlarını korur. Önceki sürümlerin görüntüleri, yeni sürüm sağlıklı olduğunda silinir.
ironflock appliance update [flags]Çalıştığı sistemler: kurulu bir Appliance’ı olan Linux. Root: gerekir. Sorular: --discard-previous dışında hiçbir şey sormaz.
| Bayrak | Anlamı |
|---|---|
--version <x.y.z> | kurulacak sürüm ya da kanalın en yenisi için latest (varsayılan). Bilerek geri dönmek için daha eski bir sürüm de olabilir |
--channel <channel> | kanalı değiştirir: production, test veya all. Varsayılan: kurulu kanal |
--bucket-url <url> | Appliance sürümlerinin yayımlandığı yer |
--discard-previous | hiçbir şeyi güncellemez: bir güncellemenin sakladığı önceki sürümün kopyasını siler ve başka hiçbir şeyi değiştirmez (aşağıda) |
Sürümler --bucket-url adresinden, yoksa IRONFLOCK_BUCKET_URL değişkeninden, yoksa kurulumun onları aldığı yerden (seçimlerinin kaydı /opt/ironflock/install.json ya da birimleri bunu belirtir), o da yoksa IronFlock’tan gelir. Kayıt defteri, kullanıcısı, Appliance’ın ana bilgisayarı ve --no-agent kurulumun seçtiği gibi kalır.
Yeni bir kanal, güncelleme başarılı olursa kalır; geri almayla önceki kanal geri gelir. Arayüzdeki Apply update aynı güncellemeyi çalıştırır.
Denetimleri geçtikten sonra bir kurulum veya güncelleme ayrıca Appliance’ın kendi cihazını, daha önce her Appliance’ın paylaştığı gizli bilgiden APPLIANCE_DEVICE_SECRET değerine taşır. Cihazın ajanı o zaman çalıştırmadan 35 saniye sonra yeniden başlar. Yapılamayan bir taşıma, nedenini söyleyen bir uyarıdır; bir sonraki kurulum veya güncelleme yeniden dener.
Zaten Güncel
Kanalının en yeni sürümünü (ya da --version ile belirtilen sürümü) aynı kanal ve indirme tabanıyla zaten çalıştıran bir Appliance olduğu gibi bırakılır. Komut bunu söyler ve çıkış kodu 0 ile sona erer; --json ile result değeri nothing-to-do olur. O sürümü bilerek yeniden çekmek, yeniden başlatmak ve denetlemek için ironflock appliance install --version <version> çalıştırın.
Bu yalnızca son güncellemenin temiz bıraktığı bir Appliance için geçerlidir. Önceki bir sürümün saklanan kopyası varsa (yarıda kesilmiş bir güncelleme) ya da durum dosyası failed veya running diyorsa güncelleme her şeyi yeniden çalıştırır.
Geri Alma
Güncelleme herhangi bir şeyi değiştirmeden önce, çalışan sürümün dosyalarını /opt/ironflock/.update-previous içinde saklar. Güncelleme Appliance’ı değiştirdikten sonra başarısız olursa bu dosyalar geri konur ve önceki sürüm yeniden başlar. Görüntüleri makinede olduğu için bunun için ağ gerekmez. Bu en fazla üç kez denenir. Ardından komut vazgeçer ve önceki sürümün dosyalarını yerinde bırakır; böylece Appliance’ın bir sonraki başlangıcı o sürümle olur.
Hiçbir şeyi değiştirmeden önce başarısız olan bir güncelleme başka hiçbir şeyi değiştirmez ve bunu söyler: örneğin var olmayan ya da imzalanmamış bir sürüm veya yanıt vermeyen bir indirme tabanı.
Bir sürüm, çalışandan daha yeni bir ironflock gerektirebilir. O zaman hiçbir şey değiştirilmez ve komut önce hangi ironflock sürümünün kurulacağını söyler. appliance update, ironflock aracını kendiliğinden güncellemez; en yenisini ironflock self-update kurar.
Durum Dosyası ve Yeniden Deneme
Güncelleme, arayüzün güncellemesi gibi ilerlemesini triggers/apply-update.status dosyasına yazar; böylece arayüz onu gösterir. Çıktısı da triggers/apply-update.log dosyasına gider. Arayüzden başlatılıp başarısız olan bir güncellemeyi yeniden deneyen zamanlayıcı, bu komutun başarısız olan ya da herhangi bir şeyi değiştirmeden önce durdurulan bir güncellemesini yeniden denemez.
Kesmeler
- Ctrl-C veya SIGTERM, güncelleme herhangi bir şeyi değiştirmeden önce gelirse onu durdurur. Bundan sonra ilki önceki sürümü geri getirir (çıkış kodu 130), ikincisi ise hemen durdurur.
- Kaybolan bir terminal veya SSH oturumu (SIGHUP) ya da artık kimsenin okumadığı bir çıktı güncellemeyi durdurmaz. Güncelleme ve bir geri alma sonuna kadar çalışır. Durum dosyası ve
ironflock statusnasıl bittiğini söyler. - Terminal olmadan
--hostüzerinden ilk iki Ctrl-C makineye ulaşır. İlkinden sonra komut, oradaki güncellemenin bitmesini 30 dakikaya kadar bekler; ikincisinden sonra 15 saniye; üçüncüsü onu burada hemen sonlandırır. Burada kaybolan bir oturum ya da SIGTERM, Ctrl-C sayılmaz: komut burada hemen sona erer. Komut burada önce sona erdiğinde güncelleme makinede devam eder ve nasıl bittiğiniironflock --host <machine> statusgösterir.
Bir Güncelleme Yarıda Kesildiğinde
Bir güncelleme Appliance’ı değiştirmeye başlamış ve sonra bitmemişse yarıda kesilmiştir: durdurulmuş, makine kapanmış ya da geri alması önceki sürümü ayağa kaldıramamıştır. Kurulum dizini o zaman iki sürümün dosyalarını içerebilir. Saklanan kopya çalıştığı bilinen sürümü belirtir; ironflock status da onu belirtir.
- Bir sonraki güncelleme önce bu kopyayı geri koyar, sonra günceller. Okunamayan ya da geri konamayan bir kopya güncellemeyi çıkış kodu 3 ile durdurur ve hata
ironflock appliance install --version <version>komutunu belirtir. - Saatlik yeniden deneme zamanlayıcısı, daha yeni bir sürüm olmasa bile kopyayı kendiliğinden geri koyar, o sürümü yeniden başlatır ve denetler.
configure,rotate,revoke-direct-access,restorevereset-admin-passwordherhangi bir değişiklikten önce çıkış kodu 3 ile reddeder. Üç çıkış yolunu belirtirler:ironflock appliance update;ironflock appliance install --version <version>; ağ olmadan daironflock appliance update --discard-previous.backupyalnızca okur ve uyarır.start,stopverestartkopyaya dokunmaz.removekopyayı Appliance’ın diğer dosyalarıyla birlikte siler.appliance installher zamanki gibi çalışır ve sağlık denetimleri geçtikten sonra kopyayı siler.
Yarıda kesilen bir güncellemenin dosyaları üzerinde elle çalışmak için önce .env içinde IRONFLOCK_UPDATE_RETRY=off ayarlayın. Aksi hâlde yeniden deneme zamanlayıcısı yaklaşık bir saat içinde önceki sürümü geri koyar. Bu ayar, geri alması dahil yeniden deneme zamanlayıcısını bütünüyle kapatır.
--discard-previous
ironflock appliance update --discard-previous [--yes]Hiçbir şeyi güncellemez. Bir güncellemenin sakladığı önceki sürümün kopyasını (/opt/ironflock/.update-previous), hangi durumda olursa olsun ve okunamasa bile siler; başka hiçbir şeyi değiştirmez. Ağ gerektirmez.
Bir güncelleme yarıda kesildiğinde ve önceki sürümü yeniden başlamadığında ağ olmadan çıkış yoludur. Kurulum dizininin dosyaları şimdiki hâlleriyle kalır, o sürüm artık geri konamaz ve reddeden komutlar yeniden çalışır.
Neyi sileceğini söyler ve önce sorar; “No” önceden seçilidir; --yes evet yanıtını verir. Terminal olmadan ya da --json ile --yes gerektirir, aksi hâlde çıkış kodu 4 ile sona erer. Kopya yoksa bunu söyler ve çıkış kodu 0 ile sona erer. --version, --channel veya --bucket-url ile birlikte kullanılamaz (çıkış kodu 2). --json ile sonuçta action (discarded, cleaned veya none), path, version, state ve removed bulunur.
Örnekler
# Kanalın en yeni sürümüne güncelleyin
sudo ironflock appliance update
# 1.6.41 sürümünü kurun; o sürüme geri dönmek için de
sudo ironflock appliance update --version 1.6.41
# Test kanalına geçin ve sonucu JSON olarak okuyun
sudo ironflock appliance update --channel test --json
# Önceki sürümün kopyasını ağ olmadan silin
sudo ironflock appliance update --discard-previousSonuç
{"from":"1.6.40","target":"1.6.41","version":"1.6.41","result":"updated"}| Alan | Anlamı |
|---|---|
from | güncellemeden önceki sürüm |
target | güncellemenin hedeflediği sürüm |
version | şu anda kurulu sürüm |
result | updated; Appliance o sürüme zaten sahipken güncelleme onu yeniden çekip yeniden başlattıysa ve denetlediyse up-to-date; Appliance olduğu gibi bırakıldıysa nothing-to-do |
Başarısız bir güncelleme, Appliance’ın önceki sürüme dönüp dönmediğini söyleyen bir hatadır. --json ile, kesildiğinde de, kind değeri şunlardan biridir:
| Tür | Anlamı |
|---|---|
rolled_back | güncelleme başarısız oldu ve önceki sürüm yeniden çalışıyor |
rollback_failed | güncelleme başarısız oldu ve geri alma önceki sürümü ayağa kaldıramadı |
not_rolled_back | güncelleme başarısız oldu ve geri alınmadı |
unchanged | güncelleme herhangi bir şeyi değiştirmeden önce başarısız oldu; örneğin indirme tabanı yanıt vermiyor |
copy_left | yeni sürüm çalışıyor, ancak önceki sürümün kopyası ne silinebildi ne de işaretlenebildi. Yeniden deneme zamanlayıcısı yaklaşık bir saat içinde önceki sürümü geri koyabilir; hata çıkış yollarını belirtir (önce IRONFLOCK_UPDATE_RETRY=off, sonra --discard-previous) |
| Çıkış kodu | Anlamı |
|---|---|
| 0 | güncellendi, güncel ya da yapılacak bir şey yok |
| 1 | güncelleme başarısız oldu, geri alınmış olsun ya da olmasın; copy_left de |
| 2 | hatalı bir komut satırı, örneğin birimlerin belirtemeyeceği bir indirme tabanı |
| 3 | root değil; kurulu Appliance yok; başka bir çalıştırma kurulum kilidini beklemenin ötesinde tuttu; okunamayan ya da geri konamayan bir saklanan kopya; okunamayan bir kurulum seçimleri kaydı; daha yeni bir ironflock gerekiyor |
| 130 | kesildi; aynı türlerle |
ironflock appliance start
Çalışmıyorsa Appliance’ı başlatır: ironflock.service konteynerlerini başlatır (docker compose up), watchdog’u ve diğer yol (path) birimleri ile zamanlayıcıları yeniden başlar. Hizmetlerin ayağa kalkması bir iki dakika sürer; sağlıklarını ironflock status gösterir.
ironflock appliance start [flags]Çalıştığı sistemler: kurulu bir Appliance’ı olan Linux. Root: gerekir. Sorular: hiçbir şey sormaz. Komutun kendine ait bayrağı yoktur.
Bir geri yükleme, Appliance o sırada çalışmadığı için veritabanı rollerini eski parolalarında bıraktıysa, bu roller veritabanları çalışmaya başladığında (bir dakikaya kadar) geri yüklenen .env dosyasının parolalarını alır. Yanıt vermeyen bir rol bir uyarıyla bir sonraki başlangıca kalır ve başlatma devam eder.
sudo ironflock appliance start
sudo ironflock appliance start --jsonBaşka bir çalıştırma Appliance’ı değiştirirken komut 30 saniyeye kadar bekler ve bunu söyler; o çalıştırma sürerse hiçbir şeyi değiştirmez ve çıkış kodu 3 ile sona erer.
ironflock appliance stop
Appliance’ı durdurur: watchdog’unu, diğer yol birimlerini ve zamanlayıcılarını ve bunların başlattıklarını, ardından konteynerlerini durdurup kaldıran (docker compose down) ironflock.service hizmetini. Verileri kalır.
ironflock appliance stop [flags]Çalıştığı sistemler: kurulu bir Appliance’ı olan Linux. Root: gerekir. Sorular: evet, durdurmanın neyi sona erdireceğini söyledikten sonra; --yes yanıtlar.
Arayüz çevrimdışı olur; Appliance’a bağlanan her cihaz da, bu makinenin ajanı dahil, çevrimdışı olur. ironflock appliance start Appliance’ı yeniden başlatır; bir sonraki açılış da öyle. Komutun kendine ait bayrağı yoktur.
# Appliance'ı durdurun; komut bunun neyi sona erdireceğini söyler ve sorar
sudo ironflock appliance stop
# Soru sormadan durdurun
sudo ironflock appliance stop --yesHayır yanıtı ya da terminal ve --yes olmadan gelen bir soru komutu çıkış kodu 4 ile sonlandırır. Başka bir çalıştırma Appliance’ı değiştirirken komut start gibi bekler.
ironflock appliance restart
Appliance’ı yeniden başlatır: watchdog’unun yaptığı gibi ironflock.service konteynerlerini durdurur ve yeniden başlatır (docker compose down, ardından up). appliance stop komutunun durdurduğu yol birimleri ve zamanlayıcılar yeniden başlar.
ironflock appliance restart [flags]Çalıştığı sistemler: kurulu bir Appliance’ı olan Linux. Root: gerekir. Sorular: hiçbir şey sormaz. Komutun kendine ait bayrağı yoktur.
Arayüz ve Appliance’a bağlanan cihazlar bir iki dakika çevrimdışı olur; veriler kalır. Hizmetler ayağa kalktığında sağlıklarını ironflock status gösterir. Bir geri yüklemenin eski parolalarında bıraktığı veritabanı rolleri, start komutunda olduğu gibi .env dosyasındaki parolaları alır.
sudo ironflock appliance restart
sudo ironflock appliance restart --jsonBaşka bir çalıştırma Appliance’ı değiştirirken komut start gibi bekler.
ironflock appliance logs
Appliance hizmetlerinin yazdıklarını docker compose logs gibi gösterir: varsayılan olarak her hizmetin son 100 satırını. Hiçbir şeyi değiştirmez.
ironflock appliance logs [<service>...] [flags]Çalıştığı sistemler: kurulu bir Appliance’ı olan Linux. Root: gerekir. Sorular: hiçbir şey sormaz.
Yalnızca belirli hizmetlerin satırlarını görmek için onları adlandırın; örneğin router, backend, kratos veya caddy.
| Bayrak | Anlamı |
|---|---|
--lines <n> | her hizmetin son n satırı ya da all. Varsayılan: 100; --since ile tümü |
--since <time> | yalnızca bir zamandan itibaren olan satırlar: şimdiden geriye bir süre (10m, 2h, 3d) ya da bu makinenin saatine göre bir zaman (2026-11-10 09:00, 09:00, 2026-11-10T09:00:00Z) |
--follow | Ctrl-C’ye kadar hizmetlerin yazdığı satırlarla devam eder |
--json ile her satır, mesajı o satır olan bir JSON nesnesidir.
# Her hizmetin son 100 satırı
sudo ironflock appliance logs
# Arka ucun son bir saatte yazdığı her şey
sudo ironflock appliance logs backend --since 1h
# Yönlendiricinin ve Kratos'un son 20 satırı, ardından Ctrl-C'ye kadar her yeni satır
sudo ironflock appliance logs router kratos --follow --lines 20ironflock appliance reset-admin-password
Parolasını kaybeden bir operatör için arayüz kullanıcısı admin için yeni bir parola belirler. Parola önce veritabanında ayarlanır, bu da yöneticinin tüm etkin oturumlarını sona erdirir; ardından .env içinde APPLIANCE_ADMIN_PASSWORD olarak ayarlanır. Appliance çalışıyor olmalıdır.
ironflock appliance reset-admin-password [flags]Çalıştığı sistemler: çalışan bir Appliance’ı olan Linux. Root: gerekir.
| Bayrak | Anlamı |
|---|---|
--install-dir <directory> | kurulum dizini. Varsayılan: /opt/ironflock |
Yeni parola bir kez ve yalnızca bir terminale gösterilir. Terminal olmadan ve --json ile komut bunun yerine parolanın nerede saklandığını söyler. Bir güncelleme yarıda kesilmişken çıkış kodu 3 ile reddeder (Bir Güncelleme Yarıda Kesildiğinde).
sudo ironflock appliance reset-admin-passwordironflock appliance backup
Appliance’ın yeniden oluşturulamayan her şeyini bir tar.gz arşivine yazar: tüm gizli bilgileriyle .env, license.env, TLS sertifikasının yerel CA’sı, kayıt defterinin token anahtar çifti, gizli bilgiler sicili ve rotation.log.
ironflock appliance backup [-o <file>] [flags]Çalıştığı sistemler: Linux. Root: gerekir.
| Bayrak | Anlamı |
|---|---|
-o, --output <file> | arşivi bu dosyaya yazar; dosya yeni oluşturulur ve yalnızca root okuyabilir |
--install-dir <directory> | kurulum dizini. Varsayılan: /opt/ironflock |
-o olmadan arşiv standart çıktıya gider; standart çıktı bir terminal olmamalıdır. Çıktının yönlendirildiği bir dosya, yalnızca sahibinin okuyabileceği hâle getirilir.
Uyarı: Arşiv Appliance’ın tüm gizli bilgilerini içerir. Kaybolan bir
FLEETDB_SECRET_KEYSveyaFILE_CRED_KEYbaşka hiçbir yolla kurtarılamaz. Arşivi şifreleyin ve birimlerin yedekleriyle birlikte saklayın.
Arşivde olmayanlar: TLS sertifikası ve anahtarı (üretilmiş bir sertifika CA’dan yeniden imzalanır), Kratos yapılandırması, sürümün dosyaları ve Docker birimleri. certs/ca ve registry-token-certs dizinlerinden, bir kurulumun orada oluşturduğu dosyaları alır (rootCA.crt, rootCA.key, rootCA.srl; token_private.key, token_public.crt, token_public.der, .prev veya .new ekiyle de). Oradaki başka her dosya, restore başka bir dosya almadığı için, onu belirten bir uyarıyla dışarıda bırakılır.
# Arşivi yalnızca root'un okuyabildiği bir dosyaya yazın
sudo ironflock appliance backup -o /root/appliance-secrets.tar.gz
# Standart çıktıya, bir dosyanın içine yazın
sudo ironflock appliance backup > appliance-secrets.tar.gzironflock appliance restore
appliance backup komutunun yazdığı bir yedeği kurulum dizinine geri koyar.
ironflock appliance restore <file> [flags]Çalıştığı sistemler: Linux. Root: gerekir.
| Bayrak | Anlamı |
|---|---|
--force | kurulu bir Appliance’ın gizli bilgilerini değiştirir |
--install-dir <directory> | kurulum dizini. Varsayılan: /opt/ironflock |
Komut bir yedeğin içerdiği dosyaları alır, başka hiçbir şeyi almaz; her birini bir kurulumun verdiği sahip ve modla. certs/ca ve registry-token-certs içinde yalnızca bir kurulumun orada oluşturduğu dosyaları alır. Bundan fazlasını içeren bir arşiv herhangi bir şey değişmeden önce reddedilir ve hata fazlalığı belirtir.
Kurulu bir Appliance’ın gizli bilgileri yalnızca --force ile değiştirilir; .env dosyası .env.prev olarak saklanır. --force olmadan kurulu bir Appliance üzerine geri yükleme herhangi bir değişiklikten önce çıkış kodu 3 ile reddedilir ve mesaj --force ile geri yüklemeyi, ardından appliance restart komutunu belirtir.
Yedekteki geçerli bir lisans anahtarı olmayan bir anahtar bir uyarıyla olduğu gibi geri yüklenir: her Appliance komutu onu yok sayar.
Veritabanı Parolaları
- Appliance’ın veritabanı çalışırken rolleri geri yüklenen parolaları hemen alır. Her hizmetin geri yüklenen dosyaları okuması için Appliance’ı o zaman yeniden başlatın (
appliance restart). - Appliance çalışmıyorken veritabanı rolleri önceki parolalarını korur. Geri yükleme onları işaretler (
<install-dir>/.db-roles-pending;--jsonileroles_pending). Bir sonraki başlangıç onları geri yüklenen.envdosyasına göre ayarlar:appliance startveyarestart, açılıştaki başlangıç, bir kurulum ya da bir güncelleme.
# Kurulu bir Appliance üzerine geri yükleyin, ardından yeniden başlatın
sudo ironflock appliance restore appliance-secrets.tar.gz --force
sudo ironflock appliance restartBir güncelleme yarıda kesilmişken çıkış kodu 3 ile reddeder (Bir Güncelleme Yarıda Kesildiğinde).
ironflock appliance rotate
Appliance’ın bir gizli bilgisine yeni bir değer verir. Yeni değer, eski değerin tutulduğu yere (bir veritabanı rolü, ajanın cihaz dosyası, kayıt defterinin token anahtar çifti) ve .env dosyasına gider. Ardından yalnızca onu okuyan hizmetler yeniden oluşturulur ve komut bunların sağlıklı olduğunu denetler.
ironflock appliance rotate <name> [flags]Çalıştığı sistemler: çalışan bir Appliance’ı olan Linux. Root: gerekir. Sorular: başka bir şeyin de tuttuğu bir gizli bilgi için; --yes yanıtlar.
| Bayrak | Anlamı |
|---|---|
--keep-direct-access | FILE_CRED_KEY ile: daha önce oluşturulan doğrudan erişim anahtarları çalışmaya devam eder |
--revoke-direct-access | FILE_CRED_KEY ile: daha önce oluşturulan doğrudan erişim anahtarları çalışmayı bırakır ve silinir |
--install-dir <directory> | kurulum dizini. Varsayılan: /opt/ironflock |
Değişiklikten önceki .env, yalnızca root’un okuyabildiği .env.prev olarak kalır. rotation.log her rotasyonu listeler, hiçbir değeri listelemez.
- Başka bir şeyin de tuttuğu bir gizli bilgi (veriler, bir cihaz, bir token) rotasyonundan önce sorar;
--yesyanıtlar. FILE_CRED_KEY, müşterilerin doğrudan erişim anahtarları için bir seçim gerektirir.--keep-direct-access: planlı bir rotasyon için çalışmaya devam ederler; bunu daha sonrarevoke-direct-accessile sonlandırın.--revoke-direct-access: bir sızıntı şüphesinden sonra çalışmayı bırakırlar ve silinirler.APPLIANCE_ADMIN_PASSWORD,reset-admin-passwordile aynıdır.
Rotasyonunu yaptığı gizli bilgiler:
POSTGRES_PASSWORD, PGPASSWORD_KRATOS, PGPASSWORD_ACCT_MANAGER,
PGPASSWORD_ACCT_PUSHER, PGPASSWORD_EXT_ACCT_USER, PGPASSWORD_AUDIT_SANDBOX,
DATASERVICE_PASSWORD, WAMP_SYSTEM_SECRET, WAMP_SECRET_SVC_VDM,
WAMP_SECRET_SVC_IDE, WAMP_SECRET_SVC_IDE_PROXY, WAMP_SECRET_SVC_GIT,
WAMP_SECRET_SVC_REGISTRY, WAMP_SECRET_SVC_REGISTRY_PROXY,
WAMP_SECRET_SVC_ACCT, WAMP_SECRET_SVC_ACCT_PUSH, WAMP_SECRET_SVC_PAYMENT,
WAMP_SECRET_SVC_FLEETDB, WAMP_SECRET_SVC_FLEETFILES, WAMP_SECRET_SVC_AI,
WAMP_SECRET_SVC_TUNNEL, WAMP_SECRET_SVC_RENDERER, WAMP_SECRET_SVC_WEBSERVER,
WAMP_SECRET_SVC_REAPI, WAMP_SECRET_SVC_AUTH, RENDER_TICKET_KEY,
FILES_FORWARD_SECRET, KRATOS_WEBHOOK_SECRET, KRATOS_SECRETS_PAGINATION,
REGISTRY_HTTP_SECRET, TUNNEL_DASHBOARD_PASSWORD, EDGE_SESSION_SECRET,
OBJECTSTORE_ADMIN_ACCESS_KEY, OBJECTSTORE_ADMIN_SECRET_KEY, FILE_CRED_KEY,
FLEETDB_SECRET_KEYS, KRATOS_SECRETS_COOKIE, KRATOS_SECRETS_CIPHER,
APPLIANCE_DEVICE_SECRET, APPLIANCE_ADMIN_PASSWORD, REGISTRY_TOKEN_KEYBir rotasyonun her gizli bilgi türüne ne yaptığı ve hangi gizli bilgilerin rotasyonunun yalnızca IronFlock ekibiyle birlikte yapılacağı Dahili Bir Gizli Bilginin Rotasyonu bölümünde açıklanır.
# Bir hizmetin gizli bilgisinin rotasyonunu yapın
sudo ironflock appliance rotate WAMP_SECRET_SVC_AI
# Dosya anahtarının planlı rotasyonunu yapın; doğrudan erişim anahtarları çalışmaya devam eder
sudo ironflock appliance rotate FILE_CRED_KEY --keep-direct-access --yesBir güncelleme yarıda kesilmişken çıkış kodu 3 ile reddeder (Bir Güncelleme Yarıda Kesildiğinde).
ironflock appliance revoke-direct-access
--keep-direct-access ile yapılan bir FILE_CRED_KEY rotasyonunu sonlandırır. Müşterilerin geçerli FILE_CRED_KEY ile oluşturulmamış her doğrudan erişim anahtarı çalışmayı bırakır ve silinir; anahtarın kendisi kalır. fleetfiles hizmeti yeniden oluşturulur ve neyi sildiğini bildirir.
ironflock appliance revoke-direct-access [flags]Çalıştığı sistemler: kurulu bir Appliance’ı olan Linux. Root: gerekir. Sorular: evet, çünkü bu anahtarların sahiplerinin yenilerini oluşturması gerekir; --yes yanıtlar.
| Bayrak | Anlamı |
|---|---|
--install-dir <directory> | kurulum dizini. Varsayılan: /opt/ironflock |
sudo ironflock appliance revoke-direct-accessBir güncelleme yarıda kesilmişken çıkış kodu 3 ile reddeder (Bir Güncelleme Yarıda Kesildiğinde).
ironflock appliance remove
IronFlock Appliance’ı bu makineden kaldırır ve kurulumunun ana makinede kaydettiği değişiklikleri geri alır. --purge vermediğiniz sürece verileri kalır.
ironflock appliance remove [flags]Çalıştığı sistemler: Linux. Root: gerekir. Sorular: evet, neyin gideceğini ve neyin kalacağını listeledikten sonra. Soru “No” seçeneğini önceden seçer: yalnızca Enter’a basmak hiçbir şeyi kaldırmaz.
| Bayrak | Anlamı |
|---|---|
--purge | bu bayrak olmadan kalanları da kaldırır: kurulum dizini, birimler ve görüntüler |
--force | başarısız olan bir çağrının ötesine geçer ve geri alınması sürekli başarısız olan ana makine değişikliklerinin kaydını siler |
--install-dir <directory> | kurulum dizini. Varsayılan: biriminin belirttiği dizin, yoksa /opt/ironflock |
Kaldırdıkları:
- Appliance’ın systemd birimleri, konteynerleri ve Docker’daki ağı;
- Docker’ın IronFlock kayıt defterindeki oturumu;
- kurulumunun ana makinede kaydettiği her değişiklik (
/etc/ironflock/appliance.json): yazdığı proxy ayarları, Docker’ındaemon.jsondosyasındaki ayarları, journal ayarları ve maskelenmiş uyku hedefleri; - bir güncellemenin geri alma için sakladığı önceki sürümün kopyası (kurulum dizinindeki
.update-previous).
Appliance konteynerlerinin anonim birimleri de --purge olsun ya da olmasın silinir: asla adlandırılmış bir birim ve asla bir konteynerin hâlâ kullandığı bir birim silinmez.
Neler Kalır
--purge olmadan Appliance’ın verileri kalır; böylece sonraki bir kurulum onları devralır:
- gizli bilgileri tutan
.env,license.env, kurulumun seçimlerinin kaydı (install.json) ve bir geri yüklemenin ayarlayamadığı veritabanı parolalarının işareti (.db-roles-pending) ile kurulum dizini (/opt/ironflock); - Docker’daki birimler.
--purge bunları ve görüntüleri de kaldırır: Appliance’ın tuttukları kalıcı olarak gider.
Şunlar --purge ile de kalır:
- Docker’ın kendisi ve ana makinenin cihaz ajanı. Ajanı
ironflock agent removekaldırır. - Appliance’ın yazdığı ve o zamandan beri değiştirilmiş bir dosya; örneğin
ironflock agent configurekomutunun ayarladığı proxy ayarları ve bunların adını veren drop-in dosyaları; böylece ajan proxy’sini korur. - Ajanın kaydının (
/opt/ironflock/device-init/installed.json) ajana ait olarak belirttikleri ve ajanın maskelediği uyku hedefleri. Bunlarıironflock agent removekaldırır.
Bir Çağrı Başarısız Olduğunda
Geri almanın bir çağrısı sürekli başarısız olduğunda (örneğin elle kaldırılmış bir Docker’ın yeniden başlatılması) kayıt kalır. Komut hangi çağrının başarısız olduğunu söyler ve bir hatayla sona erer. Bu çağrı çalıştığında komutu yeniden çalıştırın ya da kaydı yine de silen ve devre dışı bırakılamayan bir birimin veya yanıt vermeyen bir Docker’ın ötesine geçen --force ile çalıştırın.
Appliance’ın bir kurulumu, güncellemesi veya başka bir değişikliği çalışırken komut 30 saniyeye kadar bekler ve bunu söyler. O çalıştırma sürerse hiçbir şeyi değiştirmez ve çıkış kodu 3 ile sona erer.
Örnekler
# Appliance'ı kaldırın ve verilerini koruyun; komut neyin gideceğini listeler ve sorar
sudo ironflock appliance remove
# Appliance'ı tüm verileriyle, soru sormadan kaldırın
sudo ironflock appliance remove --purge --yesHayır yanıtı ya da terminal ve --yes olmadan gelen bir soru komutu çıkış kodu 4 ile sonlandırır.
Bir Appliance’ı kalıcı olarak kaldırmadan önce, hâlâ çevrimiçiyken lisansını taşıyın veya serbest bırakın (Hizmetten Çıkarma).