-
3a6c5ebae8
fix(admin): licence and plan features serialise as [], never null

mrhid6andClaude Opus 5
2026-07-26 18:10:07 +01:00
-
34a0373eca
feat(adminsite): one masthead, a shared page frame, collapsible instance records

mrhid6andClaude Opus 5
2026-07-26 17:45:53 +01:00
-
6bf288f83e
docs: phase 3, grants project rather than federate

mrhid6andClaude Opus 5
2026-07-26 16:43:52 +01:00
-
7b077905e2
feat(web): hq-sourced members are read-only here

mrhid6andClaude Opus 5
2026-07-26 16:42:47 +01:00
-
2d12669f9b
feat(adminsite): people, instance members and one password

mrhid6andClaude Opus 5
2026-07-26 16:38:21 +01:00
-
a05a74cf4d
feat(server): refuse local edits to hq-sourced users

mrhid6andClaude Opus 5
2026-07-26 16:31:27 +01:00
-
14b855fa9f
feat(admin): hqsync repairs stale projected passwords

mrhid6andClaude Opus 5
2026-07-26 16:30:33 +01:00
-
0f5ad1d836
feat(admin): one password change reaches every instance

mrhid6andClaude Opus 5
2026-07-26 16:29:50 +01:00
-
cca0ffbeae
feat(admin): grant, re-role and revoke instance members

mrhid6andClaude Opus 5
2026-07-26 16:28:41 +01:00
-
0c663945ee
feat(admin): invite people to an account and give them roles

mrhid6andClaude Opus 5
2026-07-26 16:26:56 +01:00
-
b37ed967b6
feat(admin): cloudprov projects, revokes and repairs users

mrhid6andClaude Opus 5
2026-07-26 16:23:46 +01:00
-
a7b9af4422
feat(admin): account roles and the instance_members index

mrhid6andClaude Opus 5
2026-07-26 16:23:02 +01:00
-
310b3ab03f
fix: Fixed plans on admin site erroring
mrhid6
2026-07-26 16:08:15 +01:00
-
fbad3e44e5
doc: Added phase 3 plan
mrhid6
2026-07-26 15:42:07 +01:00
-
e4a3f22871
fix: Fixed pricing license names
mrhid6
2026-07-26 15:41:52 +01:00
-
e8cc9b4ecd
fix: Fixed misleading error message when license on cloud
mrhid6
2026-07-26 15:16:02 +01:00
-
0b1efca737
Updates
mrhid6
2026-07-26 14:46:38 +01:00
-
aef5811c16
fix(admin): SMTP over implicit TLS, and rollbacks that survive

mrhid6andClaude Opus 5
2026-07-26 14:26:34 +01:00
-
b209fed4a7
fix(deploy): ADMIN_ORIGIN must list the marketing site too

mrhid6andClaude Opus 5
2026-07-26 14:02:25 +01:00
-
104f21d0a9
docs: phase 2 configuration and the reaper's containment

mrhid6andClaude Opus 5
2026-07-26 13:48:23 +01:00
-
b86d9ddd86
refactor(sitesvc): remove signup and verification

mrhid6andClaude Opus 5
2026-07-26 13:41:47 +01:00
-
9cf04a6940
feat(site): /start creates an account, not an instance

mrhid6andClaude Opus 5
2026-07-26 13:37:30 +01:00
-
cb90ed12fb
feat(adminsite): create and renew a free instance

mrhid6andClaude Opus 5
2026-07-26 13:30:42 +01:00
-
a940390791
feat(admin): reconciler marks reaped instances deleted

mrhid6andClaude Opus 5
2026-07-26 13:24:44 +01:00
-
4e90e8619f
feat(server): reap Free instances whose licence lapsed

mrhid6andClaude Opus 5
2026-07-26 13:22:04 +01:00
-
372a8c5ddf
feat(admin): lapse sweep and the four renewal notices

mrhid6andClaude Opus 5
2026-07-26 13:20:00 +01:00
-
909ddb884e
feat(admin): renew a Free instance from the portal

mrhid6andClaude Opus 5
2026-07-26 13:17:45 +01:00
-
1836237f82
feat(admin): POST /api/instances creates a Free cloud instance

mrhid6andClaude Opus 5
2026-07-26 13:16:12 +01:00
-
983655d2a1
feat(admin): cloudprov, the instance provisioning write path

mrhid6andClaude Opus 5
2026-07-26 13:14:12 +01:00
-
78a0a610be
docs: phase 2 plan, creation and Free lifecycle

mrhid6andClaude Opus 5
2026-07-26 13:12:29 +01:00
-
5f35b57268
docs: users is unique per instance, not globally

mrhid6andClaude Opus 5
2026-07-26 13:01:09 +01:00
-
cf318470b8
feat(admin): drop the unscoped control-plane login branch

mrhid6andClaude Opus 5
2026-07-26 12:55:44 +01:00
-
d703bbc4e8
feat(server): scope every user lookup by instance

