Skip to content

Remove license validation requirement from self-hosted deployment #843

Description

@tomldrsdrf

Background

UltiHash Core has been released under Apache 2.0. As part of this transition, we want to remove all friction for self-hosted deployments. Currently, starting a cluster via Helm requires a license key passed via --set license.key=..., which was previously obtained through the UltiHash dashboard.

The dashboard login is no longer available to new users, which means self-hosted Kubernetes deployments are currently blocked for anyone without an existing license key.

As a short-term workaround, the README now documents the public demo credentials (already present in the test-installation quicktest script). This is not a sustainable solution.

Goal

Remove the license validation requirement entirely from the core binary and the Helm chart so that any self-hosted deployment works out of the box — no key, no registry login, no external call required.

This is the right long-term approach for an Apache 2.0 project.

Scope of changes

This will likely require changes in two places:

1. core (this repo)

  • Find and remove the license key parsing and validation logic from the binary startup (likely in src/ — the entrypoint and/or cluster initialisation code)
  • Ensure the binary starts cleanly with no UH_LICENSE environment variable set
  • If the license check is in a separable module, it can simply be stubbed to always return valid

2. uh-helm (https://github.com/UltiHash/uh-helm)

  • Remove license.key as a required value from values.yaml
  • Remove the UH_LICENSE environment variable injection from the Helm templates
  • Update helm show values output accordingly

Definition of done

  • helm install my-cluster oci://registry.ultihash.io/stable/ultihash-cluster --namespace ultihash --create-namespace works without any --set license.key=...
  • All pods start cleanly with no license-related errors in logs
  • The UH_LICENSE environment variable is no longer referenced in Helm templates
  • The README note about demo credentials (ℹ️ License note) can be removed in a follow-up PR

Notes

  • The demo credentials currently documented in the README (demo:1024:ZZaWuJY0...) can be used to verify existing behaviour before the change, and confirm clean startup after
  • The test-installation quicktest script also hardcodes these credentials — a follow-up issue will clean that up once the license check is removed
  • This does not affect the Serverless product, only Self-Hosted

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions