Hopp til innhold

Bygde sju skrivebeskyttede rapporteringsroller som gjengir en vert i drift som Markdown — fakta, tilgang, git, metrikker, trafikk, sikkerhet og leverandørens inventar — etter en regel om at ingen tall skrives ut som kjøringen ikke har målt.

sju rapporter som bare skriver ut det de har målt

Situasjon. Verten hadde ikke noe dashbord og skulle heller ikke få noe, fordi en metrikkstack ikke får plass på 464 MB og ikke ville vært verdt kostnaden om den gjorde det. Det etterlot et ærlig hull: det fantes ingen måte å svare på spørsmål som hvem som har tilgang, hvor mye dette repoet har vokst, hvordan trafikken ser ut, eller om herdingen faktisk håndheves.

Oppgave. Disse spørsmålene trengte svar som kunne lages ved behov, som ikke kostet verten noe så lenge ingen spurte, og som aldri kunne endre det de beskrev.

Handling. Sju roller som bare leser, og som hver gjengir en levende vert som Markdown i repoet. Et facts‑øyeblikksbilde som dekker operativsystem, maskinvare, lagring, nettverk, tjenester, pakker, lyttende sockets og prosessorutnyttelse beregnet fra to målinger av kjernens egen teller. En tilgangsrapport som dekker kontoer, sudo‑omfang, nøkkelfingeravtrykk, forge‑brukere og databaseroller. En git‑rapport per repo. En metrikkrapport over dagens innsamlede målinger. En trafikkrapport bygget fra webserverens personvernmaskerte logg. En leverandøroversikt på tvers av fire leverandørflater — DNS, to sky‑API‑er og et API for dedikerte servere. Og en sikkerhetsrapport som svarer på om herdingen håndheves og ikke bare er konfigurert, og som skriver ut brannmurreglene i treffrekkefølge og det aktive regelsettet for blokkeringer. Den styrende regelen for alle sju er at det ikke skrives ut noe tall som kjøringen ikke har målt — en rapport som fyller et hull med et plausibelt tall, er verre enn en som lar det stå tomt, fordi det bare er det plausible tallet som blir trodd.

Resultat. Hele driftsmiljøet kan beskrives fra repoet ved behov, og rapportene har funnet virkelige ting: de to døde sikkerhetstiltakene, en ikke‑deklarert lyttende port og observasjonen at trafikkarkivet bare er så gammelt som siste gang noen husket å høste det. Det siste er dokumentert som en begrensning med en konkret kostnad — seksten dager av ett nettsteds historikk som ble rotert bort mellom høstingene og ikke finnes noe sted.

Ett stykke av en lengre oversikt — og den ligger i sin helhet her.

Hver oppføring er skrevet på samme måte: situasjonen, oppgaven, hva vi gjorde, og hva som endret seg.

Se hele oversikten