mrhid6andClaude Opus 5
2026-07-26 12:54:13 +01:00
-
17bcf4b5b9
feat(shared): auth_source constants and hq_user_id on User

mrhid6andClaude Opus 5
2026-07-26 12:52:15 +01:00
-
da3afca7fa
feat(shared): unique users index is (instance_id, email)

mrhid6andClaude Opus 5
2026-07-26 12:48:27 +01:00
-
88f49a96ae
docs: phase 1 plan, identity

mrhid6andClaude Opus 5
2026-07-26 12:28:25 +01:00
-
d15ab78bd5
docs: spec 6 revised for account membership

mrhid6andClaude Opus 5
2026-07-26 12:16:38 +01:00
-
8eb14c1502
docs: spec 6, cloud instance creation

mrhid6andClaude Opus 5
2026-07-26 12:03:14 +01:00
-
f8cd909828
doc: Doc updated for cloud instance creation.
mrhid6
2026-07-25 22:54:04 +01:00
-
6a3e0a29a4
chore: verify the admin site end to end

mrhid6andClaude Opus 5
2026-07-25 21:30:43 +01:00
-
c19c11e6eb
docs: record admin, adminsite and the shared token set

mrhid6andClaude Opus 5
2026-07-25 21:24:55 +01:00
-
85f6d47024
feat(adminsite): image, compose service, image build and docs

mrhid6andClaude Opus 5
2026-07-25 21:24:37 +01:00
-
4175608772
feat(adminsite): staff licence history, audit and plan editing

mrhid6andClaude Opus 5
2026-07-25 21:20:54 +01:00
-
24060b2c5a
chore(adminsite): remove the frontend test suite

mrhid6andClaude Opus 5
2026-07-25 21:19:34 +01:00
-
cefbac625c
feat(adminsite): the licence ledger and staff instance actions

mrhid6andClaude Opus 5
2026-07-25 21:15:41 +01:00
-
73efb206ac
feat(adminsite): staff accounts, search by UUID and account detail

mrhid6andClaude Opus 5
2026-07-25 21:12:48 +01:00
-
7fea321376
feat(adminsite): staff operations dashboard

mrhid6andClaude Opus 5
2026-07-25 21:10:48 +01:00
-
b583e9803f
feat(adminsite): the self-hosted link flow and billing view

mrhid6andClaude Opus 5
2026-07-25 21:08:46 +01:00
-
92ac1eeb62
feat(adminsite): licence delivery, paste instructions and relink

mrhid6andClaude Opus 5
2026-07-25 21:06:21 +01:00
-
242a587340
feat(adminsite): instance cards and the customer overview

mrhid6andClaude Opus 5
2026-07-25 21:03:37 +01:00
-
7a8e683d99
feat(adminsite): session guards and the auth screens

mrhid6andClaude Opus 5
2026-07-25 21:00:54 +01:00
-
3e447fd024
feat(adminsite): test harness, typed client and the not-connected state

mrhid6andClaude Opus 5
2026-07-25 20:57:51 +01:00
-
6953f5e972
feat(adminsite): scaffold and site/'s token system

mrhid6andClaude Opus 5
2026-07-25 20:55:25 +01:00
-
55526263a0
feat(admin): staff instance detail, subscriptions and richer search

mrhid6andClaude Opus 5
2026-07-25 20:50:11 +01:00
-
4bb7400b8e
feat(admin): session probe, self-hosted signup and the relink cap

mrhid6andClaude Opus 5
2026-07-25 20:48:09 +01:00
-
79afcc2e16
docs(plan): match the admin site to site/'s design tokens

mrhid6andClaude Opus 5
2026-07-25 20:31:55 +01:00
-
8708bd9498
docs(plan): add the admin site implementation plan

mrhid6andClaude Opus 5
2026-07-25 20:22:00 +01:00
-
58c37bf81b
feat(admin): support authenticated Redis, and point at the external server

mrhid6andClaude Opus 5
2026-07-25 19:50:19 +01:00
-
946a748038
chore: declare go 1.26 rather than 1.26.4 across the workspace

mrhid6andClaude Opus 5
2026-07-25 19:33:58 +01:00
-
481649e03f
chore: update go.work.sum for the admin module

mrhid6andClaude Opus 5
2026-07-25 19:21:53 +01:00
-
cfdc00552e
docs: mark the admin backend shipped and verified

mrhid6andClaude Opus 5
2026-07-25 19:21:45 +01:00
-
b7221d8111
fix(admin): reconcile once at boot, not only on the ticker

mrhid6andClaude Opus 5
2026-07-25 19:21:16 +01:00
-
7e6d7074d6
feat(admin): compose service and image build

mrhid6andClaude Opus 5
2026-07-25 19:11:52 +01:00
-
268134d821
feat(admin): staff API and the route table

mrhid6andClaude Opus 5
2026-07-25 19:11:04 +01:00
-
c829cc41d9
feat(admin): linking, relink and the scoped customer API

mrhid6andClaude Opus 5
2026-07-25 19:09:13 +01:00
-
07a3756b18
feat(admin): self-hosted customer accounts with email verification

mrhid6andClaude Opus 5
2026-07-25 19:07:47 +01:00
-
769839a70d
feat(admin): cloud owner login against the control plane

mrhid6andClaude Opus 5
2026-07-25 19:06:23 +01:00
-
480a578deb
feat(admin): sessions, staff auth and adminctl

mrhid6andClaude Opus 5
2026-07-25 19:05:28 +01:00
-
a636a48e07
feat(admin): cloud injection and the 15-minute reconciler

mrhid6andClaude Opus 5
2026-07-25 19:02:45 +01:00
-
427191b14c
feat(admin): licence issuance with plan snapshots and supersession

mrhid6andClaude Opus 5
2026-07-25 19:01:47 +01:00
-
b8fcf89ee7
feat(admin): documents, indexes and the plan seed

mrhid6andClaude Opus 5
2026-07-25 19:00:37 +01:00
-
64eac6dbc7
feat(admin): module skeleton, config and two database connections

mrhid6andClaude Opus 5
2026-07-25 18:58:44 +01:00
-
c4f1684304
docs(plan): drop backfill, add staff instance attach
mrhid6
2026-07-24 16:08:29 +01:00
-
8ed3bec511
docs: mark plans 1 and 2 shipped
mrhid6
2026-07-24 16:00:45 +01:00
-
58faf2e57f
docs: add the admin-backend implementation plan
mrhid6
2026-07-24 16:00:37 +01:00
-
8e5f35f40c
revert(server): drop the licence grandfather migration
mrhid6
2026-07-24 15:49:46 +01:00
-
eb8b85ccfe
fix(server): add the lk go.sum entry the workspace was masking
mrhid6
2026-07-24 15:35:01 +01:00
-
09a39090c6
feat(server): grandfather existing cloud instances onto Professional
mrhid6
2026-07-24 15:26:26 +01:00
-
8626898e5e
feat(web): licence banner, settings page and feature gating
mrhid6
2026-07-24 15:25:29 +01:00
-
ee4dff09c9
feat: show the instance ID after setup
mrhid6
2026-07-24 15:20:00 +01:00
-
8d88b16f20
feat(server): keep monitors and in-flight runs going when a licence lapses
mrhid6
2026-07-24 15:15:06 +01:00
-
120c9c6735
feat(server): licence API, mutation gate and feature gates
mrhid6
2026-07-24 15:13:35 +01:00
-
855537c535
feat(server): enforce licence limits on servers, secret groups and channels
mrhid6
2026-07-24 15:11:03 +01:00
-
1d3fcebb28
feat(server): resolve licence state per instance
mrhid6
2026-07-24 15:09:47 +01:00
-
f9f382049d
feat(shared): add licence fields to Instance
mrhid6
2026-07-24 15:08:48 +01:00
-
e4d7569a1c
refactor(server): correct stale org wording in messages
mrhid6
2026-07-24 15:07:54 +01:00
-
c3e363eccc
refactor(server): finish the Org to Instance rename
mrhid6
2026-07-24 15:07:06 +01:00
-
6fde319b2f
feat(license): trust the production signing key
mrhid6
2026-07-24 15:01:03 +01:00
-
4f1fce32c1
feat(license): add lkctl for issuing licences by hand
mrhid6
2026-07-24 14:59:13 +01:00
-
968408b955
feat(license): add offline verification
mrhid6
2026-07-24 14:58:25 +01:00
-
95c5d531ae
feat(license): add signing and the trusted key list
mrhid6
2026-07-24 14:57:52 +01:00
-
b0d8edf9b6
feat(license): add the licence payload and tier seed table
mrhid6
2026-07-24 14:57:21 +01:00
-
a50219c0d9
docs: correct licence scheme to ECDSA P-384 with SHA-256
mrhid6
2026-07-24 14:56:36 +01:00
-
f10fe61916
chore(shared): add hyperboloide/lk for licence signing
mrhid6
2026-07-24 14:53:26 +01:00
-
bc1cda26f8
docs: add implementation plans for licensing-core and instance-licensing
mrhid6
2026-07-24 14:48:45 +01:00
-
f646ce5c47
chore(server): remove rename-rollback
mrhid6
2026-07-24 14:40:35 +01:00
-
1eb8c79623
Merge branch 'feat/shared-module'
mrhid6
2026-07-24 14:21:56 +01:00
-
-
539403cccf
fix(server): drop stale indexes before renaming the tenant key
mrhid6
2026-07-24 14:15:05 +01:00
-
50a06dfdc0
refactor(site): rename Organisation to Instance
mrhid6
2026-07-24 14:04:52 +01:00
-
b70ccc97d4
refactor(web): rename Organisation to Instance
mrhid6
2026-07-24 14:01:19 +01:00