homelab-codex-ws/scripts/kb/check_whitelist.txt
oskar 369ba31dde chore(kb): whitelist --check — /opt/homelab jako swiadomy wyjatek
Decyzja operatora 2026-08-04: /opt/homelab to standardowa sciezka deploy rootu
homelaba, ta sama na kazdym wezle, opisana wprost w publicznej czesci modelu
(standards, service-model, observer, event-system). Nie ujawnia sekretow ani
topologii, wiec zostaje na stronie publicznej.

scripts/kb/check_whitelist.txt: wpis `/opt/homelab` z uzasadnieniem i data.
Zakres wyjatku jest waski — sprawdzone, ze wycisza wylacznie warianty
`/opt/homelab/...`; `/home/oskar/...`, `/opt/other/...`, adresy RFC1918 i porty
dalej zapalaja czerwone.

gen_pages.py: load_whitelist() obcina komentarz `#` w dowolnym miejscu linii,
nie tylko na jej poczatku — wyjatek ma stac obok uzasadnienia, a nie osobno.
Zaden ze skanowanych wzorcow nie zawiera `#`, wiec obciecie jest bezpieczne.

kb/runbooks/kb-site-deploy.md §2: zapisany aktualny stan bramki (exit 0, 22
trafienia wyciszone) zamiast opisu decyzji do podjecia.

Po zmianie: python3 scripts/kb/gen_pages.py --check -> CZYSTO, exit 0.
2026-08-04 18:05:45 +02:00

27 lines
1.4 KiB
Plaintext

# Świadome wyjątki dla `python3 scripts/kb/gen_pages.py --check`.
#
# --check skanuje WYGENEROWANY HTML (build/kb-site/) i przerywa z exit 1, gdy
# znajdzie adres IP, port, ścieżkę hosta (/home/, /opt/) albo coś, co wygląda
# na token. Ten plik wycisza pojedyncze, świadomie zaakceptowane trafienia.
#
# Format — jeden wpis na linię, `#` zaczyna komentarz (także w środku linii):
#
# <fragment> wycisza KAŻDE trafienie zawierające <fragment>
# <ścieżka strony>|<fragment> to samo, ale tylko w tej jednej stronie
#
# Ścieżka strony jest względna wobec katalogu wyjściowego, np.
# `subsystems/observer.html`. Fragment dopasowuje się jako podciąg trafienia,
# więc wpis `/opt/homelab` wycisza wszystkie warianty `/opt/homelab/...`.
#
# Zasada: najpierw popraw źródło w kb/ (dokument `visibility: public` nie
# powinien zawierać adresów ani ścieżek konkretnego hosta). Whitelist jest
# ostatecznością dla rzeczy, które naprawdę mają zostać na stronie — każdy wpis
# ma mieć obok uzasadnienie i datę decyzji.
# Decyzja operatora 2026-08-04: standardowa ścieżka deploy rootu homelaba,
# opisana wprost w publicznej części modelu (kb/subsystems/standards.md,
# service-model, observer, event-system). Nie ujawnia sekretów ani topologii —
# ta sama ścieżka jest na każdym węźle i nie mówi nic o tym, co na nim stoi.
# Wycisza warianty `/opt/homelab/...`; `/home/...` NIE jest objęte.
/opt/homelab