Skip to content

Add LicenseInfo to ClusterMetadata - #649

Merged
ArnobKumarSaha merged 1 commit into
masterfrom
arnob-org-license
Sep 16, 2026
Merged

ArnobKumarSaha merged 1 commit into
masterfrom
arnob-org-license

Conversation

@ArnobKumarSaha

Copy link
Copy Markdown
Member

Part of the org-based licensing model.

A cluster declares where it acquires licenses from: appscode.com directly, or a selfhosted platform-api, plus the tenant org owning the cluster.

  • LicenseInfo{Distributor, Endpoint, OrgID} on kmapi.ClusterMetadata (protobuf field 13). Distributor, not origin: AppsCode issues and signs every license either way — what differs is who hands it onward.
  • Carried through the HMAC-signed kube-public/ace-info ConfigMap. An all-empty LicenseInfo signs as absent, so ConfigMaps written before this change keep verifying against the new lib.
  • Written by ui-server, which already pulls cluster identity from the platform it registered with. Adding fields changes the signed payload, so ui-server and this lib ship together.
  • Read by the license-proxyserver manager (upstream resolution) and audit/provisioner (billed org for managed tenants).

Regenerated: deepcopy, openapi, protobuf. The proto carries one unrelated cosmetic change — the newer protoc emits leading-dot qualified names (.k8s.io.api.core.v1.X), semantically identical.

A cluster declares where it acquires licenses from: appscode.com directly, or
a selfhosted platform-api, plus the tenant org owning the cluster. Carried
through the HMAC-signed kube-public/ace-info ConfigMap, so an all-empty
LicenseInfo signs as absent and old ConfigMaps keep verifying.

Signed-off-by: Arnob Kumar Saha <arnob@appscode.com>
@ArnobKumarSaha
ArnobKumarSaha merged commit 45e2a0e into master Sep 16, 2026
4 checks passed
@ArnobKumarSaha
ArnobKumarSaha deleted the arnob-org-license branch September 16, 2026 09:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant