Hugo source for kms.viktorbarzin.me
Find a file
Viktor Barzin 6f74565356 kms-website: escalate persistent SXSMSI to in-place-repair guidance (no loop)
Pilot on PVE VM 300 established strong counterfactuals: the IDENTICAL script +
the user's EXACT journey both succeed on a healthy Win10 -
  CF1: clean (Remove-All + reboot) -> VL install -> office/ok
  CF2: retail O365HomePremRetail -> script targeted-remove -> reboot -> VL install
       -> office/ok
So a persistent [Failing PreReq=SXSMSI]/1603 with all script-checkable causes
clean (msiserver healthy, EventLog up, no DisableMSI, no stale MSI, disk OK, no
pending reboot) is machine-specific Windows servicing/Installer corruption below
DISM/SFC - not the script, ODT, retail->VL transition, or KMS.

Cover the case without looping:
- Repair-OfficePrereq now persists a marker (HKLM\SOFTWARE\kms-bootstrap
  DeepRepairDone).
- On a 1603 install failure: first time -> offer the deep repair; if the deep
  repair already ran and it STILL fails -> Show-InPlaceRepairHint (the only
  reliable fix: in-place Windows repair-install, keeps files+apps) + emit
  'sxsmsi-unrecoverable' telemetry.
2026-06-02 00:07:09 +00:00
content Initial commit — Hugo source, Dockerfile, Woodpecker pipeline 2026-05-07 23:13:25 +00:00
data kms-website: auto-fetch + auto-install GVLKs (no manual key lookup) 2026-06-01 10:12:03 +00:00
layouts kms-website: anonymous client diagnostics (Send-Diag -> /diag) + FAQ disclosure 2026-06-01 19:46:49 +00:00
static kms-website: escalate persistent SXSMSI to in-place-repair guidance (no loop) 2026-06-02 00:07:09 +00:00
.dockerignore Initial commit — Hugo source, Dockerfile, Woodpecker pipeline 2026-05-07 23:13:25 +00:00
.gitignore Initial commit — Hugo source, Dockerfile, Woodpecker pipeline 2026-05-07 23:13:25 +00:00
.woodpecker.yml Initial commit — Hugo source, Dockerfile, Woodpecker pipeline 2026-05-07 23:13:25 +00:00
Dockerfile kms-website: anonymous client diagnostics (Send-Diag -> /diag) + FAQ disclosure 2026-06-01 19:46:49 +00:00
hugo.toml kms-website: dedicated activate-windows / activate-office one-liner commands 2026-06-01 19:15:10 +00:00
nginx.conf Initial commit — Hugo source, Dockerfile, Woodpecker pipeline 2026-05-07 23:13:25 +00:00
README.md Initial commit — Hugo source, Dockerfile, Woodpecker pipeline 2026-05-07 23:13:25 +00:00

kms-website

Source for kms.viktorbarzin.me — a single-page reference for activating Microsoft Volume License products against the home-lab KMS host (kms.viktorbarzin.lan / kms.viktorbarzin.me).

Stack

  • Hugo static site (one custom layout, single _index)
  • YAML data file at data/products.yaml is the source of truth for all GVLK tables
  • nginx:alpine Docker image (multi-stage build via Hugo)
  • Woodpecker CI builds + pushes to forgejo.viktorbarzin.me/viktor/kms-website and rolls the kms-web-page Deployment in the kms namespace
  • Terraform in infra/stacks/kms consumes the image (var.image_tag)

Local dev

hugo server -D
# → http://localhost:1313

Update GVLKs

Edit data/products.yaml. Push. CI rebuilds and rolls.

Sources of truth for keys: