Skip to main content

Licensing

Datastrato Enterprise requires a license key. This page covers obtaining one, supplying it, replacing it, and what happens when one expires.

Obtaining a Key

Trial keys are issued at the Datastrato trial page and are time limited. Production keys come from your account team and are tied to the entitlement in your agreement.

A key is a single opaque string. Treat it as a credential: it belongs in a secret rather than in a values file committed to a repository.

Supplying the Key

The key is passed to the chart at install time.

helm upgrade --install gravitino \
oci://{registry_host}/charts/datastrato-enterprise \
--namespace gravitino --create-namespace \
--set-string license.key="{license_key}"

Use --set-string rather than --set. A license key can contain characters Helm's type inference will mangle, and the failure appears later as an invalid key rather than as a parse error.

If your key spans multiple lines, strip the newlines before passing it. A key with embedded newlines is rejected as malformed.

Using a Secret

For anything beyond a trial, put the key in a Kubernetes secret and reference it rather than passing it on the command line, where it lands in shell history and in the Helm release record.

kubectl -n gravitino create secret generic gravitino-license \
--from-literal=key="{license_key}"
license:
existingSecret: gravitino-license
existingSecretKey: key

Verifying Activation

The server reports its license state. A running pod that rejects every request is almost always unlicensed rather than misconfigured, so check this before investigating anything else.

kubectl -n gravitino logs deployment/gravitino | grep -i license

Replacing a Key

Renewal, an entitlement change, or a trial converting to production all mean a new key. Update the secret and restart the deployment.

kubectl -n gravitino create secret generic gravitino-license \
--from-literal=key="{new_license_key}" \
--dry-run=client -o yaml | kubectl apply -f -
kubectl -n gravitino rollout restart deployment/gravitino

The server reads the key at startup, so a secret updated without a restart has no effect.

Expiry

An expired license does not delete anything. Your metalakes, catalogs, tags, policies, and grants remain in the entity store, and the underlying sources are untouched, since Gravitino never held your data in the first place.

What stops is service. Applying a valid key and restarting restores the deployment to where it was.

Plan renewal ahead of the expiry date rather than on it. There is no grace period to rely on, and discovering the problem through a failed production query is an avoidable way to find out.