feat: release license key generation and management #134

Open
opened 2026-05-21 21:52:41 +00:00 by jmiller · 1 comment
Owner

Native license key generation for releases.

Native license key generation for releases.
Author
Owner

Full Requirements

License Key Generation

  • Generate unique keys per release download
  • Tie keys to user accounts, organizations, or email
  • Key types: trial, standard, professional, enterprise
  • Configurable expiration, revocable

Key Formats

  • Alphanumeric: XXXX-XXXX-XXXX-XXXX
  • Signed JWT tokens for offline validation
  • Hardware-bound keys (optional)

Management

  • Admin UI: generate, list, revoke, extend per release
  • Per-repo license settings
  • Activation tracking + audit log

API Endpoints

  • POST /repos/{owner}/{repo}/releases/{id}/licenses - generate
  • GET /repos/{owner}/{repo}/releases/{id}/licenses - list
  • POST /repos/{owner}/{repo}/licenses/validate - validate
  • DELETE /repos/{owner}/{repo}/licenses/{key} - revoke

Integration

  • Release downloads can require valid key
  • Webhook + ntfy on key events
  • Badge: active licenses count

Database

  • repo_license_config table
  • release_license_key table

Authored-by: Claude Opus 4.6 (1M context)

## Full Requirements ### License Key Generation - Generate unique keys per release download - Tie keys to user accounts, organizations, or email - Key types: trial, standard, professional, enterprise - Configurable expiration, revocable ### Key Formats - Alphanumeric: XXXX-XXXX-XXXX-XXXX - Signed JWT tokens for offline validation - Hardware-bound keys (optional) ### Management - Admin UI: generate, list, revoke, extend per release - Per-repo license settings - Activation tracking + audit log ### API Endpoints - POST /repos/{owner}/{repo}/releases/{id}/licenses - generate - GET /repos/{owner}/{repo}/releases/{id}/licenses - list - POST /repos/{owner}/{repo}/licenses/validate - validate - DELETE /repos/{owner}/{repo}/licenses/{key} - revoke ### Integration - Release downloads can require valid key - Webhook + ntfy on key events - Badge: active licenses count ### Database - repo_license_config table - release_license_key table *Authored-by: Claude Opus 4.6 (1M context)*
jmiller added the pending: design label 2026-05-22 02:01:08 +00:00
Sign in to join this conversation.
No labels pending: design
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: MokoConsulting/MokoGitea#134