kms-website: anonymous client diagnostics (Send-Diag -> /diag) + FAQ disclosure

Fire-and-forget telemetry so script failures are captured server-side (Loki via
the kms-diag collector). kms-bootstrap.ps1 + setup-kms.ps1 POST a small anonymous
JSON event at each outcome (action, ok/fail, error text + exit codes, EditionID/
build/locale, detected Office products; no hostname/user/keys). 3s timeout,
errors swallowed -- never affects activation. $env:KMS_NO_TELEMETRY=1 opts out;
$env:KMS_DIAG_URL overrides. Version baked at build via Dockerfile sed
(__KMS_VERSION__ -> SCRIPT_VERSION build-arg). FAQ updated to disclose it.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
Viktor Barzin 2026-06-01 19:46:49 +00:00
parent b51dc9894c
commit 7cfcd73d83
4 changed files with 76 additions and 18 deletions

View file

@ -3,9 +3,11 @@ ARG HUGO_VERSION=0.139.0
ARG NGINX_VERSION=1.27-alpine
FROM hugomods/hugo:${HUGO_VERSION} AS build
ARG SCRIPT_VERSION=dev
WORKDIR /src
COPY . .
RUN hugo --minify --gc --destination /out
RUN hugo --minify --gc --destination /out && \
sed -i "s/__KMS_VERSION__/${SCRIPT_VERSION}/g" /out/scripts/*.ps1
FROM nginx:${NGINX_VERSION}
LABEL org.opencontainers.image.source="https://forgejo.viktorbarzin.me/viktor/kms-website" \