Install NuoDB License on Kubernetes

When using the Helm package manager to deploy NuoDB, a license is not installed by default. The Community Edition is the default behavior when deploying images located at the NuoDB Docker Hub repository. This permits a maximum of one Storage Manager (SM) and three Transaction Engines (TEs).

To view the details such as date of expiry (expires), name of the license holder (holder), and the type of license (type) for an Enterprise Edition license, run:

nuocmd --show-json get effective-license
{
  "decodedLicense": {
    "expires": "2025-01-31T15:33:40.465134",
    "holder": "3DS Solutions",
    "type": "ENTERPRISE"
  },
  "effectiveForDomain": true,
  "encodedLicense":
    "-----BEGIN LICENSE-----
    <base64-encoded data>
    -----END LICENSE-----"
}

However, if the Community Edition is current, you would see:

nuocmd --show-json get effective-license
{
  "decodedLicense": {
    "type": "COMMUNITY"
  },
  "effectiveForDomain": false
}

To install an Enterprise Edition license or to update the existing Enterprise Edition license, choose one of the following options:

Redeploy the Admin Processes (APs) using Helm

To install an Enterprise Edition license for a new Admin domain

  1. Contact NuoDB Support to get a new Enterprise Edition license.

  2. Make a copy of the admin chart’s values.yaml file.

    helm show values nuodb/admin > admin-values.yaml
  3. Edit the admin-values.yaml file.

    Replace the contents of configFiles: with the following:

      configFiles:
        nuodb.lic: |-
        #   "PUT YOUR BASE64 ENCODED LICENSE CONTENT HERE"
        -----BEGIN LICENSE-----
        <base64-encoded data>
        -----END LICENSE-----
    Paste the entire license file, including the lines -----BEGIN LICENSE----- and -----END LICENSE-----.
  4. Save the changes to the admin-values.yaml file.

  5. Re-run the admin chart specifying --values admin-values.yaml.

    helm install <RELEASE_NAME> nuodb/admin --values admin-values.yaml
  6. Check the details of the updated license.

    nuocmd --show-json get effective-license

To install an Enterprise Edition license for an existing Admin domain

  1. Contact NuoDB Support to get a new Enterprise Edition license.

  2. Make a copy of the admin chart’s Helm values.

    helm get values --all --output=yaml <RELEASE_NAME> admin-values.yaml
  3. Edit the admin-values.yaml file.

    Replace the contents of configFiles: with the following:

      configFiles:
        nuodb.lic: |-
        #   "PUT YOUR BASE64 ENCODED LICENSE CONTENT HERE"
        -----BEGIN LICENSE-----
        <base64-encoded data>
        -----END LICENSE-----
    Paste the entire license file, including the lines -----BEGIN LICENSE----- and -----END LICENSE-----.
  4. Save the changes to the admin-values.yaml file.

  5. Re-run the admin chart specifying --values admin-values.yaml.

    helm upgrade <RELEASE_NAME> nuodb/admin --values admin-values.yaml
    This step will restart the AP pods one at a time without affecting any running applications or databases.
  6. Check the details of the updated license.

    nuocmd --show-json get effective-license
Use a version control software to track the changes to the admin-values.yaml file.

Use the nuocmd set license command

To install the NuoDB Enterprise Edition license for an existing Admin domain using nuocmd, invoke nuocmd on an AP running in Kubernetes.

kubectl cp <nuodb.lic path on local host> <AP-pod-name>:/tmp/nuodb.lic
kubectl exec <AP-pod-name> -- nuocmd set license --license-file /tmp/nuodb.lic

For more information, see Installing an Enterprise Edition License.

Since the license is stored in the key-value store of the Raft state and is replicated automatically to all APs, run nuocmd set license on any one AP in the domain.