feat(admin): licence issuance with plan snapshots and supersession

Issue is the only place that signs. It records the licence, supersedes its
predecessor and updates the instance -- but deliberately does not deliver.

The ordering matters: a licence recorded but not delivered is recoverable,
because the customer can download it. A licence delivered but not recorded
is a support mystery with no paper trail.

Free stays cloud-only through one comparison of plan against instance
deployment, not a flag. Renewals reset relink_count because the cap is per
term.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
mrhid6
2026-07-25 19:01:47 +01:00
co-authored by Claude Opus 5
parent b8fcf89ee7
commit 427191b14c
5 changed files with 205 additions and 0 deletions
+1
View File
@@ -3,6 +3,7 @@ module github.com/mrhid6/vantage/admin
go 1.26.4
require (
github.com/google/uuid v1.6.0
github.com/joho/godotenv v1.5.1
github.com/mrhid6/vantage/shared v0.0.0-00010101000000-000000000000
go.mongodb.org/mongo-driver/v2 v2.8.0