---
component: ROOT
version: "2026.1"
slug: ROOT/administration/license-management
canonical_url: "https://docs.gradle.com/develocity/2026.1/administration/system-configuration/license-management/"
title: "License Management"
description: "Monitor, renew, and update your Develocity license."
keywords: []
status: current
---

<!-- llms-index: https://docs.gradle.com/develocity/llms.txt -->

# License Management

<a id="preamble"></a>

Manage your Develocity license, including monitoring status, handling expiration events, and performing updates in both online and air-gapped environments.

<a id="license-status-expiration"></a>

## License Status & Expiration

You can view your current license entitlements, feature sets, and expiration date by navigating to **Administration**  **System Maintenance**  **License**.

<a id="read-only-mode"></a>

### Impact of Expiration

If your license expires, Develocity enters a **Read-Only** mode. In this state, the following permissions aren’t granted to any users:

*   _Publish Build Scans_
    
*   _Read and write Build Cache data_
    
*   _Use Test Distribution_
    

Existing Build Scans remain viewable.

> [!NOTE]
> The _Read Build Cache data_ permission will continue to function as normal for users who have it. However, it won’t be automatically granted to users who had "Read and write Build Cache data".

Full functionality will be restored if the Develocity license expiration date is updated (see below), and users' permissions will be restored automatically.

![Develocity License Administration Dashboard](https://docs.gradle.com/develocity/2026.1/administration/system-configuration/license-management/../../_images/license_info_2023.4.png)

Develocity License Administration Dashboard

> [!IMPORTANT]
> In some environments, Kubernetes may fail to pull Develocity Docker images or fail to start new instances if the license check remains in a failed state for an extended period.

<a id="updating-your-license"></a>

## Updating Your License

The method for updating your license depends on whether your Develocity instance has internet access.

<a id="online_updates"></a>

### Online Installations (Automatic)

Online instances automatically check the Gradle license server for updates on startup and every hour thereafter. If a license update requires a restart to take effect, a notification is displayed to administrators.

For online installations, all that’s needed to avoid expiration is to ensure that your customer success representative has extended your license. There is no need to obtain or install a new license file, as the update will be applied automatically. If the application has failed to start due to license expiration, restart it after your customer success representative has extended your license.

The **Administration**  **License** tab can also be used to:

*   Verify the current license’s information, such as expiration date
    
*   Compare the current license and updated license (when an updated license has been downloaded)
    
*   Restart Develocity to apply the updated license (when an updated license has been downloaded)
    
*   Check whether license checks are functioning properly
    
*   Initiate an on-demand license check
    

> [!CAUTION]
> If license checks fail consistently for 72 hours, the instance will fail to restart until connectivity is restored or a valid license is applied.

<a id="airgap_license_updates"></a>

### Airgap Installations (Manual)

Airgap instances don’t receive automatic license updates. Follow this sequence to manually update your license.

<a id="1-obtain-the-license-key"></a>

#### 1. Obtain the License Key

Contact your **Customer Success representative** to receive your updated license file or key.

<a id="2-update-the-configuration"></a>

#### 2. Update the Configuration

Add the new license key to your platform-specific configuration file using the following structure:

```yaml
develocity:
  systemMaintenance:
    license:
      key: "PASTE-NEW-LICENSE-KEY-HERE"
```

<a id="3-apply-the-changes"></a>

#### 3. Apply the Changes

Follow the instructions for your specific environment to activate the license.

**Kubernetes** — Paste the YAML snippet into your _values.yaml_ file and run `helm upgrade` to apply the changes to the cluster.

**Standalone** — Paste the YAML snippet into your _unattended-config.yaml_ file, then use the [Develocity CLI](https://docs.gradle.com/develocity/develocityctl/1.22/) to apply and restart:

1.  **Apply the configuration**: `develocityctl system apply`
    
2.  **Restart the services**: `develocityctl system restart`

<a id="configure-via-unattended-configuration"></a>

## Configure via Unattended Configuration

If you are managing Develocity using a GitOps or automated workflow, you can define the global settings using [Unattended Configuration](https://docs.gradle.com/develocity/2026.1/administration/unattended-configuration/). Depending on your deployment strategy, you can provide these settings either as Integrated configuration within your _values.yaml_ or as a **Standalone** configuration file.

```yaml
develocity:
  systemMaintenance:
    license:
      key: "aes256:..." # Your license key
```

<a id="deployment-templates"></a>

### Deployment Templates

Download the appropriate YAML template to begin your infrastructure configuration.

_For Develocity versions 2025.3 and prior, see the [2025.2 Administration Guide](https://docs.gradle.com/develocity/legacy/helm-admin/2025.2) or the [2025.3 Administration Manual](https://docs.gradle.com/develocity/2025.3/administration/admin-manual/)._

<table><tbody><tr><td class="hdlist1"><strong>Cluster Deployment</strong></td><td class="hdlist2">Example template for cluster orchestration. gradle-enterprise-config-schema-15.yaml SHA256 ASC ASC SHA256</td></tr><tr><td class="hdlist1"><strong>Standalone Deployment</strong></td><td class="hdlist2">Example template for standalone setup. gradle-standalone-config-schema-15.yaml | SHA256 | ASC | ASC SHA256</td></tr></tbody></table>

> [!IMPORTANT]
> Pre-deployment Checklist Backup: Export your current settings via Administration  Import/export before applying changes. Deployment: After updating your values.yaml, re-deploy using Helm. Impact: This triggers service restarts and may take several minutes to complete. See Unattended Configuration for details.

Further details can be found in the "Changing configuration values" sections of the [Standalone](https://docs.gradle.com/develocity/2026.1/reference/helm-charts/standalone/#changing_configuration_values) and [Kubernetes](https://docs.gradle.com/develocity/2026.1/reference/helm-charts/cluster/#changing_configuration_values) Helm chart configuration guides.

<a id="troubleshooting"></a>

## Troubleshooting

*   **Expiration Mismatch:** If the date in the UI doesn’t match your contract, contact [support.gradle.com](http://support.gradle.com).
    
*   **Connectivity:** If online updates fail, verify your [Proxy Settings](https://docs.gradle.com/develocity/2026.1/administration/system-configuration/proxy/).
    
*   **Support Bundles:** If license issues persist, generate a [Support Bundle](https://docs.gradle.com/develocity/2026.1/operations/support-and-diagnostics/#support-bundle) for investigation.