Raporty i formaty

Jeden przebieg, cztery sposoby na zachowanie tego, co znalazł, i maska na to, co nie powinno wyjść poza firmę.

Cztery formaty

FormatFlagaCo to jest
terminaldomyślnyraport tak, jak go czytasz, na 100 kolumn, w kolorze, gdy wyjściem jest terminal
Markdown--format mdten sam raport do zgłoszenia albo na czat
HTML--format htmljedna samodzielna strona, bez żadnego skryptu i bez pobierania czegokolwiek
JSON--format json albo --jsonraport jako dane, sprawdzony ze schematem, zanim zostanie wypisany

Każdy format niesie te same ustalenia. Raport w jednym formacie nie pomija niczego, co ma inny.

Zapis do pliku

--out zapisuje raport pod podaną ścieżką, zamiast go wypisywać:

certdoctor https://api.example.com/ --format html --out report.html

To jedyny plik, jaki certdoctor kiedykolwiek zapisuje. Jeśli nie da się go zapisać - brak miejsca, brak uprawnień - przebieg kończy się kodem wyjścia 6 i mówi dlaczego.

Maskowanie wewnętrznych nazw

Raport zawiera wewnętrzne nazwy hostów, ścieżki w systemie plików i nazwy użytkowników, bo to czyni go przydatnym w zgłoszeniu. --redact je maskuje:

certdoctor https://api.example.com/ --redact --format md --out report.md

Z poświadczeniami jest inaczej. Hasła do proxy, nagłówki autoryzacji i ciasteczka są maskowane zawsze, z --redact i bez, bo maska zależna od flagi jest o jedną zapomnianą flagę od wycieku.

Przeczytaj raport, zanim wkleisz go w publiczne miejsce. Maskowanie to filtr, a nie gwarancja.

Strona z zapisanego raportu

--from bierze raport zapisany wcześniej z --json i zapisuje go jeszcze raz w innym formacie, niczego nie uruchamiając:

certdoctor https://api.example.com/ --json --out report.json
certdoctor --from report.json --format html --out report.html

Pojedynczy myślnik czyta JSON ze standardowego wejścia. --from kończy się kodem wyjścia 0, gdy strona jest zapisana, cokolwiek znalazł raport, a własny werdykt przebiegu zostaje w raporcie.

Schemat JSON

certdoctor --version wypisuje wersję narzędzia i schematu raportu, który wytwarza, więc plik JSON sprzed pół roku nadal mówi, co go wytworzyło:

certdoctor --version