Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Komut satırı

helmsight [--config <yol>] [--data-dir <dizin>] [--log-format text|json] <komut>
KomutAçıklama
serve [--local] [--listen ADRES]Web sunucusunu ve veri toplayıcıları çalıştırır. --local yalnızca bu makineyi izler.
init [--force] [--non-interactive] [seçenekler]Yapılandırma dosyasını, veri dizinini, anahtar dosyasını ve ilk yöneticiyi oluşturur (aşağıya bakın)
user add <ad> [--role viewer|operator|admin] [--password-stdin]Yerel kullanıcı oluşturur
user remove <ad>Kullanıcıyı siler; son yönetici silinemez
user reset-password <ad> [--password-stdin] [--reset-totp]Yeni parola belirler ve kullanıcının oturumlarını sonlandırır
user listKullanıcıları listeler
hosts test [--trust] [adlar...]Bağlantıyı, kimlik doğrulamayı ve sunucu anahtarlarını denetler
hosts bootstrap [--from ADRES] [--user KULLANICI] [--key YOL] [--no-journal]Bir sunucuda izleme hesabını hazırlayan betiği yazdırır (ayrıntılar)
config checkYapılandırmayı doğrular ve başvurulan gizli değerlerin var olduğunu denetler
secret set <ad> [--stdin]Şifreli bir gizli değer saklar; secret:<ad> olarak başvurulur
secret list / secret delete <ad>Saklanan gizli değerleri listeler veya siler
audit verifyDenetim kaydının özet zincirini doğrular

Her komutun ayrıntılı yardımı için helmsight <komut> --help kullanın.

init seçenekleri

init, seçenek olarak verilmeyen her değeri sorar. --non-interactive ile hiçbir şey sormaz ve geri kalanlar için varsayılanları kullanır; bu durumda ilk yönetici yalnızca --password-stdin ile oluşturulur.

SeçenekAnlamı
--listen <adres>Web arayüzünün adresi ve portu
--public-url <url>Arayüzün dışarıdan erişilen https:// adresi
--ssh-user <kullanıcı>İzlenen sunuculardaki hesap
--ssh-key <yol>İzlenen sunucular için SSH özel anahtarı
--generate-key--ssh-key yolunda anahtar yoksa yeni bir ed25519 anahtarı oluşturur
--admin <ad>İlk yöneticinin adı
--password-stdinYöneticinin parolasını standart girdiden okur (--non-interactive gerektirir)
--non-interactiveSoru sormaz
--forceMevcut yapılandırma dosyasının üzerine yazar

Genel --data-dir seçeneği yapılandırmaya yazılacak veri dizinini belirler. Etkileşimli kipte anahtar dosyası yoksa init onu oluşturmayı önerir.

printf '%s\n' "$PAROLA" | helmsight --config /etc/helmsight/helmsight.toml \
  --data-dir /var/lib/helmsight init --non-interactive \
  --ssh-key /etc/helmsight/id_ed25519 --generate-key --admin alice --password-stdin

Yapılandırma dosyasının bulunması

Yapılandırma dosyası şu sırayla aranır: --config, $HELMSIGHT_CONFIG, /etc/helmsight/helmsight.toml, ./helmsight.toml. Yapılandırma dosyası olmadan (yerel kip) --data-dir ya da yerel kipin varsayılan dizini (~/.local/share/helmsight, root için /var/lib/helmsight) kullanılır.

Sık kullanılan örnekler

# Parolayı betikten vererek kullanıcı oluşturma (ör. otomasyon)
printf '%s\n' "$PAROLA" | helmsight user add alice --role operator --password-stdin

# TOTP cihazını kaybeden kullanıcı
helmsight user reset-password alice --reset-totp

# Yalnızca iki sunucuyu denemek
helmsight hosts test web-1 db-1

# Yeni bir izlenen sunucuyu hazırlamak
helmsight hosts bootstrap --from 10.0.0.5 | ssh root@web-3 sh

# Slack webhook adresini şifreli saklamak
helmsight secret set slack-webhook

# Gizli değeri bir dosyadan okumak
helmsight secret set smtp --stdin < /run/secrets/smtp

# Geçici olarak farklı bir adreste çalıştırmak
helmsight serve --listen 127.0.0.1:9090

--password-stdin ve --stdin seçenekleri parolanın kabuk geçmişine veya süreç listesine düşmemesini sağlar; parolaları komut satırı argümanı olarak vermenin bir yolu bilerek sunulmaz.

Çıkış kodları

Komutlar başarıda 0, hata durumunda sıfırdan farklı bir kodla çıkar. hosts test en az bir sunucuya bağlanamazsa, config check yapılandırmada hata bulursa, audit verify zincirde bir kırılma bulursa başarısız olur. Bu sayede komutlar betiklerde ve CI hatlarında denetim olarak kullanılabilir.

Günlükler

Günlük ayrıntısı HELMSIGHT_LOG ile ayarlanır, örneğin HELMSIGHT_LOG=debug veya HELMSIGHT_LOG=info,server=debug. --log-format json günlükleri, bir günlük toplama sistemine aktarmaya uygun JSON satırları olarak yazar. Günlüklerde hiçbir zaman gizli değer, parola, oturum belirteci veya toplanan çıktı bulunmaz.